概要

  • Claude Opus 5 仅凭一次提示就“一枪”完成了一款第一人称射击游戏,提示如此简单,结果却令人印象深刻,以至于人们难以相信。
  • 其他人重新运行了该提示,结果验证无误。
  • 这款由 Claude 辅助制作的游戏的开发者 Matt Shumer 将这种方法称为“Gauntlet Loop”:给智能体一个真正的标杆去超越,将工作分配给全新的批评者,并且绝不让构建者自我评估。

就在 Claude Opus 5 发布两天后,AI 投资者、前 HyperWrite CEO Matt Shumer 发布了一段视频,展示了一款完全可玩的第一人称射击游戏,该模型完全独立构建。

“Claude Opus 5 一枪完成了这款游戏,”他写道,并补充说构建中没有使用任何外部资源。

现在,你可能会认为如此高质量的输出需要一份冗长、详细且谨慎的提示来引导 AI 模型完成构建一款精良第一人称射击游戏的复杂性。

再想想。

其背后的提示只有三段短文字,完整发布在 GitHub 上。它告诉 Opus 5 构建一款达到最新《使命召唤》游戏水平的射击游戏,派出子智能体——每个子智能体拥有独立的记忆和狭窄的任务——分别处理各个部分,并不断用独立的、严苛的批评者循环检查每个部分,直到在盲测中与真实的《使命召唤》片段相比毫不逊色。根据提示,结果应该是“绝对完美”。


这与提示工程师教导人们的工作方式截然相反。在氛围编码热潮中,建议是使用具体标准而非形容词:说明“好”的含义,而不是仅仅要求它。代码应该考虑什么,而不是说“AAA”。

Shumer的版本几乎相反,它要求自己的子代理“彻底惊艳”,而将实际定义留给一个为自己构建的批评者Opus 5。

这几乎就是全部要求。Shumer后来写道,他从未指定渲染器,列出游戏系统,或定义“AAA质量”需要包含什么。他开始将这种方法称为Gauntlet Loop:交给代理一个真实的、可检查的标准,而不是模糊的指令,让它将任务拆分成小块,并将每个块路由给一个批评者,该批评者永远不会看到构建者对其选择的原因。

两个Claude Code功能承载了这个循环。子代理在隔离的上下文窗口中启动,拥有自己的指令和工具访问权限,因此评估武器模型的批评者不会继承构建者关于其外观原因的解释。Ultracode是Claude Code的一个设置,它将模型推向最高推理努力,并允许它编写自己的编排计划,将工作分散到多达16个代理上,每次运行上限为1000个。

Anthropic 内置的 /loop 技能,专为重复的修复-测试-调整循环而设计,使得游戏在看起来不错时并未停止运行。Shumer 从未指定轮数。他让评论者不断指出新的差距,并让构建者持续追赶数小时,直到他自己关闭会话。

完成的构建运行在 Three.js 和纯 WebGL2 上,大约有 55,000 行代码分布在 11 个子系统中。每个纹理、网格、动画和声音都在加载时在浏览器内生成——没有下载的模型、HDRIs、图像文件或音频文件。Shumer 自己发布的评论者日志显示,评分从 10 分中的 3.59 分攀升至略高于 5 分,但每一轮仍落后于真实游戏。

怀疑者认为存在数小时的隐藏手动编码,因此 Shumer 发布了完整的提示和代码库。这时模仿者开始出现。

同样的技巧,三位不同的构建者

James Altucher,前对冲基金经理和播客主持人,运行了相同的提示,并报告花费了“略超过十小时”和大约 130 万个令牌在 Opus 5 上完成。他的构建 Operation Blackout 在浏览器中免费运行,看起来很棒。

你可以在这里玩这个游戏 这里

Prompt Silo 的开发者将同样的请求指向了 OpenAI 的竞争对手旗舰模型,发布了“Sol 5.6 Ultra 使用相同提示”——Sol 是 OpenAI 于 7 月 9 日全面推出的三模型 GPT-5.6 系列中的顶级版本,同时推出的还有更便宜的 Terra 和 Luna 版本。

开发者 Leon Lin 尝试了相反的做法,采用了通常的详细提示。他没有复制 Shumer 的简短版本,而是着手“逆向工程这个游戏的提示”,生成了一份约 20 个章节的文档,详细说明了从布娃娃物理到级联阴影贴图的所有内容。他将这份文档输入到 Cursor 中,使用普通的 Opus 5 高努力模式,没有子代理,也没有超代码,结果——一款名为 Dust Corridor 的市场街道射击游戏——也可以在浏览器中运行,而且看起来也很棒。

后续的构建版本没有一个能通过舒默在自己的项目上进行的盲测。他的批评者日志仍然显示,真正的《使命召唤》在他记录的每一轮中都获胜——这是阿尔图彻和Atom Tan Studio正在用他那精确的三段提示词追逐的标准,也是莱昂·林用他自己大约20个部分追逐的标准。

这其中有多少是真正新颖的?

像Claude Code这样的智能编码工具编写软件的方式,类似于一位受监督的初级工程师:它们读取文件、运行代码、查看自己生成的截图,并将部分工作交给子代理和批评者,由它们对照既定目标检查结果。这个循环是真实的,而舒默的Gauntlet Loop是构建这种循环的一种有效方式。但仅凭这一点,并不能证明该模型是从想象中设计了一款游戏,而不是重新组合了它已经吸收的代码模式。

Three.js 自带指针锁定相机控制作为官方示例,而这种基本模式——鼠标环视、WASD移动、射线投射用于射击——已经在GitHub、gist和开发者论坛上被分叉和教程化了十多年。一个在公共代码库上训练的编码模型,在读到舒默的提示词之前,几乎肯定已经见过成百上千个几乎相同的射击游戏。

这并不意味着Claude of Duty是假的,但它让“从零开始构建”这一说法更难完全令人信服,所以对这些结果要持保留态度。

研究代码生成模型的学者给这个更广泛的问题起了个名字:数据污染,即模型在某个任务上表现良好,主要是因为其训练数据中已经包含了几乎相同的示例,而不是因为它推理出了新的东西。

这些第一人称射击游戏的构建版本都没有发布过对这种污染的检查。舒默自己的代码库中确实包含了克劳德的创造力——如果这样称呼它公平的话。这就是为什么将“一次性完成一款AAA游戏”解读为一个能干的智能体在编程中记录最详尽的类型之一中工作,而不是证明AI在没有先例可循的情况下设计了一款射击游戏。