先锋 趋势 方法 投研 作者
Claude Plays Pokémon 是如何做出来的
返回节目精读

Claude Plays Pokémon 是如何做出来的

摘要

  • Claude 3.7 Sonnet 的 Pokémon 之旅,是对长时程自主性的昂贵集成测试,而不是一套经过优化的游戏通关系统。 David Hershey 刻意把测试框架做得很简单,让进展本身暴露模型行动、记忆和恢复的能力:「眯起眼睛看,你确实能看到有个东西在玩游戏。」Pokémon 提供了道馆徽章等客观进度节点,同时也暴露长时程任务中的失败。

  • 性能提升主要来自模型升级,而不是编排层面的微调。 6月的 Sonnet 3.5 只显示出「生命迹象」,10月版本已经能离开房子并选择初始 Pokémon,3.7 则开始捕捉 Pokémon、推进地图;目前公布的最佳运行至少打到了 Surge 的道馆。在花费大量时间调试提示词和工具后,Hershey 的结论很直接:「没有什么比新模型更管用」(Nothing quite does it like a new model)。

  • 视觉和空间推理,仍是限制这些本已具备能力的智能体的关键瓶颈。 Claude 能做「博士级的事情」,却可能认不出自己的角色、理解不了墙,甚至记不住向上走是否会重新进入 Professor Oak 的实验室。Hershey 认为,如果视觉、导航和视觉状态记忆没有实质改善,眼下仍有几道障碍几乎无法跨越。

  • 即使采用激进的上下文管理,这项实验的 token 经济性依然十分可观。 一次运行包含约1,000 token 的系统提示词、8,000 token 的知识库上限和最近30条消息;由于截图占据绝大部分消耗,完整请求规模会在约5,000至100,000 token 之间波动。反复测试不同配置已经消耗「至少数千美元的 token」,没有资金支持很难进行暴力式实验。

  • 持久记忆看起来是测试框架中杠杆最高的改进,但更多上下文并不自动带来更好表现。 在历史记录尚未被总结前,保留30条消息的效果优于20条或40条;展示更多过往截图,也没有明显解决模型的导航问题。Claude 的知识库既能记录游戏事实,也能记录「我误判了这个东西」之类的元认知教训,未来或许能把使用模拟器的技能迁移到后续运行甚至其他游戏中。

  • 预训练知识是一把双刃剑,因为自信的回忆可能变成导航陷阱。 Claude 有时能识别属性克制关系,也会从失败中学习,但它也曾花约12小时寻找一个据称位于 Mount Moon 东墙的出口。Hershey 仍不确定模型「知道的」Pokémon 知识究竟帮得更多还是害得更多;讨论也强调,不能直接给它一份攻略,因为发现过程本身才是实验重点。

  • Claude 距离击败 Twitch Plays Pokémon 创下的16天7小时纪录仍相当遥远,但它的失败模式已经足够提供商业信息。 实时运行已经在 Mount Moon 停留超过50小时,而单独运行的最佳成绩至少打到了 Surge 的道馆。Hershey 更大的判断是,3.7 在「纠正路线、更新认知、想办法弄明白」方面的提升,即使在 Pokémon 被攻克之前,也应足以催生有用的现实世界智能体。

精读

1. Pokémon 成为测试智能体能力的长期任务

  • Hershey 在6月 Sonnet 3.5 发布前后启动项目,因为他想要一个真实的测试框架,用来实验长期运行的智能体;同时也需要一项足够有吸引力的任务,让自己愿意「拼尽全力」去改进。Pokémon 是他童年玩的第一款游戏,而 Twitch Plays Pokémon 则提供了文化模板和怀旧情绪。

  • 最初的 Sonnet 3.5「非常好」,但在游戏中只表现出「生命迹象」。10月的新版本 Sonnet 3.5 已能比较稳定地离开玩家的房子、拿到初始 Pokémon,有时还能给它命名;3.7 则跨过了一个质变门槛:Claude 开始捕捉 Pokémon、推进地图,并且看起来确实在玩游戏。

  • 一个内部的 Claude Plays Pokémon Slack 频道逐渐围绕 Hershey 发布的 GIF 和进展形成了「邪教式追随」。随着3.7到来,娱乐变成了测量:经过8个月、模型输出「数百万字」之后,他可以把不同版本放进同一个熟悉任务里比较,观察哪些能力真的发生了变化。

  • Hershey 的边界条件很重要:这不是「世界上最厉害的智能体测试框架」,而且如果目标只是让 Claude 参与其中并打通 Pokémon,写一套更好的程序并不难。他没有提供攻略,因为真正有价值的问题是模型能否自行发现、记住并从失误中恢复,而不是一个工程化解题器能否完成游戏。

