編者按:本文來(lái)自微信公眾號(hào)硅星人Pro(ID:Si-Planet),作者:董道力,創(chuàng)業(yè)邦經(jīng)授權(quán)轉(zhuǎn)載。
GPT5終于發(fā)布了,但相比GPT3.5、sora等,并沒(méi)有給人們帶來(lái)震撼的感覺(jué)。往好了說(shuō),OpenAI放棄了傳奇期貨王的身份,聚焦大模型的落地與應(yīng)用。這其實(shí)也解釋了為何在發(fā)布會(huì)上,OpenAI特別強(qiáng)調(diào)GPT-5 在編程方面的能力:畢竟今年沒(méi)有比AI Coding更落地的AI方向了。一眾AI IDE工具也第一時(shí)間接入了GPT5,這放在以前沒(méi)2個(gè)月誰(shuí)能用到。
然而,有媒體披露OpenAI在編程能力測(cè)試中“作弊”。具體來(lái)說(shuō),在SWE?Bench Verified這項(xiàng)編程測(cè)試?yán)铮琌penAI并不是真的跑了全部500道題,只測(cè)試了477個(gè)。而claude、谷歌等模型在測(cè)試模型編程能力時(shí),是跑滿500到題目的。
此外,更吊詭的是,SWE?Bench Verified是OpenAI推出來(lái)的一個(gè)“精煉版”。因?yàn)樵镜?SWE?Bench有2294個(gè)軟件工程問(wèn)題,OpenAI覺(jué)得這些題目中有些太難、太不穩(wěn)定,無(wú)法公平評(píng)估模型的編程能力,于是OpenAI自己選了500道題,讓評(píng)測(cè)更靠譜 。結(jié)果更離譜的是這個(gè)“自己選的子集”,又被砍掉一部分,剩下477道題跑評(píng)測(cè)。
OpenAI官網(wǎng)發(fā)表了一個(gè)博文解釋并介紹為什么要推出SWE?Bench Verified:https://openai.com/index/introducing-swe-bench-verified/
有網(wǎng)友吐槽:OpenAI這是在怕什么?
為了搞清楚SWE?Bench Verified是什么,測(cè)試了哪些能力,我們特地從OpenAI官網(wǎng)下載了題目、注釋和評(píng)分標(biāo)準(zhǔn),實(shí)際演練一番。
我們?cè)贠penAI官網(wǎng)提供的渠道下載了SWE?Bench Verified的題目、注釋和評(píng)分標(biāo)準(zhǔn)。
SWE?Bench Verified是一套面向真實(shí)世界軟件工程問(wèn)題的高質(zhì)量評(píng)測(cè)數(shù)據(jù),旨在衡量代碼修復(fù)與理解能力。該數(shù)據(jù)集包含500個(gè)經(jīng)過(guò)驗(yàn)證的測(cè)試樣本,每個(gè)樣本均附帶代碼倉(cāng)庫(kù)信息、問(wèn)題描述、修復(fù)補(bǔ)丁、測(cè)試補(bǔ)丁以及難度標(biāo)簽等關(guān)鍵信息。
題目難度上主要依據(jù)“完成時(shí)間”進(jìn)行區(qū)分,比如15分鐘內(nèi)完成的就比較簡(jiǎn)單,難點(diǎn)點(diǎn)任務(wù)可能會(huì)用時(shí)超過(guò)4小時(shí)。目前SWE?Bench Verified中有38.8%的任務(wù)可在15分鐘內(nèi)完成,52.2%需要15分鐘至1小時(shí),8.4%的任務(wù)耗時(shí)在1至4小時(shí)之間,僅有0.6%的任務(wù)超過(guò)4小時(shí)。
測(cè)試中的樣本來(lái)源覆蓋多個(gè)知名開源項(xiàng)目,包含django/django、sympy/sympy、sphinx-doc/sphinx、pandas/pandas、scikit-learn/scikit-learn、matplotlib/matplotlib、pytorch/pytorch、numpy/numpy、requests/requests等。
每個(gè)項(xiàng)目會(huì)測(cè)試大模型各個(gè)方面的代碼能力。比如django/django:作為占比最高的項(xiàng)目,主要測(cè)試開發(fā)者對(duì)大型Web框架的理解能力,特別是在數(shù)據(jù)庫(kù)查詢優(yōu)化、URL路由、中間件處理等方面。pandas/pandas:數(shù)據(jù)分析領(lǐng)域的代表,測(cè)試對(duì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理算法的掌握程度,特別是在處理大規(guī)模數(shù)據(jù)和復(fù)雜數(shù)據(jù)轉(zhuǎn)換方面。
我們讓GPT5挑選了10個(gè)有代表性的項(xiàng)目,內(nèi)容涉及大模型的多種能力。
1. Django/Django - Web框架之王
GitHub: https://github.com/django/django
問(wèn)題: 優(yōu)化 .delete() 方法,僅使用必需字段
測(cè)試重點(diǎn): 數(shù)據(jù)庫(kù)查詢優(yōu)化與性能測(cè)試
意義: Django是最流行的Python Web框架,這個(gè)問(wèn)題涉及ORM性能優(yōu)化,測(cè)試數(shù)據(jù)庫(kù)操作效率
2. SymPy/SymPy - 符號(hào)數(shù)學(xué)計(jì)算
GitHub: https://github.com/sympy/sympy
問(wèn)題: 距離計(jì)算錯(cuò)誤(3D坐標(biāo)被忽略)
測(cè)試重點(diǎn): 數(shù)值計(jì)算精度與邊界條件測(cè)試
意義: SymPy是Python符號(hào)數(shù)學(xué)庫(kù),測(cè)試數(shù)學(xué)計(jì)算的準(zhǔn)確性和邊界情況處理
3. Sphinx-doc/Sphinx - 文檔生成工具
GitHub: https://github.com/sphinx-doc/sphinx
問(wèn)題: 繼承圖表SVG格式下的404鏈接問(wèn)題
測(cè)試重點(diǎn): 文檔生成與鏈接完整性測(cè)試
意義: Sphinx是Python文檔生成標(biāo)準(zhǔn)工具,測(cè)試文檔渲染和鏈接的正確性
4. Matplotlib/Matplotlib - 數(shù)據(jù)可視化
GitHub: https://github.com/matplotlib/matplotlib
問(wèn)題: 對(duì)數(shù)坐標(biāo)軸反轉(zhuǎn)功能失效
測(cè)試重點(diǎn): 圖形渲染與坐標(biāo)系統(tǒng)測(cè)試
意義: Matplotlib是Python繪圖庫(kù)標(biāo)桿,測(cè)試復(fù)雜圖形系統(tǒng)的坐標(biāo)變換
5. Scikit-learn/Scikit-learn - 機(jī)器學(xué)習(xí)
GitHub: https://github.com/scikit-learn/scikit-learn
問(wèn)題: RidgeClassifierCV的store_cv_values參數(shù)問(wèn)題
測(cè)試重點(diǎn): 機(jī)器學(xué)習(xí)參數(shù)驗(yàn)證測(cè)試
意義: Scikit-learn是最重要的ML庫(kù),測(cè)試算法參數(shù)處理和交叉驗(yàn)證
6. Astropy/Astropy - 天體物理學(xué)
GitHub: https://github.com/astropy/astropy
問(wèn)題: 嵌套復(fù)合模型的可分離性矩陣計(jì)算錯(cuò)誤
測(cè)試重點(diǎn): 復(fù)雜模型組合與數(shù)學(xué)計(jì)算測(cè)試
意義: Astropy專門用于天文學(xué)計(jì)算,測(cè)試復(fù)雜數(shù)學(xué)模型的組合邏輯
7. Pydata/Xarray - 多維數(shù)據(jù)分析
GitHub: https://github.com/pydata/xarray
問(wèn)題: Variable.__setitem__對(duì)帶values屬性對(duì)象的類型強(qiáng)制轉(zhuǎn)換
測(cè)試重點(diǎn): 多維數(shù)據(jù)類型處理測(cè)試
意義: Xarray處理多維標(biāo)記數(shù)組,測(cè)試數(shù)據(jù)類型轉(zhuǎn)換和屬性訪問(wèn)
8. Pytest-dev/Pytest - 測(cè)試框架
GitHub: https://github.com/pytest-dev/pytest
問(wèn)題: 收集補(bǔ)丁數(shù)組的測(cè)試時(shí)出現(xiàn)ValueError
測(cè)試重點(diǎn): 測(cè)試框架自身功能測(cè)試
意義: Pytest是Python標(biāo)準(zhǔn)測(cè)試框架,測(cè)試測(cè)試工具本身的穩(wěn)定性
9. Pylint-dev/Pylint - 代碼質(zhì)量檢查
GitHub: https://github.com/pylint-dev/pylint
問(wèn)題: verbose選項(xiàng)的短參數(shù)需要參數(shù)值
測(cè)試重點(diǎn): 命令行工具接口測(cè)試
意義: Pylint是代碼質(zhì)量檢查工具,測(cè)試命令行參數(shù)解析和用戶界面
10. PSF/Requests - HTTP庫(kù)
GitHub: https://github.com/psf/requests
問(wèn)題: 二進(jìn)制負(fù)載請(qǐng)求因調(diào)用to_native_string失敗
測(cè)試重點(diǎn): HTTP協(xié)議與二進(jìn)制數(shù)據(jù)測(cè)試
意義: Requests是最流行的HTTP庫(kù),測(cè)試網(wǎng)絡(luò)通信和數(shù)據(jù)編碼處理
至于OpenAI為什么要?jiǎng)h除23道測(cè)試題而不是用完整版,答案也許就在下面的排名中。在SWE?Bench Verified完整版,也就是500道題目的基準(zhǔn)下,GPT5并沒(méi)有超越claude 4 Opus。
然而,反轉(zhuǎn)又來(lái)了,上述測(cè)試是基于bash only,也就是完全依賴大模型本身的能力?,F(xiàn)實(shí)情況下,用戶通常會(huì)使用AI IDE來(lái)配合大模型使用,像cursor、codebuddy、trae等。問(wèn)題也就隨之而來(lái),AI IDE提供的模型中,“最好”的claude 4 opus很貴,tokens很容易用完,換句話說(shuō),目前GPT5可能是最具性價(jià)比、可用性最強(qiáng)的編程模型?
實(shí)測(cè)環(huán)節(jié)
當(dāng)然,評(píng)分只能代表模型性能,我們還得具體上手試試。
我們?cè)贑odebuddy的環(huán)境下,用GPT5做了一個(gè)SWE?Bench Verified數(shù)據(jù)庫(kù)查詢器(已經(jīng)提供OpenAI官網(wǎng)下載的注釋、評(píng)分標(biāo)準(zhǔn),以及基于huggingface的數(shù)據(jù)庫(kù))。
prompts:制作一款SWE?Bench Verified數(shù)據(jù)庫(kù)查詢器,功能是可以輕松查詢SWE?Bench Verified有哪些問(wèn)題,以及問(wèn)題的鏈接,以及評(píng)分標(biāo)準(zhǔn)。
GPT5生成過(guò)程比較順利,沒(méi)有出現(xiàn)不可逆的bug。第一版本只顯示了11個(gè)項(xiàng)目,一輪交流后也補(bǔ)全了500個(gè)。
GPT5制作的版本預(yù)覽:http://4d916460ea034a90bd4e0c1dd25efc6b.ap-singapore.myide.io
隨后,用相同的prompts用claude-4-sonnet進(jìn)行生成,非常明顯的感受是,claude-4-sonnet的一次成功率不如GPT5,比如常見的網(wǎng)頁(yè)不顯示問(wèn)題,與claude進(jìn)行了多輪交互才得以解決。
claude-4-sonnet制作的版本預(yù)覽:http://7561fbea40ff4069a3c2c8ae367cd7ea.ap-singapore.myide.io
在UI層面,由于兩者都采用了MUI框架,視覺(jué)風(fēng)格上差異不大。但在細(xì)節(jié)打磨上,claude-4-sonnet生成的網(wǎng)頁(yè)明顯更勝一籌——響應(yīng)式布局更加出色,在不同屏幕尺寸下都能保持優(yōu)雅呈現(xiàn)。外鏈信息的組織也更合理,例如項(xiàng)目的issue與詳情分布清晰,而GPT5生成的頁(yè)面不僅“暴露”了數(shù)據(jù)庫(kù)來(lái)源(HuggingFace),內(nèi)容排列邏輯也略顯混亂。
功能方面,GPT5在篩選功能上表現(xiàn)突出,倉(cāng)庫(kù)標(biāo)簽數(shù)量完整(10個(gè)),優(yōu)于Claude-4-sonnet的8個(gè)。但從交互體驗(yàn)來(lái)看,claude-4-sonnet的篩選操作更加直觀易用,并針對(duì)移動(dòng)端提供了專用的篩選入口,減少了操作步驟。
為了更客觀,我們還引入Gemini 2.5 Pro對(duì)兩個(gè)項(xiàng)目進(jìn)行評(píng)分。結(jié)果顯示claude-4-sonnet生成的項(xiàng)目在幾乎所有關(guān)鍵維度上都優(yōu)于GPT5。前者以模塊化架構(gòu)為核心,將組件按功能分區(qū),并通過(guò)自定義Hooks實(shí)現(xiàn)數(shù)據(jù)與視圖的分離,可維護(hù)性和可讀性更佳;后者則采用扁平化組件結(jié)構(gòu),數(shù)據(jù)邏輯與UI高度耦合,更像一個(gè)原型驗(yàn)證型應(yīng)用。
在整體功能體驗(yàn)上,claude-4-sonnet不僅集成了搜索、視圖切換、響應(yīng)式布局等能力,還通過(guò)側(cè)邊欄詳情、移動(dòng)端專用篩選等現(xiàn)代交互模式縮短了操作路徑,而GPT5則依賴傳統(tǒng)的頁(yè)面跳轉(zhuǎn)方式,操作鏈路更長(zhǎng)??傮w來(lái)看,claude-4-sonnet在代碼質(zhì)量、功能深度和用戶體驗(yàn)上都體現(xiàn)出更成熟的軟件工程思路和更廣的應(yīng)用場(chǎng)景覆蓋,而GPT5的優(yōu)勢(shì)主要集中在特定功能的完整性和實(shí)現(xiàn)速度上。
看完Gemini的評(píng)價(jià),好像能理解為什么OpenAI要少做23道題目了。
回到測(cè)試,事實(shí)上會(huì)影響大模型能力的變量太多——數(shù)據(jù)集構(gòu)成、推理策略、上下文管理、工具調(diào)用能力,甚至IDE本身的特性,都會(huì)讓結(jié)果發(fā)生明顯波動(dòng)。也許換個(gè)任務(wù),GPT5表現(xiàn)會(huì)更好,也許換個(gè)IDE,同一模型就會(huì)跑出不一樣的分?jǐn)?shù)。但畢竟,這是GPT5。曾經(jīng)有人調(diào)侃,本輪大模型的估值與泡沫,全靠OpenAI一肩扛著,如今這個(gè)重?fù)?dān)似乎可以稍稍卸下。
在AI Coding領(lǐng)域,排行榜從來(lái)只是一個(gè)切片,真正決定生產(chǎn)力的,是模型在真實(shí)開發(fā)環(huán)境中的穩(wěn)定性、可維護(hù)性、與工具鏈的適配程度,以及產(chǎn)品能否在復(fù)雜的應(yīng)用場(chǎng)景里,依然交出可用且可靠的代碼。
本文為專欄作者授權(quán)創(chuàng)業(yè)邦發(fā)表,版權(quán)歸原作者所有。文章系作者個(gè)人觀點(diǎn),不代表創(chuàng)業(yè)邦立場(chǎng),轉(zhuǎn)載請(qǐng)聯(lián)系原作者。如有任何疑問(wèn),請(qǐng)聯(lián)系editor@cyzone.cn。