青蛙小白

ARC-AGI-3

ARC-AGI-3 是 ARC(Abstraction and Reasoning Corpus 系列)推出的评测基准,用来衡量 AI Agent 在不给定规则说明的情况下,探索陌生的 2D 益智游戏、推断其玩法并学习的能力。它测的不是单次答题,而是长程学习与推理:Agent 要在没有明确指令的前提下反复试错、积累对每款游戏的理解。主指标为 RHAE(Relative Human Action Efficiency),把模型表现与人类基线对比;OpenAI 依据官方 gameplay logs 估算平均人类测试者为 48%。

ARC 刻意给它配了一个通用 harness:不带工具、也几乎不提供特殊功能。ARC 的立场是,简单 harness 会让模型自身短板更可见,也让不同模型的对比更公平。商业开发者则相反——他们通常为每个模型的能力与特性专门优化 harness。这一设计差异,正是 OpenAI 那篇归因实验能成立的土壤。

测评任务公开可玩(arcprize.org/tasks),也有公开的人类测试轨迹数据。

OpenAI 的 harness 归因实验

GPT-5.6 Sol 刚跑 ARC-AGI-3 官方 harness 时,在公开任务集只拿到 13.3%(另一处提及的单款游戏归因对比里为 7.8%,主线数字以公开任务集的 13.3% 为准);GPT-5.5 几乎玩不动,仅 0.4%。OpenAI 最初也怀疑是不是 2D 益智对模型格外难,深入排查后发现:模型自身的困惑,很大一部分其实来自 harness 的两处默认设置,而不是模型本身

两个罪魁祸首:

  1. 丢弃私有推理(discarding reasoning):官方 harness 在每次游戏动作后把全部私有推理消息丢弃。结果每次动作后,Sol 都被迫"从零开始"重新理解游戏,只能看到以往的动作记录和简短附注,看不到引导这些动作的计划、洞察与思路。
  2. 滚动截断(rolling truncation):上下文超过 175,000 字符时,harness 直接丢弃最旧的信息。于是模型不仅记不住自己的思路,连过去的动作也在逐渐从视野里消失。

这两者叠加,解释了为什么 Sol 在长程任务里「学不进去」。

切换到生产 harness:两个设置

OpenAI 换成自己在 ChatGPT 与 Codex 里使用的 Responses API(响应 API) harness 后,改动只涉及两个已对 API 开放的能力:

  • 保留推理(retain reasoning):传给前一次 response ID,模型自动跨工具调用与回合把私有推理保留在对话历史里。效果有两方面——Sol 每次动作前不再需要从零解读游戏,思考时间变短;能够记住自己过往思路后,它在长程学习中明显更会组织连贯策略。
  • 原生压缩(compaction):用压缩代替滚动截断。当会话足够长后,把历史总结压缩而不是逐条丢弃。这让 Sol 在更长 run 里保住对每款游戏的所学,得分更高,输出 token 反而更少。
flowchart LR
    subgraph A["官方通用 harness"]
        A1["每动作后丢弃私有推理"] --> A2["滚动截断\n超 175K 丢最旧"]
        A3["13.3%(公开发)"]
    end
    A2 --> A3
    subgraph B["Responses API harness"]
        B1["保留推理\nprevious_response_id 续接"] --> B2["传播尾部时压缩而非截断"]
        B3["38.3% / 输出 token 少 6×"]
    end
    B2 --> B3
    B3 --> C["同模型,约 3× 得分"]

同一模型、模型参数完全不变,只把「丢弃推理 + 滚动截断」换成「保留推理 + 压缩」,公开任务集得分从 13.3% 升到 38.3%,约为 3 倍,同时输出 token 减少约 6 倍。在一个示例任务(arcprize cd82)上,官方 harness 下没有任何前沿模型解得超过第一关;切换后的 Sol 全部六关都解出。

OpenAI 用同样的口径说明两者的行为差异:保留推理后模型每动作思考变少、推进更快;它用一个 175K 上下文窗口的可视化对比了两种 harness——有更好记忆的模型每动作思考更少、推进更快。

结论:评测很难单独衡量模型

OpenAI 从这个案例得到的通用结论是:评测很少孤立地测量模型本身——它们同时测量一组不那么显眼的选择:API 设置、harness 设计、提示词。这不是第一次出现"公开 benchmark 上得分低、最后发现是 eval runner 把推理消息丢掉了"的情况。

对 API 开发者测性能,OpenAI 建议直接用他们在自家产品里用的那套设置:

  • Responses API(响应 API),而不是遗留的 Chat Completions API
  • 保留推理(跨调用续接 reasoning item)
  • 使用原生压缩(compaction)

对比模型时也建议依赖开了这些设置的评测,因为它们最贴近 ChatGPT 与 Codex 里的真实使用形态。这与 Context Engineering(上下文工程)Harness Engineering(驾驭工程)传的同一件事互为印证,但这个案例把「harness 选择的量级影响」变成了可复现的归因实验,而不只是工程直觉。

相关概念

参考来源
  1. 1. https://openai.com/index/how-two-settings-tripled-our-arc-agi-3-scores/
  2. 2. https://openai.com/index/builders-guide-to-gpt-5-6/
  3. 3. https://docs.arcprize.org/methodology
  4. 4. https://huggingface.co/datasets/magic-sword/arc_agi_3_public_demo_human_testing
评论