OpenAI 推出 SWE-bench Verified:500 道人工核驗的程式設計評測題
OpenAI 聯合原作者推出 SWE-bench Verified 基準測試。他們組織 93 名專業開發者人工核驗,剔除描述不清和測試過於苛刻的樣本,最終篩選出 500 個高質量題目。這意味著評估 AI 解決真實軟體問題的表現將更加客觀可靠。

如果你這幾個月一直在看各種 AI 程式設計助手打榜,應該對 SWE-bench 這個名字不陌生。它把 GitHub 上的真實開源 Bug 拿來給大模型修,修好了就算得分,一直被當成衡量 AI 程式設計能力的黃金標準。
不過,這個常被大家掛在嘴邊的測試集,本身其實有不少大坑。8 月 13 日,OpenAI 聯手 SWE-bench 原作者釋出了一個清洗版資料集 SWE-bench Verified,直接挑明瞭原版測試的諸多不合理之處。
考題裡全是「超綱要求」和「環境配置坑」
AI 在真實的開發環境裡究竟能幫多大忙,是 OpenAI 評估模型自主性風險的關鍵一環。但他們在測試時發現,舊版 SWE-bench 會嚴重低估大模型的能力,原因往往不在模型太笨,而是題目出得太刁鑽甚至不合理。
OpenAI 總結了三大硬傷。首先是單元測試過於嚴苛,甚至測試內容跟題目描述根本對不上。比如在 scikit-learn 的一個問題裡,要求修復一個被忽略的引數,但原作者在後續程式碼測試裡,硬性要求模型丟擲一個棄用警告,而且報錯文案必須和維護者討論出來的文字一模一樣。題目描述裡完全沒寫這事,模型又看不到測試用例,按常理修好也會被判零分。
其次是大量 GitHub Issue 的問題描述過於模糊,連資深程式設計師看了都摸不著頭腦,根本不知道預期的正確行為是什麼。
最後是原本的環境部署非常不穩定。很多時候模型寫出的程式碼完全正確,卻因為測試容器或依賴環境報錯,直接被判不及格。
93 位程式設計師下場挑刺,砍掉了近七成題目
為了給大模型一個公平的考場,OpenAI 找來了 93 位經驗豐富的 Python 開發者,對原版測試集裡的 1699 個隨機樣本進行了逐一人工審查。
審查標準很嚴,每個題目都分配給 3 名開發者獨立把關。只要 3 個人裡有任何一位認為題目描述嚴重模糊,或者單元測試會誤殺正確程式碼,這個題目就會被直接淘汰。
人工篩查的結果非常驚人。有 38.3% 的樣本存在描述不清的問題,更有高達 61.1% 的樣本包含不公平的單元測試。整體算下來,原版 SWE-bench 裡竟然有 68.3% 的題目被直接剔除。
團隊最終保留了 500 個完全合格的高質量樣本,構成了 SWE-bench Verified。其中包含 196 個 15 分鐘內能搞定的簡單任務,以及 45 個需要 1 小時以上的複雜難題。同時,他們還與原作者一起推出了基於 Docker 的全新評估框架,徹底解決環境跑不通的問題。
在這個更乾淨的考場上,模型的成績立刻好看許多。GPT-4o 拿到了 33.2% 的成績,而開源框架 Agentless 的得分直接從之前的 16% 翻倍。
為什麼重要
對開發者和企業來說,這一步釐清了過去很多人對 AI 程式設計能力的困惑。以前看著榜單上 10% 或 20% 的解決率,大家往往覺得大模型離實際幹活還早得很。現在 Verified 版本把人為製造的絆腳石搬開後,大家可以更直觀、更公允地看清模型在真實修 Bug 場景下的實際水平,評估它到底能不能接入日常工作流。
對整個行業而言,這次清洗樹立了一個新標杆,並且它直接取代了原有的 SWE-bench 和 SWE-bench Lite。過去半年各家都在死卷這些基準,甚至為了微小的百分點調整提示詞,但如果考題本身就不及格,刷分就成了無用功。OpenAI 帶著原作者親自給榜單擠水分,會倒逼行業轉向更嚴密、更真實的資料集建設。
我們認為 OpenAI 這次的操作非常聰明。他們既沒有另起爐灶重新造一個自說自話的榜單,也沒有硬靠演算法粉飾自家模型的能力,而是聯手原作者用嚴謹的人工複核去修正既有標準。雖然一次性砍掉近七成的樣本看起來有點矯枉過正,可能會漏掉一些真正需要多輪溝通的模糊場景,但對於一個基準測試來說,寧可考題少一點,也絕不能讓不合理的判卷標準繼續誤導大家。
來源 (1)
- openai.com(在新分頁開啟)原文openai.com