声明:本文来自于微信公众号 CSDN(ID:CSDNnews),作者:王启隆,授权站长之家转载发布。
自从“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 的工作成果,他剥去了过度炒作的外衣,让我们看到了工程的实质是回归基础并注重实用性的改进措施。”
整体看下来,这一发布简单明了,没有一点炒作成分。在4月10日即将发布的论文中,普林斯顿大学团队还将深入探讨代理的技术架构、算法和性能优化策略,并详细介绍成本优化策略:SWE-agent 旨在将每个任务的成本控制在4美元以内,论文中会明确解决任务的平均成本。
【查看完整讨论话题】 | 【用户登录】 | 【用户注册】