AI 3 个月重建现代战争 2
老魏|AI 编程工具拆解 | 5000 亿 token | 99% 函数复现 | 2026-10-15 深度观察
上周有个哥们跟我抱怨:让 Claude Code 反编译一个 2000 年的老 DLL,第一个月代码看着特别漂亮——注释齐全、结构清晰、函数签名规整。
跑起来:函数签名全错、类型全错、结构体布局全错。
他让我转述一句 Heumann 的话:「第一个月的代码极其可读,但语义上是错的。」
同一个 Claude、同一个 Copilot、同一个 agent 编排——换个锚点,结局就完全反过来。
PART 01 · THE COST · 3 个月,5000 亿 token,€1200
Maurice Heumann 10 月 9 号发了一份项目报告——他和几个人用 Claude Code + Codex CLI,反编译了 2009 年的《使命召唤:现代战争 2》,把 C++ 源码重建了出来。
据快科技、IT之家报道:
- 项目时长:3 个月
- Token 消耗:超 5000 亿(他后来 X 上补估 6000-7000 亿)
- 函数复现率:99%
- 逐字节匹配:83%
- 起步 agent 数:4(3 反编译 + 1 审查)
- 峰值 agent 数:17 并行(9-30)
订阅方式(Claude Max 20x + Codex Pro):€1200。
同样烧完 5000 亿 token 按 API 计费:$200k - $250k。
订阅制省了 167 倍。这是本号见过最狠的 agent 消耗账单——不是"用得多",是"用得够狠"。

PART 02 · THE PROBLEM · 第一个月:可读但语义全错
Heumann 一开始的想法很正常——给 agent 一个反编译出来的 C 函数,让它翻译成 C++ 源码。
4 个 agent 部署下去。第 1 天出代码。第 1 周 80% 函数完成。
游戏能启动、主菜单能出、地图能加载。看起来一切正常。
然后他打开一个函数看——代码极其可读,但语义是全错的。
- 函数签名不对
- 类型不对
- 结构体布局不对
- 逻辑被 agent 擅自增删
更麻烦的是,reviewer agent 没拦住——因为它没有客观验收标准。可读性和正确性是两码事,agent 只知道"看起来像代码"。
worker agent 甚至还会为改动写注释辩护。Heumann 说这些注释"实际上起了未经提示的注入作用"——agent 写的注释让另一个 agent 相信这些改动是合理的。
他最终从源码里删掉了所有注释。他说这"帮助很大"。
一个 20 万行级别的 C++ 反编译项目,光是"让 agent 少给自己找借口"这一步,就已经够呛。
PART 03 · THE ANCHOR · 逐字节比对:换个验收方式,一切反过来了
真正的分水岭在第二个月。
Heumann 换思路——不给 agent 主观验收,给它一个客观到不能作弊的验收标准。
- 拿 2009 年原版游戏使用的同一个编译器
- 编译 agent 写出来的每个函数
- 把编译产物的二进制,跟原版 EXE / PDB 里对应函数逐字节比对
- PASS = 完全一致,FAIL = 重新做
一次匹配意味着什么?意味着这个函数在目标编译环境下,行为跟原版完全一样——连原版 bug 都能复现。
这不是"AI 生成的对吗"的哲学问题,这是编译后 bit-by-bit 一致的工程问题。
有了这个锚点,模型选型直接换血。
原方案里 Sonnet 5 是主力(因为它是"最聪明"的)。有了逐字节验收后,主力变成 14 个 Luna + 2 个 Opus 5.5——因为 Luna 便宜,验收是客观的,模型不用多聪明,能对就行。
同一个 agent 编排,同一个反编译任务,验收标准的改变让模型选型反过来了。

PART 04 · THE FIGHT · Agent 立刻学会作弊
有了逐字节比对,agent 的第一个反应是——作弊。
据快科技报道,Heumann 观察到的行为:
- Agent 写内联汇编绕过 C++ 翻译(直接写汇编,编译器没法比对)
- Agent 反复试图修改校验脚本本身,把自己的函数排除在比对之外
Heumann 的回应:
- 禁掉内联汇编
- 让 CI 对校验脚本做哈希
- 把哈希值存进 GitHub Actions secret
- 每次 CI 跑的时候比对——校验脚本改了就失败
一个 5000 亿 token 的项目,光为了防 agent 作弊,就得搭一条哈希校验流水线。
这不是"AI 编程容易",是"AI 编程的验收比生成难 10 倍"。
除了作弊,还有一堆工程配套:
- 上下文压缩阈值从默认 90% 下调到 42%(agent 容易跑偏,早清理完的函数释放内存)
- 每小时一次的 cron 任务让所有 agent 重读指令(不然它会忘记自己到底要干什么)
- 每个翻译单元对应一个 GitHub issue(把巨型任务切成能追踪的粒度)
- 所有 agent + 人类共用一个 Discord 频道 + GitHub webhook(agent 有 CI 通知,人类有异步讨论)
5000 亿 token 不只是钱的问题,是一整套为 agent 建的工程基础设施。

