返回评测
代码生成 代码-工程交付 未饱和 模态 · 代码 任务 · 执行验证

ProgramBench 1.0

Meta FAIR 出品的软件架构级评测,200 个从可执行文件重建源码的任务,所有模型完整解决率 0%

Meta FAIR / Stanford / Harvard ·

考察能力

软件架构 系统设计 从零构建 行为等价 模块化

构建信息

数据规模
200 tasks (compact CLI → FFmpeg/SQLite/PHP)
构建方式
从开源项目编译后剥离源码,仅保留可执行文件和文档
评测方式
Agent-driven fuzzing 生成行为测试,检查行为等价
核心指标
% Fully Resolved / % Almost Resolved (95% tests passed)

模型效果排行

🥇 Claude Opus 4.7
3.0% (Almost) 2026-05
🥈 Claude Opus 4.6
2.5% (Almost) 2026-05
🥉 GPT-5.4
2.0% (Almost) 2026-05
4. Gemini 3.1 Pro
1.5% (Almost) 2026-05
5. GPT-5.4 mini
1.0% (Almost) 2026-05

为什么重要

ProgramBench 是第一个从系统级评估 AI 编码能力的基准。现有代码基准(SWE-bench、HumanEval 等)测试的是局部能力——修 bug、补功能、写函数,而 ProgramBench 直接追问:AI 能不能像真正的工程师一样,从零开始构建一个完整的软件系统?

结果令人震惊:9 个顶级模型、200 个真实项目、完整解决率 0%。即便放宽到”接近完成”(95% 行为测试通过),最强模型 Claude Opus 4.7 也仅有 3%。这暴露了当前 AI Coding 最核心的短板:擅长局部代码生成,但不擅长全局系统规划。

构建方式

  1. 从开源 GitHub 仓库中选取用编译语言(C/C++、Go、Rust、Java)编写的项目
  2. 编译项目,然后剥离所有源码和测试,仅保留可执行文件和文档
  3. 用 agent-driven fuzzing 自动生成 248,000+ 行为测试,覆盖各种输入输出
  4. 评测时不看源码相似度,只看行为等价——模型可以用完全不同的语言、算法、架构来实现

任务示例

典型任务:给定 ripgrep 的可执行文件和 --help 文档,从零实现一个行为等价的搜索工具。模型需要自行决定:

  • 使用什么编程语言和构建系统
  • 如何组织代码目录和模块
  • 选择什么数据结构和算法
  • 错误处理策略

难度范围:从简单的 CLI 工具(如 gron、fzf)到复杂系统(如 FFmpeg、SQLite、PHP 解释器)

关键发现

  • 0% 完整解决率:没有任何模型能完整重建任何一个项目,这是目前代码基准中最低的通过率
  • 模型倾向单体化:所有模型都偏爱生成单文件、超长函数的”巨型脚本”,与人类工程师的模块化风格截然相反
  • C/C++ 项目表现最好:大量历史代码和 Stack Overflow 内容帮助模型在 C/C++ 项目上取得相对更好的成绩
  • Rust 项目表现最差:Rust 的工程哲学(ownership、trait system、模块化)恰恰是当前模型最不擅长的
  • Claude 系列相对领先:Opus 4.7 以 3% 的”几乎完成”率领先,但仍远低于实用水平
  • 最后一公里最难:模型经常能完成 50-80% 的功能,但无法达到 100% 行为等价

与 SWE-bench 的关键区别

维度SWE-benchProgramBench
输入仓库源码 + Issue 描述可执行文件 + 文档
任务修 bug / 加 feature从零构建整个软件
评测单元测试通过行为等价(agent-driven fuzzing)
架构决策无(已有代码结构)完全由模型决定
SOTA~90% (Verified)0% (Full) / 3% (Almost)

争议与局限

  • 记忆污染质疑:部分项目(如 FFmpeg)是知名开源软件,模型可能在训练中见过源码
  • “人类也做不到”的反对意见:人类工程师也很难从零重写 FFmpeg——但 benchmark 的目标是推动能力上限
  • 当前未测试完整 Agent 框架:如 Claude Code、Codex 等产品级 Agent 未被评测
  • 限制了联网能力:实际使用中 Agent 通常有网络访问权限

关联基准

代码生成 软件工程 架构 从零构建 行为等价 Meta