SWE-agent 是一个由普林斯顿大学的研究人员构建和维护的项目,它能够将大语言模型(如 GPT-4)转化为软件工程代理,这些代理能够在真实的 GitHub 仓库中修复漏洞和问题。以下是关于 SWE-agent 的一些关键点:
- 性能:在 SWE-bench 上,SWE-agent 解决了 12.29% 的问题,在完整测试集上达到了最先进的性能水平。
- Agent-Computer Interface (ACI):SWE-agent 的核心是一个精心设计的代理-计算机接口,它使得语言模型能够更容易地浏览代码库、查看、编辑和执行代码文件。
- 迭代设计:SWE-agent 仓库旨在简化 ACI 设计的迭代过程,以便于改进代码库级别的编码代理。
- 提示工程:正如典型的语言模型需要良好的提示工程一样,良好的 ACI 设计能够在使用代理时带来更好的结果。
- 代码检查:SWE-agent 在执行编辑命令时加入了一个 linter(代码检查工具),如果代码语法不正确,则不允许命令执行。
- 文件查看器:提供了一个特别构建的文件查看器,而不是简单地使用
cat
命令查看文件。研究发现,每次显示 100 行最为有效。 - 文件编辑器:构建了一个具有滚动和搜索功能的文件编辑器。
- 目录搜索命令:提供了一个特别构建的全目录字符串搜索命令,该命令能够简洁地列出匹配项,避免向模型展示过多上下文,以免造成混淆。
- 命令输出:当命令执行没有输出时,会返回一个消息 "Your command ran successfully and did not produce any output."(您的命令已成功执行,未产生任何输出。)
SWE-agent 的设计和功能展示了如何通过精心设计的接口和工具来提高大型语言模型在软件工程任务中的实用性和效率。这些工具和实践为研究人员和开发人员提供了一种新的方法,以利用 AI 改进编程和代码维护工作。普林斯顿大学的研究团队通过这些创新的方法,不仅提升了语言模型在软件工程领域的应用效果,也为未来类似工具的开发提供了宝贵的经验和见解。如果你对 SWE-agent 或其背后的研究感兴趣,可以查看相关的研究论文或项目页面以获取更多信息。
官网:https://swe-agent.com
GitHub:https://github.com/princeton-nlp/SWE-agent
0条评论