AI编程的终极考题:不是写代码,而是从零造出一个软件
AI编程的终极考题:不是写代码,而是从零造出一个软件

1. 一个让AI圈沉默的基准测试
5月初,Meta FAIR 联合斯坦福和哈佛发布了一个叫 ProgramBench 的基准测试。规则很简单:给AI一个编译好的二进制文件和它的使用文档,让它从零开始重建整个软件项目。不能联网,不能看源码。
结果呢?
所有模型,0% 完成率。
Claude Opus 4.7、GPT-5.4、GPT-5 mini、Gemini 3.1 Pro、Gemini 3 Flash——当今世界最强的一线模型,全军覆没。没有一个能完整重建一个真实软件项目。
这跟之前大家熟悉的 SWE-bench 完全不同。SWE-bench 测的是「修bug」,本质上是在已有代码结构里做局部修改。ProgramBench 测的则是:给你一个最终能跑的程序,你能不能像真正的工程师一样,从第一行代码开始,重新把它造出来。 
2. 不是不会做,是做出来的东西不对
仔细看数据,模型并不是完全不会做。在某些简单任务上,它们甚至能接近完成。但只要要求100%行为等价——输入输出和原程序完全一致——所有模型都会倒下。
更关键的是,论文里有一句话特别值得细品:
> 模型极度倾向于生成单体化代码。大量逻辑被塞进单文件;目录结构极浅;模块拆分极少;函数超长;整个 repo 看起来像一坨巨型脚本。
这和优秀人类工程师的习惯几乎完全相反。
人类工程师讲究模块分离、关注点分离。配置放 config.json,工具函数放 utils.py,数据库操作放 db.py,通过 import 相互调用。而AI写出来的东西,说白了就是一个巨大的 main 函数,把所有东西都糊在一起。
AI擅长的是局部代码生成,但不擅长全局系统规划。而真实的软件工程,本质上是后者。

3. SWE-bench 已经不够用了
过去两年,SWE-bench 一直是衡量AI编程能力的「北极星」。从最早的个位数解决率,到后来 GPT-4o 冲上30%,再到如今 Claude Code 在 SWE-bench Pro 上拿到 80.3%,进步确实惊人。
但 ProgramBench 告诉我们一个残酷的事实:在已有代码里修bug ≠ 从零造软件。
这两者之间的差距,远比我们想象的大。
SWE-bench 的题目本质上都是「补丁级」任务——找到问题,改几行代码,跑通测试。而 ProgramBench 要求的是「架构级」能力——选择语言、设计模块拆分、决定数据结构、组织整个 repo。
这也是为什么模型在 LeetCode、SWE-bench、Copilot 场景里已经非常强,但一旦进入真实世界的大型工程系统,就会迅速掉进深水区。 
4. 国产模型在冲,但方向不太一样
与此同时,国产模型在走另一条路。
DeepSeek V4 多模态版即将发布,核心卖点不只是「能看图」,而是国产芯片适配 + 代码能力的实际超越。之前 DeepSeek V4-Pro 在 SWE-bench 上的表现已经证明了国产模型在代码这件事上不比闭源差。
但坦率的讲,国产模型的突破更多集中在「单点能力」上——某个 benchmark 分数超过某个闭源模型。而 ProgramBench 暴露的问题是系统级的:不是某个函数写得好不好的问题,而是整个软件工程方法论的问题。

5. 对普通开发者的启示
说点实在的。
今天的AI编程工具,在「帮你写一段代码」这件事上已经非常好用了。Copilot 补全、Claude Code 改bug、Cursor 写组件——效率提升是真实的。
但如果你指望AI帮你「从零搭一个生产级系统」,现在还差得远。
选工具的时候,别只看 benchmark 分数。SWE-bench 80% 听起来很厉害,但那是修bug的能力。真正决定你项目成败的,是架构设计、模块拆分、长期可维护性——这些恰恰是当前AI最薄弱的环节。 
一句话总结:AI已经能帮你写代码了,但还不会帮你做工程。从「写代码」到「做软件」,中间隔着的那一公里,才是AI编程真正要攻克的终极考题。