這項由OpenAI研究團隊的Samuel Miserendino、Michele Wang、Tejal Patwardhan和Johannes Heidecke共同完成的研究發(fā)表于2025年5月的第42屆國際機器學習會議(ICML)。有興趣深入了解的讀者可以通過arXiv:2502.12115v4訪問完整論文。這項研究創(chuàng)造性地將AI模型的能力評估與真實的經(jīng)濟價值聯(lián)系起來,為我們理解AI在軟件工程領域的實際應用潛力提供了全新的視角。
在日常生活中,我們經(jīng)常聽到AI變得越來越聰明的新聞,但很少有人能準確回答一個關鍵問題:這些AI到底有多聰明?能聰明到什么程度?OpenAI的研究團隊想到了一個絕妙的測試方法——讓AI去做真正的軟件工程工作,而且是那種需要真金白銀付費的工作。他們從Upwork這個全球知名的自由職業(yè)平臺上收集了超過1400個真實的軟件工程任務,這些任務的總價值高達100萬美元。這不是研究人員隨便估算的價格,而是真實雇主為解決實際問題而愿意支付的真金白銀。
研究團隊將這個挑戰(zhàn)命名為SWE-Lancer,這個名字巧妙地結合了"軟件工程"(SWE)和"自由職業(yè)者"(Freelancer)兩個概念。整個項目就像是為AI模型舉辦的一場大型求職面試,但面試官不是人力資源部門,而是市場本身。每個任務都有明確的價格標簽,從50美元的小bug修復到32000美元的復雜功能實現(xiàn),形成了一個自然的難度梯度。這種定價機制反映了真實市場對不同復雜程度工作的價值判斷,比研究人員主觀設定的難度等級更加客觀可信。
傳統(tǒng)的AI編程能力測試往往局限于學術環(huán)境中的人工題目,就像讓學生只做課本上的練習題一樣。但SWE-Lancer完全不同,它要求AI模型面對的是真實世界中的復雜問題。這些問題不是為了測試而設計的,而是真正困擾著軟件公司和開發(fā)者的實際難題。更重要的是,這些任務需要AI模型具備全棧開發(fā)能力,也就是說,它們不能只會寫代碼的某一個片段,而要能夠理解整個軟件系統(tǒng)的架構,處理前端用戶界面、后端服務器邏輯、數(shù)據(jù)庫操作等各個層面的問題。
SWE-Lancer包含兩種不同類型的任務,就像現(xiàn)實軟件團隊中的兩種不同角色。第一種是個人貢獻者任務,要求AI模型像普通程序員一樣直接動手解決技術問題。這些任務的評判標準特別有趣——研究團隊沒有使用傳統(tǒng)的單元測試,而是創(chuàng)建了端到端測試。單元測試就像檢查汽車的某個零件是否正常工作,而端到端測試則是讓整輛汽車上路跑一圈,看看實際駕駛體驗如何。這種測試方法更接近真實用戶的使用場景,能夠發(fā)現(xiàn)那些在實驗室環(huán)境中被忽略的問題。
第二種是管理決策任務,這要求AI模型扮演技術經(jīng)理的角色。在真實的項目中,經(jīng)常會有多個程序員提出不同的解決方案,技術經(jīng)理需要從中選擇最佳方案。這種決策不僅需要深入理解技術細節(jié),還要考慮方案的可維護性、擴展性、成本效益等多個維度。AI模型需要像經(jīng)驗豐富的技術領導者一樣,能夠權衡各種因素做出明智選擇。研究團隊將AI模型的選擇與原始項目中實際技術經(jīng)理的決策進行對比,這種評估方法確保了任務的真實性和可靠性。
為了確保評估結果的準確性,研究團隊投入了大量精力建立嚴格的質量控制體系。他們雇傭了100多名專業(yè)軟件工程師,對每個任務進行三輪驗證。這個過程就像文學作品的多輪校對一樣,第一輪檢查基本的技術正確性,第二輪驗證任務描述的清晰度和完整性,第三輪確保測試用例能夠準確反映真實需求。對于價值超過5000美元的高價值任務,甚至安排了十名資深工程師進行集體評審。這種嚴格的驗證機制確保了每個任務都是高質量、具有代表性的真實工作場景。
在技術實現(xiàn)層面,研究團隊為AI模型提供了一個接近真實工作環(huán)境的測試平臺。每個AI模型都在獨立的Docker容器中運行,這就像為每個求職者提供了一臺配置完整的工作電腦。模型可以瀏覽代碼庫、修改文件、執(zhí)行命令,就像真正的程序員一樣工作。特別值得一提的是,研究團隊還為AI模型提供了一個"用戶工具",這個工具能夠自動打開瀏覽器,模擬用戶操作,讓AI模型能夠看到自己修改的代碼在實際運行時的效果。這種設計讓測試環(huán)境更加接近真實的軟件開發(fā)流程。
現(xiàn)在我們來看看AI模型的實際表現(xiàn)。研究團隊測試了目前最先進的幾個AI模型,包括OpenAI的GPT-4o和o1,以及Anthropic的Claude 3.5 Sonnet。結果既令人印象深刻,又暴露了當前AI技術的局限性。表現(xiàn)最好的Claude 3.5 Sonnet在個人貢獻者任務中的成功率為26.2%,在管理決策任務中達到了44.9%。這意味著在SWE-Lancer Diamond(公開評估集)中,這個模型總共賺取了208,050美元,占總獎金500,800美元的41.5%。
這個結果包含了豐富的信息。從積極的角度看,AI模型確實能夠解決相當比例的真實軟件工程問題,特別是在技術決策方面表現(xiàn)尚可。管理決策任務的成功率接近45%,說明AI模型在理解技術方案、評估優(yōu)缺點方面已經(jīng)具備了一定水平。但是,26.2%的個人貢獻者任務成功率也清晰地表明,AI模型距離能夠獨立承擔復雜軟件開發(fā)工作還有相當距離。
研究團隊還進行了各種深入的分析實驗。他們發(fā)現(xiàn),當允許AI模型進行多次嘗試時,成功率會顯著提升。o1模型在允許6次嘗試的情況下,成功率幾乎翻了三倍。這個發(fā)現(xiàn)很有啟發(fā)性,說明AI模型具備一定的試錯和改進能力,就像人類程序員在調試代碼時會反復嘗試不同方案一樣。研究還發(fā)現(xiàn),增加推理時間(讓AI模型有更多時間"思考")能夠提升性能,特別是對于更復雜、價值更高的任務效果更明顯。
在成本效益分析方面,研究得出了一些有趣的結論。雖然AI模型的整體成功率還不夠高,但如果將AI模型作為初步嘗試工具,失敗的任務再交給人類程序員處理,這種混合策略能夠節(jié)約13-33%的總成本。這個發(fā)現(xiàn)為AI在軟件工程領域的實際應用提供了現(xiàn)實的路徑:不是完全替代人類程序員,而是作為第一道處理環(huán)節(jié),能夠解決一部分相對簡單的問題,剩下的復雜問題再由人類專家處理。
研究團隊對AI模型的工作過程進行了詳細的定性分析,揭示了一些有趣的行為模式。AI模型在定位問題方面表現(xiàn)出色,通常能夠快速找到需要修改的代碼位置,這個速度甚至比人類程序員更快。它們善于使用關鍵詞搜索整個代碼庫,能夠高效地導航復雜的項目結構。然而,AI模型的主要弱點在于對問題根本原因的理解不夠深入。它們往往能夠發(fā)現(xiàn)表面現(xiàn)象,但難以理解問題背后的系統(tǒng)性原因,導致提出的解決方案只能治標不治本。
更強大的AI模型在使用輔助工具方面表現(xiàn)更好。研究發(fā)現(xiàn),Claude 3.5 Sonnet和o1這樣的先進模型能夠有效利用用戶工具來驗證和調試自己的解決方案。它們會耐心等待工具執(zhí)行完成,仔細分析輸出結果,并根據(jù)反饋調整策略。相比之下,較弱的模型往往缺乏這種堅持性,可能在工具還沒運行完成時就放棄了。
從任務類型分析來看,AI模型在不同領域的表現(xiàn)存在顯著差異。在應用邏輯和服務器端邏輯方面,模型表現(xiàn)相對較好,但在用戶界面開發(fā)方面表現(xiàn)較弱。這個模式反映了當前AI模型的特點:它們更擅長處理邏輯性強、規(guī)則明確的問題,但在需要創(chuàng)意設計和用戶體驗考慮的任務上還有很大提升空間。有趣的是,AI模型在處理bug修復方面比實現(xiàn)新功能表現(xiàn)更好,這符合直覺,因為bug修復通常有明確的目標狀態(tài),而新功能開發(fā)需要更多創(chuàng)造性思考。
SWE-Lancer與傳統(tǒng)編程評估基準的一個重要區(qū)別在于評估方法的先進性。傳統(tǒng)基準往往依賴單元測試,這種測試方法容易被"作弊"策略鉆空子。AI模型可能學會針對特定測試用例進行優(yōu)化,而不是真正解決底層問題。SWE-Lancer使用的端到端測試更加全面和真實,它要求整個應用程序能夠正常工作,而不僅僅是某個孤立的功能模塊。這種測試方法大大增加了作弊的難度,確保評估結果更能反映AI模型的真實能力。
研究團隊還特別關注了數(shù)據(jù)污染問題。由于這些任務來自公開的GitHub倉庫,AI模型在訓練過程中可能已經(jīng)見過類似的代碼或問題。為了緩解這個問題,研究團隊保留了一個私有的保留測試集,并分析了任務創(chuàng)建時間與模型訓練截止時間的關系。分析結果顯示,數(shù)據(jù)污染的影響相對有限,這增加了研究結果的可信度。
在開放性和可復現(xiàn)性方面,研究團隊做了大量工作。他們開源了SWE-Lancer Diamond數(shù)據(jù)集,包含價值50萬美元的任務,供其他研究者使用。同時,他們還提供了完整的評估環(huán)境Docker鏡像,確保其他研究團隊能夠在相同條件下復現(xiàn)和擴展這項研究。這種開放態(tài)度對推動整個領域的發(fā)展具有重要意義。
從更廣闊的視角來看,SWE-Lancer代表了AI能力評估方法論的一個重要進展。以往的AI評估往往局限于學術設定的人工任務,很難反映AI在真實世界中的實際價值。通過將AI性能與真實經(jīng)濟價值直接對應,這項研究為我們理解AI的社會經(jīng)濟影響提供了新的量化方法。當我們說某個AI模型"很聰明"時,現(xiàn)在可以用它能在真實市場中賺取多少錢來具體衡量。
研究結果對AI發(fā)展的未來方向也有重要啟示。顯然,當前的AI模型在軟件工程領域還有很大提升空間,特別是在理解復雜系統(tǒng)、處理邊緣情況、進行創(chuàng)造性問題解決等方面。但同時,AI模型已經(jīng)顯示出在某些類型任務上的實用價值,特別是在代碼審查、技術決策支持等方面。
這項研究還揭示了AI模型之間的性能差異。Claude 3.5 Sonnet在整體表現(xiàn)上略優(yōu)于OpenAI的模型,但各個模型都有各自的優(yōu)勢領域。o1模型在給予更多推理時間時表現(xiàn)出顯著改進,這表明"慢思考"策略對復雜問題解決的重要性。GPT-4o雖然在單次嘗試中表現(xiàn)一般,但在多次嘗試的設定下能達到與o1單次嘗試相當?shù)乃健?/p>
對于軟件工程行業(yè)來說,這些發(fā)現(xiàn)既帶來機遇也提出挑戰(zhàn)。一方面,AI工具可能確實能夠提升開發(fā)效率,處理一些常規(guī)性工作,讓人類程序員能夠專注于更有創(chuàng)造性和戰(zhàn)略性的任務。另一方面,這也意味著軟件工程師需要不斷提升自己的能力,特別是在系統(tǒng)架構設計、復雜問題分析、跨團隊協(xié)作等AI還難以勝任的領域。
研究團隊在論文中也坦誠討論了這項工作的局限性。首先,所有任務都來自同一個公司(Expensify)的代碼庫,雖然這確保了數(shù)據(jù)質量的一致性,但可能限制了結果的普遍適用性。不同公司的代碼庫在架構風格、技術棧、復雜程度方面可能存在顯著差異。其次,自由職業(yè)任務通常比全職軟件開發(fā)工作更加自包含,真實的軟件開發(fā)往往需要更多的團隊協(xié)作和長期規(guī)劃。
此外,當前的評估還不支持多模態(tài)輸入。許多真實的軟件問題都包含截圖、視頻演示等視覺信息,這些對理解問題往往很重要。研究團隊將這些信息轉換為文本描述,但這種轉換不可避免地會丟失一些細節(jié)。未來支持視覺輸入的AI模型可能會在這個基準上表現(xiàn)更好。
環(huán)境限制也是一個重要因素。與真實的軟件開發(fā)環(huán)境不同,AI模型無法詢問澄清性問題,不能與團隊成員討論技術方案,也不能訪問外部文檔或搜索引擎。這些限制使得評估更加標準化,但也可能低估了AI模型在更靈活環(huán)境中的潛在表現(xiàn)。
說到底,SWE-Lancer為我們提供了一個前所未有的視角來理解AI在軟件工程領域的真實能力。通過將AI性能與實際經(jīng)濟價值直接對應,這項研究不僅給出了客觀的能力評估,也為討論AI的社會經(jīng)濟影響提供了具體的數(shù)據(jù)基礎。當前最先進的AI模型能夠在價值100萬美元的真實軟件工程任務中賺取約40萬美元,這個結果既顯示了AI的巨大潛力,也清楚表明了它距離完全自主的軟件開發(fā)還有相當距離。
這項研究的意義遠不止于技術評估。它代表了一種新的研究范式,即通過真實世界的經(jīng)濟指標來衡量AI能力,而不是依賴人工設計的學術任務。這種方法論的轉變可能會影響整個AI研究領域,推動更多面向實際應用的評估基準的發(fā)展。對于關心AI發(fā)展軌跡的普通人來說,SWE-Lancer提供了一個直觀的理解框架:我們可以通過AI能夠承擔多少真實工作來判斷它的實際水平。
隨著AI技術的持續(xù)發(fā)展,我們可以期待未來的AI模型在SWE-Lancer上取得更好的表現(xiàn)。但更重要的是,這個基準為我們提供了一個持續(xù)監(jiān)測AI能力發(fā)展的標尺。當某一天AI模型能夠賺取SWE-Lancer中的大部分獎金時,我們就知道AI在軟件工程領域已經(jīng)達到了接近人類專家的水平。在那之前,這項研究為我們規(guī)劃AI發(fā)展路徑、制定相關政策提供了寶貴的實證基礎。
Q&A
Q1:SWE-Lancer是什么?它是如何測試AI編程能力的?
A:SWE-Lancer是OpenAI開發(fā)的一個AI編程能力評估基準,它收集了Upwork平臺上超過1400個真實的軟件工程任務,總價值100萬美元。與傳統(tǒng)的學術測試不同,SWE-Lancer讓AI模型解決真實世界的編程問題,包括bug修復和新功能開發(fā),然后用專業(yè)工程師編寫的端到端測試來評估結果,成功完成任務就能獲得相應的真實報酬。
Q2:目前最先進的AI模型在SWE-Lancer上表現(xiàn)如何?
A:表現(xiàn)最好的Claude 3.5 Sonnet在個人編程任務上成功率為26.2%,在技術管理決策任務上成功率為44.9%,總共賺取了約20.8萬美元(占總獎金的41.5%)。雖然AI模型已經(jīng)能解決相當比例的真實編程問題,但距離能獨立承擔復雜軟件開發(fā)工作還有相當距離。
Q3:SWE-Lancer對軟件工程行業(yè)有什么啟示?
A:研究表明AI可以作為初步處理工具,解決一些相對簡單的編程問題,與人類程序員形成混合工作模式能節(jié)約13-33%的成本。這意味著AI不會完全替代程序員,而是會改變軟件開發(fā)的工作方式,讓人類專注于更復雜的系統(tǒng)設計和創(chuàng)造性問題解決。
好文章,需要你的鼓勵
騰訊ARC實驗室推出AudioStory系統(tǒng),首次實現(xiàn)AI根據(jù)復雜指令創(chuàng)作完整長篇音頻故事。該系統(tǒng)結合大語言模型的敘事推理能力與音頻生成技術,通過交錯式推理生成、解耦橋接機制和漸進式訓練,能夠將復雜指令分解為連續(xù)音頻場景并保持整體連貫性。在AudioStory-10K基準測試中表現(xiàn)優(yōu)異,為AI音頻創(chuàng)作開辟新方向。
Meta與特拉維夫大學聯(lián)合研發(fā)的VideoJAM技術,通過讓AI同時學習外觀和運動信息,顯著解決了當前視頻生成模型中動作不連貫、違反物理定律的核心問題。該技術僅需添加兩個線性層就能大幅提升運動質量,在多項測試中超越包括Sora在內的商業(yè)模型,為AI視頻生成的實用化應用奠定了重要基礎。
上海AI實驗室發(fā)布OmniAlign-V研究,首次系統(tǒng)性解決多模態(tài)大語言模型人性化對話問題。該研究創(chuàng)建了包含20萬高質量樣本的訓練數(shù)據(jù)集和MM-AlignBench評測基準,通過創(chuàng)新的數(shù)據(jù)生成和質量管控方法,讓AI在保持技術能力的同時顯著提升人性化交互水平,為AI價值觀對齊提供了可行技術路徑。
谷歌DeepMind團隊開發(fā)的GraphCast是一個革命性的AI天氣預測模型,能夠在不到一分鐘內完成10天全球天氣預報,準確性超越傳統(tǒng)方法90%的指標。該模型采用圖神經(jīng)網(wǎng)絡技術,通過學習40年歷史數(shù)據(jù)掌握天氣變化規(guī)律,在極端天氣預測方面表現(xiàn)卓越,能耗僅為傳統(tǒng)方法的千分之一,為氣象學領域帶來了效率和精度的雙重突破。