
这是什么
一个把问题写在最前面的实验:如果你只描述想要什么、让 AI agent 去干活,一个模拟器能做到什么程度?答案是——一个能跑的 Game Boy 与 Game Boy Color 模拟器:与平台无关的核心、桌面前端、安卓应用、Super Game Boy 模式和 Mobile Adapter GB 支持,核心还发布成了 Rust crate。它有 4 个星。真正有意思的不是模拟器本身,而是作者对它「是怎么做出来的」的评价——README 在讲任何功能之前就先讲了这件事。
谁做的一个化名账号,2014 年 1 月注册,48 个公开仓库;主页上没有任何姓名、简介、公司或站点。所以关于作者的一切都无法越过这一个仓库去了解,这段说明是照实从仓库里写出来的,而不是围绕它编的。
制作过程
6 个阶段- 01
先立论,再谈软件
README 开头是一句加粗的话——「AI 是工具,不是拐杖」——紧接着是一段两个方向上都少见的声明:这个项目不是一个表态,作者并不为使用 AI 背书,他理解很多人对此有不同看法。他点名了自己不去攀比的模拟器——SameBoy、mGBA、BGB——并说自己永远不会声称这个更准确、或者投入了同等的用心。立场在描述任何功能之前就摆好了。
- 02
这是一个真的模拟器,不是演示
仓库是一个 Cargo workspace 而不是单个程序:与平台无关的核心、基于 egui/eframe 的桌面前端、一个安卓应用,以及两个封装 Mobile Adapter GB 的 crate。桌面端覆盖 ROM 加载、可配置的键盘与手柄输入、截图、显示滤镜,以及用来查看 tile、地图、精灵和调色板的 VRAM 查看器。机型从初代 DMG、Game Boy Pocket、Super Game Boy、SGB2 一直支持到 Color 和 Advance 的启动 ROM,还包括把 Color 输出与实时 SGB 指令配在一起的混合模式。
- 03
agent 在哪里靠蛮力,作者自己说了
仓库里最有价值的一句话是一句坦白:AI agent 有「靠蛮力把测试跑过」的倾向,而被它作为对照的那些手写模拟器,是建立在对底层硬件更深入的理解之上的。提交历史两半都印证了——一长串针对具名测试集(Mooneye、Wilbertpol、GBMicrotest、AGE)的精确 PPU 时序修复,以及一份被反复提交、提交信息就叫「update test status」的状态文件。
- 04
这次协作留在提交 trailer 里
最近 100 次提交里约五分之一带有 AI 共同作者:16 条来自 GitHub 的 Copilot SWE agent,另有 4 条来自 Copilot 本身,与作者自己的署名并列。仓库里还有 AGENTS.md,以及一组供 agent 工作时阅读的规则文件——Rust、Python、Markdown 各一份,另有一份专门讲怎么写自解释的注释。工具链不是靠猜的,它记在历史里。
- 05
vibe 解决不了的那部分:出处
作者写明 AI 从其他模拟器里借鉴了一些代码,他在自己认为必要的地方做了署名——然后请人告知他遗漏的部分,并承诺绝不迟疑地补上。这种顾虑在仓库的比例上看得见:第三方许可文件超过 400 KB,比 README 大一个数量级,也比那份记录数百项硬件测试的状态文件更大。一个由 agent 攒出来的项目,必须搞清楚自己的代码从哪来,而这件事不是 agent 干的。
- 06
4 个星,几乎没有任何报道
2025 年 5 月到 2026 年 9 月共 717 次提交,4 个星、3 个 fork、1 个未合并的 PR,核心 crate 在 crates.io 上发了两个版本、306 次下载。找不到 Hacker News 提交,也找不到任何一篇介绍。作者说他想要一个自己的模拟器、好在别的项目里用,并且中途放宽了「只准 vibe coding」的限制。这个仓库就是全部的公开记录——在本站里这并不常见,也正是这份档案如此依赖它的原因。
他会告诉你什么
- 把测试跑过和懂硬件是两回事。用作者的话说,AI agent 有「靠蛮力把测试跑过」的倾向,而 SameBoy、mGBA、BGB 这类模拟器是建立在对机器更深入的理解之上的。
- 这条规矩值得立,也值得破。他一开始限定自己只做 vibe coding,现在说自己已经不那么严格了——那个限制是为了搞清楚工具擅长什么,不是一个需要捍卫的立场。
- 出处是唯一不会被自动化的部分。AI 产出了借鉴自其他模拟器的代码,作者请人告知遗漏之处:「我一定会毫不犹豫地补上署名。」