只换一层外壳:让 Opus 4.8 和 Fable 5 在 ARC-AGI-3 评测中冲到 99%

一套叫 Schema 的外壳,让模型把每一局游戏的规则写成能跑的程序、验证过了才动手。公开 25 局自评 98.98%,均未经 ARC Prize 独立验证。
作者:Impossible Research07-17 · 12 分钟⚑ 研究论文
🎧 听播客版0:00 / --:--
0:00 / --:--
研究解读 · 小互解读
一分钟速览
  • ARC-AGI-3 是一类「不告诉你规则」的游戏:AI 只拿到一块 64×64 的彩色格子和几个能按的操作,没有物体清单、没有目标说明、没有奖励提示。今年 3 月刚上线时,最强的模型也只拿到 0.51 分。
  • Schema 是一层外壳,不改模型的权重,只改「怎么用它」:让模型把每一局游戏的规则写成一段能跑的程序,拿之前记录的每一步去验证,通过后再在这段程序里搜索下一步。
  • 公开的 25 局里,Opus 4.8 搭配 Fable 5 拿到 98.98 分,GPT-5.6 Sol 拿到 95.35 分。两个成绩都是团队自评,没经过 ARC Prize 官方核验。
  • 同样是 Opus 4.8 加 Fable 5,换成原生的 Claude Code 外壳只有 42.83 分;只把外壳换成 Schema,就多了 56.15 分。
  • 这个 99% 衡量的是步数效率:拿 AI 的步数去比人类第一次玩的步数(步数比的平方)。它意味着几乎每一局都用不输给人类的效率通关了,光解出来还不够。
⚑这是 Impossible Research 自家发布的外壳,两个成绩都是团队自评、只在公开 25 局上测得,未经 ARC Prize 独立核验;换到半公开集会掉到多少,目前还没有测量。
Impossible Research × Berkeley × CMU

一种不告诉你规则的游戏

Impossible Research(与加州大学伯克利分校、卡内基梅隆大学合作)发布了 Schema,一套让前沿模型像物理学家一样玩游戏的外壳。它挑战的是一个专门为难 AI 的测试,ARC-AGI-3。

ARC-AGI-3 会丢给 AI 一局游戏,但不解释它在看什么。每走一步,AI 拿到的只有一块 64×64 的格子(16 种颜色)和一组「现在能按哪些键」。没有物体清单,没有规则说明,没有写明的目标,也没有「这一步做对了」的奖励提示。想往前走只有一条路:像物理学家那样,一边动手一边猜规则,猜错了就改。

下面这张图,就是 AI 在 25 局公开游戏里真正看到的画面。每一格是一局,它得自己搞清楚:这一堆彩色方块里,哪个是我操纵的角色,哪些是墙,哪根条子在倒计时,怎样才算通关。

ARC-AGI-3 的 25 局公开游戏画面拼图
ARC-AGI-3 的 25 局公开游戏,每格一局,AI 只能看到这样的格子画面,没有任何文字说明。来源:Impossible Research / Schema

这个测试对前沿模型极其残酷。它的官方指标叫 RHAE(相对人类行动效率),拿 AI 每关用的步数去比一个第一次玩的人。今年 3 月刚上线时,经核验的前沿模型最高只有 0.51 分;到 7 月,最好的 GPT-5.6 Sol(开到最高推理档)在半公开集也才 7.78 分,公开集 13.33 分。作为参照,人类的行动效率就是满分 100。

Schema 把这条线拨到了另一个量级:在公开的 25 局上,Opus 4.8 搭配 Fable 5 拿到 98.98 分,GPT-5.6 Sol 拿到 95.35 分。而且底层模型的权重一个字节都没改。
🔧

变的不是模型,是「怎么用模型」。Schema 是一层外壳(harness):它只重新安排了画面怎么喂进去、模型怎么把观察变成一份对游戏的理解、这份理解怎么拿真实记录去验证、计划又怎么执行和修正。同一个 Opus 4.8 加 Fable 5,换掉这层外壳,公开分从 42.83 跳到 98.98。

