ARC-AGI

一.ARC-AGI 是什么

ARC-AGI(Abstraction and Reasoning Corpus for Artificial General Intelligence,通用人工智能抽象与推理语料库)是由 Keras 创始人、谷歌 AI 研究员 François Chollet 于 2019 年在论文《On the Measure Of Intelligence》中提出的通用智能基准测试体系,核心目标是衡量 AI 系统的抽象推理能力与全新任务下的泛化效率,而非特定任务的熟练度,被业界称为 "AGI 测量标尺"ARC Prize。

Image transformations(图像变换),是 ARC-AGI 最核心的任务载体 ------ 所有抽象推理测试都通过 "网格图像的规则变换" 来具象化呈现,以此排除语言、文化、知识背景的干扰,纯粹测试通用推理能力。

核心任务形式:基于图像变换的抽象推理

ARC-AGI 的经典范式完全围绕网格图像变换展开:

  1. 任务规则:每个独立任务仅提供 2~4 组「输入网格 - 输出网格」的示例,测试者需要从极少量样本中抽象出背后隐藏的变换规则,再对全新的测试输入网格生成正确的输出结果。

  2. 载体形式:网格尺寸在 1×1 到 30×30 之间,仅使用 10 种不同颜色的像素方格,不包含任何文字、符号或现实物体,彻底排除外部知识对测试的干扰ARC Prize。

  3. 变换类型:这些图像变换覆盖了人类基础认知的多个维度,包括几何对称 / 旋转 / 平移、重力下落等物理直觉、颜色映射 / 计数匹配等逻辑规则、物体分组 / 层级提取等关系抽象。

ARC-AGI 已经迭代三代,评估维度逐步升级:

  • ARC-AGI-1(2019):初代基准,包含约 800 个静态网格变换任务,是最经典的版本,曾作为 Kaggle ARC 竞赛的核心赛题ARC Prize。

  • ARC-AGI-2(2025):扩展任务集,提升了认知复杂度的颗粒度,保留静态输入输出格式,可更精细地评估不同层级的抽象推理能力。

  • ARC-AGI-3(2026):升级为交互式智能体基准,从静态图像变换变为无说明的回合制环境探索,新增对探索能力、世界建模、目标设定、行动规划的评估,更贴近真实通用智能场景。

二. 利用 ARC-AGI 图像变换评估模型性能的完整方法

ARC-AGI 的性能评估,本质是通过全新的网格图像变换任务,衡量模型「从极少量示例中归纳抽象规则、并泛化到新输入」的通用推理能力。它的评估逻辑与传统 CV/NLP 的监督式测评有本质区别:核心看「新任务泛化效率」,而非「已知任务拟合精度」。


一、评估的核心前提与原则

这是保证评估有效性的基础,一旦违反就会失去 ARC 测评通用智能的意义:

  1. 零样本 / 少样本泛化设定:所有测试任务的变换规则必须是模型从未见过的,严禁在测试任务集上做微调、预训练或任何形式的规则拟合。

  2. 纯视觉输入原则:标准设定下,模型仅能获取原始网格图像(或对应的二维数值数组),不能额外输入规则的文字描述、任务提示等外部先验。

  3. 全对即得分、错漏即失败:输出网格必须与正确答案在尺寸、每个像素颜色上完全一致才算通过,不存在部分得分(如像素准确率、IoU)------ 因为图像变换规则是确定性的,局部正确不代表掌握了规则。


二、标准评估流程(静态图像变换版本:ARC-1 / ARC-2)

  1. 数据集划分与选择

ARC 官方数据集按保密等级和用途分为三类,对应不同评估场景:

  • 训练集(400 个任务,公开):仅用于算法调试、prompt 优化,不能计入最终性能结果。

  • 验证集(400 个任务,公开):用于开发过程中的自助评估,可对比不同算法的相对性能,不作为正式排名依据。

  • 私有测试集(不公开):官方保留的隐藏任务集,用于 ARC Prize、Kaggle 赛事等正式排名,彻底杜绝数据泄露和过拟合。

  • 每个任务包含 2~6 组「输入网格 - 输出网格」的变换示例,以及 1~3 个待预测的测试输入;若单个任务包含多个测试输入,需全部输出正确才算该任务通过。

  1. 输入输出标准化

