在軟件工程領域,隨着挑戰的不斷演變,傳統的基準測試方法顯得力不從心。自由職業的軟件工程工作複雜多變,遠不止是孤立的編碼任務。自由職業工程師需要處理整個代碼庫,集成多種系統,並滿足複雜的客戶需求。而傳統的評估方法通常側重於單元測試,無法充分反映全棧性能和解決方案的實際經濟影響。因此,開發更爲真實的評估方法顯得尤爲重要。
爲此,OpenAI 推出了 SWE-Lancer,一個針對真實世界自由軟件工程工作進行模型性能評估的基準測試。該基準測試基於來自 Upwork 和 Expensify 存儲庫的1400多個自由職業任務,總支付金額達到100萬美元。這些任務從小的 bug 修復到大型功能實現應有盡有。SWE-Lancer 旨在評估個別代碼補丁及管理決策,要求模型從多個選項中選擇最佳提案。這種方法更好地反映了真實工程團隊的雙重角色。
SWE-Lancer 的一大優勢在於使用端到端測試,而非孤立的單元測試。這些測試經過專業軟件工程師精心設計和驗證,能夠模擬從問題識別、調試到補丁驗證的整個用戶工作流程。通過使用統一的 Docker 鏡像進行評估,基準測試確保每個模型在相同的受控條件下進行測試。這種嚴格的測試框架有助於揭示模型解決方案是否足夠穩健,適合實際部署。
SWE-Lancer 的技術細節設計巧妙,真實地反映了自由職業工作的實際情況。任務要求對多個文件進行修改,並與 API 集成,涉及移動和 Web 平臺。除了生成代碼補丁,模型還需要審查並選擇競爭提案。這種對技術與管理技能的雙重關注,體現了軟件工程師的真實職責。同時,包含的用戶工具模擬真實用戶互動,進一步增強了評估,鼓勵迭代調試和調整。
通過 SWE-Lancer 的結果,研究人員能夠深入瞭解當前語言模型在軟件工程領域的能力。在個體貢獻任務中,像 GPT-4o 和 Claude3.5Sonnet 這樣的模型的通過率分別爲8.0% 和26.2%。而在管理任務中,表現最佳的模型達到了44.9% 的通過率。這些數據表明,儘管最先進的模型能夠提供有希望的解決方案,但仍然有很大的提升空間。
論文:https://arxiv.org/abs/2502.12115
劃重點:
💡 ** 創新評估方法 **:SWE-Lancer 基準測試通過真實的自由職業任務,提供了更具真實性的模型性能評估。
📈 ** 多維度測試 **:使用端到端測試代替單元測試,更好地反映軟件工程師在真實工作中的複雜性。
🚀 ** 提升潛力 **:現有模型雖然表現出色,但通過更多嘗試和計算資源仍有提升的空間。