Agentless: Demystifying LLM-based Software Engineering Agents
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.
6684e6b5c1cbe5e008dbf21a
Chunqiu Steven Xia
claimed_verified
2024-07-03T07:37:42.167Z
645ac350c35da9c7afd82379
https://cdn-avatars.huggingface.co/v1/production/uploads/645ac350c35da9c7afd82379/nRNoSz0QA2yJmqK3C3F95.jpeg
Chunqiu Steven Xia
user
nevetsaix
6684e6b5c1cbe5e008dbf21b
Yinlin Deng
admin_assigned
2024-07-03T07:54:02.536Z
64596fa005b3d19242708528
/avatars/42695a25ebdab0c82940ca5309fdbc18.svg
Deng
user
Yinlin
6684e6b5c1cbe5e008dbf21c
Soren Dunn
claimed_verified
2024-07-04T08:04:05.848Z
6551cda643baee6b4d3753d1
/avatars/dd7002d0c08b5cc5a52a8c7aa47e5c99.svg
Soren Dunn
user
soren-dunn
6684e6b5c1cbe5e008dbf21d
Lingming Zhang
admin_assigned
2024-07-03T07:57:02.292Z
656f473c14fa8cfccd14559e
/avatars/8f4fef3d835a7a11c2ab66dbf04f3424.svg
Lingming Zhang
user
lingming
Agentless: Demystifying LLM-based Software Engineering Agents
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.
Agentless, a two-phase approach to software development automation, achieves high performance and low cost compared to complex autonomous agents on the SWE-bench Lite benchmark.
large language models code synthesis program repair test generation autonomous agents localization repair SWE-bench Lite SWE-bench Lite-S