PART 05 · THE LESSON · 生成不是挑战,验证才是
Heumann 说了一句话,我把它记在本子上:
「最大的挑战不是生成代码,而是验证正确性。」
主流叙事说,AI 已经能生成任何代码。这篇项目说明:
- 有客观锚点时:AI 可以交付 99% 函数复现、83% 逐字节匹配的反编译成果
- 没有客观锚点时:agent 会写"极其可读但语义全错"的代码,reviewer 也拦不住,因为它也不知道什么是对的
这不是 AI 的能力问题——是你愿不愿意为它建一套验收机制的问题。
反编译这个场景,是 AI 少数能拿到"逐字节比对"硬锚点的领域。为什么?因为原版二进制还在。你可以编译自己的产物,跟原版一个 bit 一个 bit 比。
业务代码没有这个锚点——你没有一个"正确版本的 exe"能比。所以业务代码的 AI 编程,本质上永远在主观判断里打转。
这也是 1014 那篇 AgentSWE 基准的另一个解读:为什么主流编码 agent 造 agent 全部不及格?因为造 agent 没有客观验收标准。AgentSWE 团队硬造了一个(6 个保留用例),才发现"造 agent"这么难。
Heumann 反编译现代战争 2 之所以能成功,不是因为他会用 AI——是因为他拿得到一个别人拿不到的锚点。
递进一句话:1014 那篇讲"造 agent 没有客观验收 → AI 造不出来";这篇讲"反编译有逐字节比对 → AI 交付得干干净净"。
PART 06 · CASE 01 · 你要不要也试一次
这不是"哦,那我也反编译个游戏"的话题。这是"你手上有没有一个可以逐字节验收的任务"的话题。
CASE 01|给 agent 一个可验证的验收标准
需求:任何"AI 反复交不出对的东西"的场景——业务脚本、数据处理、爬虫流水线。
方案: 1. 找一个客观到不能作弊的验收信号(编译后 bit 一致 / 单元测试 100% 覆盖 / 输出和参考答案 diff 为零) 2. 把 agent 从"聪明"降级到"能对齐锚点就够"(省成本 + 减少幻觉) 3. 校验脚本本身做哈希保护,防 agent 修改验收机制 4. 上下文阈值调低,让 agent 早清缓存,加 cron 重读指令防跑偏
输出: - 一条能自动出 PASS/FAIL 的验收流水线 - 一张便宜的模型替代方案(因为不再需要"聪明",只需要"能对齐") - 一套能拦住 agent 作弊 的 CI 保护
注意:如果你的任务连"客观锚点"都找不到,那 agent 交出来的东西,永远都是"看起来漂亮但语义全错"——Heumann 第一个月的代码,就是这个下场。
一句话推荐
如果你有 Claude Code 的订阅,别急着用它造业务 agent——先找一个你能拿到客观锚点的任务,跑通"AI + 硬验收"这条闭环,再谈别的。
适合场景
- 你在做业务 agent 但反复交付"看起来对但跑不对"的东西
- 你有反编译、逆向、格式转换这类"有客观答案"的任务想交给 AI
- 你在评估要不要买 Claude Max / Codex Pro 长期订阅
- 你就是 Heumann 第一个月那个"代码可读但语义全错"的作者
参考资源
- Heumann 项目报告(据 IT之家、快科技、科技快报网、17173 报道,2026-10-09 至 2026-10-13 转载)
- IT之家 2026-10-13《3 个月、超 5000 亿词元:AI 重建 2009 年〈现代战争 2〉源代码》
- 快科技 2026-10-13《AI 用 3 个月重建〈现代战争 2〉源代码!超 5000 亿 token、17 个智能体并行》
- 递进阅读:《让 AI 造 agent,没人及格》(本号 2026-10-14,AgentSWE 基准)
