Kozuchi Agent: A Language-Agnostic Open-Weight Agent for Software Repair
Kozuchi Agent 是一个与语言无关、开放权重的软件修复系统,它利用一个持久状态的、由持续集成(CI)驱动的流水线,在 SWE-bench Verified 和 Multi-SWE-bench 基准测试中实现了最先进的性能且无需微调,这表明其剩余的局限性主要源于语义正确性和选择错误,而非格式问题或对专有模型的访问限制。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
在广阔而复杂的软件工程世界中,代码是构建现代生活的基石,但它也极易发生故障。当程序运行出错时,它会生成一份描述错误的报告,随后人类开发人员必须诊断问题、在数千行文本中定位缺陷,并编写一段既能修复问题又不会破坏其他功能的修正代码。这个过程缓慢、困难且成本高昂。近来,新一代人工智能已经出现,它们能够阅读这些报告并尝试自行编写修复方案。这些系统通常被称为“智能体”(agents),它们就像数字学徒一样,可以操作计算机文件系统、运行测试并编辑代码。然而,教导这些智能体在长时间内可靠地工作一直是一个重大障碍。它们经常迷失在细节中,忘记了在早期步骤中学到的内容,或者在尝试使用修复代码所需的工具时犯错。研究人员面临的挑战在于构建一个能够让这些数字工作者保持专注、有序且可问责的系统,使它们能够在无需人类持续监督的情况下解决复杂问题。
来自富士通研究中心(Fujitsu Research)的一个研究小组通过创建一个名为 Kozuchi Agent 的系统解决了这一挑战。他们的工作专注于一种特定类型的人工智能,这种人工智能不需要针对新数据进行专门训练,而是依赖于一个精心设计的框架来引导其行为。研究人员构建了一个数字环境,让智能体在清晰定义的不同阶段中运行。该系统并没有让智能体在问题中自由游走,而是强制它遵循一系列步骤:首先是重现错误以确认其存在,然后定位问题的确切源头,最后编写并测试修复方案。在每个阶段,智能体都必须产生特定的结果才能进入下一步,并且系统会对智能体所做的一切进行永久记录。这种结构防止了智能体产生混乱或重复同样的错误,将一场混乱的搜索转变为一个纪律严明、可审计的过程。
该团队在一组真实的软件问题上测试了该系统,专门针对 Python 编程语言中的五百个问题。他们使用了一个强大的开源人工智能模型,该模型并未针对此特定任务进行修改或重新训练。为了确保结果的稳健性,他们对每个问题分别运行了八次智能体,生成了八个不同的潜在解决方案。随后,系统使用一种巧妙的选择方法对这些解决方案进行相互比较。系统并非依赖隐藏的答案来挑选最佳修复方案,而是利用每次运行产生的测试来评估其他方案。如果一个修复方案通过了另一次尝试所创建的测试,它就被视为一个强有力的候选方案。这种方法使得系统能够在预先不知道正确答案的情况下,识别出最可靠的解决方案。
结果非常显著。Kozuchi Agent 成功解决了五百个 Python 问题中的三百七十四个,成功率接近百分之七十五。这一表现使该系统处于领域内的顶尖水平,在与所有提交方案的对比中排名第十二,但在使用开放、公开可用模型的系统中排名第一。研究人员还在另一组用 Java 语言编写的问题上测试了相同的系统。尽管两种语言之间存在差异,该系统的表现依然保持了类似的稳定性,解决了一百二十八个 Java 问题中的四十一个。这证明了该框架并不局限于单一语言,而是可以广泛应用于不同类型的软件。
该研究的一个关键发现是,发生的失败并非由于智能体编写了混乱或损坏的代码。事实上,几乎所有由智能体生成的补丁都能干净地应用到软件中。问题在于修复逻辑本身;智能体经常编写看起来正确但实际上并未解决底层问题的修正方案。这种区别至关重要,因为它表明主要的改进障碍不在于代码的格式或工具的使用能力,而在于对问题含义的深度理解。研究人员还发现,该系统在运行方面非常高效。通过自动化工作流并允许不同部分的过程被重复使用,他们将执行这些测试所需的人力从五个独立的手动步骤减少到了一个自动化的动作。
该研究明确排除了系统成功是由于简单猜测或使用仅少数公司拥有的庞大专有模型这一观点。该智能体使用的模型拥有两百七十亿个参数,虽然规模庞大,但远小于当今最强大的模型,并且它在没有任何特殊微调的情况下取得了这些成果。研究人员还表明,该系统并不依赖运气;其表现跨越不同运行和不同类型的软件仓库时保持了一致性。虽然该系统并不完美,在处理最困难的语义问题时仍会遇到困难,但它代表了向使人工智能成为可靠的软件工程伙伴迈出的重要一步。通过将结构化的工作流与智能的选择过程相结合,Kozuchi Agent 已经证明,开放、可获取的技术可以在解决现实世界的编码挑战方面与最先进的系统相媲美。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。