所有图像变换任务统一为结构化网格格式,保证评估一致性:

  • 输入:二维整数数组,取值范围 0~9(对应 10 种颜色),网格尺寸在 1×1 到 30×30 之间。

  • 输出:模型必须输出相同格式的二维数组,尺寸和每个像素取值都必须与标准答案完全匹配。

  1. 设定评估协议(尝试次数 k)

ARC 评估的核心参数是每个任务允许的输出尝试次数 k ,对应业界通用的pass@k指标:

  • k=1(最严格):每个任务只能输出 1 个答案,最能反映模型的确定性推理能力,是学术论文的核心对比指标。

  • k=3 / k=10:允许模型输出多个候选答案,只要有一个正确即判定通过,模拟人类的试错过程,难度相对宽松。

  • 大 k 值(如 k=100):仅用于验证模型是否能生成正确答案,不反映真实推理效率,一般不用于正式对比。


三、细粒度能力拆解评估(按图像变换类型)

总通过率只能反映整体水平,要定位模型的能力短板,需要按图像变换的认知类型对任务分类,分别统计准确率。 ARC 的图像变换可分为 5 大类核心认知维度:

表格

变换类型 具体图像操作示例 对应测试的核心能力
几何变换类 旋转、翻转、平移、对称、缩放、形状延伸 空间认知、几何直觉
颜色逻辑类 颜色映射、替换、按规则填充、颜色计数 符号映射、逻辑匹配
物体操作类 物体分组、复制、移动、删除、合并、计数 客体感知、模式归纳
物理直觉类 重力下落、碰撞扩散、连通性、路径寻找 朴素物理、因果推理
抽象规则类 模式补全、规律延续、嵌套规则、多步推理 高阶抽象、复合推理

通过分类统计可以生成能力雷达图,清晰定位模型的优势与短板:例如传统大语言模型通常在颜色逻辑类表现较好,但在空间几何类任务上表现明显偏弱。

此外还可以按推理深度分层评估:

  • 单步规则:一次变换即可得到输出

  • 多步规则:需要连续执行多次变换操作

  • 嵌套规则:变换规则本身包含子规则,需要二级抽象

四、交互式图像变换(ARC-AGI-3)的扩展评估

ARC-AGI-3 从静态图像升级为交互式环境,模型可以通过操作修改网格、获得环境反馈,评估维度更贴近真实通用智能:

  1. 任务成功率:最终是否正确完成目标变换,对应静态版本的通过率。

  2. 探索效率:完成任务需要的行动步数、试错次数,步数越少代表规划能力越强。

  3. 规则归纳速度:需要探索多少个样本才能总结出正确的变换规则。

  4. 目标理解能力:是否能理解无文字说明的隐含目标,自主规划操作路径。

三.官方评估工具 Python 代码示例

ARC-AGI 分为静态网格变换版本(ARC-1 / ARC-AGI-2)交互式版本(ARC-AGI-3),两者的评估工具与代码范式完全不同。

  1. 静态版本(ARC-1 / ARC-AGI-2)原生评估脚本

这是最经典、使用最广的评估方式,直接基于官方 JSON 格式数据集,实现标准的 pass@k 全匹配评估,无需额外依赖官方包。

复制代码
import json
import os
import numpy as np
from typing import List, Callable

def load_arc_task(task_path: str) -> dict:
    """加载单个ARC任务的JSON文件"""
    with open(task_path, 'r', encoding='utf-8') as f:
        return json.load(f)

def grid_equals(grid_a: List[List[int]], grid_b: List[List[int]]) -> bool:
    """判断两个网格是否完全一致(尺寸+所有像素)"""
    if len(grid_a) != len(grid_b):
        return False
    if len(grid_a) > 0 and len(grid_a[0]) != len(grid_b[0]):
        return False
    for row_a, row_b in zip(grid_a, grid_b):
        if row_a != row_b:
            return False
    return True

