MutaGReP: Ricerca di Piani Basata su Repository Senza Esecuzione per l'Uso del Codice
MutaGReP: Execution-Free Repository-Grounded Plan Search for Code-Use
February 21, 2025
Autori: Zaid Khan, Ali Farhadi, Ranjay Krishna, Luca Weihs, Mohit Bansal, Tanmay Gupta
cs.AI
Abstract
Quando un essere umano richiede a un LLM di completare un compito di codifica utilizzando funzionalità da un ampio repository di codice, come possiamo fornire contesto dal repository al LLM? Un approccio è aggiungere l'intero repository alla finestra di contesto del LLM. Tuttavia, la maggior parte dei compiti coinvolge solo una frazione dei simboli di un repository, contesti più lunghi sono dannosi per le capacità di ragionamento del LLM e le finestre di contesto non sono illimitate. In alternativa, potremmo emulare la capacità umana di navigare in un ampio repository, individuare la funzionalità corretta e formulare un piano per risolvere il compito. Proponiamo MutaGReP (Ricerca di Piani Basata su Mutazioni Guidate), un approccio per cercare piani che decompongono una richiesta dell'utente in passaggi in linguaggio naturale ancorati alla base di codice. MutaGReP esegue una ricerca neurale ad albero nello spazio dei piani, esplorando tramite mutazioni dei piani e utilizzando un recuperatore di simboli per l'ancoraggio. Nel difficile benchmark LongCodeArena, i nostri piani utilizzano meno del 5% della finestra di contesto di 128K per GPT-4o ma eguagliano le prestazioni di codifica di GPT-4o con una finestra di contesto riempita con il repository. I piani prodotti da MutaGReP consentono a Qwen 2.5 Coder 32B e 72B di eguagliare le prestazioni di GPT-4o con contesto completo del repository e consentono progressi sui compiti più difficili di LongCodeArena. Pagina del progetto: 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