SWE-agent – 普林斯頓開源的AI程序員智能體

AI工具7個月前發佈新公告 AI管理員
2 0

SWE-agent是什麼

SWE-agent是一個由普林斯頓大學NLP組研究人員開發的開源AI程序員和軟件工程師系統,利用大型語言模型(如GPT-4)的能力,可以自動解決GitHub存儲庫中的問題。SWE-agent通過智能體-計算機接口(ACI)與代碼庫交互,能夠執行代碼的瀏覽、編輯、測試和執行等任務。該系統在SWE-bench測試集上展現出與閉源AI程序員Devin相似的準確度,平均93秒解決一個問題,實現了SOTA 性能。

在25%的SWE-bench測試集上,SWE-agent 實現了與 Devin 相似的準確度—— 解決了12.29%的問題。SWE-agent目前已在GitHub上開源,研究論文將於4月10日發佈。

SWE-agent - 普林斯頓開源的AI程序員智能體

SWE-agent的官網入口

  • 官方項目主頁:https://swe-agent.com/
  • GitHub源碼庫:https://github.com/princeton-nlp/SWE-agent
  • 官方在線Demo:https://swe-agent.com/demo

SWE-agent的主要功能

  • Pull Request問題解決:SWE-agent能夠理解GitHub存儲庫中的問題,並嘗試通過創建拉取請求(pull request)來修復這些問題。
  • 代碼編輯與修復:SWE-agent能夠瀏覽和編輯代碼庫中的文件,自動修復代碼中的錯誤和漏洞。
  • 自動語法檢查:在代碼編輯過程中,SWE-agent可以運行linter(代碼檢查工具),確保代碼符合語法規範。
  • 文件查看器:提供了一個專門構建的文件查看器,能夠在每輪顯示100行代碼,支持上下滾動和搜索功能,以便更有效地查看和編輯代碼。
  • 全目錄字符串搜索:SWE-agent具備全目錄字符串搜索功能,能夠簡潔地列出所有匹配搜索條件的文件和代碼片段。
  • 命令與反饋:通過智能體-計算機接口(ACI),SWE-agent能夠接收和執行以自然語言形式給出的命令,並提供相應的反饋。
  • 測試編寫與執行:SWE-agent能夠編寫並執行測試代碼,驗證修復的有效性。

SWE-agent - 普林斯頓開源的AI程序員智能體

SWE-agent的工作流程

  • 理解問題:首先,SWE-agent通過自然語言處理(NLP)技術理解GitHub存儲庫中的問題描述。這一步驟依賴於其內部集成的大型語言模型(如GPT-4),該模型能夠解析和理解人類編寫的問題報告。
  • 智能體-計算機接口(ACI):SWE-agent使用ACI與代碼庫進行交互。ACI是一套設計用來簡化大模型與計算機系統交互的命令和反饋格式。通過ACI,SWE-agent可以瀏覽代碼庫、搜索文件、查看和編輯代碼,甚至執行代碼。
  • 代碼分析與修復:在理解了問題之後,SWE-agent會分析相關的代碼,定位可能的錯誤或漏洞,並生成修復方案。這可能包括修改現有代碼、添加缺失的代碼或者重構代碼結構。
  • 自動化測試:爲了確保修復有效,SWE-agent能夠自動編寫和執行測試用例。這些測試用例旨在驗證代碼更改是否解決了原始問題,並且沒有引入新的錯誤。
  • 性能反饋:SWE-agent執行的每一步操作都會產生反饋,這些反饋用於評估其工作的效果。特別是在SWE-bench基準測試中,SWE-agent會評估其生成的拉取請求是否真正解決了問題。
  • 迭代與優化:SWE-agent的設計允許不斷的迭代和優化。研究團隊通過收集使用中的反饋和性能數據,不斷改進ACI設計,提高SWE-agent的問題解決能力和代碼修復的準確性。
© 版權聲明

相關文章

暫無評論

暫無評論...