本文是LLM系列文章,针对《AGENTLESS :Demystifying LLM-based Software Engineering Agents》的翻译。
无代理:揭开基于LLM的软件工程代理的神秘面纱
摘要
大型语言模型(LLM)的最新进展显著提高了软件开发任务的自动化,包括代码合成、程序修复和测试生成。最近,研究人员和行业从业者开发了各种自主LLM代理来执行端到端软件开发任务。这些代理具有使用工具、运行命令、观察环境反馈以及规划未来行动的能力。然而,这些基于代理的方法的复杂性,加上当前LLM的有限能力,提出了以下问题:我们真的必须使用复杂的自主软件代理吗?为了回答这个问题,我们构建了无代理——一种自动解决软件开发问题的无代理方法。与基于代理的方法的冗长和复杂设置相比,AGENTLESS采用了一个简单的本地化和修复的两阶段过程,而不让LLM决定未来的操作或使用复杂的工具进行操作。我们在流行的SWE bench-Lite基准测试上的结果显示,与所有现有的开源软件代理相比,令人惊讶的是,简单化的AGENTLESS能够实现最高的性能(27.33%)和最低的成本(0.34美元)!此外,我们在SWE bench Lite中手动对问题进行了分类,发现问题的基本真相补丁准确或问题描述不足/误导。因此,我们通过排除此类问题来构建SWE工作台Lite-S,以进行更严格的评估和比较。