Agentless : Démystifier les agents de génie logiciel basés sur des modèles de langage (LLM)
Agentless: Demystifying LLM-based Software Engineering Agents
July 1, 2024
Auteurs: Chunqiu Steven Xia, Yinlin Deng, Soren Dunn, Lingming Zhang
cs.AI
Résumé
Les récentes avancées dans les modèles de langage de grande taille (LLMs) ont considérablement fait progresser l'automatisation des tâches de développement logiciel, notamment la synthèse de code, la réparation de programmes et la génération de tests. Plus récemment, les chercheurs et les praticiens de l'industrie ont développé divers agents autonomes basés sur des LLMs pour exécuter des tâches de développement logiciel de bout en bout. Ces agents sont dotés de la capacité d'utiliser des outils, d'exécuter des commandes, d'observer les retours de l'environnement et de planifier des actions futures. Cependant, la complexité de ces approches basées sur des agents, combinée aux capacités limitées des LLMs actuels, soulève la question suivante : Avons-nous vraiment besoin d'employer des agents logiciels autonomes complexes ? Pour tenter de répondre à cette question, nous avons développé Agentless — une approche sans agent pour résoudre automatiquement les problèmes de développement logiciel. Comparée à la configuration verbeuse et complexe des approches basées sur des agents, Agentless utilise un processus simpliste en deux phases : localisation suivie de réparation, sans laisser le LLM décider des actions futures ou manipuler des outils complexes. Nos résultats sur le benchmark populaire SWE-bench Lite montrent que, de manière surprenante, l'approche simpliste d'Agentless parvient à atteindre à la fois les meilleures performances (27,33 %) et le coût le plus bas (\$0,34) par rapport à tous les agents logiciels open-source existants ! De plus, nous avons classé manuellement les problèmes de SWE-bench Lite et identifié ceux avec des correctifs de référence exacts ou des descriptions de problèmes insuffisantes/trompeuses. Ainsi, nous avons construit SWE-bench Lite-S en excluant ces problèmes problématiques pour effectuer une évaluation et une comparaison plus rigoureuses. Notre travail met en lumière le potentiel actuellement négligé d'une technique simple et interprétable dans le développement logiciel autonome. Nous espérons qu'Agentless aidera à redéfinir la base de référence, le point de départ et l'horizon pour les agents logiciels autonomes, et inspirera des travaux futurs dans cette direction cruciale.
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