SWE-agent

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

SWE-agent的官网入口

SWE-agent的主要功能

  • 拉取请求问题解决:SWE-agent 能够理解并处理 GitHub 存储库中的问题,通过创建拉取请求来修复这些问题。
  • 代码编辑与修复:该系统能够浏览和编辑代码库中的文件,并自动修复代码中的错误和漏洞。
  • 自动语法检查:在编辑代码时,SWE-agent 可以运行代码检查工具(linter),确保代码符合语法规范。
  • 文件查看器:提供了一个专门设计的文件查看器,能够一次性显示100行代码,支持上下滚动和搜索功能,以便于更高效地查看和编辑代码。
  • 全目录字符串搜索:具备强大的全目录字符串搜索功能,可以简洁地列出所有匹配搜索条件的文件和代码段。
  • 自然语言命令与反馈:通过智能体-计算机接口(ACI),SWE-agent 可以接收以自然语言形式给出的命令,并提供相应的反馈。
  • 测试编写与执行: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 的问题解决能力和代码修复的准确性。
阅读原文
© 版权声明

相关文章

暂无评论

暂无评论...