用多级规则链条跑 ARC-AGI-2 居然能拿到 95% 以上的准确率
直接给结论:这套框架通过把推理拆成“原子规则发现 → 模式组合 → 结构抽象”三个阶段,解决了大模型在 ARC 这种纯逻辑网格题上容易“幻觉”的问题。它不靠暴力刷参数,而是用确定性的符号推演,在 240 个 ARC-AGI-2 测试任务里搞定了 230 个,这种可解释的路径比直接让 LLM 猜答案靠谱得多。
为什么不能直接用 LLM 跑 ARC 任务
很多人尝试用 GPT-4o 这种模型去解 ARC(抽象推理基准),结果往往是模型能描述出规律,但输出的网格坐标错得离谱。这是因为 LLM 缺乏对空间几何的确定性感知。这篇论文提出的方案(arXiv:2609.10654v1)走的是 Rule-Chaining(规则链)路线,它把推理过程变成了一个可追溯的流水线,而不是一个黑盒。
具体来说,它设计了三个递进的求解器,如果第一级搞不定,就把推理痕迹传给第二级,以此类推。这种 Fallback 机制保证了即使是复杂任务,也能在某个层级被捕捉到。
三个求解层是怎么协同工作的
这套框架最核心的逻辑在于它把“认知”分层了,不是一次性尝试理解整个图像,而是分步拆解。
- 原子规则发现(Deterministic Rule Discovery): 这一层最死板,但最可靠。它只看几何变换、颜色替换和物体移动。比如,如果一个红色方块在所有示例中都向右移动了一格,这一层就会记录下这个原子操作。
- 模式组合引擎(Pattern-Composition Engine): 当原子规则凑不齐答案时,这一层介入。它处理的是块合并(Block Merging)和空间启发式重复。简单说,它能识别出“这个图案是在重复之前的某个局部块”,然后通过拼接来还原输出。
- 结构抽象层(Structural Abstraction Layer): 这是最高级的一层,处理层级关系和嵌套关系。比如,一个大正方形里面套了一个小正方形,且颜色反转。这种抽象逻辑在前两层很难通过简单的坐标位移解决。
实际跑出来的数据和表现
这套系统在测试集上的表现非常强悍,没有出现那种靠过拟合刷分的现象,因为它是基于规则的。
- 训练集表现: 在 1000 个任务中通过了 995 个。
- 验证集表现: 在 120 个任务中通过了 105 个。
- ARC-AGI-2 测试集: 在 240 个任务中解决了 230 个,综合准确率超过 95%。
怎么在自己的项目中复现这种思路
如果你想在自己的 Agent 架构里引入这种可解释的推理,可以参考下面的伪逻辑流:
def cognitive_reasoning_pipeline(task_input):
# Stage 1: 尝试原子规则 (颜色, 位置, 几何)
result, trace = rule_discovery_module.solve(task_input)
if result.is_solved:
return result, trace
# Stage 2: 基于 Stage 1 的 trace,尝试模式组合 (重复, 镜像, 拼接)
result, trace = pattern_composition_engine.solve(task_input, prior_trace=trace)
if result.is_solved:
return result, trace
# Stage 3: 尝试结构抽象 (嵌套, 层级关系)
result, trace = structural_abstraction_layer.solve(task_input, prior_trace=trace)
return result, trace
在实际操作中,最难的点在于 prior_trace 的传递。你不能只传一个“失败”的信号,必须把第一阶段发现的“红色方块移动了 1 格”这个事实传给第二阶段,这样第二阶段才能在“重复”这个维度上快速定位。
个人判断:这比纯端到端模型强在哪
纯 LLM 跑 ARC 就像是在凭感觉猜谜语,而这套框架像是在写证明题。
- 成本: 符号推演的计算开销远低于运行一个 70B 的模型进行多次采样(Sampling)。
- 稳定性: 只要规则定义正确,结果是 100% 确定性的,不会出现这次对这次错的情况。
- 坑点: 这种方法的瓶颈在于“原子规则”的覆盖率。如果出现了一个全新的、不在预设范围内的几何变换,这套系统依然会失效。
免费 AI 工具箱 · 全部完全免费
我靠,终于有人搞符号推演了,上次用纯prompt跑那个网格题,结果它给我在那儿胡编乱造了整整三页纸,真想给它一巴掌。这套框架能搞定那个最难的20号任务吗?