如何启用两个设置使我们在 ARC-AGI-3 基准测试中的得分翻了三倍
How enabling two settings tripled our scores on the ARC-AGI-3 benchmark
July 29, 2026
ResearchPublication
一段加速视频,展示 GPT‑5.6 Sol 在 ARC-AGI-3 基准测试中的谜题求解过程:左侧为官方测试框架(harness),右侧为我们的 Responses API 框架(保留推理并启用压缩)。在该排行榜上(opens in a new window),当前没有任何前沿模型能通过第一关以外的关卡。而使用我们的框架,GPT‑5.6 Sol 成功通过了全部六关。
当我们首次看到 GPT‑5.6 Sol 在 ARC-AGI-3(opens in a new window)基准测试中的低分时,我们感到十分困惑。
GPT‑5.6 Sol 曾解决过数学领域长期悬而未决的问题(如圈双覆盖猜想(opens in a new window)),并成功通关了像 Pokémon FireRed 这样的游戏。然而在 ARC-AGI-3(一个由 2D 谜题游戏组成的基准测试)中,GPT‑5.6 Sol 仅获得 7.8% 的分数,而 GPT‑5.5 几乎无法进行游戏,得分只有可怜的 0.4%。
是 2D 谜题游戏对我们的模型来说异常困难吗?还是别有原因?
基准测试很少单独衡量 AI 模型的能力。它们同样衡量一些不太显眼的因素:API 设置、测试框架设计以及提示词(prompting)的选择。针对 ARC-AGI-3,我们发现,启用我们在 ChatGPT 和 Codex 中使用的两个 API 设置——保留推理(retained reasoning) 和 压缩(compaction)——在公开任务集上使得分提高了三倍,同时输出 token 减少了 6 倍。
ARC-AGI-3
ARC-AGI-3 是一个旨在衡量 AI 智能体学习与推理能力的基准测试。智能体需要探索未知的 2D 游戏,并在没有明确指令的情况下推断出游戏规则。你可以在 arcprize.org/tasks(opens in a new window)上试玩 25 个演示游戏。
ARC-AGI-3 采用了一种故意保持通用性的测试框架,不提供工具或特殊功能。ARC 认为,简单的框架能更清楚地暴露模型的不足,并使模型之间的比较更加公平。相比之下,商业开发者会针对每个模型的特性和癖好来优化测试框架。
在游戏领域,GPT‑5.6 Sol 曾用纯视觉框架通关 Pokémon FireRed(由 GPT_Plays_Pokemon(opens in a new window)直播)、用 Codex 计算机使用功能通关 Slay the Spire(由 EpochAI(opens in a new window)直播),以及通过了 Baba Is You 的早期关卡(由 Piotr Migdał & Piotr Grabowski(opens in a new window)分享)。那么 ARC-AGI-3 到底有何不同?

Ethan Mollick 展示了(opens in a new window)GPT‑5.6 Sol 在 Codex 中击败 Slay the Spire 2 的随机每日挑战,而该游戏的发布时间晚于 GPT‑5.6 Sol 的知识截止日期。
受 ARC 对 GPT‑5.5 缺陷的分析(opens in a new window)启发,我们仔细查看了 GPT‑5.6 Sol 的一些尝试过程。与 ARC 的观察类似,我们发现模型的表现并不理想:它在每个动作上花费很长时间,且难以取得进展。
但当我们深入探究后,我们发现模型的大部分混乱并非源自模型本身,而是由测试框架中的设置导致的。
首先,我们注意到,每次游戏动作结束后,所有的私有推理(private reasoning)都被丢弃了。这意味着每执行一个动作,GPT‑5.6 Sol 都要重新理解游戏,无法记住自己之前的思考过程。模型虽然仍能看到过往动作的记录和简短的附注,但看不到这些动作背后的计划、洞察或思路。
其次,我们发现测试框架使用了滚动截断窗口(rolling truncation window),导致随着历史记录的累积,较早的动作变得不可见。这样一来,GPT‑5.6 Sol 不仅无法记住之前的思考,连之前的行动记忆也在逐渐丢失。
测试框架的这两个特性——丢弃推理和滚动截断——共同解释了为什么 GPT‑5.6 Sol 无法随着时间推移进行有效学习。
智能体在记住自己做过什么时表现最佳
Agents do best when they remember what they’ve done
我们的模型经过训练,会在输出回复或调用工具之前,通过私有推理消息(private reasoning messages)进行思考。这些私有思考消息会作为对话历史的一部分被保留。如果对话过长,我们会对其进行摘要并继续。