Schema 官方演示(47 秒):AI 一边玩一边把规则写成程序,画面里它操纵方块在迷宫里走,底部黄色条是移动预算;右下角「99 RHAE」是 Opus 4.8 + Fable 5 的公开分,对照 Sol 的 13%。来源:Impossible Research / Haiwen Feng(@HavenFeng)
先看懂这个 99%

99 分到底是什么意思

它不是「25 局解出了几局」的通关率。RHAE 衡量的是步数效率,而且带一个很重的平方惩罚。

算法是这样:每一关拿「人类的步数 ÷ AI 的步数」,再平方,上限 1.15。一局游戏里越靠后的关卡权重越高(从 1 递增到 n);而且有个和权重挂钩的完成度上限,只要有一关没通,这一局就拿不到满分。所有在游戏里真正按下去的操作,包括为了试探而走的探索步,全都算进 AI 的步数里。因为是平方,多花的步数会让分数掉得很快。

所以同样是「差不多都通关」,效率不同,分数可以天差地别。原文给了一组对照:

Agent A · 通关又省步
97.7%

7 关全通,一共 785 步,和人类基准的 776 步几乎一样。既通关又没浪费步数,拿到接近满分。

Agent B · 通关但费步
<14%

前 6 关就用掉 1591 步,是对应人类基准的 2.7 倍,第 7 关还没通。平方惩罚加上没通关的上限,分数压到 14 分以下。

所以这 98.98 分,是「完成度」和「步数效率」两件事一起打出来的综合分,不等于解题率。它逼着 AI 不光要会玩,还得玩得跟熟练的人一样省。

核心思路 · 一

像物理学家一样思考

物理学家在写下一条定律之前,得先决定「这条定律是关于什么的」:一堆观察里,哪些东西算「物体」,哪些属性定义了「状态」。定了这个,才谈得上「状态怎么变」。Schema 把这拆成两个必须一起解决的问题。

第一个问题叫状态接地:把生的画面变成能追踪的物体、变量和关系。没有任何东西告诉 AI 哪块像素是它自己、哪块是墙、哪块是「还剩几步」的计数条,它得自己认。第二个问题叫机制发现:找出这些状态在某个操作下怎么变,并把这条规则写成一段能真正运行的程序。

LEVEL 1 · 状态接地 这个世界「是什么」:哪块像素是角色、墙、计数器 生的格子画面 角色? 墙? 计数器? 自己命名出来的物体 LEVEL 2 · 机制发现 这个世界「怎么动」:状态随操作怎么变,写成 step() 程序 step(state, action) state' 弹簧墙 · 加油环 · 颜色轮转…… 每局游戏都藏着这样一条条规则 world_model.py 一份可编辑的程序 能读 · 能 diff 是一份文本,不是一团向量 能逐帧回放验证 对着真实记录一步步核对 能当模拟器免费搜索 在里面找路,不花真实步数 两层合进同一份代码 规则和实验对不上时, 反例能反过来推翻表示法本身
图:状态接地负责「发明」出物体,机制发现负责写出「状态怎么变」的规则;Schema 把两层放进同一份可编辑程序,所以当一条规则老是和实验对不上,反例可以反过来指控「是物体认错了」。

关键在于,这两个问题不能分开解。一个看起来说得通的状态表示,可能在后面的实验里露馅:怎么都找不到一条一致的规则去解释接下来的结果。这时候,光改规则不够,得改「状态到底是什么」。

核心一句

潜在的世界表示是一段程序,不是一团向量。因为是程序,它就同时具备三种性质:能读(一份你能打开、能 diff 的文本文件)、能验证(拿记录下来的真实过程一条一条重放)、能搜索(一段程序就是一个模拟器,在里面做规划不花任何真实代价)。

一个类比 · 狭义相对论

当迈克尔逊和莫雷测不到光「应该」振动所在的那种介质(以太)时,洛伦兹选了第一条路:保留以太,给规则打补丁,用收缩假设去吸收这个测不到的结果。爱因斯坦选了第二条:直接把以太从「状态」里删掉,让同时性变成相对的,预测老是失败时,物理学家动的常常不只是定律,还有「状态本身是什么」。Schema 允许 AI 做同样的事:改表示,或改规则,然后回过头把另一边补一致。

