想象一个场景:你请了一位家教给孩子补习数学。家教见过市面上所有练习册,孩子也把每一道题的答案背得滚瓜烂熟。结果第二天,你拿出一份从任何练习册上都找不到的智力谜题卷子——上面没有计算题,只有几组彩色图形,要求孩子观察规律、补全答案。孩子傻眼了,家教也傻眼了。因为过去的表现全靠“背题”,而不是“解题”。 只有那个平时爱拆玩具、喜欢观察水杯倒影、总问“为什么树叶是对称的”的邻居小孩,看一眼就喊出了答案。因为他脑子里有一套从生活经验里长出来的“推理本能”——他知道什么是对象、什么是对称、什么是变大变小。 ARC(Abstraction and Reasoning Core,抽象推理语料库)就是AI界的那份“谜题卷子”。它不给模型任何训练机会,每道题只给2到5个演示样例,让AI像邻居小孩一样“当场想明白”规律。这份卷子专门用来检验:AI是真的学会了举一反三,还是仅仅背了海量数据?这篇文章将带你拆解ARC的设计理念、任务类型、大模型在ARC上的表现,以及如何用它评估模型的真正推理能力。

岗位关联

对AI评测从业者而言,ARC是最接近“人类智力测验”的模型能力度量工具。掌握它,你就拥有了识别“刷分选手”与“真推理者”的照妖镜,能帮助团队做出更理性的模型选型与能力诊断决策。

目录
  1. 可视化演示
  2. 一、评测起源:一张没有题库的谜题卷子
  3. 二、任务类型:谜题大师的四大机关
  4. 三、大模型表现:刷题大师的滑铁卢
  5. 四、人类优势:从玩具里学到的世界规律
  6. 五、评测实施:照着一张阅卷流程图打分
  7. 六、职业应用:用人话读懂模型的推理力
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示SQL查询从解析到执行的完整流水线流程,可视化各阶段处理过程,对比不同阶段的性能开销与数据流转。

本节配有交互动效(进入视口后自动加载,约 3KB)。

SQL查询处理流水线 紫色表示SQL输入与解析阶段,将SQL文本转换为抽象语法树(AST) 粉色表示查询优化器阶段,生成最优执行计划 绿色表示结果返回阶段,执行器获取数据并返回结果集 SQL -> Parser(AST) -> Optimizer(Plan) -> Executor -> Result Set 查询处理器将SQL语句经过词法分析、语法分析、查询优化和执行四个阶段,最终返回结果集

一、评测起源:一张没有题库的谜题卷子

回到开头的故事。家教辅导孩子时依赖的是“练习册题库”——这就是传统AI基准的做法:给模型几万、几十万个训练样本,让它反复刷题,然后在相同分布的测试题上考查。但邻居小孩能解出谜题,靠的可不是刷题,而是从小在玩积木、看蚂蚁搬家、观察光影变化中积累的“世界运行规律”。2019年,Google研究员François Chollet(弗朗索瓦·肖莱)设计ARC时,明确宣称要测的就是后者——他称之为“流体智能”(fluid intelligence):面对全新任务时快速学习和泛化的能力,而不是“晶体智能”(crystallized intelligence)——对已知知识的记忆和复现。

ARC的每个任务由若干输入-输出网格对组成,网格用不同颜色填充。模型拿到2到5个“演示样例”后,必须自己猜出潜在规则,然后对新的测试输入生成完整输出。关键设计是:任务之间没有共享的规则空间,不存在“训练集”。“刷题家”AI在这里完全没有用武之地,因为每道题都是全新的谜题。

从搜索空间看这个设计的残酷程度:一个最简单的30×30网格,每个格子有10种颜色,可能的输出数量达到惊人的规模。模型要在如此巨大的空间中仅凭几个样例找到正确答案,本质上是在做真正的“归纳推理”。

