Sin agente: Desmitificando agentes de ingeniería de software basados en LLM.
Agentless: Demystifying LLM-based Software Engineering Agents
July 1, 2024
Autores: Chunqiu Steven Xia, Yinlin Deng, Soren Dunn, Lingming Zhang
cs.AI
Resumen
Los recientes avances en modelos de lenguaje grandes (LLMs) han impulsado significativamente la automatización de tareas de desarrollo de software, incluida la síntesis de código, la reparación de programas y la generación de pruebas. Más recientemente, investigadores y profesionales de la industria han desarrollado varios agentes autónomos LLM para llevar a cabo tareas de desarrollo de software de principio a fin. Estos agentes están equipados con la capacidad de utilizar herramientas, ejecutar comandos, observar retroalimentación del entorno y planificar acciones futuras. Sin embargo, la complejidad de estos enfoques basados en agentes, junto con las limitadas capacidades de los LLM actuales, plantea la siguiente pregunta: ¿Realmente necesitamos emplear agentes de software autónomos complejos? Para intentar responder a esta pregunta, construimos Agentless: un enfoque sin agente para resolver automáticamente problemas de desarrollo de software. En comparación con la configuración detallada y compleja de los enfoques basados en agentes, Agentless utiliza un proceso simplista de dos fases de localización seguido de reparación, sin permitir que el LLM decida acciones futuras u opere con herramientas complejas. Nuestros resultados en el popular banco de pruebas SWE-bench Lite muestran que sorprendentemente, el simplista Agentless logra tanto el mejor rendimiento (27.33%) como el menor costo (\$0.34) en comparación con todos los agentes de software de código abierto existentes. Además, clasificamos manualmente los problemas en SWE-bench Lite y encontramos problemas con parches de verdad absoluta exactos o descripciones de problemas insuficientes/engañosas. Por lo tanto, construimos SWE-bench Lite-S excluyendo estos problemas problemáticos para realizar una evaluación y comparación más rigurosas. Nuestro trabajo destaca el potencial actualmente pasado por alto de una técnica simple e interpretable en el desarrollo de software autónomo. Esperamos que Agentless ayude a restablecer la línea base, el punto de partida y el horizonte para los agentes de software autónomos, e inspire trabajos futuros en esta dirección crucial.
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