登顶开源AI软件工程师榜首,UIUC无Agent方案轻松解决SWE-bench真实编程问题

登顶开源AI软件工程师榜首,UIUC无Agent方案轻松解决SWE-bench真实编程问题

💡 原文中文,约2800字,阅读约需7分钟。
📝

内容提要

伊利诺伊大学香槟分校的研究团队提出了一种无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。

🏷️

标签

➡️

继续阅读