所以ARC的设计哲学一句话概括:用“没有题库的考试”把“背诵型AI”和“推理型AI”区分开来。就像家教突然拿到邻居孩子的谜题卷,再多的题海战术也救不了场——ARC要看到的是模型真正理解世界规律的能力。

∣S∣=10900≈10900|\mathcal{S}| = 10^{900} \approx 10^{900}
这个公式说明ARC任务可能的输出组合数量近乎无穷,靠“随机尝试”或“记忆检索”不可能答对,必须依赖真正的规律归纳。
  1. 网格规模ARC使用不超过30×30的彩色网格,每个格子有10种可选颜色。
    ∣S∣=10格子数|\mathcal{S}| = 10^{\text{格子数}}
  2. 海量可能当格子数为900时,可能的输出图形数量是10的900次方,远超宇宙中原子总数。
    10900≫108010^{900} \gg 10^{80}

二、任务类型:谜题大师的四大机关

邻居小孩为什么能快速解谜?因为他见过“规律”的各种长相。ARC的出题人也是这么设计的——400道训练任务和600道评估任务(公开测试集)背后,隐藏着几类反复出现的“抽象推理机关”。

第一类是对象识别。网格中可能有几个形状、几种颜色,模型需要判断“哪些格子属于同一个物体”“有几个物体”。这要求模型具备“对象性”(objectness)先验——就像人类婴儿天生会把移动的色块知觉为一个“东西”,而不是一堆像素。第二类是拓扑变换。规则可能是“把物体顺时针旋转90°”“把图形镜像翻转”“让黑色物体移动到白色物体的上方”。这些变换不改变物体的“本质身份”,只改变空间位置,考验的是对空间关系的理解。第三类是模式延展。网格中出现周期性图案,如一行颜色按“红-蓝-红-蓝”交替,模型需要延展这个模式补全缺失部分。第四类是分类归纳。几个物体按颜色、大小或形状分类,输出可能是把三类物体分别放进三个区域。

从数学视角看,每个ARC任务本质上是在定义一个从输入网格到输出网格的映射函数,模型的任务就是从少量样例中反推出这个函数。

理解这四类机关后你会发现,ARC从来不考“这是猫还是狗”这样的图像识别问题,它考的是结构、关系、变换这些抽象层面的事物。这也解释了为什么传统的视觉模型在ARC上几乎颗粒无收——它们擅长识别“是什么”,而ARC问的是“怎么变”。

O=f(I)=Apply(T,I)O = f(I) = \text{Apply}(T, I)
其中 \(I\) 是输入网格,\(T\) 是潜在变换规则(旋转、镜像、计数、补全等),\(O\) 是输出网格。ARC任务就是要求模型从示例中“猜出”这个 \(T\)。
  1. 输入网格\(I\) 是模型看到的原始彩色网格。
    I=input gridI = \text{input grid}
  2. 变换规则\(T\) 是隐藏的抽象规则,人类可以用语言描述它。
    T=rule, e.g. rotate 90 degreesT = \text{rule, e.g. rotate 90 degrees}
  3. 输出生成模型必须推断出 \(T\),并对测试输入应用它生成 \(O\)。
    O=f(I)=Apply(T,I)O = f(I) = \text{Apply}(T, I)

三、大模型表现:刷题大师的滑铁卢

让当代最强大的大模型去考ARC这份“谜题卷子”,结果令人大跌眼镜。在完全没有额外提示的标准评测中,GPT-4等顶尖模型在公开ARC测试集上的正确率长期徘徊在0%到个位数百分比,而人类成年人的平均正确率约为60%到80%。考虑到大模型在几乎所有自然语言基准上都已碾压人类,这个反差堪称“滑铁卢”。

为什么这么惨?因为大模型是典型的“刷题家”:它们在互联网文本、代码、图片上见过数万亿个模式,本质上是把“见过的东西”进行组合与重排。ARC的任务生成方式刻意避免了任何可被“记住”的模式,每个任务都是一个孤立的小宇宙。模型见过“旋转”这个词,见过“镜像”这个字,但ARC要求它当场把“旋转”这一抽象概念应用到从未见过的彩色网格上——它缺乏这种即时组装抽象概念的能力。

