SWE-agent 是一个由普林斯顿大学自然语言处理(NLP)团队研发的开源人工智能程序员与软件工程师系统。它利用大型语言模型(如 GPT-4)的强大能力,能够自动化处理 GitHub 存储库中的问题。通过智能体-计算机接口(ACI),SWE-agent 可以高效地浏览、编辑、测试和执行代码,展现出与闭源AI程序员 Devin 相当的性能,平均每个问题的解决时间为93秒,达到了当前的最佳性能标准。
SWE-agent是什么
SWE-agent 是一款先进的开源人工智能工具,致力于简化软件开发中的问题解决过程。该系统充分利用了大型语言模型的技术,能够自动识别和处理 GitHub 存储库中的问题。SWE-agent 的核心功能通过智能体-计算机接口(ACI)实现,允许它与代码库进行灵活的交互,涵盖代码浏览、编辑、测试及执行等多项任务。根据在 SWE-bench 测试集上的表现,SWE-agent 的准确度与知名闭源 AI 程序员 Devin 相似,目前已在 GitHub 上开源,相关研究论文也将于4月10日发布。
SWE-agent的官网入口
- 官方项目主页:https://swe-agent.com/
- GitHub源码库:https://github.com/princeton-nlp/SWE-agent
- 官方在线Demo:https://swe-agent.com/demo
SWE-agent的主要功能
- 拉取请求问题解决:SWE-agent 能够理解并处理 GitHub 存储库中的问题,通过创建拉取请求来修复这些问题。
- 代码编辑与修复:该系统能够浏览和编辑代码库中的文件,并自动修复代码中的错误和漏洞。
- 自动语法检查:在编辑代码时,SWE-agent 可以运行代码检查工具(linter),确保代码符合语法规范。
- 文件查看器:提供了一个专门设计的文件查看器,能够一次性显示100行代码,支持上下滚动和搜索功能,以便于更高效地查看和编辑代码。
- 全目录字符串搜索:具备强大的全目录字符串搜索功能,可以简洁地列出所有匹配搜索条件的文件和代码段。
- 自然语言命令与反馈:通过智能体-计算机接口(ACI),SWE-agent 可以接收以自然语言形式给出的命令,并提供相应的反馈。
- 测试编写与执行:SWE-agent 能够自动编写并执行测试代码,以验证修复的有效性。
SWE-agent的工作流程
- 理解问题:SWE-agent 利用自然语言处理技术解析 GitHub 存储库中的问题描述,依赖于其内置的大型语言模型(如 GPT-4)来理解人类编写的问题报告。
- 智能体-计算机接口(ACI):SWE-agent 通过 ACI 与代码库交互,这一接口旨在简化大型模型与计算机系统之间的命令和反馈格式。通过 ACI,SWE-agent 可以方便地浏览代码库、搜索文件、查看和编辑代码,甚至执行代码。
- 代码分析与修复:在理解问题后,SWE-agent 会分析相关代码,定位潜在的错误或漏洞,并提出修复方案。这可能包括修改现有代码、添加缺失的部分或重构代码结构。
- 自动化测试:为了确保修复的有效性,SWE-agent 可以自动编写和执行测试用例,以验证代码更改是否解决了原始问题且未引入新的错误。
- 性能反馈:每一步操作都会产生反馈,这些反馈用于评估 SWE-agent 的工作效果,特别是在 SWE-bench 基准测试中,评估生成的拉取请求是否真正解决了问题。
- 迭代与优化:SWE-agent 的设计支持不断的迭代和优化,研究团队通过收集反馈和性能数据,持续改进 ACI 的设计,提高 SWE-agent 的问题解决能力和代码修复的准确性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...