核心思路 · 二

先写程序,验证过了才动手

光有一份程序还不够,Schema 对「怎么用这份程序」下了很死的规矩。它跑一个四步的外循环:观察 → 熟虑 → 执行 → 记录。

记录(record)是系统不可更改的交互史。AI 可以随时修改自己的假设和笔记,但它改不了已经收到的画面、也改不了已经按下去的操作。这条只增不改的时间线,是唯一的真相基准。

外循环 · 对着游戏跑 观察 observe 拿到原始格子 熟虑 deliberate 推理到定下动作 执行 execute 逐步自检着走 记录 record 写进时间线 下一轮 · 出乎意料就作废计划,退回熟虑 时间线 TIMELINE · 只增不改 · 唯一真相 append-only 熟虑内部 · 一次 deliberate 里发生的事(都不碰真实环境) 写理论 write_code · 改 step() 认证 run_backtest · 回放全史 规划 run_bfs · 在模型里搜 提交 commit_actions · 唯一出手 回测对不上 → 拿这个反例回去改 step(),再来一遍
图:外循环四步对着真实游戏跑,时间线只增不改;放大「熟虑」这一步,内部是写理论 → 回测认证 → 在模型里规划 → 提交动作,只有最后一步 commit_actions 才真正把动作发给游戏。

每一次熟虑,AI 都在更新它对游戏的理论,也就是那段 step(state, action) 程序。它用 run_backtest 拿这段程序去对完整的交互史,哪一步预测和真实对不上,就用这个不匹配去定位错误;再用 run_bfs 在这个模型里搜出一条路线,把结论写进笔记。这些操作没有一个会碰到真实环境,只有 commit_actions 才把动作发给游戏,把「内部建模和搜索」跟「对外真实交互」彻底分开。

现实压过模型

执行计划时,每一个真实的转变都拿去和理论的预测比对。只要有一处对不上,就立刻停下当前计划,把这个反例带回熟虑,必须先把模型改到能解释它,才能重新规划。模型永远不许凌驾于它见到的现实之上。

还有一个反直觉的地方:AI 不只是为了通关而行动,也会专门为「搞清楚隐藏机制」而行动。当有好几条候选规则都还和历史对得上时,它会去找一个能把它们区分开的实验:一个这些规则会给出不同预测的操作,按下去,比对结果,更新 step()。因为 RHAE 对多余步数是平方惩罚,最好的实验恰恰就是「用最少的真实交互,消除最多的不确定」。一旦 step() 能重现历史里的每一步转变,接下来的解题就搬进模型里搜索,不再花额外的真实步数。

一段真实轨迹:LS20,642 步 vs 人类 780 步

AI 观察到一块 64×64、16 色的格子,操作 0–4:一个加号形状的精灵、一个青红相间的方块、一个带框的栗色符号、一根 11 号色的长条。它在笔记里推断:自机是那个 5×5 的青红方块(加号精灵是静止的),长条是「移动预算」,只在移动成功时才减少。

它写出 step(),回测重放了记录里的 36 步转变、全部对上。接着提交一串动作,结果出乎意料:77 个格子预测错了,方块把指示器重新涂成了栗色,计划作废。它把「重涂」这条规则补进模型,回测转绿,再用 run_bfs 找到最短路线,升级。就这样过了 7 关:642 步,对比人类 780 步的基准,这一局 RHAE 拿到 100。

这是外壳的功劳

换个用法,同一个模型从 43 分到 99 分

要证明「99 分是外壳的功劳,不是模型换强了」,得做受控对比:模型固定不动,只换外壳。原文用同样的 Opus 4.8 加 Fable 5 做了这件事。

把最终那份 Claude Code 的原生草稿快照当成基线输出,成绩是 42.83 分;同样这对模型,套上 Schema,拿到 98.98 分,净涨 56.15 分。

