Super Mario Replica
动机
我想做一个类超级马里奥的横版过关游戏,同时压测一套完整的「规格先行、agent 驱动」流程——用 spec-kit 定需求、Cursor vibe coding、再加自审、测试和记忆的自定义命令——看能在多大程度上推进,才需要我亲自下场。
问题
Agent 做出来的项目经常带着隐藏 bug 和模糊的下一步。我想验证:一份结构化的需求规格 + agent 自审、单测、e2e 黑盒测试、以及基于 SQLite 的步骤记忆,能不能减少这种摩擦,甚至最终替代人类操作员。
关键收获
这条流水线提前拦下了很多日后才会暴露的 bug,也证明「结构化规格 + 合适的 agent 命令」能承担大部分工作。我仍然有时需要介入。缺口更像缺少命令和决策点——补足之后,人类操作员最终有可能完全退出循环。
我用 Godot 花了一周左右做了一个类超级马里奥的横版过关。游戏本身是复刻——跑跳、金币、砖块,常规要素。真正的实验是工作流:先写一份完整需求规格,再在 Cursor 里 vibe code,并加一个自定义命令,让 agent 自审代码、决定下一步、跑单测、跑 e2e 黑盒、把进度记进 SQLite。仓库里有 详细 README 给想跑或想改的人看。
实验怎么跑
用 spec-kit 给项目写了一份完整需求规格,让 agent 在写第一行代码前就有清晰契约。然后搭好 Cursor vibe code 环境,加了一个命令来驱动循环:agent 自审代码、选下一步、跑单测、跑 e2e 黑盒测试,并把进度持久化到 SQLite。目标是缩短「agent 写了东西」和「我们知道它能跑」之间的距离,并通过记忆给 agent 足够上下文,让它能在多数时候自己决定下一步,不必每次都有我参与。
有效的地方
这套设置提前发现了大量否则会在手动试玩或用户反馈里才出现的 bug。让 agent 在自己的循环里跑测试和 e2e,回归和集成问题会早暴露。规格充当共享的真相源;SQLite 记忆让 agent 能回溯已经做过什么。实践中,spec-kit + vibe coding + 这些命令确实大幅减少了需要人一直盯着的部分,说明这条路是通的。
需要我介入的地方
能跑通一截,但没法从头到尾完全不用我。有些节点 agent 会打转或漏掉需要产品/设计判断的决策,我得掰方向、定优先级或在不被命令覆盖的场景里解围。缺口主要不是 agent 能力,而是命令和决策规则的覆盖度。有些情况仍然需要人说「下一步做这个」或「这块算完」。
小结
实验很有价值。流水线证明:结构化规格 + 自审 / 测试 / 记忆的 agent 命令,能撑起大部分路程,不需要每个改动都盯着。剩下的是补洞:更多命令、更清晰的决策点、对边界情况的处理。我相信这类东西补够之后,人类操作员最终可以从循环里退场。