内容提要
伊利诺伊大学香槟分校的研究团队提出了一种无Agent的自动修复软件工程问题的方法,名为OpenAutoCoder-Agentless。该方法在GitHub上获得了很高的关注度,并在解决问题的成本和性能方面超过了现有的开源Agent解决方案。研究者还发现了SWE-bench Lite数据集中问题描述的质量问题,并提出了一个过滤后的严格问题子集SWE-bench Lite-S。作者呼吁技术和研究社区停下来思考Agent的关键设计和评估方法。
延伸解读
无Agent方案的成本优势
Agentless以平均每个问题0.34美元的成本解决了27.33%的SWE-bench Lite问题,显著低于基于Agent的方案。这得益于其简单的两阶段方法:先分层定位可疑代码位置,再生成并筛选补丁。这种设计避免了复杂Agent系统带来的额外开销和不确定性,为自动软件工程提供了高性价比的替代方案。
SWE-bench Lite数据集的质量问题
研究者人工分析发现,SWE-bench Lite中4.3%的问题描述直接给出了完整答案,10%描述了正确解决步骤,4.3%包含误导性解决方案,9.3%信息不足。这些缺陷可能导致评估结果虚高,无法真实反映AI工具的能力。因此,他们提出了过滤后的严格子集SWE-bench Lite-S,以标准化基准难度。
Agentless的改进潜力与补充价值
尽管Agentless已超越所有开源Agent方案,但其生成的补丁中可解决41%的问题,表明补丁排序和选择阶段仍有显著提升空间。此外,Agentless能解决一些商业工具无法解决的独特问题,显示出作为现有工具补充的潜力。这提示未来研究可聚焦于优化补丁筛选策略。
对Agent设计的反思
作者呼吁社区重新思考软件工程Agent的关键设计与评估方法,而非盲目发布更多Agent。Agentless的成功表明,简单方法结合LLM也能达到甚至超越复杂Agent的性能,这有助于重置未来研究的基线和方向,推动更高效、可靠的自动软件工程发展。
Q&A
OpenAutoCoder-Agentless 是什么?
OpenAutoCoder-Agentless 是伊利诺伊大学香槟分校提出的一种无Agent的自动修复软件工程问题的方法。
OpenAutoCoder-Agentless 的性能如何?
OpenAutoCoder-Agentless 在解决问题的成本和性能方面超过了现有的开源Agent解决方案,解决率达到27.33%。
SWE-bench Lite 数据集存在哪些问题?
SWE-bench Lite 数据集中存在问题描述质量问题,包括部分问题直接给出完整答案或误导性解决方案。
研究者如何改进SWE-bench Lite数据集?
研究者提出了过滤后的严格问题子集SWE-bench Lite-S,以去除不合理的问题并标准化基准测试的难度水平。
Agentless 框架的工作机制是什么?
Agentless 框架使用分层查询方法定位和修复代码中的bug,采用两阶段方法进行定位和修复。
研究者对Agent的设计和评估方法有什么看法?
研究者呼吁技术和研究社区重新思考Agent的关键设计与评估方法,而不是急于发布更多的Agent。