Agent全自動搭建代碼運行環(huán)境,實時更新解決評測過擬合/數(shù)據(jù)污染問題|微軟
長期以來主流的代碼修復(fù)評測基準(zhǔn)SWE-bench面臨數(shù)據(jù)過時、覆蓋面窄、手動維護成本高等問題,嚴(yán)重制約了AI模型真實能力的展現(xiàn)。
微軟發(fā)布全新代碼修復(fù)評測基準(zhǔn)SWE-bench-Live,不僅引入了來自GitHub最新的Issue,顯著提升了對模型評估的實時性與準(zhǔn)確性,還實現(xiàn)代碼運行環(huán)境的全自動化構(gòu)建與自動更新,打破了傳統(tǒng)靜態(tài)評測基準(zhǔn)的局限。
△圖1: SWE-bench-Live leaderboard.
全自動化環(huán)境搭建
傳統(tǒng)的代碼修復(fù)評測基準(zhǔn)需要人工構(gòu)建代碼運行環(huán)境,不僅成本高昂,且更新緩慢,難以跟上軟件開發(fā)環(huán)境的快速變化。SWE-bench-Live開創(chuàng)性地采用了基于Agent的智能化框架REPOLAUNCH,徹底解決了這些問題。
REPOLAUNCH可以根據(jù)Github中真實的Issue,自動搭建其Docker環(huán)境并執(zhí)行測試驗證,整個流程完全無人干預(yù),并且每月自動更新,持續(xù)提供最新鮮、最具代表性的評測數(shù)據(jù)。這種自動化的實時更新模式,消除了數(shù)據(jù)泄露與模型過擬合風(fēng)險。
△圖2: 自動化流水線流程圖
REPOLAUNCH詳細(xì)流程
REPOLAUNCH的核心原理是利用智能agent技術(shù)模仿人類開發(fā)者的環(huán)境構(gòu)建過程。具體流程包括:
- 相關(guān)文件自動識別:智能地提取CI/CD配置、README文件等關(guān)鍵信息。
- Docker環(huán)境自動選擇與搭建:自動識別項目依賴的基礎(chǔ)鏡像并快速構(gòu)建容器。
- 智能Agent交互迭代調(diào)試:agent以ReAct模式(Reasoning+Action)進行持續(xù)迭代和環(huán)境調(diào)試,模擬開發(fā)者行為,快速定位并解決環(huán)境問題。
- 環(huán)境固化與驗證:成功搭建的環(huán)境以Docker鏡像形式固化,確保任何人都能輕松復(fù)現(xiàn)和使用。
不僅如此,REPOLAUNCH還具有廣泛的應(yīng)用潛力,能夠支持更多下游任務(wù)。例如:
- 自動化新手環(huán)境配置:幫助缺乏經(jīng)驗的開發(fā)者快速搭建復(fù)雜的開發(fā)環(huán)境。
- 構(gòu)建強化學(xué)習(xí)反饋環(huán)境:為強化學(xué)習(xí)模型提供自動化的代碼交互反饋環(huán)境,加速模型的迭代與優(yōu)化。
- 遺留項目環(huán)境重建:快速恢復(fù)歷史或廢棄代碼項目的環(huán)境,解決依賴版本沖突等問題。
實驗發(fā)現(xiàn)
首次基于SWE-bench-Live的全面評測結(jié)果顯示,當(dāng)前頂尖大模型和代碼Agent的表現(xiàn)大幅下滑。
在完全相同的實驗設(shè)置下,在傳統(tǒng)評測基準(zhǔn)SWE-bench Verified中達到43.2%準(zhǔn)確率的OpenHands + Claude 3.7 Sonnet組合,轉(zhuǎn)到SWE-bench-Live后僅達到了19.25%的準(zhǔn)確率。這一明顯差距揭示了傳統(tǒng)靜態(tài)基準(zhǔn)中潛在的過擬合問題,表明實時、多樣的數(shù)據(jù)環(huán)境對模型能力的客觀評測至關(guān)重要。
△圖3:模型在不同基準(zhǔn)上的表現(xiàn)對比圖
如圖進一步深入的實驗分析顯示,即使在SWE-bench-Live中,LLM在修復(fù)來自非原有SWE-bench倉庫的新Issue時,其成功率也顯著低于修復(fù)原有SWE-bench倉庫的Issue。這一現(xiàn)象說明,現(xiàn)有大模型可能已在傳統(tǒng)靜態(tài)評測中形成了一定的過擬合,對于未見過的新倉庫和新問題表現(xiàn)明顯下降,進一步凸顯了SWE-bench-Live實時、動態(tài)、多樣性評測的重要性。
△圖4:OpenHands+Claude 3.7 Sonnet在SWE-bench-Live不同倉庫來源的性能對比
多領(lǐng)域覆蓋與多樣化挑戰(zhàn)
SWE-bench-Live的首批任務(wù)涵蓋了1319個真實Issue,涉及93個開源項目,領(lǐng)域包括AI/ML、DevOps、Web開發(fā)、數(shù)據(jù)庫、科學(xué)計算等多個方向。這種多樣性與高頻實時更新使SWE-bench-Live的評估更加準(zhǔn)確,更能反應(yīng)模型能力的高低。
△圖5:倉庫分布和任務(wù)統(tǒng)計圖
進一步分析發(fā)現(xiàn),當(dāng)前AI模型在處理簡單、單文件修改任務(wù)時表現(xiàn)良好,但面對復(fù)雜、多文件、多行修改任務(wù)時準(zhǔn)確率急劇下降。尤其是在面對代碼規(guī)模超過50萬行的大型項目時,模型的表現(xiàn)瓶頸尤為明顯。
目前,SWE-bench-Live已在GitHub和HuggingFace平臺全面開放,面向全球開發(fā)者和研究人員免費提供。歡迎社區(qū)成員積極參與,共同推動AI代碼修復(fù)技術(shù)的進步。
本文僅代表媒體視角進行內(nèi)容整理與發(fā)布,不代表微軟官方立場,尤其不代表其對相關(guān)基準(zhǔn)測試結(jié)果的任何態(tài)度或意圖。
官方主頁/Leaderboard:https://swe-bench-live.github.io
GitHub:https://github.com/microsoft/SWE-bench-Live
HuggingFace:https://huggingface.co/SWE-bench-Live