AI

SWE-agent:普林斯頓大學開源的自主軟體工程 AI 代理

SWE-agent 將語言模型轉變為自主軟體工程代理,能夠修復 GitHub 問題、發現漏洞並解決程式設計挑戰。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
SWE-agent:普林斯頓大學開源的自主軟體工程 AI 代理

普林斯頓大學自然語言處理小組產出了許多 AI 領域最具影響力的研究,而 SWE-agent 代表了對新興 AI 驅動軟體工程領域的一項里程碑貢獻。SWE-agent 不將程式碼生成視為無狀態的文字補全問題,而是將其框架為一個互動式代理任務:模型接收一個 GitHub 問題,必須探索程式碼庫以理解上下文,制定修復方案,應用修復,並驗證結果。

這種方法反映了人類開發者的實際工作方式。面對錯誤報告時,開發者不會立即開始編寫程式碼。他們會閱讀相關檔案、搜尋相關函式、檢查 git 歷史、運行測試,並在做出變更之前迭代地完善自己的理解。SWE-agent 透過一個名為「代理-電腦介面」(ACI)的設計創新來複製這一工作流程。

SWE-agent 在 NeurIPS 2024 上發表,已成為自主編碼代理領域的基礎參考。其關於 LLM 工具使用介面設計的見解影響了無數後續項目,其在 SWE-bench 上的基準測試結果為 AI 系統在真實軟體維護中的能力樹立了新標準。


什麼是代理-電腦介面(ACI)?

SWE-agent 的核心研究貢獻是「代理-電腦介面」的概念。傳統的 AI 編碼工具方法給予 LLM 對 bash 終端機和檔案編輯器的原始存取權限,假設模型能自行找出正確的使用方式。SWE-agent 的作者發現這是一個根本性的設計缺陷。

流程圖 TD
    A[GitHub 問題] --> B[SWE-agent ACI 層]
    B --> C[程式碼導航\n命令:find, grep, view]
    B --> D[檔案編輯\n命令:edit, write]
    B --> E[Git 操作\n命令:diff, log, status]
    B --> F[建置與測試\n命令:make, pytest]

    C --> G[上下文建構\n綜合理解]
    G --> D
    D --> H[變更驗證]
    H --> E
    H --> F
    F --> I[解決方案提交]

    J[回饋迴路\n錯誤訊息、測試輸出] --> B

ACI 重新設計了每個工具介面,使其對 LLM 友善。Bash 命令被包裝成結構化輸出格式,讓模型更容易解析。檔案編輯器具備明確的上下文視窗和游標定位。Git 命令被簡化為常見工作流程。每個元件都不是針對人類可用性進行最佳化,而是為了模型理解和操作可靠性。


SWE-agent 在 SWE-bench 上的表現如何?

SWE-bench 已成為評估 AI 軟體工程能力的業界標準。它包含來自熱門 Python 倉庫的真實 GitHub 問題,要求代理產生能夠通過專案測試套件的正確修補程式。

指標SWE-agent 表現先前最佳水準
SWE-bench Lite>20% 已解決<15%
完整 SWE-bench>12% 已解決<8%
修補程式品質85%+ 語法有效~70%
多檔案修復可處理 3+ 檔案變更通常 1-2 個檔案

雖然絕對解決率可能看起來不算高,但重要的是要理解 SWE-bench 包含的是連人類開發者都會感到困惑的真正困難問題。許多錯誤涉及多個元件之間的細微互動、複雜的競爭條件或經過充分測試的程式碼中的邊界情況。即使自動解決 12-20% 的問題,也是一項重大的工程成就。


SWE-agent 支援哪些模型和基礎設施?

SWE-agent 被設計為一個研究平台,具有靈活的模型支援和豐富的檢測功能。

元件支援選項備註
語言模型GPT-4、Claude 3、DeepSeek、LlamaAPI 和本地部署
執行環境Docker 容器隔離、可重現的沙盒
程式語言Python(主要)、JavaScript(實驗性)可擴展至其他語言
基準測試整合SWE-bench、SWE-bench Lite、HumanEval內建評估框架
觀察記錄完整軌跡記錄研究級可追溯性

基於 Docker 的執行環境對可重現性至關重要。每個問題都在一個隔離的容器中進行評估,包含確切的倉庫狀態和依賴項,確保代理的表現得到公平衡量,並且其修補程式能夠通過專案實際測試套件的驗證。


SWE-agent 產生了哪些研究影響?

SWE-agent 在 NeurIPS 2024 上發表的論文對 AI 研究和工程社群產生了廣泛影響。

領域影響
學術研究400+ 引用,編碼代理的基礎參考
基準測試領先在 SWE-bench 上設定新 SOTA,被廣泛用作基線
開源生態系統被多個下游專案複製和整合
產業採用原則被商業 AI 編碼平台採用

ACI 設計理念已被證明特別具有影響力。許多後續的 AI 編碼工具——無論是開源還是商業——都採用了 SWE-agent 的方法,即設計 LLM 最佳化的介面,而不是暴露原始的命令列工具。


常見問題

什麼是 SWE-agent? SWE-agent 是普林斯頓大學的一個開源研究專案,將語言模型轉變為自主軟體工程代理,能夠修復真實的 GitHub 問題、發現安全漏洞並解決競賽程式設計問題。

什麼是代理-電腦介面(ACI)? ACI 是 SWE-agent 的設計創新,將 AI 與軟體工程工具之間的互動視為介面設計問題,最佳化命令集、輸出格式化和回饋迴路,使 LLM 更容易導航程式碼庫和進行編輯。

SWE-agent 在 SWE-bench 上的表現如何? SWE-agent 在 SWE-bench(評估 AI 系統解決真實 GitHub 問題的標準基準測試)上取得了最先進的結果,相比先前的方法有顯著改進。

SWE-agent 支援哪些語言模型? SWE-agent 支援多種 LLM 後端,包括 GPT-4、Claude、DeepSeek 和開源模型,讓研究人員和開發者可以試驗不同的模型架構。

SWE-agent 是否在 NeurIPS 上發表? 是的,SWE-agent 被 NeurIPS 2024 接受,這是機器學習領域最負盛名的會議之一,驗證了其在 AI 驅動軟體工程領域的研究貢獻。


延伸閱讀

TAG