AI玩陌生游戏靠什么决策:MEMENTO 3用规则手册加代码边玩边改
你可能没想过这个问题:一个AI去玩一个从没见过的游戏,它到底是靠什么在做决策?大部分人以为答案是经验,就是把这个游戏喂给AI练习几万次,它慢慢就学会了套路。但这篇论文讨论的场景完全不同。想象你被扔进一个陌生的密室,墙上的按钮、地上的图案、角落里的机关,没有任何说明书。你能做的只有一件事:试着按一下,看看...
一个从没见过的游戏摆在面前,AI究竟拿什么做判断?这个问题可能不少人没细想过。
多数人的直觉是经验——把游戏丢给AI练上几万次,套路自然就熟了。可这篇论文聊的场景压根不是这么回事。设想你被塞进一间陌生密室,墙上有按钮,地上有图案,角落里藏着机关,说明书一张没有。能做的只有一件事:按一下试试,看会发生什么,再根据结果倒推这个按钮是干什么的。
ARC-AGI-3这个测试平台想干的正是这件事。游戏规则它不讲,连目标是什么都不提,AI只能一遍遍试动作、盯画面变化,自己把这个世界怎么运转拼出来。
听着不难,里头却埋着一个挺麻烦的陷阱。
**猜规则的时候,有限的观察常常能同时对上好几种可能,而这些可能在没见过的情形下给出的答案完全两样。**
论文里有个很贴切的例子:假如你看到的每一面墙都落在第7列,那“箱子撞墙会停”和“箱子到第7列会停”这两种解释,对着已有的证据看一样成立。可哪天墙出现在第12列,两个猜测就分家了,一个说箱子该停,一个说箱子该接着走。翻回放记录也分不出谁对,因为两种说法都跟你看过的一切严丝合缝。
论文真正要啃的硬骨头就在这儿:**如何让AI不光记住“发生过什么”,还能提出、检验并修正“为什么会发生”的猜想。**
这套系统被论文团队命名为MEMENTO 3,属于Memento系列研究的第三代。前两代做的事,说白了是教AI从经验里提炼更优的行动策略,等于告诉它“这么干比那么干划算”。到了这一代,要解决的是更底层的问题:AI得先弄明白这个世界的物理规则是什么,这是“怎么做”之前更基础的“是什么”。
规则手册加上可执行代码:两条腿走路
论文最核心的设计叫Code as Model,中文直译“代码即模型”。具体做法是让AI同时维护两样东西。
头一样是自然语言写的规则手册,论文里称rulebook。它记下AI眼下对这个游戏的理解:这个图案是什么意思、按那个按钮会怎样、什么情况算通关。手册允许留白,有些机制还没摸透,就先不写死,留着往后改。
另一样是把手册翻译成的可执行代码,叫executable。这段代码能真跑起来,模拟游戏下一步会怎样,供AI做规划时用。
规则手册(rulebook):用自然语言记录AI对环境规则的理解,可以留白未知部分,方便随时修改。
可执行代码(executable):把规则手册翻译成程序代码,能实际运行来预测下一步会发生什么。
那为什么非得两样一起维护,不干脆让AI直接写代码了事?
这里头有个容易被忽略的设计考量。代码天生精确,可精确有时反成短板:写代码得把每个分支填满,“不确定”这个选项根本不存在。偏偏AI刚碰上一个新游戏时,大量东西都是不确定的。硬逼它立刻把所有逻辑写成代码,它要么瞎编个具体数值糊弄过去,比如前面说的“墙在第7列”那种过拟合猜测,要么就卡在那儿不敢动笔。
规则手册给了AI一口喘气的余地。它可以先用语言含糊地写“碰到某种机关会改变图案”,不必急着交代图案究竟怎么变。等证据攒够了,再把这条模糊规则收紧成精确代码。
这好比去陌生城市找路,起初只能记“这条街尽头好像有个拐弯”,这种粗略描述让你先迈开步子,而不是非把拐弯角度量准了才敢走。真要等角度量准才挪窝,怕是第一个路口都出不去。规则手册的作用就是容得下这种暂时的模糊,给探索留空间。
论文还强调了一点:规则要改,必须先写进手册,再编译成代码,顺序不能倒过来。AI若发现代码跑出的结果不对,得先想清楚是“我对规则的理解错了”还是“我把规则翻成代码时出了bug”,再分别处理。这个区分挺要紧,两种错误的修法压根不同,一个动世界观,一个只动语法。
五步循环:观察、反思、改规则、编译、验证
整个学习过程被切成五个步骤,循环往复地跑。
第一步是观察。AI执行一个动作,看到新画面,把这段经历记下来,变成历史记录的一部分。
接下来进入反思环节:把新拿到的证据跟现有的规则手册、代码逐项对照,看看到底是维持原来的理解,还是得改动规则手册,抑或只是代码写错了、该修 bug。
第三步是规则修订。如果确实是理解错了,AI会调用语言模型重写规则手册里相应的条目。
新规则手册要先翻译成新代码,这是第四步。紧接着是第五步——验证,也是整套机制中最硬的保障。
验证分两道关。头一道叫回放检验:AI此前做过的每一个动作,都要放到新代码上重跑一遍,预测出的每一帧画面得跟实际记录的画面逐像素吻合,论文里称这个要求为cell-exact,即64×64网格中任何一格都不许出错。第二道关则交给语言模型自己审:这段代码是否忠实实现了规则手册所写的内容,有没有悄悄塞进手册未提及的逻辑,或者漏掉本该有的逻辑。
cell-exact replay(逐格精确回放):把历史上发生过的全部动作在新代码里重新模拟,预测出的每一个画面格子都必须与真实记录完全一致,哪怕错一个像素也不通过。
两道关都通过,新的规则手册和代码才算被正式采纳;否则退回重做反思。
这个双重验证机制需要多讲几句。为什么不能只听AI自己说"我觉得这段代码对"?语言模型自身的判断存在偏差,它可能认为某种解释听起来合理,但这种合理感未必对应真实世界的运作方式。论文里专门写了一句:选择语言模型觉得排名靠前的答案,有可能把真正正确的答案排除掉。这话是很诚实的自我警惕。因此验证机制中必须有一道硬性的、依据实际执行结果的检验,不能完全依赖AI的自我感觉。
拿厨师试菜来比:光凭厨师自己说"这道菜味道应该对了"不够,得真让人尝一口,这一口下去,对就是对,不对就是不对,没有商量的余地。要是跳过这道真实检验,厨师可能在自己的想象里越走越偏,做出一道他自己觉得完美、却没人爱吃的菜。
版本空间:一个记录永远存在好几种解释
论文用了个比较学术的词——版本空间(version space),这个概念其实源自上世纪70年代的机器学习经典理论。它指的是:给定一堆观察证据,所有能完美解释这些证据、但彼此之间可能预测出不同结果的假设,构成一个集合。
放到这篇论文的场景里,这个概念特别贴切。有限的互动记录,永远可能同时支撑好几种不同的规则解释。AI选中的那一个不一定是"真相",只是"目前暂时没被推翻"的那一个。
论文给了一个很有意思的处理原则:在所有能解释已有证据、又能通过验证的候选规则里,优先挑最简洁的那个。理由来自一种叫最小描述长度的思想,说白了就是"如无必要,勿增实体",是奥卡姆剃刀的一种数学化表达。
最小描述长度(MDL)原则讲的是:几个假设都能把手头证据解释通时,该挑那个说起来最简单的,原因在于复杂的解释常常只是把已有的观察过度拟合了。
不过这个偏好并不能彻底解决问题。论文很坦诚地指出,这种简化偏好并不消除不确定性,而且选定一种假设去探索,很可能让AI主动避开那些能证伪这个假设的证据。换句话说,AI一旦觉得"我懂了",它接下来的行为很可能反而绕开能打脸自己的那些情况,这是一种挺人性化的bug。
从一个大脑到一群大脑:种群扩展
为了防住这种"自我确认",论文给出的扩展办法是:规则手册和代码不只备一套,而是同时维护N套,让它们并行运行,彼此共用同一份互动记录。
这套设计的巧妙之处在于,每次要规划下一步行动,系统会从这N套假设里随机挑一个来指导决策。不同的假设对世界的理解不一样,自然会做出不一样的判断,也就倾向于探索不同的路径。所有真实发生的互动结果,都会同时拿去检验这N套假设,只要有一套被打脸,它就进入反思修正流程,其它没被打脸的假设则保持原样。
论文里还有个细节处理得很细致:系统不会把"写法不同但本质预测一样"的两套假设都当成真正的多样性。它专门定义了一种叫行为等价类的判断标准,如果两套不同的代码对接下来该走哪一步给出的动作序列完全相同,它们就被归为一类,系统只需要保留其中一个代表。这样能避免把算力浪费在表面不同、实质相同的假设上。
这个思路很像一个画面:一桩案子由几个侦探分头查,每人心里各有一套嫌疑推断。他们并不各查各的,线索全部互通,新线索一出现,凡是跟它对不上的推断立刻被推翻。还立得住的推断,会带着各自的主人去不同地点搜查,整组人铺开的搜索面因此比一个侦探独自琢磨宽得多。要是只派一个人查,他最初的直觉很可能就把方向带偏了,之后查的每样东西都只是在给自己那个也许一开始就错的猜想找证据。
论文拿wa30这个游戏做了对照实验,在25个公开游戏里,它的人类平均动作数最多、难度最高。只跑单一假设的那版用了899步动作通关,两套假设并行的版本只花了597步,省下超过三分之一。两个版本最终都拿到满分,可见多开假设并非单纯多费资源,探索效率确实被抬上去了。
测试成绩:25个游戏全部通关,用了不到一半的人类动作数
说了这么多设计思路,实际效果到底怎样?
ARC-AGI-3平台一共有25个公开的游戏关卡,每个游戏都有若干小关。评判标准不只是看能不能通关,还要看相对于人类玩家,AI用了多少步动作,这个指标论文里叫RHAE,全称是相对人类动作效率(Relative Human Action Efficiency),满分是100。
RHAE(相对人类动作效率):衡量的是AI打通关卡所耗动作数相对人类玩家的效率,分数越靠近100甚至越过100,就说明AI的动作效率越接近人类或者已经超过人类。
在全部25个游戏上,只保留单一假设版本的MEMENTO 3把每一关都打通了,RHAE平均分拿到满分100.0,动作总数为7518步,只相当于人类平均动作数的44%。
把这些数字放进对比表里更直观。论文选了几个同样出现在ARC-AGI-3社区排行榜上、并且发表过论文的系统作参照:baseline1也通关了全部25个游戏,RHAE是99.0,用了8347步;NOOA通关19个游戏,RHAE 85.1;OPINE-World通关20个,RHAE 78.4;DreamTeam只过了6个,RHAE 38.1;Continual Harness通关3个,RHAE 20.5。那些没能打通全部游戏的系统,总动作数其实不太适合直接拿来比较——那是“没做完就停了”的花费,不是“真正解决问题”的成本。
论文还专门设计了一组对照实验:把规则手册这个部件从系统里摘掉,只留下代码世界模型本身,其他一切保持不变。测试挑了难度不同的三个游戏——简单的ft09、中等的ka59、困难的cn04。结果是,带规则手册的版本在三个游戏里动作步数和“AI决策轮次”都更少,三个游戏合计动作数少了9%,决策轮次少了18%。规则手册并不是个摆设,它确实在帮AI更快收敛到一个靠谱的世界模型。
Pong案例:学会之后,再也不用调用语言模型了
上面说的都是ARC-AGI-3这类离散关卡任务,每一步的决策空间相对简单。不过论文还做了一个挺有意思的拓展实验:雅达利经典游戏Pong,就是那个简单的乒乓球对战游戏。
这个实验要问的是:同一套规则手册学习机制,能不能支撑起一种完全不同的控制方式——不是“规划出一串动作然后执行”,而是“实时根据画面反馈,一帧一帧地做决策”?
Pong这游戏的难点在于,AI不只要理解球的物理运动规律,还得琢磨透对手球拍的行为模式,这是个双人对抗的场景。
论文记录下的学习过程相当直观。AI 起初的猜想是把球拍划成四块面积相同的区域,球落在哪一块,弹出去的角度就不同,这套猜想被称为“四段假设”。问题在于,它解释不了球被水平弹回的情形。后来还真出现了一次击中球拍正中心的击球,球平直地弹了回去,这一状态持续了一百多帧。证据摆在眼前,“四段假设”被直接否定——四段的设定里根本没有“水平”这一项。AI 随后换成一个以拍面中心为参照的连续公式。可这个新公式在球拍边缘击球时把弹射速度算高了,于是再作调整,最终形成一个不对称、带有速度上限的区间映射。
整个过程特别像一个人在不断用新证据修正自己的物理直觉,每一次被现实打脸,都换来一次更精细的理解。
学成的控制器在三场对局中都打出了21比0,三场的开局方式各不相同。更关键的一点是:控制器学成之后,实际比赛时根本不必再调用语言模型,跑的是编译出来的那段执行代码,反应速度和推理成本跟语言模型实时决策完全不在一个量级。
论文还拿这个结果和强化学习领域的经典方法做了对比。像GDI、LASER这些传统的无模型强化学习方法,拿到满分21分需要训练2亿帧游戏画面。即便是号称样本效率很高的EfficientZero系列,也需要40万帧。而MEMENTO 3学到这个Pong控制器,只用了9504帧,比最省的强化学习基线EfficientZero还少了42倍,比那些传统方法少了两万多倍。
两组数字放在一起,差距相当扎眼。强化学习靠海量试错逐个调整参数,好比挥拍练上一万次才摸到手感;这套做法则是凭几次关键观察就把物理规律总结出来,像物理老师看几场实验就能写出公式,用不着把实验重复一万遍。两种方式面对的问题类型并不完全一致:强化学习不要求环境“可解释”,论文里的方法则依赖环境规律本身能被语言和代码讲清楚。不过在 Pong 这种规则相对简单明确的场景里,差距确实摆出了显式建模在效率上的优势。
用Git记住每一次犯过的错
论文里还有个容易看漏、但很实用的小安排:规则手册和代码的演化过程全部存进 Git 仓库,也就是程序员平常用的那套版本控制工具。
规则手册和代码每改完一次,系统就把当前状态提交一回,并打上版本号。也就是说,AI 写过的每一版规则手册、每一版代码都完整留着,没有被覆盖掉。
这么做解决的是一个挺现实的问题。假如每次修改都直接把旧版本盖掉,AI 就无从回看自己当初是怎么想的;新改动要是带进了新 bug,也不方便比对究竟哪一步出了岔子。有了版本历史,AI 能调出某一时刻的规则手册和代码,比对前后两版的差异;新修改把代码弄坏时,还能直接退回之前能用的那一版。
论文给了一个具体例子:游戏 tr87 的某次运行中,规则手册前后改了11个版本。一开始,AI 面对游戏里的符号图案,同时留着两种彼此冲突的猜测——一种认为符号朝向固定,另一种认为符号会随某种操作旋转。互动几步之后,AI 确认符号本身的身份不因旋转而改变,这是条关键且不显然的规则,游戏正是故意拿这个特性来设迷惑。又走了几十步,AI 进一步验证了整款游戏的玩法逻辑,甚至把自己先前关于“光标指示方向”的理解推翻了,原因是新关卡里光标的指向关系反了过来。
这种带版本号的记忆机制,很像人做研究时记笔记、留草稿的做法。科学家做实验,不会把上一版假设撕掉重写,而是把旧的留着,标明“这个假设被哪个实验推翻了、为什么”。被推翻的记录本身也是知识的一部分,不是废纸。若每次都直接覆盖,人很容易在某个阶段原地打转,把犯过的错误再犯一遍,因为压根不记得自己走过这条路。
Q&A
Q1:MEMENTO 3是什么?
MEMENTO 3是什么?简单说,它是一个让冻结参数的大语言模型智能体靠外部记忆不断学习世界模型的系统。其核心设计名为Code as Model,AI要同时维护两样东西:自然语言写成的规则手册,以及可执行的代码。它一边探索,一边修正自己对环境规则的理解。
Q2:MEMENTO 3在ARC-AGI-3上表现如何?单模型版本在全部25个公开游戏中每一关都通关,相对人类动作效率RHAE平均分拿到满分100.0,总共只用了人类平均动作数的44%,也就是7518步。
Q3:MEMENTO 3在Pong游戏里的表现怎么样?它学出的控制器在三场开局各不相同的对局中都打出21比0的满分战绩。学习过程只用了9504帧游戏画面,比传统强化学习方法少了两万多倍;比赛时也不再需要调用语言模型。