当然,研究者们尝试了各种“作弊式”补救:通过精心设计的提示词(prompt engineering)可以把分数从0%提升到百分之十几到二十几;再用代码搜索、程序合成等外部工具辅助,2025年深度思维等团队的报告显示,经过测试时训练和搜索优化,模型在ARC上的成绩可以冲到50%以上。但请注意——这些已经不是在测“纯推理”了,而是给模型配了草稿纸、计算器和大量试错机会。

这个对比揭示了大模型的本质:它们不是“笨”,而是“在不同的维度上聪明”。大模型是知识的百科全书,但在“面对新事物当场推理”这个维度上,它们甚至不如一个八岁小孩。ARC的存在,就是为了量化这个差距。

AAI, no hint≈0%≪AAI, search≈50%<AHuman≈80%A_{\text{AI, no hint}} \approx 0\% \ll A_{\text{AI, search}} \approx 50\% < A_{\text{Human}} \approx 80\%
这个不等式链清晰展示了:模型对“外部辅助”的依赖程度远高于人类。人类靠内部心智完成推理,模型靠外部算力弥补。
  1. 裸考成绩无任何提示的标准ARC评测中,顶尖大模型正确率接近0%。
    AAI, no hint≈0%A_{\text{AI, no hint}} \approx 0\%
  2. 辅助成绩加上提示工程和程序搜索后可达50%左右,但已非“纯粹推理”。
    AAI, search≈50%A_{\text{AI, search}} \approx 50\%
  3. 人类基准人类成人裸考正确率约80%,且无需任何外部工具。
    AHuman≈80%A_{\text{Human}} \approx 80\%

四、人类优势:从玩具里学到的世界规律

邻居小孩为什么能赢?不是因为他智商超群,而是因为每个人类都有一个“内置推理引擎”——心理学和认知科学称之为核心知识先验(core knowledge priors)。这些先验包括:物体恒存性(东西消失了还会出现)、数字感(能分辨1、2、3和“许多”)、空间拓扑(里面的东西不会跑到外面)、因果关系(推一下球会滚)。这些能力在婴儿期就萌芽,是几百万年进化的产物。

ARC的设计者正是瞄准了这些先验。任务里“一个红色方块移动到蓝色方块旁边”,人类自动理解“这是物体移动”;模型看到的只是“一堆数值变了”。人类的类比泛化能力尤其关键:我们从“水杯里的水平线始终水平”能类比到“网格中的横线应该延伸到边界”;模型则需要百万级样本才能勉强建立这种关联。这就是“样本效率”(sample efficiency)的巨大鸿沟——人类从3到5个样例中就能归纳出ARC规则,而神经网络通常需要成千上万个样本才能学会同级别的映射。

所以ARC给AI研究的启示是:当前AI的“智能”主要是数据规模堆出来的,而非从结构化先验中生长出来的。要想让AI真正逼近人类推理,研究者可能需要给模型注入类似“对象性”“空间关系”的归纳偏置——这正是神经符号系统、世界模型等方向在探索的道路。

EHuman≈3 samplesvsEAI≈105 samplesE_{\text{Human}} \approx 3\text{ samples} \quad \text{vs} \quad E_{\text{AI}} \approx 10^5\text{ samples}
人类学习一个抽象变换只需个位数样例,AI需要十万级数据。这是ARC最能刺痛AI的点——它测的就是“少样本泛化”能力。
  1. 人类样本数人类从2-5个演示样例中就能归纳出ARC规则。
    EHuman≈3 samplesE_{\text{Human}} \approx 3\text{ samples}
  2. AI样本数传统神经网络学会同类型抽象变换需约十万级样本。
    EAI≈105 samplesE_{\text{AI}} \approx 10^5\text{ samples}
  3. 差距倍数人类样本效率比AI高出四个数量级。
    EAIEHuman≈3×104\frac{E_{\text{AI}}}{E_{\text{Human}}} \approx 3 \times 10^4