def evaluate_task(task: dict, solver: Callable, k: int = 1) -> bool:
    """
    评估单个任务,返回是否通过
    solver: 求解函数,输入为 (train_examples, test_input, k),输出为k个候选输出网格
    """
    train_examples = task["train"]
    test_cases = task["test"]
    
    # 对每个测试用例生成k个候选答案
    all_correct = True
    for test_case in test_cases:
        test_input = test_case["input"]
        candidates = solver(train_examples, test_input, k)
        # 只要有一个候选完全匹配就算正确
        case_correct = any(
            grid_equals(cand, test_case["output"])
            for cand in candidates[:k]
        )
        if not case_correct:
            all_correct = False
            break
    return all_correct

def evaluate_dataset(dataset_dir: str, solver: Callable, k: int = 1) -> float:
    """
    评估整个数据集,返回 pass@k 通过率
    dataset_dir: 数据集目录,包含多个json任务文件
    """
    task_files = [f for f in os.listdir(dataset_dir) if f.endswith(".json")]
    passed = 0
    total = len(task_files)
    
    for filename in task_files:
        task_path = os.path.join(dataset_dir, filename)
        task = load_arc_task(task_path)
        if evaluate_task(task, solver, k):
            passed += 1
    
    return passed / total if total > 0 else 0.0

# ------------------- 使用示例 -------------------
def dummy_solver(train_examples, test_input, k):
    """示例求解器:直接返回输入作为预测(仅演示,无实际推理能力)"""
    return [test_input for _ in range(k)]

if __name__ == "__main__":
    # 替换为你的ARC数据集路径
    DATASET_PATH = "./ARC-AGI/data/evaluation"
    pass_at_1 = evaluate_dataset(DATASET_PATH, dummy_solver, k=1)
    print(f"Pass@1: {pass_at_1:.2%}")
  1. ARC-AGI-3 官方工具包(arc-agi)使用示例

ARC-AGI-3 官方提供了 arc-agi Python 包,用于交互式环境的评估与成绩统计,需配合官方 API 使用ARC-AGI-3

复制代码
pip install arc-agi

最小交互评估代码

复制代码
import arc_agi
from arcengine import GameAction

# 初始化游戏客户端
arc = arc_agi.Arcade()

# 创建环境,terminal模式可在命令行渲染网格
env = arc.make("ls20", render_mode="terminal")

# 查看可用动作空间
print("可用动作:", env.action_space)

# 执行一步动作
observation = env.step(GameAction.ACTION1)

# 获取当前成绩卡(汇总所有游戏的表现)
scorecard = arc.get_scorecard()
if scorecard:
    print(f"总得分: {scorecard.score}")
    print(f"已完成游戏数: {len(scorecard.games)}")

四.主流模型 ARC-AGI 性能对比表

以下数据均基于 ARC-AGI-2 基准(目前业界主流的通用推理评测版本),按「纯模型零样本基线」和「增强方案 SOTA」两类区分,避免不同评测设定混比。

模型 厂商 ARC-AGI-2 准确率 发布时间 备注
GPT-5.5(高思考模式) OpenAI 85.0% 2026-04 目前公开纯模型最高水平
Gemini 3.1 Pro Google DeepMind 77.1% 2026-02 官方基准验证,较前代提升 2.5 倍
Claude Opus 4.5(思考模式) Anthropic 37.6% 2026-03 同价位中性价比突出
Gemini 3 Pro(基线) Google DeepMind 31.0% 2025-12 未加推理增强的原生水平
Kimi K2.5 月之暗面 12.0% 2026-03 国产模型中表现最优
GLM-5 智谱 AI 5.0% 2026-03 国产模型基线水平
DeepSeek V3.2 深度求索 4.0% 2026-03 成本最低但推理能力偏弱
普通成年人基线 人类 ~80% - 通用智能参考标杆