2. 极简测试框架暴露严重的视觉与空间弱点

  • 核心系统是一段滚动式工具调用对话,在说完「go」之后基本没有用户介入。简短的系统提示词解释3个工具,提供约6条 Pokémon 事实,并针对反复出现的灾难性错误加入几项修正;除此之外,Claude 自己按键、接收结果,并维护知识库。

  • 模拟器工具执行一串按键操作,返回两张截图——一张原始截图,一张叠加坐标的截图——以及少量直接从游戏读取的状态。Hershey 逆向分析了足够多的 Pokémon Red 内存,把几乎所有状态变量以程序化方式暴露出来;Claude Code 则负责把内存地址映射到 Python 等繁琐工作。

  • 位置是最关键的状态提示,因为 Claude 会「相当激进地」幻觉自己已经成功完成区域切换。即使明确提示它的坐标、红帽和屏幕位置,也无法解决更深层的问题:它缺乏可靠的空间意识,还会把自己的角色和其他精灵混淆。

  • Navigator 是主要的补偿工具,也是 Hershey 提到的唯一另一个视觉补丁:Claude 选择一个可见坐标,测试框架自动按键把它带到那里。没有 Navigator,Claude 会反复撞墙;在另一次视觉失败中,它把一扇门——一个红色箱状物——误认为文本框,连续按了约12小时的 A 键试图将其关闭。

3. 上下文管理同时决定表现与成本

  • 提示词从约1,000个系统提示词 token 开始,并允许持久知识库最多容纳8,000 token。Hershey 设定这一上限,是因为不加限制时 Claude 会写出「一大堆 BS」;上限迫使它判断哪些事实和教训值得保留。

  • Claude 随后接收滚动的30条消息历史,主要在工具调用和工具结果之间交替。达到上限后,测试框架会总结这段历史,把摘要插入为第一条用户消息,再开始下一轮 rollout;这样既保持长期连续性,也不用逐字携带全部过往交互。

  • 截图占据了绝大部分消耗,因此 Hershey 保留部分历史图片、删去其他图片。单次 API 请求规模约在5,000至100,000 token 之间波动;从实际表现看,30条消息优于20条和40条,说明存在一个「有效上下文长度」,信息增加并不自动带来收益。

  • 相应地,大量实验成本很高:要把不同配置运行足够长时间、比较它们的进展,需要花费「至少数千美元的 token」。Hershey 提醒,这是一个副项目,投入前需要考虑「个人钱包的影响,以及你到底有多在乎 Pokémon」。

4. 更聪明的模型需要更少指令,却仍会以奇怪方式推理

  • Claude 潜在的 Pokémon 知识可能帮忙,也可能添乱。Thundershock 对 Geodude 无效后,它似乎完成了更新:「我忘了这一点;这个招式不起作用。」但它也曾把一个 NPC 认成 Professor Oak,并基于一个自信却错误的判断——Mount Moon 的出口在东墙——行动了12小时。

  • Sonnet 3.7 的混合推理没有造成严重倒退:它可以像早期模型一样行动,同时花更多时间思考。更值得注意的是,每一代 Pokémon 模型都让 Hershey 能删掉旧的「创可贴式提示词」;他表示自己「越来越不确定自己是否真正理解模型到底如何变得智能」,因此现在给模型更大自由度,反而优于人类自以为是的规定性直觉。

  • 他反对仅靠提示词修复导航问题的最典型案例发生在 Oak 的实验室外。Claude 走出去,宣布需要向北走,随后按上重新进入实验室;接着它按下离开,又重复了同一个循环,前后约12次。「这不是加一条提示词就能修好的问题——它就是根本没理解。」

  • 不过,小指令仍可能以意想不到的方式改变行为。一次鼓励 Claude 给 Pokémon 起昵称后,它明显变得更有保护欲,会立刻为受伤的、已经命名的伙伴治疗;此前它并不会这样做。知识库也开始记录自我评估,例如「我误判了这个东西」,这暗示了关于批量按键、观察和使用模拟器的经验可能迁移到其他任务。

5. 以里程碑为基础的评估显示了进步,也没有掩盖差距

  • Hershey 最有用的量化评估成本不低,但足够直接:让一个配置运行约10次,测量它抵达游戏里程碑的速度。道馆徽章提供了字面意义上的基准,因此这是一项「集成测试,而不是单元测试」;规模更小的场景测试可以研究特定情境,却无法捕捉完整的长时程行为。

  • Anthropic 研究图表中展示的发布前最强运行至少推进到了 Surge 的道馆;之所以在那里结束,是因为从启动运行到模型上线之间,现实中只有这么长的时间。实时运行则低于平均水平,在超过50小时后仍停留在 Mount Moon;Hershey 能指出游戏中4个让他对当前模型「真的看不到任何希望」的节点。

  • Twitch Plays Pokémon 尽管要面对互相冲突的群众指令,仍在16天7小时内打通了 Pokémon Red。Hershey 并不期待当前的 Claude 实时运行到第13天就能站在 Victory Road,但他预计持续的模型训练会改善长时程扩展能力:更广义的能力在于 Claude 越来越倾向于「纠正路线、更新认知、想办法弄明白」,然后以新的方式「硬闯过去」。