MutaGReP: Ausführungsfreie Repository-Verankerte Planungssuche für Code-Verwendung
MutaGReP: Execution-Free Repository-Grounded Plan Search for Code-Use
February 21, 2025
Autoren: Zaid Khan, Ali Farhadi, Ranjay Krishna, Luca Weihs, Mohit Bansal, Tanmay Gupta
cs.AI
Zusammenfassung
Wenn ein Mensch eine LLM darum bittet, eine Codieraufgabe unter Verwendung von Funktionen aus einem großen Code-Repository abzuschließen, wie liefern wir Kontext aus dem Repository an die LLM? Ein Ansatz besteht darin, das gesamte Repository dem Kontextfenster der LLM hinzuzufügen. Die meisten Aufgaben beinhalten jedoch nur einen Bruchteil der Symbole aus einem Repository, längere Kontexte sind nachteilig für die Denkfähigkeiten der LLM, und Kontextfenster sind nicht unbegrenzt. Alternativ könnten wir die menschliche Fähigkeit nachahmen, sich in einem großen Repository zu bewegen, die richtige Funktionalität auszuwählen und einen Plan zur Lösung der Aufgabe zu erstellen. Wir schlagen MutaGReP (Mutation-geführte Grounded Repository Plan Search) vor, einen Ansatz zur Suche nach Plänen, die eine Benutzeranfrage in natürliche Sprachschritte zerlegen, die im Codebase verankert sind. MutaGReP führt eine neuronale Baumsuche im Plänenraum durch, erkundet durch Mutation von Plänen und verwendet einen Symbol-Retriever zur Verankerung. Auf dem anspruchsvollen LongCodeArena-Benchmark verwenden unsere Pläne weniger als 5% des 128K-Kontextfensters für GPT-4o, konkurrieren jedoch mit der Codierleistung von GPT-4o mit einem Kontextfenster, das mit dem Repository gefüllt ist. Die von MutaGReP erstellten Pläne ermöglichen es Qwen 2.5 Coder 32B und 72B, die Leistung von GPT-4o mit vollem Repository-Kontext zu erreichen und Fortschritte bei den schwierigsten LongCodeArena-Aufgaben zu erzielen. Projektseite: 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