五、评测实施:照着一张阅卷流程图打分

理解了ARC是什么,AI评测工程师更关心的是:我该怎么用ARC来评测模型? 完整的ARC评测流程可以拆成五个环节。

第一,任务准备。从ARC官方数据集(训练集400道+评估集400道)中选取任务。注意公开的“评估集”只有输出网格没有公开标注?实际上ARC数据集包含训练任务(有完整样例)和评估任务(可公开访问但答案不渲染?)。这里需要严谨:ARC的公开数据集包含训练和评估两部分,但研究者通常只用官方训练任务做研究,真正的“隐藏测试集”由ARC网站持有不公开。所以评测时,我们使用的是公开的训练任务,但要意识到存在“数据污染”风险——模型可能在预训练时见过这些任务。防污染设计是ARC评测的第一要务。

第二,接口适配。把网格编码为模型可处理的格式:对语言模型把网格转成文本(如"0 3 0 / 5 5 5 / 0 3 0",数字代表颜色);对视觉模型转成图像;对代码模型提供JSON结构。

第三,推理执行。让模型在无提示或限定提示下生成输出网格。对需要“测试时训练”的方法,允许模型在演示样例上微调或搜索,但要记录是否使用外部计算资源,这对分数解读至关重要。

第四,评分判定。ARC采用最严格的精确匹配评分:模型生成的输出网格必须与标准答案逐格完全一致才得1分,否则得0分。没有“部分分”。

第五,结果解读。拿到分数后要克制地解读:ARC低分只能说明模型的“少样本抽象推理”弱,不能说明模型“所有推理都弱”——大模型在代码推理、逻辑问答上表现优异。ARC评测的局限性是:它只测视觉-结构化推理,不覆盖语言理解、常识问答等维度;公开任务可能被污染;精确匹配评分忽略“部分正确”的渐进进步。所以ARC最适合作为“能力维度画像”中的一个坐标轴,而不是智力总分。

score=∑i=1N1[O^i=Oi]N\text{score} = \frac{\sum_{i=1}^{N} \mathbb{1}[\hat{O}_i = O_i]}{N}
其中 \(\hat{O}_i\) 是模型对第 \(i\) 题的输出,\(O_i\) 是标准答案,\(\mathbb{1}\) 是指示函数(相等为1,否则为0)。这个公式说明ARC是“全对才得分”的硬核考试。
  1. 指示函数\(\mathbb{1}[\hat{O}_i = O_i]\) 当模型输出与答案完全相等时为1。
    1[O^i=Oi]\mathbb{1}[\hat{O}_i = O_i]
  2. 求和累加对所有 \(N\) 道题求和,得到答对总数。
    ∑i=1N1[O^i=Oi]\sum_{i=1}^{N} \mathbb{1}[\hat{O}_i = O_i]
  3. 归一化除以 \(N\) 得到正确率。ARC没有部分分,细节错一格即整题零分。
    score=correct countN\text{score} = \frac{\text{correct count}}{N}

六、职业应用:用人话读懂模型的推理力

作为AI从业者,你什么时候会真正用到ARC?列出三个高频场景。

第一个场景是模型能力诊断。团队在GPT-4与Claude-3之间做选型,两者的语言基准分数几乎一样。这时让它们各跑一遍ARC训练任务集——如果模型A的正确率是25%,模型B是8%,你立即知道模型A在“新颖推理”上明显更强,这对接下来的Agent产品选型是重要参考。ARC在这里充当“能力X光机”。

第二个场景是防刷分基准设计。你负责搭建公司内部模型评测平台,发现团队提交的模型在公开基准上分数虚高——因为训练数据中已经包含了公开测试集。ARC的思路给了你灵感:设计一组“每道题规则独立、不提供训练机会、测试集严格保密”的逆向基准,让刷分者无题可背。这种“程序化生成+规则隔离”的基准设计模式,正在被越来越多的评测平台采纳。

