Claude Opus 5上线仅两天,AI 投资人、前 HyperWrite CEO Matt Shumer 就发布了一段视频,展示一款由该模型独立完成的可玩第一人称射击游戏。

Shumer 写道,这款游戏是 Claude Opus 5 "one-shotted" 完成的,整个构建没有用到任何外部素材。他随后公开了背后的完整提示词。和许多人预想的不同,这份提示并不长,只有三小段,已发布在 GitHub 上。
这份提示要求 Opus 5 做出一款达到近期《使命召唤》系列水准的射击游戏,并调用多个子代理分别处理不同部分。每个子代理拥有独立记忆和明确分工。提示还要求模型为每个部分引入一个单独、严格的批评器,持续循环修改,直到结果在与真实《使命召唤》画面的盲测并排对比中也能站得住。按提示原文,最终效果应当是“utterly perfect”。
短提示词与常见提示工程思路相反
报道指出,这种做法与提示工程长期以来的主流建议相反。此前在“vibe-coding”热潮中,更常见的建议是尽量把标准写具体,用可验证的条件代替形容词,而不是直接要求“做得像 AAA 游戏”。代码应考虑哪些内容,通常会被写得比“AAA”这样的词更细。
Shumer 的版本几乎反过来操作。他让子代理自己追求“utterly wowed”的效果,而把具体标准交给 Claude Opus 5 自己构建出的批评器来判断。
Shumer 后来补充称,他并没有指定渲染器,没有逐项列出游戏系统,也没有定义“AAA quality”具体应包含哪些内容。他开始把这套方法称为 Gauntlet Loop。按他的说法,这种方法的核心是:给代理一个真实、可检查的目标标准,而不是模糊指令;让它把任务拆成小块;再让每一块都经过一个看不到构建者推理过程的批评器审查。
Claude Code 的子代理、Ultracode 和 /loop 如何配合
报道称,这套循环依赖 Claude Code 的两项功能。其一是 subagents。子代理会在隔离的上下文窗口中运行,各自拥有单独指令和工具访问权限。这样一来,给武器模型打分的批评器不会继承构建者对自身设计选择的解释。

其二是 Ultracode。这是 Claude Code 的一个设置,会把模型推到更高强度的推理模式,并允许它自己编排协作流程。系统可以把工作同时分发给最多 16 个代理,单次运行上限为 1,000。
Anthropic 内置的 /loop 技能也在其中起了作用。这个功能面向反复的修复、测试和调整循环。Shumer 没有预设回合数,而是让批评器持续指出新的缺口,再让构建器不断追着修改,整个过程持续了数小时,直到他自己手动结束会话。
成品基于 Three.js 和 WebGL2,约 5.5 万行代码
最终成品运行在 Three.js 和原生 WebGL2 上,代码总量约为 55,000 行,分布在 11 个子系统中。所有纹理、网格、动画和音效都在浏览器加载时生成,没有下载模型、HDRI、图片文件或音频文件。
Shumer 公布的批评日志显示,项目评分从 10 分制的 3.59 分逐步提高到略高于 5 分,但在他记录的每一轮中,真实游戏都仍然胜出。
由于一些怀疑者认为背后可能存在数小时未披露的人工编码,Shumer 随后公开了完整提示词和全部代码库。之后,模仿者开始出现。
同一思路出现三种不同复现路径
前对冲基金经理、播客主持人 James Altucher 使用了完全相同的提示词。他表示,自己为此花了“a little over ten hours”,并在 Opus 5 上消耗了大约 130 万 token。最终生成的作品名为 Operation Blackout,可在浏览器中免费游玩。

Prompt Silo 的开发者则把同样的请求交给 OpenAI 竞品的旗舰模型,并发文称“Sol 5.6 Ultra with same prompt”。报道说明,Sol 是 OpenAI GPT-5.6 三模型家族中的最高档版本。OpenAI 于 7 月 9 日面向公众推出了该系列,同时上线了更便宜的 Terra 和 Luna 版本。
另一位开发者 Leon Lin 则选择相反路径,使用更详细的提示词。他没有照搬 Shumer 的短提示,而是试图“reverse engineer a prompt for this game”,写出一份约 20 个章节的文档,从 ragdoll physics 到 cascaded shadow maps 都逐项写明。随后,他把这份提示输入 Cursor,使用高 effort 模式下的普通 Opus 5,不启用 subagents,也不启用 ultracode。最终结果是一款名为 Dust Corridor 的市场街道题材射击游戏,同样可以在浏览器中运行,视觉表现也很强。
不过,报道也提到,后续这些复现作品都没有接受过 Shumer 给自己项目做过的那种盲测。Shumer 的批评日志仍显示,在他记录的每一轮里,真实《使命召唤》都优于生成结果。Altucher 和 Atom Tan Studio 使用的是同一份三段提示词,而 Leon Lin 用的是自己约 20 个章节的长提示,几种路径都还在追赶同一个标准。
“从零构建”并不等于排除已有训练模式
报道随后把问题转向另一个焦点:这件事到底有多少真正的新东西。
像 Claude Code 这样的 agentic coding 工具,写软件的方式很像受监督的初级工程师:读取文件、运行代码、查看生成的截图,再把任务拆给子代理和批评器,让它们依据既定目标检查结果。报道认为,这种循环本身是真实存在的,Shumer 提出的 Gauntlet Loop 也确实是一种可行的组织方式。
但这并不能单独证明模型是在“凭空设计”游戏,而不是重组它此前已经吸收过的代码模式。

报道举例称,Three.js 官方就提供了 pointer-lock camera controls 示例,而这一基础模式——包括鼠标视角控制、WASD 移动、基于 raycasting 的枪击——十多年来已在 GitHub、gists 和开发者论坛里被大量 fork、复用和教程化。一个在公开代码仓库上训练的编程模型,在读到 Shumer 的提示词之前,几乎可以肯定已经见过数百甚至数千个高度相似的射击游戏实现。
报道认为,这并不意味着被称为“Claude of Duty”的作品是假的,但会让“built from scratch”这样的表述更难被完整采信,因此对这类结果仍应保持谨慎。
研究者已将这类问题称为数据污染
研究代码生成模型的学者对这一更广泛的问题已有明确称呼:data contamination,也就是数据污染。它指的是,模型在某项任务上表现出色,主要因为训练数据中早已存在几乎相同的样例,而不是因为模型真正推导出了新的方案。
报道指出,目前公开的这些第一人称射击游戏构建项目,都没有发布针对这类污染问题的检查结果。Shumer 自己的代码仓库中,确实包含 Claude 自行生成的内容;如果可以这样表述,这可以算作 Claude 的“创造力”。
但报道最后给出的结论更谨慎:与其把“one-shotted a AAA game”理解为 AI 在没有任何先例可依赖的情况下自行设计出一款射击游戏,不如把它看成一个能力很强的代理,在编程领域中资料最充足、文档最完善的游戏类型之一里完成了一次高水平构建。

