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)comparedwithallexistingopen−sourcesoftwareagents!Furthermore,wemanuallyclassifiedtheproblemsinSWE−benchLiteandfoundproblemswithexactgroundtruthpatchorinsufficient/misleadingissuedescriptions.Assuch,weconstructSWE−benchLite−Sbyexcludingsuchproblematicissuestoperformmorerigorousevaluationandcomparison.Ourworkhighlightsthecurrentoverlookedpotentialofasimple,interpretabletechniqueinautonomoussoftwaredevelopment.WehopeAgentlesswillhelpresetthebaseline,startingpoint,andhorizonforautonomoussoftwareagents,andinspirefutureworkalongthiscrucialdirection.