Simon Willison 在饭桌上跟朋友聊起自己的判断:编码代理能做出一个看起来像游戏的东西,但做不出真正让人想继续玩下去的东西。说完之后他决定给模型一个机会来证明自己错了。他对着手机上的 Claude Opus 5.5 打了一行字:'This game isn't fun enough yet. Make it a LOT more fun.'
这是他在 Battle Drones 项目中的第四次大版本迭代。前三个版本——初始原型、完整精灵图、多样地形——每一个都' recognizable as an RTS'但'wasn't any fun to play'。Willison 承认自己几乎没看过代码,也不怎么写 TypeScript,项目完全靠编码代理推进,321 次提交全部由代理完成。
这一次他用了 Ultracode 模式。按照 Claude Code 文档的描述,动态工作流是一个编排大量子代理的 JavaScript 脚本。他从晚上启动,第二天早上才拿到可玩的结果。后来他让 Claude 自己写发布说明,其中一段写道:在 1,200 场普通难度 AI 对 AI 测试赛中,25 分钟仍未分出胜负的比赛从 14% 降到了 0.9%;落后 800 以上资源的一方最终获胜的比例从 24% 升到了 46%。
Willison 事后解释了为什么代理花了那么长时间:它跑了一千多场模拟对战,用结果来重新平衡已有单位、添加新单位、引入新机制。也就是说,'更有趣'这个模糊指令被代理内部转化为可衡量的指标——比赛时长、翻盘概率、资源差距与胜负的相关性——然后通过大量模拟迭代来优化这些指标。
这个机制能成立,前提是游戏平衡本身有一个廉价且忠实的内部反馈回路。模拟对战不需要真实玩家,不需要外部数据,代理自己就能生成足够多的'玩家行为'来评估改动是否让比赛更紧张、更有翻盘可能。Willison 选择游戏作为实验场,部分原因是他在软件工程方面的经验在这个领域影响较小,而且'游戏是超低风险的',最坏的结果不过是一个小 bug。
但 Willison 同时表达了明确的不适感。他写道:'I'm still not quite over the guilt of building software in this way. I don't feel like I've earned the right to create something this good, in a field in which I have so little prior experience.'他承认自己几乎没有游戏开发经验,设计输入仅限于'让它更有趣'和'加点视觉打磨'这样的模糊指令。直到第八个版本,他才第一次给出了一段真正具体的设计规格——一张需要运输机投送步兵才能占领岛屿的地图。
对读者的实际启示是:模糊质量指令能否奏效,取决于目标领域是否存在代理可以内部模拟和度量的反馈回路。游戏平衡有,但'用户体验好不好''这个方案是否优雅''这份报告是否令人信服'通常没有同样廉价且忠实的内部代理指标。在没有这种回路时,同样的模糊指令很可能只得到表面功能的堆砌,而非真正的质量提升。
信息源:Simon Willison’s Weblog