第三个场景是推理能力追踪。你持续追踪某个大模型每月的版本更新,传统指标已无提升空间。加入ARC任务集后,你发现新版本在拓扑变换类任务上从10%跃升到18%——这说明新版架构(比如引入了更多结构先验)确实带来了推理能力的实质进步。ARC分数帮助你捕捉到“通用基准看不出的增量变化”。

ARC不是万能的,但它是目前最接近“人类智力测验”的公开基准。对于AI评测工程师来说,掌握ARC就等于掌握了一种“看穿模型底牌”的评测方法——无论未来大模型在传统基准上如何刷分,ARC都会冷静地提醒你:它到底是真的会推理,还是只是背了一本更大的百科全书。

C=通过任务数测试任务总数×100%C = \frac{\text{通过任务数}}{\text{测试任务总数}} \times 100\%
覆盖率 \(C\) 是ARC评测中的核心指标,它代表模型在某一类推理任务(如拓扑变换)上的掌握程度,可用于绘制模型的能力雷达图。
  1. 任务计数统计模型在选定ARC任务集中答对的题目数。
    通过任务数\text{通过任务数}
  2. 归一化百分比除以任务总数得到覆盖率,用于横向对比不同模型或不同版本。
    C=通过任务数测试任务总数×100%C = \frac{\text{通过任务数}}{\text{测试任务总数}} \times 100\%

AI 应用场景

场景一:大模型推理能力季度体检

阶段:模型评估与监控

解决的问题:传统语言基准(如MMLU、GSM8K)上的分数饱和,无法区分两个旗舰模型的真实推理能力差异,决策层误以为“分数相同=能力相同”。

具体案例:某AI公司每季度对候选大模型进行“推理能力体检”。评测组选取60道ARC任务组成“推理考卷”,分别测试两个模型的裸考分数。结果显示模型A在拓扑变换类任务上得分是对手的3倍。这个发现直接影响了公司在视觉智能体(需要空间推理能力)项目上的模型选型决策。ARC在这里充当了“能力CT机”的角色——它照射出的不是知识量,而是模型面对新情境时的推理健康度。

场景二:构建公司内部防刷分推理基准

阶段:基准测试平台建设

解决的问题:公开基准数据被训练集污染,团队在内部评测平台上反复出现“提交模型在公开测试集上满分、在真实业务场景中表现平庸”的尴尬局面。

具体案例:评测工程师借鉴ARC的“任务隔离”哲学,设计了一套内部“新题生成器”:用随机程序生成无限多个“彩色网格推理题”,每道题的规则只从预定义的50种变换(旋转、镜像、计数、补色等)中随机抽取,测试集永不公开。任何模型都无法通过“背题”得分,只能靠真正的推理能力。这套基准上线后,团队发现某个号称“全面领先”的模型实际推理得分排第三,直接避免了一个错误的采购决策。

场景三:神经符号模型研发验证

阶段:研究开发

解决的问题:研发团队正在探索“神经网络+符号推理引擎”的混合架构,需要一套能区分“统计记忆”与“结构推理”的评测指标来验证技术路线。

具体案例:研究人员在ARC的400道公开训练任务上同步测试纯神经网络基线与神经符号混合模型。基线的平均正确率约8%,全靠记忆相似的公开解;混合模型通过显式枚举候选变换规则,正确率提升到35%。更重要的是,混合模型的错误模式可解释——研究者能精确看到“模型在对象计数任务上失败,因为符号引擎缺少数量感知模块”。ARC帮助团队定位了模型的“推理缺陷模块”,为下一轮架构设计提供了精确方向。

Python 演示

