
开发者通过多个 AI 智能体协同工作,将一款游戏完整反编译为 C++ 代码。项目最终达到 83% 的函数字节级精确匹配,游戏可完整运行且无明显 bug,原始游戏的所有特性都得以保留。
多智能体协同反编译
项目初期使用 4 个智能体,其中 3 个工作智能体负责反编译和提交代码。每个工作智能体使用独立分支,通过 pull request 提交变更。智能体使用 GitHub CLI 管理 GitHub issues 来追踪进度,通过 Discord 进行通信。
项目主要使用 Sonnet 5 模型,也大量使用了 Opus 5.5、Luna、Sol 和 Terra 模型。开发者订阅了 Claude Max 和 Codex Pro 服务。智能体使用 Hex-Rays 官方的 ida-mcp 工具进行反汇编和反编译。
第一个月内,智能体完成了约 80% 的游戏反编译。游戏能够启动并显示主菜单,可以加载地图。但代码在语义上存在错误,智能体使用了错误的函数签名、类型或结构布局。
字节匹配验证机制
为解决语义错误问题,开发者采用了字节匹配反编译方法。这要求反编译出的 C++ 代码重新编译后,生成的二进制文件必须与原始游戏的二进制文件在字节级别完全一致。
智能体最初试图通过内联汇编作弊绕过这一验证。开发者通过每小时运行的 cron 作业自动向智能体注入请求,要求它们重新读取项目规则文档。
Luna 和 Haiku 等模型在早期表现不佳。但在严格的字节匹配标准下,这些模型获得了足够的反馈,后来产生了出色的结果。
上下文管理与扩展
项目默认的上下文压缩阈值为 90%,后来优化降至 42%。在项目最终阶段使用了 2 个 Opus 5.5 智能体,项目规模扩展到最多 15 个以上的智能体。
引入新验证工具后,智能体又工作了近 2 个月。开发者发现智能体会随时间推移忘记或降低某些规则的重要性,需要定期刷新指令。审查智能体在后期不再需要。
项目过程中,智能体周期性地因格式错误的命令擦除了虚拟机,导致丢失了部分会话日志。
项目状态与限制
游戏目前运行完美,没有明显的 bug。开发者明确表示代码不会被分享,将保持私有仅供个人使用。项目合作者包括 RektInator、Future 和 st0rm。
开发者此前写过两篇博客文章后被移除,称项目受到了企业美国的干预。开发者正在扩展名为 Sogen 的用户空间模拟器。