AI News HubLIVE
站內改寫3 分鐘閱讀

ScarfBench:面向企業Java框架遷移的AI智能體基準測試

IBM Research推出ScarfBench,這是一個用於評估AI智能體在企業Java中跨框架遷移任務的開源基準。該基準包含34個應用程序、102個框架實現和204個遷移任務。目前頂尖智能體的行為成功率低於10%,突顯了在遷移過程中保持行為的難度。

企業應用現代化是組織面臨的最大、最昂貴的軟件工程活動之一。團隊通過跨框架遷移應用來提高可維護性、雲就緒性、開發人員生產力以及對現代功能的訪問。近年來,編碼智能體的進步激發了人們對AI輔助現代化的興趣,但一個重要問題依然存在:AI智能體能否可靠地現代化真實世界的企業應用?

現有的軟件工程基準在錯誤修復和代碼生成方面取得了令人矚目的進展,但框架遷移提出了根本不同的挑戰。成功不僅需要翻譯代碼,還需要保持行為、調整構建系統以及處理運行時依賴。為了填補這一空白,IBM Research推出了ScarfBench(自包含應用重構基準),這是一個用於評估AI智能體在企業Java中跨框架遷移任務的開源基準。

ScarfBench專注於三大Java生態系統的遷移:Spring、Jakarta EE和Quarkus。與傳統基準不同,ScarfBench不將生成的代碼與參考實現進行比較,而是評估遷移後的應用是否真正構建、部署並保持行為。

框架遷移遠不止替換註解那麼簡單。簡單的倉庫遷移可能需要更改依賴注入、持久化配置、查詢和框架描述符。這些部分的任何小錯誤都可能導致部署失敗。ScarfBench提供了系統性的評估方法。應用必須成功構建、正確部署並通過行為驗證,這提供了更現實的現代化質量衡量標準。

基準概覽:34個應用,102個框架實現,204個遷移任務,約15.1萬行代碼,約2000個源文件和測試文件,1331個專家編寫的測試。ScarfBench包括聚焦的遷移任務和全應用遷移。

我們評估了多個最先進的編碼智能體。儘管在傳統軟件工程基準上表現強勁,但框架遷移仍然困難。成功率在不同框架對之間差異很大,全應用遷移尤其具有挑戰性。即使最強的當前智能體,行為成功率也低於10%,這説明了生成可編譯代碼與保持應用行為之間的差距。編譯成功始終高於部署成功,而部署成功又高於行為成功。僅憑構建成功會大大高估遷移質量。遷移難度很大程度上取決於目標框架,Jakarta EE尤其具有挑戰性。

除了測量成功率,ScarfBench還幫助我們理解智能體在現代化過程中的行為。我們發現智能體過度自信:Claude Code報告了30個全應用中有29個構建成功,但實際上只有22個成功。而智能體分類為失敗的一個應用最終構建正確。這表明智能體的自我評估不應被視為遷移完成的可靠信號。獨立的構建和測試驗證仍然必不可少。

框架遷移很少影響單個文件或層。配置、服務、數據庫和Web組件的更改通常會級聯到整個應用中。我們發現遷移是迭代的而非線性的。最常訪問的層是配置、Web、數據庫和服務。常見的轉換包括配置↔Web和服務↔數據庫。這表明遷移是一個迭代的依賴解析過程,而不是簡單的源到源轉換。

我們使用層重訪頻率作為遷移工作量的代理。需要重複訪問的層通常涉及調試、依賴解析或框架適配。配置佔據了遷移的主要工作量。智能體在解析框架差異和依賴問題時反覆回到與配置相關的工件。

並非每個遷移問題都源於源代碼。環境和工具問題同樣重要。智能體經常遇到Docker緩存不一致、端口連接問題、Maven包裝器和構建工具問題等環境問題。這些操作性問題常常延遲驗證,即使源代碼遷移本身基本完成。現代化失敗涵蓋構建系統、部署環境、依賴注入、數據庫、端點、斷言和基礎設施等多個方面。

關鍵結論:框架現代化最大的挑戰不是翻譯Java代碼,而是管理配置、基礎設施和運行時環境之間的依賴網絡。雖然前沿智能體可以自動化大部分遷移過程,但可靠的驗證和架構推理對於實現成功結果仍然至關重要。ScarfBench有助於揭示這些挑戰,並提供標準化方法來衡量實現真正自主應用現代化的進展。

ScarfBench作為開源資源提供給研究人員和實踐者。資源包括基準數據集、評估基礎設施、公開排行榜、文檔和開源代碼。研究人員可以比較智能體架構和技術。實踐者可以在生產環境中部署現代化解決方案之前,使用ScarfBench進行評估。

網站:https://scarfbench.info 數據集:https://huggingface.co/datasets/ibm-research/ScarfBench 空間:https://huggingface.co/spaces/ibm-research/ScarfBench GitHub倉庫:https://github.com/scarfbench/scarfbench 排行榜:https://scarfbench.info/leaderboard 論文:https://arxiv.org/abs/2605.06754

框架遷移仍然是AI輔助軟件工程中最大的未解決問題之一。我們希望ScarfBench能幫助社區衡量進展,並加速下一代AI輔助應用現代化。我們邀請研究人員、實踐者和框架社區評估他們的智能體,貢獻新的遷移場景,並推動技術發展。