MutaGReP: Поиск планов на основе репозитория без выполнения для использования кода
MutaGReP: Execution-Free Repository-Grounded Plan Search for Code-Use
February 21, 2025
Авторы: Zaid Khan, Ali Farhadi, Ranjay Krishna, Luca Weihs, Mohit Bansal, Tanmay Gupta
cs.AI
Аннотация
Когда человек запрашивает от LLM завершение задачи по кодированию, используя функционал из большого репозитория кода, как мы можем предоставить контекст из репозитория LLM? Один из подходов - добавить весь репозиторий в окно контекста LLM. Однако большинство задач включают лишь долю символов из репозитория, более длинные контексты вредят способностям рассуждения LLM, а окна контекста не безграничны. В качестве альтернативы, мы могли бы эмулировать способность человека навигировать по большому репозиторию, выбирать нужный функционал и формировать план для решения задачи. Мы предлагаем MutaGReP (Поиск планов на основе мутаций в наземном репозитории), подход к поиску планов, декомпозирующих запрос пользователя на естественноязычные шаги, опираясь на кодовую базу. MutaGReP выполняет нейронный поиск дерева в пространстве планов, исследуя путем мутации планов и используя извлекатель символов для опоры. На сложном бенчмарке LongCodeArena, наши планы используют менее 5% из 128K окна контекста для GPT-4o, но конкурируют с производительностью кодирования GPT-4o с окном контекста, заполненным репозиторием. Планы, созданные MutaGReP, позволяют Qwen 2.5 Coder 32B и 72B соответствовать производительности GPT-4o с полным контекстом репозитория и обеспечивают прогресс в самых сложных задачах LongCodeArena. Страница проекта: zaidkhan.me/MutaGReP
English
When a human requests an LLM to complete a coding task using functionality
from a large code repository, how do we provide context from the repo to the
LLM? One approach is to add the entire repo to the LLM's context window.
However, most tasks involve only fraction of symbols from a repo, longer
contexts are detrimental to the LLM's reasoning abilities, and context windows
are not unlimited. Alternatively, we could emulate the human ability to
navigate a large repo, pick out the right functionality, and form a plan to
solve the task. We propose MutaGReP (Mutation-guided Grounded Repository Plan
Search), an approach to search for plans that decompose a user request into
natural language steps grounded in the codebase. MutaGReP performs neural tree
search in plan space, exploring by mutating plans and using a symbol retriever
for grounding. On the challenging LongCodeArena benchmark, our plans use less
than 5% of the 128K context window for GPT-4o but rival the coding performance
of GPT-4o with a context window filled with the repo. Plans produced by
MutaGReP allow Qwen 2.5 Coder 32B and 72B to match the performance of GPT-4o
with full repo context and enable progress on the hardest LongCodeArena tasks.
Project page: zaidkhan.me/MutaGRePSummary
AI-Generated Summary