python120 行
# -*- coding: utf-8 -*-"""A mini ARC-style benchmark harness with heuristic solvers."""  def identity(g):    return [row[:] for row in g]  def rotate90(g):    n = len(g)    return [[g[n - 1 - r][c] for r in range(n)] for c in range(n)]  def flip_h(g):    return [row[::-1] for row in g]  def flip_v(g):    return [row[:] for row in reversed(g)]  def color_swap(g):    return [[1 - x for x in row] for row in g]  TRANSFORMS = {    "identity": identity,    "rotate90": rotate90,    "flip_h": flip_h,    "flip_v": flip_v,    "color_swap": color_swap,}  def build_tasks():    tasks = []     t1 = {        "name": "identity",        "examples": [([[0, 1], [1, 0]], [[0, 1], [1, 0]])],        "test": [[1, 0], [0, 1]],        "expected": [[1, 0], [0, 1]],    }    tasks.append(t1)     t2 = {        "name": "rotate90",        "examples": [([[1, 0], [0, 1]], [[0, 1], [1, 0]])],        "test": [[0, 1], [1, 0]],        "expected": [[1, 0], [0, 1]],    }    tasks.append(t2)     t3 = {        "name": "flip_h",        "examples": [([[0, 1], [1, 0]], [[1, 0], [0, 1]])],        "test": [[1, 0], [0, 1]],        "expected": [[0, 1], [1, 0]],    }    tasks.append(t3)     t4 = {        "name": "color_swap",        "examples": [([[0, 1], [1, 0]], [[1, 0], [0, 1]])],        "test": [[1, 0], [1, 0]],        "expected": [[0, 1], [0, 1]],    }    tasks.append(t4)     t5 = {        "name": "mix_conflict",        "examples": [            ([[0, 0], [1, 1]], [[0, 0], [1, 1]]),            ([[0, 1], [1, 0]], [[1, 1], [0, 0]]),        ],        "test": [[0], [1]],        "expected": [[0], [1]],    }    tasks.append(t5)     return tasks  def predict(task):    transform = None    rule_name = "unknown"    for name, fn in TRANSFORMS.items():        match = True        for inp, out in task["examples"]:            if fn(inp) != out:                match = False                break        if match:            transform = fn            rule_name = name            break    if transform is None:        return rule_name, None    return rule_name, transform(task["test"])  def evaluate(tasks):    correct = 0    total = len(tasks)    for task in tasks:        rule, pred = predict(task)        if pred == task["expected"]:            correct += 1            status = "PASS"        else:            status = "FAIL"        print("[%s] %-12s rule=%s" % (status, task["name"], rule))    acc = correct / total    print("Accuracy: %d/%d = %.2f" % (correct, total, acc))    return acc  if __name__ == "__main__":    tasks = build_tasks()    evaluate(tasks)
目的:实现了一个微型ARC评测流水线——定义任务样例、枚举候选规则、在测试输入上验证并给出准确率,完整复现“从演示中归纳规则”的核心逻辑。
  1. TRANSFORMS = {...}定义候选规则库,相当于ARC任务中“可能的变换集合”。真实ARC不会给模型这份规则清单,这正是它与简化版的关键区别。
  2. for inp, out in task["examples"]:遍历演示样例,检查当前候选规则是否与所有样例一致。ARC要求规则必须具备全局一致性。
  3. if fn(inp) != out:只要有一个样例不匹配,立即放弃该规则,模拟了“假设-检验”的归纳过程。
  4. if pred == task["expected"]:使用严格精确匹配评分,与真实ARC的评判标准一致。

常见误区

误区GPT-4在ARC上接近0分,说明大模型在智力上远不如人类,没什么用。

正解ARC测的是“少样本抽象推理”这一个特定维度,相当于只考“现场解谜”,不考语文、不考数学、不考知识记忆。大模型是“背了海量知识的百科全书”,ARC不考察百科全书的内容,只考察“能否用未知规则解题”。一个记忆力超强的人也可能在标准化图形推理测验中得分低,但不能说他“智力低下”。正确解读是:大模型在流体智能维度上确实薄弱,但它的晶体智能维度极其强大。

为何常见:人们习惯把“模型得分”和“模型聪明程度”画等号,忽略了评测基准本身只覆盖能力图谱中的一小块区域。

