Back to Blog

Schema:一个让 AI 像物理学家一样思考的 Harness

Paper
2026-07-18 · schema-harness.github.io · ARC-AGI-3 Public 98.98% RHAE
核心洞察:Schema 不改变模型权重,而是改变模型周围的过程——如何从原始观测中构建世界模型、如何用交互历史检验预测、如何执行和修正计划。其核心将 State Grounding 和 Mechanism Discovery 合并为同一个可编辑程序,实现了从像素到物理法则的端到端推理。

背景:ARC-AGI-3 为什么这么难?

ARC-AGI-3 给 agent 一个游戏环境,但不告诉它规则。每一步,agent 收到一个 64×64 网格(16 色)和一组合法动作。没有物体列表、没有规则说明书、没有目标描述、没有奖励函数。

只有一条路:科学家之路。agent 必须在世界模型尚不完备的状态下行动——先形成假说(网格代表什么?动作如何改变它?什么算成功?),然后在收集新观测的过程中不断修正自己的模型和计划。

这个 benchmark 自 2026 年 3 月发布以来,一直极其困难。其官方指标 RHAE(Relative Human Action Efficiency)将 agent 的动作效率与人类首次尝试对比。截至 7 月,前沿模型在 Semi-Private 集上的最佳验证成绩仅为 GPT-5.6 Sol 的 7.78%,Public 集上 13.33%。

而 Schema 在 Public 集上达到了 98.98%——用 Claude Opus 4.8 + Fable 5,不改变任何模型权重。

物理学家式的思考

Schema 的设计哲学来自物理学方法论。物理学家在写定律之前,必须先决定这个定律是关于什么的——哪些观测是"物体"?哪些性质定义了"状态"?只有回答了这些问题,才能问"状态如何变化"。

Schema 把这两个问题形式化为两级抽象:

Level 1 · State Grounding(状态奠基)

从原始像素中发明物体、量、名称。没有人告诉你哪些像素是"玩家"、是"墙"、是"计数器"——agent 必须自己构造。

Level 2 · Mechanism Discovery(机制发现)

在奠基后的状态上,找到变化规律:(state, action) → state′,并将其写为可执行的程序 step()。

这两层不能独立解决。一个看似合理的状态表示,可能在后来的实验中被证伪——因为找不到一个一致的 transition rule 能解释所有结果。Schema 将状态表示和 transition rule 共同编码在同一个可编辑程序中。当观察与预测冲突时,agent 可以修改表示,也可以修改规则,然后更新另一方以恢复一致性。

论文用了一个绝妙的类比:Michelson-Morley 实验。Lorentz 保住了以太(level 1 不改),给规则打补丁(contraction hypotheses)来吸收零结果。Einstein 直接丢弃以太(改 level 1),让同时性变为相对,得到了更简洁的电动力学。ARC-AGI-3 要求 agent 在两个层面都能做这件事——而 Schema 做到了。

Schema 控制循环

Schema 的设计围绕一个四阶段循环展开:

阶段操作说明
Observe接收原始网格64×64 像素——其中每个"物体"都是 agent 自己发明的
Deliberate开放推理环节内层循环:theorize → certify → plan → commit,以提交动作队列结束
Execute执行动作队列每步用世界模型的预测做自检
Record追加到 Timelineappend-only,每条真实 transition 都永久留存

在 Deliberate 的内部循环中:

  • theorize / write_code:编辑对游戏的"理论"——写 step(state, action)
  • certify / run_backtest:回放每一条已记录的 transition——完全匹配,或精确指出 bug
  • plan / run_bfs:在认证后的程序内部搜索——零真实成本
  • commit / commit_actions:从思维到行动的唯一通道

核心思想:latent world representation 是程序,不是向量。它是可解释的(纯文本文件,可读可 diff)、可验证的(对照记录的现实逐条回放)、可搜索的(程序即模拟器,内部规划零成本)。

效果:不是刷榜,是范式验证

Schema 在 Public 集 25 个游戏上的表现:

配置RHAE满分游戏数中位游戏分
Claude Opus 4.8 + Fable 598.98%19/25100
GPT-5.6 Sol xhigh + max95.35%20/25100
Claude Code 基线(同模型)42.83%
GPT-5.6 Sol 官方最佳单 variant13.33%

固定 Claude 模型不变,Schema harness 相对 Claude Code 基线提升了 +56.15 个百分点。这个数字说明:怎么用模型,比用什么模型,重要得多

关键观察:让程序替你做实验

论文中最漂亮的发现:在 25 个游戏中的 14 个里,agent 诱导出的程序世界模型精确再现了其历史记录。在这些游戏中,agent 动作用量是人类的 1.6–5.0 分之一

原因是一个质的转变——agent 只在"发现机制"这一步花真实动作,之后的所有规划都在模型内部零成本完成。这依赖两个能力:

  1. 对照完整历史做验证:每条真实 transition 都记录在 append-only Timeline 中。run_backtest 用全部历史检验每个候选规则,而非依赖记忆。因为记录不受上下文窗口限制,认证后的模型可以信任,无需再花动作做真实环境测试。
  2. 在可复用的模拟器内部做规划:一旦 step() 和 is_goal() 被认证,BFS 可以探索 10³–10⁴ 个建模状态而不花一个环境动作。而且模型以代码形式持久存在,这个"免费规划"在后续每个 level 都继续有效。

最极端的案例是 M0R0 Level 4:agent 用 42 步完成,人类基线是 500 步——恰好符合"为发现机制付一次成本,之后所有计划在模型内重算"的模式。

为什么叫 Schema?

Schema 这个名字暗含了它的设计哲学——认知心理学中的"图式"概念。图式不只是知识,更是组织经验的框架。Schema harness 做的事情本质上就是让 agent 在交互中构建一个可操作的世界图式:这不是从训练数据中蒸馏出来的统计模式,而是从交互中归纳出来的、可执行、可验证、可修正的程序

这跟 MemoHarness(同属 harness 优化路线)形成了有趣的对比:MemoHarness 是从执行经验中优化 harness 本身的配置,而 Schema 是让 harness 引导 agent 构建一个可编程的世界模型。两者都指向同一个方向——harness 工程正在成为 agent 能力的关键分水岭

坦诚的局限

Schema 团队非常坦率地声明了当前状态的限制:

  • 98.98% 和 95.35% 是自报成绩(Public 集),未经 ARC Prize 独立验证
  • Public 集的得分不能直接外推到 Semi-Private 集——Sol Max 在两者间的差异(13.33% vs 7.78%)足以说明问题
  • 目前只公开了 Public 集的运行 artifact,未在 Semi-Private 集上做 frozen-harness 验证

但他们说得很对:如何在一个挑战性的 benchmark 上获得接近人类水平的成绩,本身就是有价值的——即使它是在公开子集上达成的。方法论的意义不取决于验证集的保密性。

Tags: #Blog