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 的問題解決能力和代碼修復的準確性。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
相關文章
暫無評論...