繁體
  • 简体中文
  • 繁體中文

熱門資訊> 正文

深度揭祕OpenAI如何讓GPT-5「技術性」超越Claude:悄悄跳過最難的23道題

2025-08-20 10:05

幾天前,OpenAI發佈會上,奧特曼宣佈GPT-5登頂了,號稱代碼能力全球第一。

但發佈會上搞了一個大烏龍,52.8>69.1=30.8?

於是,OpenAI那些年薪上億的天才們做的一張表格火遍了全世界(左邊)。

雖然這張表格一開始在OpenAI的官博中是準確的,但是當面向全世界直播竟然搞了這麼大一個Bug。

拋開烏龍外,更重要的但是被人們忽視的一個事情是,GPT-5在SWE-bench Verified基準上取得的74.9%的通過率。

這個分數略高於Anthropic的Claude Opus 4.1的74.5%

這一下子,就讓GPT-5成為當前軟件工程任務基準上的領先模型。

但等等,這分數…好像有點貓膩啊。

OpenAI並未運行SWE-bench Verified的全部500道測試任務,而是略去了其中無法運行的23個任務,僅基於477個任務計算得分

SemiAnalysis專門發帖提到這個問題。

Anthropic專門在它的博客里也「內涵」了這個問題。

SWE-bench Verified總共500道題,GPT-5只做了477道,那23道題,它直接跳過了!

而對手Claude呢?老老實實,500道題一道沒落。

這下,性質全變了。

當然OpenAI是承認這件事情的。

他們從GPT-4.1開始就在「備註」里說明了:OpenAI的基礎設施無法運行這23道題目。(好奇啊,什麼樣的題目,OpenAI的天才們竟然説無法運行)

如果將這23道無法運行的題目按0分計入,GPT-4.1的得分將從54.6%降至52.1%

由此推測,GPT-5的74.9%,若也將那23道題視作全錯,其實際全500題通過率約為71.4%74.9%×477/500,注意這是極度簡化的計算)明顯低於Claude Opus 4.1基於500道題取得的74.5%

需要強調的是,那23個被略去的任務並非對GPT-5「無關緊要」。

相反,它們大多是Verified集中最困難的一批問題

據第三方分析,在Verified數據集的「耗時>4小時」級別的任務中,絕大多數模型都無法解決任何一道。

模型在需要超過1小時才能完成的「較難」問題上表現顯著下降。

只有ClaudeSonnet4(非思考模式)、o3和GPT4.1能夠完成部分超過4小時的任務(各佔33%)。

這些極端困難任務對模型的綜合能力是嚴峻考驗。

如果GPT-5無法運行這些任務,那麼從全面能力上説,它可能尚未真正超越Claude 4.1。

在Anthropic提供的信息中,Claude 4.1很可能也嘗試了這些任務(Anthropic並未聲稱其模型跳過任何Verified任務),因此其74.5%分數包含了所有難題的考驗。

而GPT-5的74.9%則是在剔除了這些「攔路虎」后的結果。

這種差異引發的主要爭議點在於:評測分數的可比性和報告方法的透明性。

甚至,就連作為裁判的SWE-bench Verified數據集,也是OpenAI自己搞的。

SemiAnalysis認為,要想「公平」的對比模型之間的成績,或許swebench.com上的SWE-bench官方排行榜可能是對當前模型在此基準測試中表現的最清晰描述。

沒有「驗證」子集,工具使用受限(僅限bash),大部分腳手架內容是開放可見的。

在此前提下的基準測試中,5月14日的Claude 4 Opus檢查點(67.6)表現是要優於GPT-5(65)的。

接下來的問題就是,什麼是SWE-bench,什麼又是「驗證」子集,為啥要額外搞一個SWE-bench Verified?

SWE-bench:AI界的「程序員高考」

SWE-bench你可以把它想象成AI界的「程序員高考」。

考的,全是真實世界的代碼難題。

想拿高分?不僅要修復bug。還不能引入新bug,這標準簡直不要太嚴格。

