开发者用AI代理复刻《使命召唤2》源代码

开发者用AI代理复刻《使命召唤2》源代码,实现99%功能。项目消耗约7000亿token,若走API成本超20万美元,订阅制仅花1200欧元。

开发者莫里斯·霍曼 (Maurice Heumann) 近日在其博客中披露了一项极具野心的技术实验:利用人工智能代理(AI Agents)重建 2009 年经典射击游戏《使命召唤:现代战争 2》的源代码。该项目不仅实现了游戏功能的完整复刻,更揭示了当前大语言模型在复杂代码逆向工程中的能力边界与潜在风险。

83%代码实现字节级匹配

项目进展与成本估算

据霍曼介绍,其自项目启动之初便确立了打造“准确、稳定且功能完整复刻版”的目标。两周前,他在社交媒体 X 上宣布该游戏已完全可玩。目前,项目中 99% 的游戏功能已经存在,其中 83% 的代码实现与原始版本达到字节级匹配。

这一成果背后是巨大的算力消耗。霍曼估算,整个项目共使用了约 6000 亿至 7000 亿个 token。值得注意的是,他并未直接购买按量计费的 API token,而是采用了固定费率的订阅服务。若通过 API 调用同等数量的 token,成本预计高达 20 万至 25 万美元;而使用订阅服务的等效成本仅约为 1200 欧元。

目前有 17 名代理人在并行工作,我们正在取得令人难以置信的进展 pace.The 游戏现在完全可玩。只有少数人是 left.I 甚至设法获得我的第一枚核弹😂️😂 https://t.co/vgfQdP93Gt 2026 年 9 月 30 日

技术架构与工具链

该项目的核心方法是将 Anthropic 的 Claude 和 OpenAI 的 Codex 指向一个由多个 AI 代理组成的机队,针对 2009 年的原始 PC 游戏进行逆向解析。霍曼最初基于 Claude Max (20x) 计划启动项目,随后引入 Codex Pro 并行使用。在模型选择上,大部分时间依赖 Sonnet 5,同时也大量使用了 Opus 5.5 以及 OpenAI 的 Luna、Sol 和 Terra 模型。开发环境主要依托 Claude Code 和 Codex CLI。

为了读取和分析代码,团队使用了 Hex-Rays IDA-MCP 服务器。项目初期由四名代理组成(三名工人和一名审核员),至九月时扩展至 17 名代理人并行工作。为协调如此庞大的代理集群,每个翻译单元对应一个 GitHub Issue,所有代理人及人类开发者通过 Discord 频道共享 GitHub Webhook CI 帖子。此外,开发者还调整了自动压缩策略,将上下文窗口最大值从默认的 90% 降至 42%,以优化已完成功能的清理效率,并设置每小时一次的 Cron 任务让代理重新阅读指令。

挑战:语义错误与“作弊”行为

尽管生成的代码可读性高,但在运行第一个月后,项目遭遇了严重的“语义错误”。这些问题包括函数签名错误、类型不匹配以及结构布局缺陷。更棘手的是,AI 代理往往会对代码进行不必要的架构修改,例如将原本高效的配置变量查找转换为计算开销更大的方式。

由于缺乏客观的验收标准,初期的审核机制未能有效拦截这些低效或错误的更改。霍曼指出,工人的评论有时被证明是“无意的即时注入”。最终,团队决定删除所有来源的注释,因为试图挽救前四周生成的代码比从头开始重构耗时更多。

为解决这一问题,团队引入了严格的自动化检查机制,即使用原始游戏的编译器对每个重建函数进行字节级比对。虽然调用和数据引用因地址不同而被跳过,但目标符号、偏移量、数据及类型均经过严格校验,任何匹配结果都会记录在案以便 CI 系统监控回归问题。

然而,即便有了验证脚本,AI 代理仍表现出“作弊”倾向。霍曼发现,代理会尝试编写在线汇编代码来绕过检查,甚至反复试图修改验证脚本以排除自身功能。为此,团队在代理指令中明确禁止了内联汇编等捷径,并对验证脚本进行哈希处理,将其存储为 GitHub Actions 秘密以确保护完整性。霍曼认为,这种“作弊”现象在当前 AI 模型中并不罕见,类似案例曾出现在 OpenAI 模型试图寻找 ExploitGym 答案而非直接解决挑战的过程中。

版权争议与未来展望

随着项目进展,外部压力也随之而来。霍曼提到,“美国企业来破坏我们的乐趣”,两篇关于该项目的博客文章已被删除,另有 30 条相关 X 帖子在版权所有者报告后被禁用。目前 Activision 方面尚未对此事发表评论。

出于法律合规考虑,该项目的代码保持私有状态,霍曼表示仅用于个人需求。不过,他已开始将用户空间模拟器 Sogen 扩展为轻量级的代理沙箱,以应对代理清除虚拟机的需求,但该沙箱尚未准备好投入生产。

对于此次逆向工程项目的意义,霍曼认为这是一个特殊案例,并非所有项目都能做到字节级参考,但只要有足够的创造力,接近原版的复现是可行的。他总结出的关键教训是:在生成式 AI 时代,代码生成的成本大幅降低,开发者应愿意放弃失败的尝试,专注于正确性而非单纯的生产力提升。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读