误区ARC上分不去,是因为提示词写得不好。只要把提示词优化到位,或者用思维链,GPT-4就能考到80%以上。

正解提示工程确实能把分数从0%提升到百分之十几、二十几,但有显著天花板。思维链要求模型把推理过程“说出来”,但ARC的困难在于生成结构化的新网格,而非语言推理。即使加上程序搜索和测试时训练等重度外部辅助,最强系统的分数也只是勉强超过人类平均水平,且此时已经不是在测“纯推理”了。提示词是草稿纸,不是大脑——它不能无中生有地赋予模型缺失的抽象归纳能力。

为何常见:近年来“提示工程提升效果”的宣传泛滥,让人误以为提示可以解决所有模型缺陷,忽略了ARC测的是模型内在的泛化机制。

误区某个模型在ARC测试集上刷到60%以上,所以它已经“真正理解了抽象推理”。

正解高分可能是多种策略的叠加:程序合成暴力搜索枚举所有候选程序、测试时在演示样例上微调小模型、或利用公开任务的数据污染记忆。这些策略确实是在“求解”ARC任务,但并不等价于人类那种“看一眼就顿悟”的联想式理解。Chollet本人也强调,测到高分不等于拥有了通用推理能力——ARC只是测量行为的探针,不是智力本身。评测者应关注“模型用了多少外部算力、多少预训练数据”才能达到该分数。

为何常见:把“基准分数”直接等同“能力本质”,忽略了分数背后巨大的资源消耗差异。

误区ARC的输入是彩色网格,本质上就是图像分类或图像生成问题,用CLIP加扩散模型应该能轻松解决。

正解ARC网格的“颜色”是抽象符号(0代表黑、1代表红这种物理色值),并非自然图像的像素语义。ARC的任务核心是关系与变换的离散规则,而非纹理、轮廓等连续视觉特征。实验表明,纯视觉模型在ARC上的表现远逊于能枚举符号规则的神经符号方法。把ARC当图像题做,等于把“找规律填数字”的智商题当成“看照片认物体”——两个任务的认知机制完全不同。

为何常见:ARC以“彩色网格”的可视化形式呈现,容易让人误以为它属于计算机视觉范畴。

面试题

Q1. ARC(Abstraction and Reasoning Corpus)的设计者是谁?

单选题 · easy

  • A.杨立昆(Yann LeCun)
  • B.弗朗索瓦·肖莱(François Chollet)← 正确答案
  • C.杰弗里·辛顿(Geoffrey Hinton)
  • D.埃隆·马斯克(Elon Musk)

答案:B。ARC由Google研究员François Chollet于2019年提出,其设计目的是评估机器的“流体智能”而非“晶体智能”。其他选项均为知名的AI科学家或企业家,但都不是ARC的提出者。

Q2. ARC任务中,每道题提供给模型多少个演示样例?

单选题 · easy

  • A.0个
  • B.1到3个
  • C.2到5个← 正确答案
  • D.成百上千个

答案:C。ARC的核心设计是“少样本归纳”,每道题仅提供2到5个输入-输出演示对,模型必须从中猜出规则。这与传统监督学习需要大量训练样本的模式截然不同,正是ARC能防刷题的关键。

Q3. 下列哪些属于ARC任务考查的核心推理能力?

多选题 · mid

  • A.对象识别与计数← 正确答案
  • B.拓扑变换(旋转、镜像)← 正确答案
  • C.模式延展与补全← 正确答案
  • D.自然语言情感分析

答案:ABC。ARC任务类型覆盖对象识别、拓扑变换、模式延展、分类归纳等抽象推理能力。自然语言情感分析属于语言理解任务,不在ARC的考察范围内——ARC所有任务均以彩色网格形式呈现。

Q4. ARC评测的评分方式是怎样的?

单选题 · easy

  • A.按格子匹配比例给部分分
  • B.输出与标准答案逐格完全一致才得1分← 正确答案
  • C.由人工评委主观打分
  • D.根据模型输出的文本长度评分

