BigCodeArena:端到端評估程式碼生成與執行

Hugging Face 推出了 BigCodeArena,這是首個結合即時程式碼執行的人機互動程式碼生成模型評估平台。此平台透過讓使用者執行、測試與互動生成的程式碼,以判斷其是否真的可運作,克服了傳統基準測試僅依賴靜態程式碼分析的限制。

BigCodeArena 評估平台

BigCodeArena 在 Chatbot Arena 框架上擴充,提供隔離的沙箱環境,自動執行生成的程式碼。這讓使用者不僅能閱讀原始碼,還能觀察實際的程式行為。

即時執行與互動

使用者可以提交程式任務,並將兩個模型並排比較。平台支援互動測試,讓使用者能在網頁應用中點擊按鈕、玩生成的遊戲,並編輯程式碼以測試修改。平台亦支援多輪對話,使用者可在多次互動中細化需求或請求除錯。

語言與框架支援

目前平台支援 10 種程式語言與 8 種執行環境:

  • Languages:Python、JavaScript、TypeScript、HTML、C、C++、Java、Go、Rust 與 Markdown。
  • Web Frameworks:React、Vue 與 Core Web(原生 HTML/CSS/JS)。
  • Python Frameworks:Streamlit、Gradio 與 PyGame。
  • Other:Mermaid 用於圖表,以及針對編譯語言的通用直譯器/執行器。

社群評估洞見

自 2025 年 2 月起,BigCodeArena 已收集超過 14,000 筆對話,來自 500 多位使用者,產生 4,700 多筆高品質偏好投票。

真實環境中的程式趨勢

使用者活動顯示最常測試的程式情境如下:

  • Web Design (36%):響應式網站與互動式儀表板。
  • Problem Solving (23%):演算法與資料結構。
  • Game Development (16%):具備物理與圖形的互動遊戲。
  • Scientific Computing (14%):資料分析與數值模擬。
  • Creative Coding (8%)Diagram Creation (3%)

Python 是最主導的語言(超過 4,000 筆對話),其次是 JavaScript/TypeScript(3,359)與 HTML(1,601)。

模型表現與 Elo 排名

使用 Bradley‑Terry 模型將成對比較彙總為 Elo 評分,社群辨識出明顯的表現層級:

  • Top Tiero3-minio1-mini 持續領先,擁有最高的 Elo 評分,且在所有環境與語言中具備強韌性。Claude-3.5-Sonnet 緊隨其後。
  • Mid TierGPT-4oo1Gemini-2.0-Pro/Flash 組成具競爭力的中階群體。
  • Open Source ModelsQwen2.5 系列與 Llama-3.3-70B 目前落後於最前沿的專有模型。

亦觀察到特定強項:Gemini-2.0-Pro 在 Rust 上表現尤為突出,而 o3-mini 在多樣框架(如 React、Streamlit、PyGame)中展現最一致的效能。

新基準:BigCodeReward 與 AutoCodeArena

為補足眾包資料,Hugging Face 發布了兩項新基準,以提升程式碼品質的評估方式。

BigCodeReward

BigCodeReward 評估大型語言模型作為程式碼獎勵模型的能力。資料顯示,提供模型執行結果(如螢幕截圖或日誌)可顯著提升其與人類偏好的對齊度。例如,當提供執行輸出時,GPT-4o 的準確率從 54.6% 提升至 63.8%。

AutoCodeArena

AutoCodeArena 是一個包含 600 個具代表性提示的自動化基準。它使用自動化 LLM 評審(Claude-3.7-Sonnet)對執行結果相較於 GPT-4.1 基線進行評估。初步結果顯示:

  • GPT-5 以顯著差距創下新紀錄。
  • Claude-Opus-4Claude-Sonnet-4 組成強勁的第二層。
  • Qwen3-CoderKimi-K2GLM-4.5 為領先的開源模型,縮小與中階專有系統的差距。

開源貢獻

為配合 BigCode 計畫的透明化目標,以下資源已公開:

  • Codebase:完整的評估流程與 Gradio 應用程式原始碼已於 GitHub 上提供。
  • Crowdsourced Data:14,000 筆原始對話與 4,700 筆偏好投票可透過 Hugging Face Collection 取得。
  • Datasets:BigCodeReward 與 AutoCodeArena 資料集已釋出供研究使用。

Sources