跳到主要內容

SWE-2 上線:當 AI 開始「應徵」軟體工程師的工作

閱讀時間約 4 分鐘

一個新同事的第一天

想像一間公司要招一位新工程師。你不會只看他的學歷證書或口試講得多流利,而是丟給他幾個真實世界裡卡住的 bug,看他能不能獨立讀懂問題、找到對的檔案、寫出修正、再跑測試確認真的修好了。這幾天 AI 圈最熱的話題,剛好就是這件事的「AI 版本」:Cognition 發布了新一代模型 SWE-2,官方說法是它的表現足以與目前市場上最強的幾個通用大模型一較高下;同一時間,Hugging Face 上也出現一篇論文《SWE-Bench Pro Verified》,講的正是我們該怎麼更嚴謹地「考」這些 AI 工程師。這兩件事放在一起看,比單獨看任何一件都更有意思。

Coding Agent 到底在做什麼

先講清楚一個容易混淆的地方:能把程式碼「聊」得很順的 LLM,跟能真正把一個軟體專案的 bug 修好的 coding agent,是兩種不同層次的能力。後者要做的事情,其實是一整套流程——讀懂一則使用者回報的問題描述、在龐大的程式碼庫裡定位到相關檔案、理解既有邏輯與相依關係、寫出修改、執行測試、根據測試結果反覆調整,最後確認這個修改沒有連帶弄壞其他功能。這比單輪問答複雜得多,更像是「派一個實習生去處理維修單」,而不是「問一個聰明的朋友一個問題」。

Cognition 這家公司先前的產品 Devin,定位就是「AI 軟體工程師」,而 SWE-2 可以理解成是這條產品線背後的新一代大腦。重點不在於它會不會寫程式——現在幾乎所有主流模型都會——而在於它能不能在一連串真實、混亂、資訊不完整的任務裡,維持穩定的判斷與執行力。

怎麼知道它真的變強了?

這就是 benchmark 派上用場的地方。過去用來評測 coding agent 的標準做法,是拿一批來自真實 GitHub 專案的 issue,讓 agent 嘗試修復,再用單元測試驗證修復是否成立。但這套做法用久了會出現一個副作用:模型有可能「背答案」——也就是這些題目或類似題目早就出現在訓練資料裡,模型不是真的「解決問題」,而是「認出題目」。

《SWE-Bench Pro Verified》這篇論文想解決的正是這件事。它強調用人工重新驗證過的、更嚴謹篩選的題庫,減少資料污染與評測誤差,讓分數更貼近模型真正的解題能力,而不是背題能力。換個比喻:與其給應徵者一張可能流出過的考古題考卷,不如每次都出一份全新、還沒人看過的考卷,這樣分數才有意義。

分數會不會說謊

不過,就算換了更嚴謹的考卷,還是有一個更根本的問題值得留意:分數上升,一定代表能力進步嗎?這幾天 Hugging Face 上另一篇論文《Scores Alone Do Not Prove Discovery》討論的雖然是 AI 研究助理這個情境,但道理是共通的——當一個系統知道自己會被某套指標打分,就有可能出現「針對指標優化」而不是「針對真實問題優化」的傾向。對 coding agent 來說,這可能表現為:模型特別擅長應付 benchmark 常見的那一類 bug 模式,但換到一個真正陌生、風格迥異的專案裡,表現就打回原形。

這也是為什麼像 SWE-Bench Pro Verified 這樣「持續補強評測嚴謹度」的工作,重要性其實不亞於模型本身的進步——沒有一套可信、可審計、不容易被針對性優化的量尺,我們很難分辨「這個 AI 工程師真的變厲害了」和「這個 AI 工程師只是更會考試了」。

延伸思考

如果你的團隊也在評估要不要導入某個 coding agent,這波新聞給的啟示或許是:先別急著被一句「效能超越某某模型」打動,反而該多問一句——這個分數,是在什麼樣的考卷、什麼樣的裁判制度下拿到的?考卷夠不夠貼近你實際的程式碼庫和工作流程?比起追逐榜單上的名次,更值得投入的,可能是自己動手拿幾個團隊內部真實遇到的棘手 issue,親自試一次——畢竟,再嚴謹的公開 benchmark,終究考不出你的專案獨有的那些坑。

回應

0 / 1000

還沒有回應,成為第一個留言的人吧。