MutaGReP : Recherche de plans ancrés dans le dépôt sans exécution pour l'utilisation de code
MutaGReP: Execution-Free Repository-Grounded Plan Search for Code-Use
February 21, 2025
Auteurs: Zaid Khan, Ali Farhadi, Ranjay Krishna, Luca Weihs, Mohit Bansal, Tanmay Gupta
cs.AI
Résumé
Lorsqu'un humain demande à un LLM de réaliser une tâche de codage en utilisant des fonctionnalités issues d'un vaste dépôt de code, comment fournir le contexte du dépôt au LLM ? Une approche consiste à ajouter l'intégralité du dépôt dans la fenêtre de contexte du LLM. Cependant, la plupart des tâches n'impliquent qu'une fraction des symboles d'un dépôt, des contextes plus longs nuisent aux capacités de raisonnement du LLM, et les fenêtres de contexte ne sont pas illimitées. Alternativement, nous pourrions imiter la capacité humaine à naviguer dans un grand dépôt, sélectionner les bonnes fonctionnalités et élaborer un plan pour résoudre la tâche. Nous proposons MutaGReP (Mutation-guided Grounded Repository Plan Search), une approche pour rechercher des plans qui décomposent une requête utilisateur en étapes en langage naturel ancrées dans la base de code. MutaGReP effectue une recherche arborescente neuronale dans l'espace des plans, explorant en mutant des plans et en utilisant un récupérateur de symboles pour l'ancrage. Sur le benchmark exigeant LongCodeArena, nos plans utilisent moins de 5 % de la fenêtre de contexte de 128K pour GPT-4o mais rivalisent avec les performances de codage de GPT-4o avec une fenêtre de contexte remplie du dépôt. Les plans produits par MutaGReP permettent à Qwen 2.5 Coder 32B et 72B de correspondre aux performances de GPT-4o avec le contexte complet du dépôt et permettent des progrès sur les tâches les plus difficiles de LongCodeArena. Page du projet : 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