答案:B。ARC采用最严格的二元评分:模型生成的输出网格必须与标准答案逐格完全相同,错一格即整题得0分。这种评分方式杜绝了“差不多”的模糊地带,但也使ARC对模型提出极高要求。

Q5. 无任何提示情况下,顶级大模型在ARC公开测试集上的正确率约为多少?

单选题 · mid

  • A.接近100%
  • B.60%到80%
  • C.0%到5%← 正确答案
  • D.30%到50%

答案:C。在标准ARC评测中,GPT-4等无提示的大模型正确率长期在个位数百分比以下,而人类成人平均约60%到80%。这一巨大差距正是ARC引起广泛关注的原因——它暴露了大模型在少样本抽象推理上的致命短板。

Q6. 大模型在ARC上表现差的主要原因包括哪些?

多选题 · mid

  • A.缺乏人类的核心知识先验← 正确答案
  • B.无法查询外部资料
  • C.主要依赖统计记忆而非即时归纳← 正确答案
  • D.模型参数量不足

答案:AC。大模型的强项是从海量数据中提取统计模式,而ARC要求的是利用对象性、数字感、拓扑关系等核心先验进行即时归纳。统计记忆与抽象推理的错位是主要原因;参数量继续增长并未显著改善ARC分数,说明问题不在规模而在机制。

Q7. 为什么ARC的设计能有效防止“刷分”?

单选题 · hard

  • A.因为任务数量太少无法训练
  • B.因为每道任务的规则独立且不共享,训练集无法覆盖新规则← 正确答案
  • C.因为题目太难导致模型梯度消失
  • D.因为使用了对抗生成网络生成题目

答案:B。ARC的核心防刷分设计是“任务隔离”——每个任务的规则从巨大规则空间中独立采样,任务之间没有共享模式。即使模型在大量公开任务上训练过,新任务仍是“没见过的新题”。测试集保密进一步防止了数据污染。

Q8. 人类在ARC上表现出色的根本原因是什么?

单选题 · mid

  • A.人类见过更多类似题目
  • B.人类天生具备核心知识先验和类比泛化能力← 正确答案
  • C.人类有更强的文本记忆能力
  • D.人类使用了更快的计算设备

答案:B。人类婴儿期就发展的对象恒存、数字感、空间拓扑等核心知识先验,让人类天然擅长处理物体、关系和变换。配合强大的类比泛化能力,人类能从2-5个样例中归纳规则。这不是记忆或计算速度的结果,而是认知结构使然。

Q9. 关于ARC评测的局限性,下列说法正确的是哪些?

多选题 · hard

  • A.ARC只覆盖视觉-结构化推理,不测语言理解← 正确答案
  • B.公开任务可能存在数据污染风险← 正确答案
  • C.精确匹配评分无法反映部分正确的进步← 正确答案
  • D.ARC分数可以直接作为模型智力总分的唯一标准

答案:ABC。ARC是能力维度画像中的一个坐标轴,而非智力总分。它不覆盖自然语言与常识,公开任务集存在被预训练数据覆盖的风险,二元评分也忽略了渐进改进。因此绝不能将ARC分数单独作为模型智力高低的评判标准。

Q10. 在ARC评测中增加“测试时训练”(如程序搜索)后,模型分数大幅提升,这说明了什么?

单选题 · extreme

  • A.说明模型已经具备了人类级别的推理能力
  • B.说明通过外部搜索可以弥补部分归纳短板,但评测的“纯净性”降低← 正确答案
  • C.说明ARC任务的难度下降了
  • D.说明提示工程已经没有必要了

答案:B。测试时训练和程序搜索允许模型在演示样例上显式枚举候选规则,这本质上是在用外部算力替代内部归纳能力,确实能大幅提分,但已偏离“纯推理”的测量目标。这提醒评测者:解读ARC分数时必须区分“模型内在能力”与“外部辅助贡献”。