17611538698
webmaster@21cto.com

普林斯顿首个开源AI程序员SWE-agent发布,爆改GPT-4,93秒可修完Bug

人工智能 0 138 2024-04-09 10:47:14

图片
新AI程序员登场
除了当红炸子鸡Devin,新的AI程序员又出新选手了!
近日,普林斯顿大学团队近日又发布出了全新的智能体-计算机接口(ACI)—SWE-agent。

SWE-agent能够让大语言模型(比如GPT-4)变身为软件工程AI智能体,并在真实的GitHub仓库里自己修Bug。

图片

GitHub:https://github.com/princeton-nlp/SWE-agent

数据表明,SWE-agent 在软件工程基准测试中的准确度已经与 Devin 相当,在解决 GitHub 仓库问题上的性能已经超过了 Devin,而且SWE-agent 平均只需 93 秒就能够修完 Bug,实现了SOTA性能。

完整的 SWE-bench 基准测试结果显示:SWE-agent 修复了 12.29% 的问题,Devin 则是 13.84%。

图片

但 SWE-agent 还有一大优势:开源。这一成绩也表明,开源模型有能力追赶甚至超越闭源模型的性能。SWE Agent 的高精度显示了其处理复杂软件工程任务的能力。

SWE-agent 核心特性

SWE-agent 的一个核心特性是其开源代理计算机接口,该接口支持代码的编辑和执行。这一专门设计的接口旨在简化代理(由 GPT-4 驱动)与代码的交互,提高任务执行效率。通过提供诸如导航仓库、搜索文件、编辑行和将输入转换为代码等特定命令,代理计算机接口确保了代理与代码库之间的无缝交互。

代理计算机接口设计对 SWE-agent 的性能至关重要。研究发现,将 GPT-4 连接到一个普通的 bash 终端并不能获得最佳效果。因此,专门设计了一个对语言模型友好的代理计算机接口,以提高代理的理解能力和性能。这种新设计促进了代理与代码库之间的有效沟通,确保了解决软件工程问题的准确性和效率。

图片

SWE-agent 通过一个专门的终端与代码进行交互和执行任务。这个终端允许代理打开、滚动和编辑文件,确保精确更改,避免错误。它还使代理能够编写和执行测试,从而优化代码质量和效率。这个终端对 SWE-agent 的性能至关重要,增强了其有效处理软件工程任务的能力。

工作流程

图片

以下是SWE-agent的工作流程。

  • 理解问题:首先,SWE-agent通过自然语言处理(NLP)技术理解GitHub存储库中的问题描述。这一步骤依赖于其内部集成的大型语言模型(如GPT-4),该模型能够解析和理解人类编写的问题报告。

  • 智能体-计算机接口(ACI):SWE-agent使用ACI与代码库进行交互。ACI是一套设计用来简化大模型与计算机系统交互的命令和反馈格式。通过ACI,SWE-agent可以浏览代码库、搜索文件、查看和编辑代码,甚至执行代码。

  • 代码分析与修复:在理解了问题之后,SWE-agent会分析相关的代码,定位可能的错误或漏洞,并生成修复方案。这可能包括修改现有代码、添加缺失的代码或者重构代码结构。

  • 自动化测试:为了确保修复有效,SWE-agent能够自动编写和执行测试用例。这些测试用例旨在验证代码更改是否解决了原始问题,并且没有引入新的错误。

  • 性能反馈:SWE-agent执行的每一步操作都会产生反馈,这些反馈用于评估其工作的效果。特别是在SWE-bench基准测试中,SWE-agent会评估其生成的拉取请求是否真正解决了问题。

  • 迭代与优化:SWE-agent的设计允许不断的迭代和优化。研究团队通过收集使用中的反馈和性能数据,不断改进ACI设计,提高SWE-agent的问题解决能力和代码修复的准确性。

架构说明

SWE-agent 的第一作者、华人 John Yang 在 X 上用一张图做了详细说明:

图片

最终其实现的性能,比前段时间爆火的 RAG 检索技术还要强很多:

图片

SWE-agent 开发过程中还有一个有趣发现是,限制 AI 系统访问的信息量可以提升其性能。通过仅允许系统一次查看 100 行代码,而不是整个文件,代理的规划和执行变得更加高效。这种限制有助于简化代理的思维过程,使其能够专注于处理更小部分的代码。这种优化策略已被证明对 SWE-agent 的整体性能有显著提升。

各方评价

英伟达研究科学家 Jim Fan 也在 X 上盛赞 SWE:“通过精心调整 GPT-4 命令行工具的设计,足以在 SWE-bench 性能测试中取得 12.3% 的结果。既没有神奇的技术革新,也不需要模型的重大突破。

图片

待到 GPT-5 问世,其在执行指令、工具操作及处理长篇幅上下文的能力上必将实现显著飞跃。届时,当前热议的所谓“提示工程 2.0”技术或许不会像现在这般关键。在此特别点赞 John Yang 的工作成果,他剥去了过度炒作的外衣,让我们看到了工程的实质是回归基础并注重实用性的改进措施。”

结语

整体看下来,SWE-agent的产品发布简单明了,没有一点炒作成分。

在 4 月 10 日即将发布的论文中,普林斯顿大学团队还将深入探讨代理的技术架构、算法和性能优化策略,并详细介绍成本优化策略:SWE-agent 旨在将每个任务的成本控制在 4 美元以内,论文中会明确解决任务的平均成本。

作者:万能的大雄

参考:

https://swe-agent.com/
https://github.com/princeton-nlp/SWE-agent
https://news.opensauced.pizza/open-source-projects-that-are-gaining-steam-that-you-havent-heard-of/

评论