程式設計界迎來革命性工具!由 SWE-bench 開發團隊推出的 mini-SWE-agent,以極簡的 100 行程式碼,實現了驚人的 Bug 修復率。本文將帶您深入了解這個開源專案的魅力、設計理念,以及它如何改變我們的開發日常。
你有沒有過這樣的經驗?一個惱人的 Bug,卡了你好幾個小時,甚至好幾天。你翻遍了 Stack Overflow,問遍了同事,卻還是找不到問題的根源。說真的,修 Bug 大概是所有軟體工程師心中共同的痛。
但如果,現在有一個工具,只需要你下達指令,它就能像一位資深工程師一樣,自己讀懂 GitHub 專案、分析問題,然後把 Bug 修好,你會不會覺得這簡直是天方夜譚?
這正是 AI 程式碼代理(Coding Agent)正在努力實現的目標。而就在最近,來自普林斯頓大學和史丹佛大學,也就是 SWE-bench 和 SWE-agent 背後的開發團隊,推出了一個全新的開源專案——mini-SWE-agent,它不僅讓這個夢想更近一步,還用一種極其優雅、極其簡單的方式,震撼了整個開發者社群。
為什麼這麼說?因為這個「迷你」代理,僅僅用了大約 100 行的 Python 程式碼,就能在 SWE-bench 這個公認的軟體工程基準測試中,成功修復將近 65% 的真實 GitHub 問題。
這聽起來是不是有點不可思議?老實說,連開發團隊自己都感到驚訝。他們花了一年多的時間打造功能強大的 SWE-agent,從沒想過一個如此輕量的系統,效能竟然可以如此接近。
一切從簡,為何現在才可能?
你可能會好奇,如果這麼簡單的架構就能有好效果,那為什麼一年前沒人這麼做?
這裡有個關鍵的背景。回想 2024 年,當時的大型語言模型(LLMs)雖然聰明,但主要還是被優化來「聊天」。它們是出色的對話者,但要讓它們執行具體的、有條理的工作,就需要開發者打造非常複雜的代理框架(Agent Scaffolds),透過各種巧妙的提示工程和工具呼叫,引導模型一步步完成任務。
但時間快轉到 2025 年,情況完全不同了。現在的 LLMs,特別是像 Anthropic 的 Sonnet 4 這樣的頂尖模型,已經在底層針對「代理行為」(Agentic Behavior)進行了深度優化。它們不再只是被動的文字產生器,而是能更主動地理解指令、規劃步驟並執行任務。
正是這個根本性的轉變,讓 mini-SWE-agent 的誕生變為可能。開發者不再需要層層堆疊複雜的控制邏輯,因為模型本身就已經足夠「能幹」。
返璞歸真:告別複雜,擁抱 Bash
那麼,mini-SWE-agent 到底有多簡單?
它最大的亮點,就是徹底拋棄了複雜的工具呼叫介面。
在過去的代理中,你可能需要為檔案系統操作(讀取、寫入)、程式碼搜尋、執行終端機命令等功能,各自定義一套專屬的 API。模型需要學習如何「呼叫」這些工具,而代理本身則要負責解析模型的意圖,再轉換成實際操作。這不僅增加了系統的複雜度,也帶來了許多潛在的依賴問題。
mini-SWE-agent 的作法,可以說是返璞歸真。它讓語言模型在每一步直接輸出一個完整的、可以在 Bash 環境中執行的 Shell 指令。
想看一個檔案?模型就輸出 cat a.py。
想編輯檔案?模型就輸出一個帶有 sed 或 echo 的指令。
想執行測試?模型就輸出 pytest。
就這麼簡單。這種設計帶來的好處是顯而易見的:
- 超高相容性: 只要有 Bash 環境,它就能運作。
- 極少依賴: 不再需要一堆外掛或特定的工具庫。
- 程式碼極簡: 核心邏輯被壓縮到僅約 100 行,加上必要的環境和模型設定,總程式碼量也不到 200 行。
對於開發者來說,這意味著你可以更專注於解決問題本身,而不是花費大量時間在繁瑣的環境配置和工具鏈除錯上。
小而強大:效能媲美重量級選手
簡潔的設計,是否意味著效能的妥協?mini-SWE-agent 用數據給出了否定的答案。
在 SWE-bench 基準測試中,搭載 Sonnet 4 模型的 mini-SWE-agent 解決了約 65% 的 GitHub Issues。
這是一個什麼樣的水平?作為對比,當 Anthropic 首次發表 Sonnet 4 時,他們內部使用一個從未公開的、可能更複雜的代理框架,達成的修復率是 70%。這意味著,這個百行程式碼的「小傢伙」,其效能已經足以和業界頂尖的閉源系統相提並論。
不只是一個腳本:為專業開發者而生的實用工具
雖然核心程式碼極簡,但 mini-SWE-agent 並非只是一個玩具專案。開發團隊為它配備了一系列實用的工具,讓它能真正投入到大規模評測和日常開發中。
- 批量推理與軌跡瀏覽器: 研究人員可以利用這些工具進行大規模評測,並透過軌跡瀏覽器深入分析代理在解決問題時的每一步決策,就像觀看棋局復盤一樣。
- 命令列工具與視覺化介面: 開發者可以透過簡單的命令列工具快速啟動代理。更棒的是,專案還提供了一個類似 Claude-code 風格的視覺化介面,讓你可以在瀏覽器中即時監控代理的執行過程、查看它正在編輯的檔案和執行的命令。
我該用 mini-SWE-agent 還是 SWE-agent?
這是一個很好的問題。開發團隊也給出了明確的定位:
- mini-SWE-agent:適合那些追求快速啟動、簡潔流程和易於控制的開發者。如果你想在日常工作中快速解決一個 Bug,或者想將 AI 修復功能整合到自己的 Python 應用中,它會是絕佳選擇。
- SWE-agent (原版):更適合那些需要高度可設定性、複雜歷史狀態管理和進行深入學術研究的使用者。它提供了更精細的控制,但上手門檻也相對較高。
簡單來說,一個是輕巧靈活的「手槍」,一個是功能強大的「步槍」,你可以根據不同的戰場選擇最適合的武器。
未來展望:開源、開放、不斷進化
mini-SWE-agent 的故事還在繼續。團隊目前正在努力更新他們自家的開源模型 SWE-agent-LM-32B,專門針對這種極簡的 Bash 指令模式進行微調,未來有望在開源模型上達到更驚人的效果。
這個專案不僅展示了當今 LLM 技術的飛速進步,也體現了一種重要的開發哲學:可讀性強、易於擴展。它證明了強大的功能不一定需要複雜的系統,簡單的設計同樣能爆發出巨大的能量。
如果你對這個專案感興趣,不妨親自去體驗一下。
專案 GitHub 網址: https://github.com/SWE-agent/mini-swe-agent
或許,下一次當你再遇到惱人的 Bug 時,你的得力助手,就是這個百行程式碼寫成的 AI 夥伴。


