Agentenlos: Entschlüsselung von LLM-basierten Softwaretechnik-Agenten
Agentless: Demystifying LLM-based Software Engineering Agents
July 1, 2024
Autoren: Chunqiu Steven Xia, Yinlin Deng, Soren Dunn, Lingming Zhang
cs.AI
Zusammenfassung
In jüngster Zeit haben Fortschritte bei großen Sprachmodellen (LLMs) die Automatisierung von Softwareentwicklungsaufgaben wie Codesynthese, Programmreparatur und Testgenerierung erheblich vorangetrieben. Forscher und Industriepraktiker haben kürzlich verschiedene autonome LLM-Agenten entwickelt, um End-to-End-Softwareentwicklungsaufgaben auszuführen. Diese Agenten sind in der Lage, Werkzeuge zu verwenden, Befehle auszuführen, Feedback aus der Umgebung zu beobachten und zukünftige Aktionen zu planen. Die Komplexität dieser agentenbasierten Ansätze zusammen mit den begrenzten Fähigkeiten aktueller LLMs wirft jedoch die Frage auf: Müssen wir wirklich komplexe autonome Softwareagenten einsetzen? Um diese Frage zu beantworten, haben wir Agentless entwickelt - einen agentenlosen Ansatz zur automatischen Lösung von Softwareentwicklungsproblemen. Im Vergleich zum ausführlichen und komplexen Setup agentenbasierter Ansätze verwendet Agentless einen simplen zweiphasigen Prozess der Lokalisierung gefolgt von der Reparatur, ohne dass das LLM zukünftige Aktionen entscheidet oder mit komplexen Werkzeugen arbeitet. Unsere Ergebnisse auf dem beliebten SWE-bench Lite Benchmark zeigen überraschenderweise, dass das simplere Agentless sowohl die höchste Leistung (27,33 %) als auch die niedrigsten Kosten (\$0,34) im Vergleich zu allen bestehenden Open-Source-Softwareagenten erzielen kann! Darüber hinaus haben wir die Probleme in SWE-bench Lite manuell klassifiziert und Probleme mit exakten Patches oder unzureichenden/irreführenden Problemstellungen gefunden. Daher haben wir SWE-bench Lite-S erstellt, indem wir solche problematischen Probleme ausschließen, um eine strengere Bewertung und Vergleich durchzuführen. Unsere Arbeit hebt das derzeit übersehene Potenzial einer einfachen, interpretierbaren Technik in der autonomen Softwareentwicklung hervor. Wir hoffen, dass Agentless dazu beiträgt, die Grundlinie, den Ausgangspunkt und den Horizont für autonome Softwareagenten zurückzusetzen und zukünftige Arbeiten in diese wichtige Richtung inspiriert.
English
Recent advancements in large language models (LLMs) have significantly
advanced the automation of software development tasks, including code
synthesis, program repair, and test generation. More recently, researchers and
industry practitioners have developed various autonomous LLM agents to perform
end-to-end software development tasks. These agents are equipped with the
ability to use tools, run commands, observe feedback from the environment, and
plan for future actions. However, the complexity of these agent-based
approaches, together with the limited abilities of current LLMs, raises the
following question: Do we really have to employ complex autonomous software
agents? To attempt to answer this question, we build Agentless -- an agentless
approach to automatically solve software development problems. Compared to the
verbose and complex setup of agent-based approaches, Agentless employs a
simplistic two-phase process of localization followed by repair, without
letting the LLM decide future actions or operate with complex tools. Our
results on the popular SWE-bench Lite benchmark show that surprisingly the
simplistic Agentless is able to achieve both the highest performance (27.33%)
and lowest cost (\$0.34) compared with all existing open-source software
agents! Furthermore, we manually classified the problems in SWE-bench Lite and
found problems with exact ground truth patch or insufficient/misleading issue
descriptions. As such, we construct SWE-bench Lite-S by excluding such
problematic issues to perform more rigorous evaluation and comparison. Our work
highlights the current overlooked potential of a simple, interpretable
technique in autonomous software development. We hope Agentless will help reset
the baseline, starting point, and horizon for autonomous software agents, and
inspire future work along this crucial direction.Summary
AI-Generated Summary