ChatPaper.aiChatPaper

Sem Agente: Desmistificando Agentes de Engenharia de Software Baseados em LLM

Agentless: Demystifying LLM-based Software Engineering Agents

July 1, 2024
Autores: Chunqiu Steven Xia, Yinlin Deng, Soren Dunn, Lingming Zhang
cs.AI

Resumo

Os avanços recentes em modelos de linguagem grandes (LLMs) têm avançado significativamente na automação de tarefas de desenvolvimento de software, incluindo síntese de código, reparo de programas e geração de testes. Mais recentemente, pesquisadores e profissionais da indústria desenvolveram vários agentes autônomos baseados em LLM para realizar tarefas de desenvolvimento de software de ponta a ponta. Esses agentes estão equipados com a capacidade de usar ferramentas, executar comandos, observar feedback do ambiente e planejar ações futuras. No entanto, a complexidade dessas abordagens baseadas em agentes, juntamente com as habilidades limitadas dos LLMs atuais, levanta a seguinte questão: Será realmente necessário empregar agentes de software autônomos complexos? Para tentar responder a essa pergunta, desenvolvemos o Agenteless - uma abordagem sem agente para resolver automaticamente problemas de desenvolvimento de software. Comparado à configuração verbosa e complexa das abordagens baseadas em agentes, o Agenteless emprega um processo simplista de duas fases de localização seguido por reparo, sem permitir que o LLM decida ações futuras ou opere com ferramentas complexas. Nossos resultados no popular benchmark SWE-bench Lite mostram que, surpreendentemente, o simplista Agenteless é capaz de alcançar tanto o melhor desempenho (27,33%) quanto o menor custo (\$0,34) em comparação com todos os agentes de software de código aberto existentes! Além disso, classificamos manualmente os problemas no SWE-bench Lite e encontramos problemas com patch de verdade absoluta exata ou descrições de problemas insuficientes/enganosas. Como tal, construímos o SWE-bench Lite-S excluindo esses problemas problemáticos para realizar uma avaliação e comparação mais rigorosas. Nosso trabalho destaca o potencial atualmente negligenciado de uma técnica simples e interpretável no desenvolvimento de software autônomo. Esperamos que o Agenteless ajude a redefinir a linha de base, ponto de partida e horizonte para agentes de software autônomos, e inspire trabalhos futuros nessa direção 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.
PDF647November 28, 2024