架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
自从“AI 程序员”
Devin
问世之后,近期的一大趋势就是程序员们争先恐后地要让自己失业,试图抢先造出比自己更强大的程序员。
普林斯顿大学为
软件工程界迎来了一位新星——
SWE-agent
,论文将在
4 月 10 日
正式发布,目前项目已在 GitHub 上开源。
GitHub:
https://github.com/princeton-nlp/SWE-agent
和其他的“AI 程序员”相比,SWE-agent 的特点就是
将 GPT-4 这样的大型语言模型(LLMs)转化为软件工程代理
,使其能够修复真实 GitHub 仓库中的错误和问题。
SWE-agent 在软件工程基准测试中的
准确度与 Devin 相当
,在解决 GitHub 仓库问题上的性能甚至超过了 Devin:SWE-agent 平均只需
93 秒
就能修完 Bug。
完整的 SWE-bench 基准测试结果显示,SWE-agent 修复了 12.29% 的问题,Debin 则是 13.84%——但
SWE-agent 有一大优势:开源
。这一成绩也表明,开源模型有能力追赶甚至超越闭源模型的性能。SWE Agent 的高精度显示了其处理复杂软件工程任务的能力。
SWE-agent 的一个核心特性是其
开源代理计算机接口
,该接口支持代码的编辑和执行。这一专门设计的接口旨在简化代理(由 GPT-4 驱动)与代码的交互,提高任务执行效率。通过提供诸如导航仓库、搜索文件、编辑行和将输入转换为代码等特定命令,代理计算机接口确保了代理与代码库之间的无缝交互。
代理计算机接口的设计对 SWE-agent 的性能至关重要。研究发现,将 GPT-4 连接到一个普通的 bash 终端并不能获得最佳效果。因此,专门设计了一个对语言模型友好的代理计算机接口,以提高代理的理解能力和性能。这种新设计促进了代理与代码库之间的有效沟通,确保了解决软件工程问题的准确性和效率。
SWE-agent
通过一个专门的终端与代码进行交互和执行任务
。这个终端允许代理打开、滚动和编辑文件,确保精确更改,避免错误。它还使代理能够编写和执行测试,从而优化代码质量和效率。这个终端对 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 的工作成果,他剥去了过度炒作的外衣,让我们看到了工程的实质是回归基础并注重实用性的改进措施。”