你可能没想过这个问题:一个AI去玩一个从没见过的游戏,它到底是靠什么在做决策?
大部分人以为答案是经验,就是把这个游戏喂给AI练习几万次,它慢慢就学会了套路。但这篇论文讨论的场景完全不同。想象你被扔进一个陌生的密室,墙上的按钮、地上的图案、角落里的机关,没有任何说明书。你能做的只有一件事:试着按一下,看看发生了什么,然后根据结果猜测这个按钮到底是干嘛的。
这就是ARC-AGI-3这个测试平台想干的事情。它不告诉AI游戏规则是什么,甚至连目标是什么都不说,AI只能通过一次次尝试动作,观察画面的变化,自己拼凑出这个世界的运行逻辑。
这事听起来简单,但藏着一个很棘手的陷阱。
**猜测规则时,有限的观察往往能同时解释好几种不同的可能性,而这些可能性在没见过的地方会给出完全不同的答案。**
论文里举了个特别贴切的例子:如果你观察到的每一面墙都在第7列,那么“箱子撞到墙会停下”和“箱子到了第7列会停下”这两种解释,对你已经看到的证据来说完全一样正确。可一旦某天墙出现在第12列,这两种猜测就会分道扬镳,一个说箱子该停了,一个说箱子该继续走。你没法靠回放已有的记录来分辨谁对谁错,因为两种说法都完美符合你看过的一切。
这就是这篇论文真正要解决的核心难题:**怎么让一个AI不仅记住“发生过什么”,还能形成、检验、修正“为什么会发生”的猜想。**
论文团队给这个系统起名叫MEMENTO 3,是他们Memento系列研究的第三代。前两代做的事情,简单说是教AI怎么从经验里总结出更好的行动策略,相当于告诉AI“这么做比那么做更划算”。而这一代要解决的是更底层的问题:AI得先搞懂这个世界的物理规则是什么,这是“怎么做”之前更基础的“是什么”的问题。
规则手册加上可执行代码:两条腿走路
这篇论文最核心的设计,叫Code as Model,中文直译是“代码即模型”。它的做法是让AI同时维护两样东西。
第一样是一本用自然语言写的规则手册,论文里叫rulebook。这本手册记录AI当前对这个游戏的理解:这个图案代表什么、按这个按钮会发生什么、什么时候算通关。这本手册可以留白,有些机制AI还没搞明白的,就先不写死,留着以后修正。
第二样是把这本手册翻译成的可执行代码,叫executable。这段代码能真的跑起来,模拟游戏的下一步会发生什么,供AI做规划用。
规则手册(rulebook):用自然语言记录AI对环境规则的理解,可以留白未知部分,方便随时修改。
可执行代码(executable):把规则手册翻译成程序代码,能实际运行来预测下一步会发生什么。
为什么非要两样东西一起维护,而不是直接让AI写代码就完了?
这里藏着一个很容易被忽略的设计智慧。代码这种东西天生精确,但精确有时候是缺陷:写代码的时候你必须把每个分支都填满,不能留“不确定”这个选项。可AI刚接触一个新游戏的时候,恰恰有大量东西是不确定的。如果强迫它立刻把所有逻辑都写成代码,它要么瞎编一个具体数值蒙混过关,比如前面说的“墙在第7列”这种过拟合的猜测,要么干脆卡住不敢往下写。
规则手册给了AI一个喘息的空间。它可以先用语言模糊地说“碰到某种机关会改变图案”,而不急着写出图案到底怎么变。等观察到足够的证据,再把这条模糊的规则收紧成精确的代码。
这就像你去一个陌生城市找路,一开始只能记“这条街尽头好像有个拐弯”,这种粗略的描述允许你先往前走,而不是非要精确测量拐弯的角度才敢迈步。如果非要等到角度量准了才肯挪动,你可能永远走不出第一个路口。规则手册的作用就是容忍这种暂时的模糊,给探索留出余地。
论文还强调了一点:规则的改变必须先写进手册,再编译成代码,而不能反过来。如果AI发现代码跑出来的结果不对,它得先想清楚是“我对规则的理解错了”还是“我把规则翻译成代码的时候出了bug”,然后分别对症下药。这种区分其实挺关键的,因为这两种错误的修法完全不一样,一个要改世界观,一个只要改语法。
五步循环:观察、反思、改规则、编译、验证
整个学习过程被拆成了五个步骤,循环往复地跑。
第一步是观察。AI执行一个动作,看到新的画面,把这段经历记下来,变成历史记录的一部分。
第二步是反思。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,说明AI的动作效率越接近或超过人类。
单一假设版本的MEMENTO 3在全部25个游戏里,每一关都通关了,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是什么?
A:MEMENTO 3是一个让冻结参数的大语言模型智能体通过外部记忆持续学习世界模型的系统,核心设计叫Code as Model,让AI同时维护自然语言规则手册和可执行代码,边探索边修正对环境规则的理解。
Q2:MEMENTO 3在ARC-AGI-3上表现如何?
A:单模型版本在全部25个公开游戏里每一关都通关,相对人类动作效率RHAE平均分达到满分100.0,总共只用了人类平均动作数的44%,即7518步。
Q3:MEMENTO 3在Pong游戏里的表现怎么样?
A:学出的控制器在三场开局不同的对局中都打出21比0的满分战绩,而且学习只用了9504帧游戏画面,比传统强化学习方法少了两万多倍,且比赛时不再需要调用语言模型。







