“這款模型在 Python 錯誤修復上表現驚豔,但在 Java 功能實現上卻慘不忍睹”,“同一個模型在 Web 開發場景遊刃有餘,面對基礎設 施代碼卻束手無策”——這些開發者社區的常見吐槽,折射出現有代碼大模型評估體系的嚴重侷限。關於“誰是最強的代碼大模型?”這一問題,答案眾説紛紜,對於同一款大模型,對於不同的編程場景、不同編程任務、不同編程語言甚至不同智能體框架其風評都可能大相徑庭。
然而,現有的基準測試大多數仍然侷限於單文件任務、以 Python 為中心的錯誤修復或合成算法問題,而關鍵的開發者活動,如功能實現、重構、配置和性能優化,尚未得到充分探索。在這種情況下,開發者們只能親自測試,難免導致人和代碼都變成“喜慶”的顏色。在激烈的“最強代碼模型”爭論中,我們急需一個能夠真實反映工業級軟件開發複雜度的評估基準。
近日,快手 KwaiKAT 團隊與南京大學劉佳恆老師 NJU-LINK 合作推出 SWE-Compass ——一個涵蓋 8 大任務類型、8 大編程場景、10 種編程語言的代碼智能統一評估框架,它包含 2000 個高質量實例,在任務類別、編程場景和語言方面實現了良好的平衡,為評估大型語言模型在實際軟件工程任務中的能力提供了一個嚴格且具有代表性的評估框架。
論文鏈接:https://arxiv.org/abs/2511.05459
數據集:https://huggingface.co/datasets/Kwaipilot/SWE-Compass
一、破局之作:為什麼是 SWE-Compass?
當前代碼大模型的評估生態存在三大核心痛點:任務覆蓋狹窄、語言偏見嚴重、與真實開發流程脱節。主流基準如 HumanEval、MBPP 等專注於算法題求解,SWE-Bench 系列雖轉向倉庫級評估,但仍過度聚焦於 Python 語言的錯誤修復任務。評估廣度的缺乏,導致模型在特定任務上的優異表現被過度放大,卻無法回答一個關鍵問題:它能否真正勝任多元化的工業級開發需求?
表 1:SWE-Compass 與現有基準測試在不同維度上的綜合比較
圖 2: 比較分析:跨任務類型的模型性能(a)和跨基準測試的語言覆蓋範圍(b)SWE-Compass 的誕生正是為了解決這一困境。
研究團隊通過分析海量 GitHub 討論和 Stack Overflow 問題,首次構建了覆蓋軟件工程全生命週期的三維評估體系:
8 大任務類型:從基礎的功能實現(FI)、錯誤修復(BF)到高階的代碼理解(CU)、性能優化(PO)
8 大編程場景:涵蓋應用開發(AD)、數據科學(DE)、機器學習(ML)、基礎設施(ID)等關鍵領域
10 種編程語言:除 Python / Java / JavaScript 等主流語言外,更納入 Rust / Go / Kotlin 等新興語言
圖 3: 任務類型、編程場景和語言的分佈
二、匠心設計:如何構建真實可信的評估基準?
SWE-Compass 的構建過程堪稱工程與學術的完美結合。研究團隊採用五階段流水線,確保每個實例都具備可執行性和可驗證性:
階段 1:需求挖掘通過主動學習框架分析開發者討論,迭代優化標籤體系。使用 Qwen3-Coder-30B 模型進行多輪標註,最終確定 8 類任務、8 類場景和 10 種語言的分類框架。
階段 2:數據篩選從 GitHub 精選 50000 個高質量 PR,篩選標準包括:項目星標≥500、近半年活躍、含完整測試套件等。每個 PR 需關聯具體 Issue 、包含代碼補丁和測試補丁。
階段 3:環境構建最挑戰的環節在於創建可復現的 Docker 環境。初始構建成功率僅 2%,經 30 位專家逐條修復依賴衝突後,最終獲得 4000 個可運行環境,留存率提升至 8%。
階段 4:任務合成針對不同任務類型採用差異化策略:
- 代碼理解任務:通過 GPT-5 生成帶檢查清單的推理問題
- 測試生成任務:採用反向掩碼技術構造不完整測試用例
- 性能優化任務:篩選實際提升 30%以上性能的 PR 案例
階段 5:質量驗證通過難度過濾、平衡採樣和人工驗證三重保障,最終形成 2000 個高質量實例。如圖 3 所示,整個構建過程體現了系統工程般的嚴謹性。
圖 4: SWE-Compass 的構建流程圖
三、巔峯對決:十款頂尖模型的全方位比拼
研究團隊在 SWE-Agent 和 Claude Code 兩種主流智能體框架下,對 10 款前沿模型進行嚴格測試,包括 Claude-Sonnet-4、Qwen3-Coder 系列、GPT-4.1、Gemini-2.5 等明星模型。
表 5: SWE-Compass 上按任務類型的主要結果。AVG 是跨任務類型的宏觀平均值。縮寫:FI=功能實現;FE=功能增強;BF=錯誤修復;RF=重構;PO=性能優化;CU=代碼理解;TG=測試用例生成;CD=配置與部署。
核心發現 1:任務難度分層明顯如上表所示,所有模型在代碼理解(CU)和配置部署(CD)任務上表現最佳,平均通過率超 40%。而功能實現(FI)和錯誤修復(BF)成為最大挑戰,凸顯了模型在代碼定位和集成方面的短板。特別值得注意的是,性能優化(PO)和測試生成(TG)任務雖難度較高,但部分模型仍能達到 20%以上的通過率,展現出了潛力。
核心發現 2:智能體框架各有千秋 Claude Code 在配置部署等確定性任務上優勢明顯,而 SWE-Agent 在複雜定位任務中表現更穩健。SWE-Compass 揭示了這種互補性:沒有萬能的最優框架,只有最適合特定場景的工具鏈。為開發者選擇智能體框架提供了指南。核心發現 3:語言生態差異顯著如下圖所示,模型在 JVM 生態和 JavaScript 上表現最佳,而系統級語言( C / C++ / Rust / Go)成為普遍難點。這種分層反映了不同語言生態的工具鏈成熟度和診斷便利性對模型性能的深刻影響。
圖 6: 不同模型對於 SWE-Compass 上不同語言任務的 Pass@1
核心發現 4: 交互輪次與成功率。下圖展示了每種語言的輪次分佈。在 Claude Code 下,確定性生態系統( Java / Kotlin / JavaScript / C# )的中位數較低,四分位距較窄,而實現相似或更高的 Pass@1 提升來自可靠信號而非更多輪次。系統語言(C/C++/Rust/Go)的尾部較重,尤其是對於 SWE - Agent,收益明顯遞減;Rust 最為脆弱。Python 表現出高方差:在 Claude Code 下,固定環境收斂迅速,而異質性則促使 SWE - Agent 進行許多低收益的輪次。總體而言,對於系統語言,優先進行倉庫級本地化,對於 Python,優先進行環境強化;在 JVM / JS 中,專注於更精確的假設修剪和並行驗證。
圖 7: 不同模型對於 SWE-Compass 上不同語言任務的交互輪數
核心發現 5: 跨語言的一致性和專業化。下圖總結了強聚合結果是廣泛分佈還是集中分佈。在圖(a)中,聚合 Pass@1 和每種語言的中位數 Pass@1 呈現出明顯的視覺正趨勢,表明排名較高的系統往往在各語言中更一致地提升,而非依賴單一語言。頂級系統在右側聚集,一致性更高,而中級模型分佈更分散,中位數較低。在圖(b)中,總體性能越高,視覺上與跨語言/任務的變異性(變異係數,CV)越低相吻合,這表明更強的模型通常變異性更小。綜合這些觀察結果支持我們早期的發現:(i)頂級的改進反映了本地化和執行可靠性的廣泛提升,而非狹隘的專業化;(ii)減少跨語言方差是縮小差距的有效槓桿,尤其是對於對變異性貢獻不成比例的系統語言;(iii)評估協議應同時報告集中趨勢和離散度,以避免誇大由部分語言驅動的收益。
圖 8: 不同模型在 SWE-Compass 上語言傾向性與性能穩定性分析
核心發現 6: 細粒度場景分析。下表顯示,場景難度與工具確定性和所需編輯的局部性密切相關。諸如用户界面/用户體驗工程、安全工程和應用程序開發等高得分類別將成熟的框架與清晰的預言機和快速運行的測試相結合,在這些類別中, Claude Code 以編輯器為中心的工作流程將穩定的反饋轉化為更少輪次下更高的 Pass@1。相比之下,數據庫系統、基礎設施開發、機器學習/人工智能和專業編程領域涉及多階段構建、跨進程依賴或非確定性輸出;在這裏,SWE-Agent 的迭代定位通常更具彈性,但也更容易超時。因此,在我們的設置中,Claude Code 在各個場景中相對於 WE-Agent 的一致平均優勢集中在具有可靠、低方差信號的管道中。為了彌合剩餘的差距,未來的系統應該:
- 增強複雜堆棧的存儲庫級可觀測性和可重複性(最小化重現腳本、固定環境、工件隔離)
- 對確定性堆棧進行假設修剪和並行驗證投資,其中瓶頸是搜索效率而不是原始探索預算。
表 9: 不同模型在 SWE-Compass 的不同編程場景上表現
四、深度洞察:模型失敗根因分析
為了系統地理解當前編碼代理的侷限性,我們對來自 SWE-Compass 基準測試的 SWE-Agent 軌跡進行事後失敗分析,通過對 600 個失敗軌跡的精細分析,研究團隊揭示了當前代碼智能體的六大失敗模式:
需求誤解(34%):模型未能準確理解問題本質,包括錯誤定位文件、誤判嚴重性等
解決方案不完整(32%):僅解決表面症狀而忽略根本原因,或引入新缺陷
測試不充分(21%):遺漏邊界情況、兼容性問題和性能影響評估
工具調用錯誤(5%):語法錯誤、上下文溢出等基礎技術問題
技術知識缺口(5%):缺乏領域專業知識(如安全、前端等)
無限循環(3%):陷入重複嘗試同一解決方案的僵局
圖 10: 錯誤類型分佈
這一發現指向一個關鍵結論:當前模型的核心瓶頸不在代碼生成質量,而在需求理解和系統設計能力。這為下一代代碼智能體的研發指明瞭方向。
五、行業影響與未來展望
SWE-Compass 的發佈標誌着代碼大模型評估進入了一個新時代。其影響主要體現在以下幾個方面:
- 對模型開發者的價值:為模型研發提供了明確的改進方向,幫助開發者識別模型在特定任務、場景和語言上的弱點,有針對性地進行優化。
- 對企業用户的意義:為企業選擇適合自身技術棧的代碼助手提供了科學依據,避免了盲目選型帶來的效率損失。
- 對學術研究的推動:為軟件工程和 AI 交叉領域研究提供了標準化評估平台,促進了不同研究之間的可比性和可復現性。研究團隊也規劃了未來的擴展方向,包括規模和覆蓋範圍的擴展、更難的長上下文設置、指標和協議的豐富、評估軌道的探索、人在環校準以及可復現性、安全性和可訪問性的持續改進。
結語
SWE-Compass 的出現恰逢其時,為尚不完善的代碼大模型評估市場帶來了秩序和科學。
通過將 2,000 個驗證實例與可復現執行環境集成,SWE-Compass 提供了對軟件開發生命週期的全面覆蓋。大規模實驗揭示了任務難度的一致性層次結構、語言特定變異性和根植於需求誤解和不完整解決方案的主導失敗模式。
這些發現強調,自動化軟件工程的未來進展較少依賴於孤立的代碼生成改進,而更多依賴於增強需求 grounding、環境可靠性和推理一致性。SWE-Compass 為推進下一代健壯、通用編碼代理提供了嚴謹、可擴展和可復現的基礎。在 AI 編程助手日益普及的今天,SWE-Compass 就像一枚指南針,為開發者在大模型迷宮中導航提供了方向。我們希望更多研究者和開發者採用這一基準,助力代碼大模型能力的快速提升,最終實現 AI 與人類開發者協同創作軟件的新範式。研究團隊:快手技術 KwaiKAT 團隊 × 南京大學劉佳恆老師 NJU-LINK