这正是我们训练模型的方式,也是我们在 ChatGPT 和 Codex 中部署模型的方式。为了更好地匹配我们的生产环境,我们使用 Responses API(opens in a new window)实现了 ARC-AGI-3 的测试框架。我们的 API 使得上下文管理变得简单:对于 GPT‑5.6,只需传递前一次的响应 ID,即可在工具调用和轮次之间自动保留推理信息。
启用保留推理后,我们观察到了两个显著变化。首先,GPT‑5.6 Sol 在每个动作前的思考时间缩短了,因为它不再需要每轮都从头理解游戏。其次,当它能够记住之前的想法时,GPT‑5.6 Sol 在持续学习和采用连贯策略方面表现得更好了。
下一个改进来自用压缩(compaction)(opens in a new window)取代滚动截断——这是 Responses API 中的另一个设置。
ARC-AGI-3 测试框架通过滚动截断来处理上下文长度限制。当对话上下文超过 175,000 个字符时,最旧的消息会被丢弃。
滚动截断有两个缺点。首先,模型会丢失早期的观察和动作。其次,模型在大多数任务中运行在较为饱满的上下文窗口中,这可能会稍微影响性能。
当我们在 ARC-AGI-3 上启用压缩后,GPT‑5.6 Sol 能够更好地在较长的运行过程中保留它对每个游戏学到的知识,并以更少的输出 token 获得了更高的分数。
为了说明保留推理和启用压缩的效果,下面是一个动画,展示 GPT‑5.6 Sol 在使用不同测试框架解决一系列 ARC-AGI-3 谜题时,其 175K 上下文窗口的变化情况。
中间两列展示了不同测试框架如何使用模型上下文窗口。凭借更好的过往记忆,GPT‑5.6 Sol 每个动作的思考更少,进展更快。注意:我们的实现使用的是 175,000 token 而非字符的限制,但由于绝大多数文本都是动作网格(被我们的分词器以 1:1 的比例分词),最终效果十分相似。
综合来看,保留推理和启用压缩使得 GPT‑5.6 Sol(最大版本)的得分提高了约 3 倍,而输出 token 减少了 6 倍。
结论与建议
Conclusion and recommendations
我们希望这些实验能够提醒人们,评估很少是孤立地衡量模型——它们同时也衡量一系列不太显眼的选择,包括 API 设置、测试框架设计以及提示词。这已经不是我们第一次因公共基准测试的低分而感到惊讶,随后又发现评估运行器使用了丢弃推理消息的通用测试框架。
如果你是一位希望最大化性能的 API 开发者,我们建议使用与我们在自家产品中部署相同的设置:
- 使用我们的 Responses API,而非旧版的 Chat Completions API
- 保留推理(retain reasoning)
- 启用压缩(compaction)
而如果你正在比较不同模型,我们建议依赖使用了上述设置的评估,因为它们最接近 ChatGPT 和 Codex 中的实际使用场景。
我们感谢 ARC 多年来在 AGI 评估方面的创造性工作,也感谢他们的分析启发我们在这里进行了更深入的探索。
如果你想亲自与前沿模型一较高下,请访问 arcprize.org/tasks(opens in a new window)试玩公开游戏。