Jev 游玩《宝可梦:红》—— AI 实时游戏演示与社区见解

快速概览

Jev 是一个 AI 驱动的决策模型,能够全程直播游玩《宝可梦:红》。它展示了低成本、快速的动作选择能力,同时也暴露了一些明显的失败模式,例如在门口循环往复以及战斗决策不够优化等问题。


Jev 的功能

  • 实时游戏:演示直播《宝可梦:红》,默认静音;用户可以取消静音以收听游戏声音。
  • 决策面板:右侧面板列出了 AI 的每一次决策及其分配的概率(几率)。
  • 引导式导航:AI 遵循预先计算好的指南,告知其下一步去向,类似于人类的攻略。
  • 开源:代码可在 GitHub (https://github.com/christianmat/jev-pokemon) 上获取,实时应用托管在 https://jev-pokemon.vercel.app/。

系统工作原理

  1. 状态提取 – 从模拟器内存中读取游戏状态(即“内存黑客”技术),提供关于位置、物品栏和战斗状态的精确信息。
  2. 决策模型 – 一个轻量级语言模型(称为 Jev)接收当前状态的文本描述和一系列可能的动作(例如“向北移动”、“选择菜单选项”)。
  3. 概率评分 – 模型返回动作的概率分布;概率最高的动作会被发送为按键指令。
  4. 引导覆盖层 – 一个独立的引导模块提供高层级的路点(例如“前往深灰市”),限制动作空间并防止漫无目的地游荡。
  5. 循环检测 – 系统记录每一次决策;当相同状态再次出现时,模型可能会重复之前的动作,从而导致观察到的循环现象。

“右侧面板显示了每一次决策以及 Jev 的概率。” – 项目描述

社区观察

亮点总结

  • 速度与成本:评论者指出 AI 的决策速度极快,且货币成本极低(38 小时游戏时间仅需约 1.65 美元)。
  • 透明度:实时决策面板让观察者能够看到模型的置信度,这在许多 AI 游戏演示中是罕见的。
  • 概念验证:完成游戏(或到达四天王)证明了紧凑的决策引擎可以处理完整的 RPG 循环。

“干得漂亮!看到它玩通整个游戏真是太酷了。我这周花光了我的 fable 预算来构建类似的东西,但只玩到了小刚那里。” – hummusFiend

弱点与失败模式

  • 循环行为:用户报告称 AI 在火箭队基地等地点会卡住几分钟,反复打开同一扇门。
  • 受限的路径选择:决策集受到指南的严格约束,当 AI 无法偏离预写路径时,它显得很“笨”。
  • 战斗策略不佳:AI 有时会做出糟糕的决策,例如教喷火龙学习非伤害技能 Counter,而不是火系攻击技能。
  • 缺乏视觉能力:系统依赖内存读取而非原始像素输入,限制了其在其他游戏中的通用性。

“我希望 Jev 能接收图像输入,这样我们就可以在不使用内存黑客的情况下,将其通用化到任何游戏中。” – avaer

架构问题

  • 角色移动控制:“Jev 调用”计数器仅在菜单或战斗提示时增加,这表明有单独的脚本处理低级移动,而 Jev 负责决定高级动作。
  • 目标来源:指南似乎提供了高级目标(例如“到达宝可梦中心”),但演示中并未公开生成这些目标的具体机制。
  • 更大模型的潜力:一些评论者想知道像 Fable 这样更大的模型是否可以取代指南,同时处理高级规划和低级执行。

“查看 gh 仓库中的图表,看起来这完全是 Jev 在运作。有没有人使用像 Fable 这样的大模型来处理高级目标的例子?” – lwarfield

为什么这很重要

  • “系统一”AI 的基准:像《宝可梦:红》这样的游戏提供了一个受控环境,用于测试快速、反射式的决策能力,而无需视觉转文本流水线的延迟。
  • 混合 AI 流水线:该项目展示了一种有前景的拆分方式——使用高级规划器(可能是大型 LLM)来设定目标,使用轻量级决策引擎进行快速执行。
  • 高性价比研究:展示了以不到两美元的成本完成全游戏流程,证明了无需庞大的计算预算即可进行大规模 AI 游戏实验。

开放问题与未来方向

  1. 基于视觉的输入:用图像转文本模型取代内存黑客,可以扩大其在现代游戏中的适用性。
  2. 动态目标生成:集成大型 LLM 以动态生成和调整目标,可能会减少对人工编写指南的依赖。
  3. 循环缓解:实现状态历史感知或强化学习风格的惩罚机制,可以防止无休止的开门循环。
  4. 多人游戏考量:正如社区成员所指出的,在在线游戏中部署此类代理会引发反作弊和公平性问题。

总结:Jev 的《宝可梦:红》实时运行证明了紧凑的决策模型可以以低成本导航复杂的 RPG,但演示也强调了在超越受限、易循环的行为方面,需要更好的状态感知、视觉集成和更高级的规划能力。

Sources

相关

  • Dispatch
  • 项目
  • Dispatch
  • 项目
  • Dispatch