同一对模型 Opus 4.8 + Fable 5 · 只换外壳
原生 Claude Code
外壳
42.83
Schema
外壳
98.98

Claude Code 本身是个很强的通用外壳,擅长文件操作和长上下文管理,原则上它能模仿 Schema 的流程,但它不强制模型这么做。在通用外壳下,模型直接对游戏出手,也可以把自己的判断一直含在上下文里、不落成代码。Schema 则硬加了三条约束:

Schema 强加的规矩它堵住了什么
把当前世界模型编码成一段能跑的 step() 程序不许把理解只含在上下文里、说不清道不明
拿它对着每一条记录下来的转变验证过,才能用来规划不许用没验证的臆想去搜索
动作只经 commit_actions 发出,预测一错就立刻丢掉剩下的计划不许带着已经错了的模型继续走

在这个受控配置下,Schema 相对 Claude Code 基线带来 56.15 分的提升。换 GPT-5.6 时,Schema 的 Sol xhigh 与 Sol max 搭配拿到 95.35 分,但要注意,它最接近的官方参照(Sol max 公开 13.33、半公开 7.78)并不是同一个外壳的对照实验,所以图里那 82 分的差距是「参考」而非受控测出来的增益。

把 25 局逐一看:Claude 这套保留的结果里,14 局用 Opus、11 局用 Fable,其中 19 局正好满分 100;Sol 这套里 20 局满分。剩下没到 100 的那几局,分数集中在 89 到 99 之间,差距很小,而且很集中。

案例 · 表现改对的那一刻

把「东西是什么」认对,就赢了

效率到底从哪来?原文给了两个观察,也顺带露出了 Opus 4.8 和 Fable 5 在这套外壳下的真实差别。

观察一:认对了程序,行动就变省

在 AI 归纳出「能精确重现全部历史」的程序世界模型的那 14 局里,它用的步数是人类参照的 1/1.6 到 1/5。原因是花钱的地方变了:真实步数只在「发现某条机制」时付一次,之后就在模型里免费规划,而不是靠反复试错重新发现同一条机制。人类越觉得难的地方,这个优势越明显:在 M0R0 第 4 关,人类要 500 步,AI 只用 42 步。

42 vs 500
M0R0 第 4 关:AI 步数 vs 人类(这个人类觉得最难的关)
393/393
RE86:模型回放完整重现全部真实步骤,然后一次性 61 步通关

RE86 这局把整套流程走全了:run_backtest 把模型对着 393 条记录逐条重放、全部精确对上,验证过的模型再交出一条计划,一整关不靠任何额外试错就清掉:61 步的单次计划,执行时零预测错误,直接赢。这种「一次操作里核对几百帧精确画面」的能力,在无辅助的人类玩法里没有对应物。

25 局的累积步数 vs 通关层数曲线,Schema 对比人类
25 局逐一看「累积步数(横轴)对通关层数(纵轴)」:品红是 Schema,灰是第一次玩的人。绝大多数局里品红线压在灰线上方,同样的层数用更少步数;官方数下来,Schema 在 96% 的关卡上快过人类,整体 99.0% RHAE。来源:Impossible Research

观察二:Fable 更早去怀疑「东西认错了」

在两个模型都尝试过的游戏上比 Opus 4.8 Max 和 Fable 5,Fable 拿到更高的 RHAE,靠的是两种方式:有的局它发现的模型能通 Opus 通不了的关;有的局两者都通,但 Fable 用更少的真实步数到达同一个终点。

成对的轨迹指向同一个解释:一次预测失败之后,Fable 更常去质疑「表示法本身」,识别出真正要紧的那个不确定,然后挑一个「不同假设会给出不同结果」的操作去试,再把观察变成一条可复用的规则。Opus 往往最后也能发现同一条机制,但要先在它现有的表示法里,多花些步数去测各种目标、条件、配置。

FT09 · Fable 5 · 先怀疑表示法
约 11 步

不纠结目标逻辑,先去试那个被当成装饰的物体本身能不能动。