曾幾何時,AI們分數也就二三十分,慘不忍睹。

比如截至2024年8月5日,根據SWE-bench的排行榜,編碼智能體在SWE-bench上最高得分20%。

在SWE-bench Lite上得分能稍微好點,達到43%。

但是現在的AI厲害了,基本上前十的模型都能超過50分。

OpenAI覺得SWE-bench太難了,一些任務甚至壓根沒法解決,從而沒法很好的評估模型的能力。

簡單介紹下SWE-bench

SWE-bench測試集中的每個樣本均來自GitHub上12個開源Python存儲庫中的已解決GitHub問題。

每個樣本都有一個相關的拉取請求(PR),其中包含解決方案代碼和單元測試以驗證代碼的正確性。

這些單元測試在PR中的解決方案代碼添加之前會失敗,但添加之后會通過,因此被稱為FAIL_TO_PASS測試。

每個樣本還具有相關的PASS_TO_PASS測試,這些測試在PR合併前后都會通過,用於檢查PR是否破壞了代碼庫中現有且不相關的功能。

對於SWE-bench中的每個樣本,智能體將獲得來自GitHub issue的原始文本,即問題描述,並可以訪問代碼庫。

據此,智能體必須編輯代碼庫中的文件以解決問題。測試用例不會展示給智能體。

模型提出的修改編輯通過運行FAIL_TO_PASS和PASS_TO_PASS測試進行評估。

如果FAIL_TO_PASS測試通過,表明該模型解決了問題。

如果PASS_TO_PASS測試通過,則表明該編輯沒有意外破壞代碼庫中不相關的部分。

只有當這兩組測試全部通過后,該編輯才能徹底解決原始GitHub問題。

這就是上面所説的:不僅要修復bug,還不能引入新bug。

SWE-bench Verified:一個人工選出來的子集

SWE-bench Verified是SWE-bench基準的一個人類校驗子集,於2024年8月由OpenAI與SWE-bench作者合作發佈。

OpenAI與93名精通Python的軟件開發人員合作,手動篩選SWE-bench樣本的質量。

首先,給SWE-bench測試集的1699個隨機樣本「打分」。

四個分數:

0:問題描述清晰,對於成功解決所需的條件也很明確。

1:關於這個問題還有一些空白需要填寫,但對於成功解決方案所需的內容,存在一種合理的解讀方式。

2:該問題描述含糊,存在歧義空間,尚不清楚一個成功的解決方案應具備哪些特徵。

3:在沒有更多信息的情況下,幾乎無法理解你需要做什麼。

得分為2和3分的直接拋棄不要,只留0和1分的題目。

雖然這種方法會導致樣本移除的誤報率較高,但有助於提高對最終數據集樣本質量的信心。

然后從0和1分的題目中再隨機抽取500道,這就是最終的SWE-bench Verified

説回分數,Claude考的是「全科」,OpenAI考的是「精選版」。

這成績,怎麼能直接比?數字背后的故事,更值得玩味。

在發佈會圖表畫錯的烏龍以外,這個被「掩蓋」的事實似乎並沒有引起太多人的注意。

甚至,我們可以陰謀論的猜測一下,OpenAI是不是故意而為之,用這個小小的烏龍,來掩蓋SWE-Bench的分數?

畢竟,要想隱瞞一個真相,最好的做法不是否認它,而是用一個更大的「真相」去轉移所有人的注意力。

參考資料:

https://x.com/SemiAnalysis_/status/1955028150217478177

本文來自微信公眾號「新智元」,作者:新智元,編輯:定慧,36氪經授權發佈。

風險及免責提示:以上內容僅代表作者的個人立場和觀點,不代表華盛的任何立場,華盛亦無法證實上述內容的真實性、準確性和原創性。投資者在做出任何投資決定前,應結合自身情況,考慮投資產品的風險。必要時,請諮詢專業投資顧問的意見。華盛不提供任何投資建議,對此亦不做任何承諾和保證。