SWE-agent – 普林斯顿开源的AI程序员智能体

AI工具7个月前更新 niko
20 0

什么是SWE-agent

SWE-agent是由普林斯顿大学自然语言处理小组的科研人员设计并开发的一个创新型开源系统,专为程序员和软件工程师提供智能支持。该系统依托先进的大型语言模型(例如GPT-4)打造,具备自动解决GitHub代码库中出现的问题的能力。通过智人机接口(Agent-Computer Interface, ACI),SWE-agent能够执行代码的多项操作,如浏览、编辑、测试和运行,呈现出行业领先的SOTA性能,平均只需93秒即可解决一个问题。

在SWE-bench测试集中的一个子集上,SWE-agent展示了与专业闭源AI程序员Devin相似的性能,解决了12.29%的测试问题。据悉,SWE-agent已在GitHub上全面开源,相关研究论文也计划在4月10日向公众披露。

SWE-agent的关键特性

  1. 自动化处理Pull Request:SWE-agent能够识别并理解GitHub仓库中的Issue,并通过自动化创建Pull Request来尝试解决这些问题。
  2. 智能代码编辑:SWE-agent不仅可以浏览代码库中的文件,还能自动找出并修复代码中的错误与漏洞。
  3. 语法检查:在编辑代码的同时,SWE-agent还会运行代码检查工具,保证代码符合既定的语法规范。
  4. 代码查看器:SWE-agent提供了一个高效的代码查看器,便于用户逐行查看和编辑代码。
  5. 全目录搜索功能:SWE-agent提供全目录字符串搜索,帮助用户快速找到所需的文件和代码片段。
  6. 命令执行与反馈系统:通过ACI,SWE-agent能够读取并执行自然语言形式的命令,同时提供反馈结果。
  7. 测试编写与自动执行:SWE-agent能够编写必要的测试用例,并自动执行这些测试以验证修复的有效性。

SWE-agent的访问方式

SWE-agent操作流程剖析

SWE-agent的操作流程大致可分为以下几个步骤:

  1. 问题理解:SWE-agent使用其内部的语言模型理解GitHub仓库中的问题描述。
  2. ACI交云:通过ACI与代码库互动,SWE-agent能够浏览、搜索和编辑代码库。
  3. 代码分析与修正:在理解问题后,SWE-agent分析代码,找出错误并提出修复方案。
  4. 自动化测试流程:确保修复有效性,SWE-agent自动编写并执行测试用例。
  5. 性能反馈机制:ACI将SWE-agent的操作反馈回系统,以评估性能。
  6. 迭代与优化:根据收集的反馈不断改进ACI,优化SWE-agent的问题解决能力。

SWE-agent的设计代表了当前AI在软件开发领域应用的新高度,它不仅提高了软件问题解决的效率,也推动了开发者与AI协同工作的新模式。

© 版权声明

相关文章

暂无评论

暂无评论...