FT09 · Opus 4.8 Max · 在旧表示里修目标
多花约 240 步

注意到同样的矛盾,却在旧表示里反复修目标,绕了很久才认到同一条机制。

在 FT09 这局,棋盘满足了当前的目标逻辑却不推进,Fable 转而去试一个更基本的问题:那个被当成装饰的「检查器」本身能不能点?一点,露出一个「点一下会翻转自己和上下左右邻居」的十字按钮。Fable 把这个观察写成代码,11 步后清关,下一关 13 步搞定。Opus 注意到了同样的矛盾,却又花了大约 240 步去测别的目标状态解释,直到第 287 步才去戳那个检查器、记下同一条隐藏机制。两个模型都能表达、也都能用这条规则;差别只在于「谁更快挑到那个让缺失线索现形的实验」。

WA30 · 改对表示之后

AI 承认「我把这个方块的模型整个搞错了」,换成「方块随自机的携带状态变化」的规则那一刻,误预测从每关几十个塌缩到 4 个。此后第 5、8、9 关,它只用人类步数的 1/4 到 1/6,同一个模型一路复用,不再重新发现。

WA30 · 改对之前

在第 2 到第 4 关,它把方块当成「能直接操纵的物体」,步数比人类还多。新观察不断和这个模型冲突,每次冲突都逼它去做更多真实实验。

三个案例落到同一句话上:一个通用的机制,并不意味着「从不改变」;它指的是那种「每次修改都保住了先前的解释框架、并且压低了新关卡的代价」的机制。搜索只在它所依据的世界模型之内才算完备:一旦缺的那个物体、状态变量或转变被表示出来,现成的验证器和规划器往往就够了;可要是观察分不清哪个才是对的表示,同一套机制也会去验证并穷举一个错的表示。

边界与方向

一个新的起点

ARC-AGI-3 是这个飞速演进的领域里一个重要的基准。3 月它上线时,领先的前沿 Agent 只有 0.51 分;到 7 月,最好的官方 Sol Max 在公开集到 13.33、半公开集 7.78,而自评结果一度爬到每局 RHAE 均值 58.12 分。

Schema 自评的 98.98 分,是这条轨迹的延续,不是断裂。原文自己把话说清楚了:这里每一个数字都只在 25 局公开游戏上测过。Sol max 提供了唯一一个跨评测集的官方校准点(公开 13.33 对半公开 7.78),但这不足以把一个接近满分的公开成绩往半公开集上做数值外推:公开的 98.98 到了半公开会变成多少,在测出来之前无人知道。可拿到的运行材料只记录了公开集,所以这篇发布没有做「固定外壳」或「留出集表现」的声明。另外,两个成绩都是自评、未经 ARC Prize 独立核验,图里的 Sol 曲线也是在完整评测材料发布前、从原始图表起出来的暂定值。

研究者把一个被刷到饱和的 ARC-3 读成一个新的起点:让「机制发现」成为一种通用能力:通过行动与感知的智能体循环,去把一个世界的因果结构接地,而这个世界,要比 64×64 的格子丰富得多。那是他们想去的方向。

关键的原料其实早就在冒头:能适应陌生环境的前沿模型、编程智能体外壳、以及程序化的世界模型。Schema,是把它们拢到一起的那套系统。 Impossible Research,Schema 发布博客
来源:Impossible Research《Frontier Models with Our Harness Achieve ~99% on ARC-AGI-3 Public》(schema-harness.github.io)。作者 Guanning Zeng、Jiani Wang、Wenjie Ma、Shaofeng Yin 等,Impossible Research,与加州大学伯克利分校、卡内基梅隆大学合作。文中 98.98%、95.35% 均为团队在公开 25 局上的自评成绩,未经 ARC Prize 独立核验;游戏画面拼图、数据与案例均出自该发布博客。文中 RE86、LS20、M0R0 等实测轨迹,团队已全部公开在 Hugging Face 数据集 schema-harness/arc-agi-3-schema-traces,可自行核对。本文为第三方解读。
来源
Impossible ResearchImpossible Research·查看主材料