Hugging Face 发布 BigCodeArena:通过代码执行评判代码生成模型
BigCodeArena: Judging code generations end to end with code executions
Hugging Face 推出 BigCodeArena,一个通过真实代码执行进行人类评估的代码生成模型对比平台,支持 10 种语言和 8 种执行环境,无需注册即可使用。
平台用真实执行反馈让用户对比代码模型,五个月社区数据还给出了各模型在不同语言和运行环境下的强弱分布。
评估 AI 生成代码的质量是出了名的困难。虽然人类可以轻松判断一段代码“看起来对不对”,但要确定它是否真的能正确运行、妥善处理边界情况并产生预期结果,则需要运行和测试。正因如此,今天我们非常激动地宣布 BigCodeArena——首个通过执行来评估代码生成模型的人类参与平台。
受面向 LLM 的 LMArena 启发,我们构建了一个平台,让任何人都能并排比较代码生成模型,但有一个关键区别:你可以实际运行代码并查看其输出。只需提交一个编码任务,观看两个不同模型生成解决方案,执行两个程序,然后投票选出哪个模型产生了更好的结果。结果会被整理到一个排行榜中,展示社区评分最高的模型。
动机
代码生成领域长期以来一直在可靠评估方法上苦苦挣扎。像 HumanEval 这样的传统基准测试会用预定义测试用例来测试代码,但这些只代表了现实世界编程任务中极小的一部分。通用聊天机器人已经有人类评估平台,但它们对代码并不适用:阅读原始源代码并在脑中模拟其执行,认知负担很重且容易出错,尤其是对于较长的程序或复杂的 UI 应用而言。
考虑这个场景:
你让两个 AI 模型构建一个响应式照片画廊网站。两者生成的代码在语法上都看起来正确。但哪一个实际上更好?如果不运行代码,几乎无法判断。一个可能会生成漂亮且可用的网格布局,而另一个可能存在细微 bug 或糟糕的样式,只有在浏览器中渲染时才会显现出来。
这一观察让我们得出了一个关键洞见:执行反馈对于人类可靠地判断代码质量至关重要。这正是 BigCodeArena 所提供的。
BigCodeArena 平台
BigCodeArena 扩展了 Chatbot Arena 框架,并加入了专为代码评估设计的一系列强大功能:
实时执行
模型生成的每一段代码都会自动在隔离的沙箱环境中执行。无论是 Python 脚本、React Web 应用、PyGame 游戏,还是 C++ 算法,你都能看到实际输出,而不仅仅是源代码。
多语言与框架支持
我们目前支持 10 种语言(Python、JavaScript、TypeScript、HTML、C、C++、Java、Go、Rust 和 Markdown)以及 8 种执行环境:
- Web 框架:React、Vue、Core Web(原生 HTML/CSS/JS)
- Python 框架:Streamlit、Gradio、PyGame
- 图表:Mermaid
- 通用解释器:Python 和 JavaScript 代码解释器,以及编译型语言运行器
交互式测试
与静态代码比较不同,你实际上可以与生成的应用程序交互:
- 在 Web 应用中点击按钮并测试 UI 元素
- 游玩模型生成的游戏
- 编辑代码并重新运行以测试修改
- 查看可视化输出,如图表、图形和示意图
多轮对话
真正的编程不是一蹴而就的。BigCodeArena 支持多轮交互,让你可以细化需求、要求添加功能或请求修复 bug——就像与真正的编程助手合作一样。
我们的发现:5 个月的社区评估
自 2025 年 2 月上线以来,BigCodeArena 已收集了来自 500 多位独立用户的超过 14,000 段对话,其中包含 4,700 多份高质量偏好投票,对 10 个前沿 LLM 进行了比较。
真实场景中的编程主题
我们的用户探索了极其多样的编程场景:
- 网页设计(36%):构建响应式网站、交互式仪表盘和 Web 应用
- 问题求解(23%):算法、数据结构和计算挑战
- 游戏开发(16%):创建具有物理、碰撞检测和图形的交互式游戏
- 科学计算(14%):数据分析、可视化和数值模拟
- 创意编程(8%):艺术可视化、生成艺术和实验性界面
- 图表创建(3%):流程图、系统架构和数据可视化
语言与框架流行度
Python 以超过 4,000 段对话占据主导地位,其次是 JavaScript/TypeScript(3,359)、HTML(1,601)和 C++(642)。在框架中,直接使用 Python 解释器的使用量最高(6,000 次会话),React(2,729)、Core Web(1,574)、Streamlit(1,254)和 PyGame(1,087)也被大量使用。
用户交互模式
大多数交互都专注而高效:76% 的对话仅包含 2 轮(一次请求、一次响应),平均对话长度为 4.12 条消息。不过,该平台在需要时也支持长时间的多轮调试会话,一些对话超过 10 轮,因为用户会不断细化复杂的应用程序。
来自社区投票的模型排名
从我们的 14K 段对话中,我们筛选出高质量的成对比较:至少包含两轮且实际执行了代码的对话。这产生了 4,731 个投票样本,每个被评估的模型至少获得 700 票。我们使用 Bradley-Terry 模型将这些投票汇总为 Elo 评分,该模型基于两两对比来估计一个模型战胜另一个模型的概率。
为确保排名稳健,我们使用 100 次自助重采样来构建 95% 置信区间,从而能够识别模型之间具有统计显著性的性能差异。
我们在三种设置下评估模型,以控制不同因素:
- 全部数据:使用所有成对比较,无论执行环境或编程语言如何
- 环境匹配:仅当两个模型在同一沙箱中执行时才进行比较(例如,都在 React 中或都在 PyGame 中)
- 语言匹配:进一步将比较限制在同一编程语言内
在三种设置下,排名都保持高度一致,揭示了清晰的性能层级:
顶级梯队:o3-mini 和 o1-mini 始终以最高的 Elo 评分和紧密的置信区间领先。无论环境或语言限制如何,这些模型都保持顶级性能,在编码场景中展现出强大的鲁棒性。Claude-3.5-Sonnet 紧随其后,在语言受控时表现尤为出色。
中游梯队:GPT-4o、o1 和 Gemini-2.0-Pro/Flash 构成了竞争激烈的中游梯队。GPT-4o 对语言匹配表现出一定的敏感性,表明在多语言一致性方面仍有改进空间。
开源模型:Qwen2.5 系列和 Llama-3.3-70B 落后于前沿专有模型,凸显了领先闭源模型与开源模型之间仍然存在的性能差距。
图:各模型在跨语言(左)和跨执行环境(右)会话中的总体胜率热力图(赢得所有两两比较的百分比)。对于每个类别,我们仅保留出现在至少 3 个对话会话中的模型。
跨语言性能
按编程语言细分性能揭示了有趣的模式:
- 像 o3-mini 和 o1-mini 这样的顶级模型在 Python、Java 和 C++ 等主流语言中取得了压倒性的胜率
- Gemini-2.0-Pro 在 Rust 中展现出特别的优势,在该类别中取得了最高胜率
- 不同模型展现出各自独特的专长领域,前沿模型在不同的细分领域中表现出色
- 像 Qwen2.5 系列这样的开源模型表现出不稳定的性能,尤其在 Rust 和 Go 方面表现不佳
跨执行环境性能
按执行环境分析胜率揭示了模型如何处理不同的运行时上下文:
稳健表现者:o3-mini 在 React、Streamlit、Gradio、Core Web 和 PyGame 中始终保持强劲性能,展现出卓越的环境适应性。
稳定但有选择性:Claude-3.5-Sonnet 和 Gemini-2.0-Flash 总体表现稳定,但在 Vue 和 Mermaid 等复杂 UI 密集型环境中胜率有所下降。
框架特定弱点:Qwen2.5 模型虽然在某些 Web 框架(Core Web、React)中具有竞争力,但在 PyGame、Vue 和 Mermaid 等交互式和可视化导向的环境中表现明显吃力。这些环境通常需要精确处理控制流、图形渲染和包依赖。
这些结果凸显了一个重要洞见:总体 Elo 评分并不能说明全部问题。一些模型在特定的运行时约束下仍然脆弱,执行环境对实际部署至关重要。
两个新基准:BigCodeReward 和 AutoCodeArena
为了推动研究超越众包评估,我们发布两个互补的基准:
BigCodeReward:评估代码奖励模型
基于我们 4,700+ 的偏好投票,BigCodeReward 测试 LLM 在充当奖励模型时判断代码质量的能力。关键发现?执行结果显著提高了判断准确性。
当模型能够看到执行输出(Web 应用截图、游戏画面、程序日志)时,它们与人类偏好的一致性会大幅提升:
- Claude-Sonnet-4:56.7% → 62.3% 准确率
- GPT-4o:54.6% → 63.8% 准确率
- Qwen2.5-VL-72B:58.7% → 66.2% 准确率
这印证了我们的核心论点:不运行代码就无法可靠地评判代码——这一点对人类和 AI 评判者都适用。
AutoCodeArena:自动化代码生成基准
受 Arena-Hard-Auto 启发,AutoCodeArena 提供了一种可扩展的方式来评估新模型,无需等待数千次人工投票。我们从众包数据中精心挑选了 600 条具有代表性的提示词,涵盖所有编程主题和框架。
使用自动化 LLM 评判者(Claude-3.7-Sonnet)以 GPT-4.1 为基线评估代码执行结果,我们可以快速对新模型进行基准测试。这种方法使得在新模型发布时能够每周更新排行榜。
我们的自动化基准评估了 20 多个前沿模型,包括近期发布的系统:
表现最佳者:
- GPT-5——以显著优势确立新的最先进水平
- Claude-Opus-4 和 Claude-Sonnet-4——强劲的第二梯队,在重推理任务中表现出色
- Qwen3-Coder、Kimi-K2、GLM-4.5——领先的开源模型,缩小了与中端专有系统的差距
图:近期 LLM 在 AutoCodeArena 上相对于 GPT-4.1 基线的胜率,由 Claude-3.7-Sonnet 评判。50% 标记代表与 GPT-4.1 持平。高于此线的模型优于基线,低于此线的模型则表现较差。误差条显示 95% 置信区间。注意:Claude-3.7-Sonnet 被排除在排名之外以避免自我评判偏差,GPT-4.1 仅作为参考基线出现。
结果表明,虽然专有模型仍保持优势,但开源模型正在迅速缩小差距,其中一些已接近 GPT-4.1 级别的性能。
亲自试试
BigCodeArena 对所有人开放——无需账号!访问 https://huggingface.co/spaces/bigcode/arena 即可:
- 比较来自更新前沿 LLM 的代码(例如 Qwen3、DeepSeek-V3.X 及其他专有模型)
- 测试 Web 应用、游戏、可视化和算法
- 查看真实的执行结果,而不仅仅是源代码
- 投票表达你的偏好,帮助改进排行榜
- 探索多轮编程对话
无论你是在构建 React 仪表盘、制作 PyGame 游戏、解决算法挑战,还是生成创意可视化,BigCodeArena 都能让你看到哪些模型真正能交付成果。
一切开源
秉承 BigCode 项目对透明度的承诺,我们发布:
- 代码库:完整的评估流水线和 Gradio 应用源代码(GitHub)
- 众包数据:14K 条原始对话和 4.7K 次偏好投票(HuggingFace Collection)
- 基准:BigCodeReward 和 AutoCodeArena 数据集
下一步是什么?
我们将 BigCodeArena 设想为一个与社区共同演进的长期项目:
- 扩展语言支持:更多编程语言和框架。
- 实时基准:持续刷新评估提示词以防止过拟合
- 基于智能体的评估:使用 AI 智能体与 Web 应用交互,实现更深入的测试
- 更好的奖励模型:推进自动化代码质量评估
- 社区贡献:我们欢迎新的执行环境、评估标准和模型加入。PR 随时欢迎!
结论
评估代码不同于评估文本——你需要运行它、测试它并与之交互。BigCodeArena 让这一切能够大规模实现,将人类判断与真实执行反馈相结合,为代码生成模型打造最可靠的评估平台。
加入我们,共同构建代码生成评估的未来。编写提示词,比较模型,并为你最喜欢的模型投票。你的反馈能帮助整个社区了解哪些模型真正兑现了 AI 辅助编程的承诺。
我们很乐意听到你的反馈!在 GitHub 上与我们联系,加入 Hugging Face Space 社区标签页中的讨论,或通过 contact@bigcode-project.org 联系 BigCode 项目。
致谢
我们感谢 Leandro von Werra 对这篇博客提出的宝贵建议和反馈。
引用
@article{zhuo2025bigcodearena,
title={BigCodeArena: Unveiling More Reliable Human Preferences in Code Generation via Execution},
author={Terry Yue Zhuo, Xiaolong Jin, Hange Liu, Juyong Jiang, Tianyang Liu, Chen Gong, Bhupesh Bishnoi, Vaisakhi Mishra, Marek Suppa, Noah Ziems, Saiteja Utpala, Ming Xu, Guangyu Song, Kaixin Li, Yuhan Cao, Bo Liu, Zheng Liu, Sabina Abdurakhmanova, Wenhao Yu, Mengzhao Jia, Jihan Yao, Kenneth Hamilton, Kumar Shridhar, Minh Chien Vu, Dingmin Wang, Jiawei Liu, Zijian Wang, Qian Liu, Binyuan Hui, Meg Risdal, Ahsen Khaliq, Atin Sood, Zhenchang Xing, Wasi Uddin Ahmad, John Grundy, David Lo, Banghua Zhu, Xiaoning Du, Torsten Scholak, Leandro von Werra},
year={2025}
}
立即试用 BigCodeArena:Hugging Face Space
阅读论文:Hugging Face
运行代码:GitHub
来源:Hugging Face:Blog · huggingface.co




