OpenAI が API設定を2つオンにしただけ、GPT-5.6 Sol の ARC-AGI-3 スコアが 13.3% から 38.3% へ

モデルは変えず、動かしているプログラム側を変えた:プライベート推論を残し、削除の代わりに圧縮。1試合あたりの出力トークンは約6分の1に減った。
著者:OpenAI07-30 · 9 分で読了⚑ チュートリアル
🎧 ポッドキャスト版0:00 / --:--
0:00 / --:--
研究解説 · 小互解説
1分で要点
  • OpenAI が自社モデルの「大失敗」を振り返った:同じ GPT-5.6 Sol、同じ評価問題で、API設定を2つオンにしただけ。ARC-AGI-3 公開セットのスコアが 13.3% から 38.3% へ上がった。
  • 原因はモデルではなく、それを動かすプログラム(業界ではハーネスと呼ぶ)側。1手ごとに、自分向けに書いたプライベート推論が丸ごと捨てられ、次の手はゲーム理解をゼロからやり直しになる。
  • もう一つは、文脈が満杯になると最も古いメッセージを消すこと。過去に押したキーの記録まで押し出され、モデルに「過去」が残らない。
  • 直し方はスイッチ2つ:Responses API で前回レスポンスの ID を返すと推論が自動で残り、コンパクションを有効にすれば閾値で要約へ圧縮して継続し、先頭は消さない。
  • 削減の方がスコアより目立つ:最高レベルで1試合の出力トークンが 290 万から 49 万へ。新プログラムは「高」レベルだけで、旧プログラムが「最高」レベルまで上げたのと同じスコアに届き、トークン差は約12倍。
  • ARC 自身の5月の分析は別の説明で、世界モデルが作れない3つの失敗パターン。ARC Prize が独立検証したのは旧プログラム下の 13.33%(公開セット)と 7.78%(半プライベートセット)だけだ。
⚑ 出典は OpenAI 公式ブログ。自社モデルと自社 API の話で、38.3% は OpenAI が自社計測した成績。ARC Prize が独立検証したのは公式プログラム下の 13.33% と 7.78% だけ。数字を読むときはこの境界に注意。文末に本サイトが別途確認した出典も載せた。
はじめに

同じモデル、同じ問題でスコアが約3倍

OpenAI が、かなり具体的な失敗の振り返りを公開した。同じ GPT-5.6 Sol、同じ評価問題で、API設定を2つオンにしただけ。スコアは 13.3% から 38.3% へ、1試合の出力トークンは約6分の1まで落ちた。API で多ステップの仕事を走らせているなら、この2つのオン/オフが成績と請求を直接決める。

要するに、モデルのスコアが低いとまず「能力不足」と思うが、今回の答えは「モデルを動かすプログラムが記憶を切っていた」だ。そのプログラムを業界ではハーネスと呼ぶ。OpenAI は説明書なしの謎解き評価 ARC-AGI-3 で実験し、推論強度の5レベルをそれぞれ走らせた。

ハーネスって何?
AI の自己進化は、まずモデルの外側から:Lilian Weng がハーネス工学を解説
モデルを動かす外部プログラム、業界ではハーネス。何を担い、どこまでできるか。その記事で噛み砕いている。
13.3 → 38.3%ARC-AGI-3 公開セット、最高推論レベル
290 → 49 万1試合の出力トークン、約6分の1
48%人間テスター平均(OpenAI が公開対局ログから推計)

「大失敗」と言うのは、Sol が他の場ではこんな様子ではないからだ。グラフ理論で数十年未解決だった循環二重被覆予想を解いたり、画面だけ見て情報なしで『ポケットモンスター ファイアレッド』(Pokémon FireRed)をクリアしたり、Codex で『Slay the Spire』をクリアし、Baba Is You の序盤もこなしている。ウォートンの Ethan Mollick が公開した記録では、Codex 上で『Slay the Spire 2』のデイリーランダム挑戦に勝っている。このゲームは Sol の知識カットオフ後に発売された。

Ethan Mollick が GPT-5.6 Sol の Codex 上での『Slay the Spire 2』デイリーランダム挑戦クリアを示す記録
Ethan Mollick が、GPT-5.6 Sol が Codex で『Slay the Spire 2』のデイリーランダム挑戦に勝った様子を公開。発売は Sol の知識カットオフ後で、学習データには入っていない。画像出典:OpenAI ブログが引用した Ethan Mollick の投稿。

これだけ遊べるのに、25 試合の 2D 謎解きミニゲームでは1割強しか取れない。下の左右比較映像は同じゲーム(番号 cd82)、同じ Sol。左が公式プログラム、右が OpenAI が Responses API で書き直したプログラム。全6ステージで、リーダーボード上はどの最先端モデルも第1ステージを抜けられず。プログラムを換えたら6つ全部通った。

倍速再生の対局映像。左は公式プログラム、右は推論を保持しコンパクションを有効にした Responses API プログラム。モデルはどちらも GPT-5.6 Sol、最高推論レベル。左右に歩数・クリア数・出力トークンの3カウンタ。映像出典:OpenAI。
2つの数字を混同しないこと:7.78% と 13.33% はどちらも公式プログラム・最高推論レベルの成績で、差は問題セットだけ。7.78% は半プライベートセット、13.33% は公開セット。どちらも ARC Prize が検証済み。本稿の対比に使う 38.3% は公開セットなので、基準は 13.33% だ。
評価のルール

説明書なし。スコアは「正解数」ではない

ARC-AGI-3 は ARC Prize の評価で、手作業で作った小ゲーム環境が全部で 135、公開デモは 25。誰でも arcprize.org で遊べる。共通条件は説明書なし。オブジェクト一覧も、ルール説明も、目標の記述も、途中の報酬点もない。

モデルが1手ごとに受け取るのはこれだけ:64×64 の格子図で、各マスは 0 から 15 の色番号。加えて押せるキーが全部で7つ。

見えるもの
64×64 の格子図。各マスは 0〜15 の色番号
押せるもの
RESET
試合をやり直す
ACTION1
上
ACTION2
下
ACTION3
左
ACTION4
右
ACTION5
確定 / 削除
ACTION6
座標を指定(x・y 各 0–63)
本サイト作成の模式図。左の格子は色ブロックの模式で実ステージではない。右の7キーの名称と作用は ARC オープンソース実装の定義どおり。どのキーが使えるかも教えられず、自分で試すしかない。

クリアへの道は一つだけ:手を動かしながらルールを推測し、間違えたら直す。キーを押し、画面のどこが変わったかを見て、そのキーの役割を推測し、次の手で確かめる。

このスコアは「正解数」ではない

ARC-AGI-3 のスコアは RHAE(相対的人間操作効率)。正解数は数えず、人と何歩歩いたかだけを比べる。モデルが各ステージを通った歩数を、そのゲームを初見で通した人の歩数と比較する。しかも減点は二乗比例だ。

切り替えてスコアの落ち方を見る:人間はこのステージを 10 歩でクリア
100251点
人間と同じ歩数なら、このステージは満点。
歩数が2倍になっただけで、スコアは4分の1。罰は二乗:歩数を倍にするとスコアは4で割る。
10倍歩けば残りは 1 点。この評価では遠回りの代償が直感よりずっと大きい。
3組の数字は ARC の採点ドキュメントにある例。

採点の細部がもう3つ。知らないと数字が読めない。各ステージのスコアはステージ番号で重み付けされ、後ろほど価値が高く、冒頭のチュートリアルはほぼ効かない。1試合の上限は「どこまで進んだか」に縛られ、最終ステージ未クリアならいくら効率よくても 100% に届かない。人間基準は同じステージの初見プレイヤーのうち、歩数がやや上位の一人。だから一般人が受けても 100% は取れない。OpenAI が推計した人間平均は 48% だ。

この点が、以降の数字の読み方を決める

画面を変えない操作は1歩も歩数に入らない。ツール呼び出し、思考過程、再試行も全部カウント外。

つまり 13.3% から 38.3% への上昇が測っているのは「遠回りをどれだけ減らせたか」だけで、「どれだけ考えを減らしたか」とは無関係。出力トークンが5分の4減ったのは別の帳簿で、2つの帳簿は独立している。今回は両方まとめて勝った。

原因

モデルは鈍くない。1手ごとに記憶が消される

スコアが罰するのは遠回りだけなら、Sol の遠回りはどこから来たのか。OpenAI が対局ログを見ると、第一印象は ARC と同じ:あまり賢そうに見えず、1手ごとに長く悩み、同じ場所を回り続ける。もっと読むとモデル自体に問題はなく、プログラム側に2つあった。

第一に、1手を終えるたびに、自分向けに書いたプライベート推論が丸ごと捨てられる。次の手では Sol がゲーム理解をゼロからやり直す。押したキーと短いメモは見えるが、なぜ押したか、当時何が分かっていたか、次の計画は何か、は全部消える。

第二に、このプログラムはローリング切り捨て(rolling truncation)を使う。文脈が閾値を超えると、最も古いメッセージを捨てる。過去の考えが残らないだけでなく、押したキーの記録も少しずつ窓の外へ押し出される。

第1手
プライベート推論「絵の具は下に流れる」
この手で捨てる
ACTION5
第2手
プライベート推論ゼロから再推測
この手で捨てる
ACTION3
第3手
プライベート推論ゼロから再推測
この手で捨てる
ACTION6
文脈ウィンドウ
左のマスは押し出された最も古い動作記録。窓が満杯なら消える。
本サイト作成の模式図。取り消し線の破線枠は自分向け推論で、その手のあと捨てられるため第2・3手は白紙から推測し直す。下の列は文脈ウィンドウ内の動作記録で、満杯になると最も古い端から消す。
たとえ話

謎解きをやらせて、キーを押すたびに直前の思考を消し、手元には「右・右・上を押した」一覧だけ残すようなものだ。当時何が分かっていたかは書かれていない。通った道は見えるのに、なぜそう歩いたか思い出せない。毎手ゼロから推論し直し、すでに排除した道をまた歩きやすい。

この2点は ARC のオープンソース実装で直接見える

ARC は評価用プログラムを GitHub で公開している(ARC-AGI-3-Agents、最新コミット 2026年5月28日)。本サイトが取得して確認すると、両方とも実物があった。

第一に、リポジトリ全体で OpenAI を呼ぶ箇所はすべて chat.completions.create、計20か所。responses.create も previous_response_id もゼロ。これは「設定を有効にしていない」より決定的だ:旧インタフェースは構造上、暗号化された推論内容を次のラウンドに戻せない。推論が捨てられるのは設定漏れではない。このインタフェースを選んだ時点で結果は必然だ。

第二に、メッセージスタックは本当に FIFO で最も古いものを切っている:

ARC オープンソース評価プログラム · agents/templates/llm_agents.py
def push_message(self, message):
    """Push a message onto stack, store up to MESSAGE_LIMIT with FIFO."""
    self.messages.append(message)
    if len(self.messages) > self.MESSAGE_LIMIT:
        self.messages = self.messages[-self.MESSAGE_LIMIT :]

最後の行がローリング切り捨て:直近 MESSAGE_LIMIT 件だけ残し、前は捨てる。公開テンプレートの上限はメッセージ件数(通常版10、推論版5)。

一致しない点は正直に:OpenAI が言う切り捨て閾値は「文脈が 17.5 万文字を超えたら」。本サイトが公開リポジトリで見つけたのはメッセージ件数の上限だけで、17.5 万という数字も、リーダーボードがどの版を走らせたかも見当たらない。上のコードは「仕組みがローリング切り捨て」は証明できるが、「閾値が 17.5 万」は証明できない。
仕組み

満杯でも先頭は消さず、要約に圧縮する

原因が覚えられないことなら、直し方は2つ:覚えさせることと、空きを作るのに削除を使わないこと。

OpenAI のモデルは学習時から「まずプライベート推論を書き、それから返答やツール呼び出し」という形で、その推論メッセージは対話履歴に残す前提だ。履歴が収まらなくなれば圧縮して続ける。ChatGPT と Codex の本番もそう動いている。実験をこの本番環境に揃えるため、Responses API で ARC-AGI-3 のプログラムを書き直した。

スイッチ1:推論の保持 — 前回レスポンスの ID を返す

このスイッチは推論の保持(retained reasoning)。Responses API では、前回レスポンスの ID(previous_response_id)を次のリクエストに入れると、推論がツール呼び出しやラウンドをまたいで自動で残る。効果は2つ:毎手の考え込みが短くなる(ゲームを頭から理解し直さなくていい)、そして明らかに「学ぶ」ようになり、戦略がつながり、毎手がバラバラにならなくなる。

スイッチ2:コンパクションでローリング切り捨てを置き換える

コンパクションは文脈圧縮だ。OpenAI の API ドキュメントでは、リクエストに context_management の compact_threshold を置く。レンダリング後のトークン数がこの閾値を超えると、サーバが圧縮を走らせ、それまでの状態と推論を暗号化された圧縮エントリにまとめ、そのまま続ける。このエントリは人には見えないブラックボックスだが、「この対話を続けるのに要るもの」は運ぶ。

差は一言で言える。ローリング切り捨てはメモリ満杯で最も古い記録を消し、消えたら二度と戻らない。圧縮は満杯になったら記録を濃縮版に書き、空けたあとも記録を続ける。前者は本当に忘れる。後者は省略版で覚える。

クリックで進む:同じ文脈ウィンドウで「入りきらない」を2つのプログラムがどう扱うか
ローリング切り捨て公式プログラム
175K 上限
削除。戻らない
コンパクション圧縮Responses API
175K 上限
圧縮要約(暗号化)
開始。窓にはシステムプロンプトと最初のフレームだけ。左右は同じで、どちらもまだ空いている。
数十手のあと。毎手の画面・動作・推論が積み上がり、左右とも伸びていく。
17.5 万に達した。これ以上は入らない。空きが必要で、ここで2つのプログラムが分岐する。
左:最も古い区間を直接削除し、空けて続行。消えた分は二度と戻らない。右:全体を暗号化要約に圧縮して底に貼り、学んだことは要約ごと残る。
さらに走ったあと。左の穴は広がり、初期の観察と動作が次々消える。右は要約の上に記録を続け、初期の判断は要約の中に残る。同じモデルでスコアが約3倍違う場所がここだ。
本サイト作成の模式図。2本の柱は同じ 17.5 万の文脈ウィンドウ。斜線ブロックが圧縮要約、破線域が削除された部分。

OpenAI 自身が描いた図は、この仕組みが実際の1ラウンドでどう見えるかを示している:

OpenAI 公式模式図:GPT-5.6 Sol の長タスクでの推論・ツール呼び出し・文脈圧縮の3列フロー
OpenAI 公式模式図『GPT-5.6 Sol が長いタスクでどう推論するか』。第1列はユーザ質問から始まり、推論、ツール呼び出し、結果取得、再推論と積み上がり、底の破線(COMPACTION LIMIT、圧縮閾値)まで。第2列は上に斜線の「圧縮要約」を貼り、その下に新しい推論とツール呼び出しを積み、再び閾値まで。第3列も圧縮要約から始まり、推論を経て答えを出す。画像出典:OpenAI。

ローリング切り捨てには副次効果もある。モデルが大半の時間をほぼ満杯の文脈ウィンドウで動くことになり、窓が満杯だと性能は少し落ちる。圧縮は窓を空け直し、この点も避ける。

データ

推論5レベルすべて上振れ、同スコアならトークン差は約12倍

下の図は2つのプログラムの実測を重ねたもの。横軸は1試合の出力トークン、縦軸はスコア。各線5点で、低・中・高・超高・最高の推論強度レベルに対応する。

0 20% 40% 1M 2M 3M 1試合の出力トークン 人間平均 48%(推計) 推論保持+圧縮 公式プログラム 同スコア約13%、トークン差約12倍
本サイトが OpenAI 公式図の10データ点を再描画。数値は一字も変えていない。日本語ラベルと同スコアラインは本サイトが追加。深紅の実線が推論保持+圧縮、オリーブ緑の破線が公式プログラム。

2本の形の差は一目で分かる。公式プログラムは右へ這い上がり、1試合 290 万トークンでやっと 13.3%。新プログラムはほぼ縦軸に沿って上がり、最高レベルでも1試合 49 万トークンで 38.3%。

推論強度公式 スコア公式 1試合トークン推論保持+圧縮 スコア新 1試合トークン
低0.9%58,8093.7%84,316
中1.5%207,1887.3%141,939
高5.2%728,18813.4%243,258
超高7.2%1,285,39325.7%428,540
最高13.3%2,900,99738.3%485,485
数値は OpenAI 公式図の転記。1試合トークン×25 試合が公式図の総トークンと一致し、公開セット25試合と合う。ハイライトの2行が下の対比点。

5レベルすべてが上振れしたのが第一層。OpenAI 自身のまとめは、最高レベルで約3倍のスコア、出力トークンは約6分の1。

本サイトが図上の2点から読んだ第二層:新プログラムは「高」レベルで 13.4% を取り、公式が「最高」レベルまで積んだ 13.3% とほぼ同スコア。消費トークンは1試合 24.3 万対 290 万、差は約12倍。同じ成績なら費用を十数倍抑えられる、という対比は OpenAI は書いておらず、本サイトが表のハイライト2行を割って出した。

前の採点ルールに戻すと、2つの帳簿がはっきりする。RHAE は思考の歩数を歩数に入れない。だから 13.3% から 38.3% への上昇は、遠回りをどれだけ減らせたかだけを言う:自分の判断を覚えていれば、排除済みの道をまた歩かない。出力トークンの低下は、毎手ゲーム理解を頭からやり直さなくてよくなったことを言う。一つの変更で、重ならない2つの利得。

OpenAI はさらに 4分29秒のアニメーションを作り、Sol の 17.5 万文脈ウィンドウに沿って一連のステージを追った:

OpenAI がこのアニメに付けた説明によると、中央2列は2つのプログラムの文脈ウィンドウの使い方の違い。過去を覚えられると、Sol は毎手の考えが短く、前進が速い。実装の細部として、ここでの上限は 17.5 万トークンであり 17.5 万文字ではないとも補足している。差は大きくない。大半が格子図で、彼らのトークナイザではほぼ1対1だからだ。映像出典:OpenAI。
別の視点

ARC 自身の分析は別の説明を出す

OpenAI は、今回の精査が ARC の分析に触発されたと書いている。5月1日公開で、ARC は 160 本の対局リプレイと推論軌跡を読み、結論は別の場所に落ちる:モデルがゲームの理解を築けない。同じ材料から双方が見たものを並べる。

OpenAI の着地点

混乱はプログラム側:プライベート推論が毎手捨てられ、古い動作が切り捨てで押し出され、モデルに「過去」がなく、学べない。

証拠は、この2点を換えたあと同じモデルでスコア約3倍、トークン約6分の1。

ARC の着地点

モデルがゲームの作業理解を築けない。失敗パターンは3つ:

  • 局所効果は合っているが、大域ルールが立たない。ACTION3 でオブジェクトが回転するのは分かるのに、「樽を正しい向きにしてから塗料を付ける」まで届かない。
  • 学習データ内の古いゲームに無理に当てはめる。cd82 を砂の物理や Flood-It、ls20 をブロック崩しにする。
  • このステージは通ったが、ゲームは学んでいない。第1ステージを誤った理解で偶然抜け、第2ステージでその誤理解に閉じ込められる。

ARC の締めは対照の一文:Opus 4.7 は自信たっぷりの誤った理論に圧縮し、GPT-5.5 はそもそも圧縮できない。

観察が足りなくて失敗したのではない。観察を世界モデルに定着できなかったから失敗した。

ARC Prize、『Analyzing GPT-5.5 and Opus 4.7 with ARC-AGI-3』、2026-05-01

2つの説明は排他ではない。一歩前の判断を覚えられないなら、一貫した世界モデルはより作りにくい。だが指す場所は違う。一方はプログラム、一方はモデル。

事実を2つ並べておきたい。第一に、ARC はその分析の脚注で自ら書いている:既定テストでは GPT-5.5 は推論軌跡を返さない。定性分析は別の専用設定で走らせた結果で、公式スコアはそのモード由来ではない。推論が取れない現象が ARC 側からも確認される。

第二に、ARC が7月に出した GPT-5.6 系列の成績ページでは、Sol 自体への評価はかなり前向きだ。この世代で戦える唯一のモデルで、ゲーム固有の語彙で未知の場面を正しく読み、仮説が覆ると再計画して場当たりにせず、公開 ARC-AGI-3 ゲームを丸ごとクリアした最初のモデルでもある(番号 ft09、87%)。「あまり賢そうに見えない」は OpenAI がリプレイを見た印象であり、ARC の Sol への定論ではない。

プログラムをもっと徹底的に換えれば、数字はさらに上がりうる。

同じ評価、モデルは触らない
殻だけ換える:Opus 4.8 と Fable 5 が ARC-AGI-3 で 99% へ
Schema というプログラムは、各ゲームのルールを実行可能なプログラムに書かせ、検証してから動く。公開25試合の自己評価 98.98%。これも ARC Prize の独立検証は受けていない。
やり方

新 API に換え、思考を残し、削除を圧縮に置き換える

実装に落とすと、OpenAI が API 開発者に勧めるのは3つだけ。原文も3行で、展開はない。

✅ 多ステップタスクで有効にすべき3つの設定

具体的に書くフィールドは次のとおり。

OpenAI コンパクション文書より。フィールド名はそのまま
previous_response_id
context_management.compact_threshold
store=false
POST /responses/compact

1つ目は前回レスポンスの ID を返すことで、推論がツール呼び出しとラウンドをまたいで自動保持される。2つ目は圧縮閾値で、レンダリング後トークン数が超えるとサーバが自動圧縮し、別 API は不要。3つ目を付けると、データ非保存の場面でもサーバ側圧縮が使える。最後は独立の圧縮エンドポイントで完全ステートレス。いつ圧縮するかを自分で決め、全文脈を送ると圧縮された新文脈が返り、次リクエストにそのまま渡せる。

彼らの締めの主張はこうだ:評価はモデルだけを測ることは少なく、見えにくい選択一式も同時に測る。API 設定、プログラム設計、プロンプト。初めてでもない。公開評価で意外に低く出たとき、調べると評価側の汎用プログラムが推論メッセージを捨てていた、という前例もある。

これらの実験が注意を促すことを願う。評価がモデルだけを測ることは少なく、目立たない選択一式 — API 設定、プログラム設計、プロンプト — も同時に測っている。

Ilan Bigio、Ted Sanders、OpenAI、2026-07-29

もう一段考えると:Sol のこの評価での成績は、ARC 検証の 13.33% から OpenAI 自社計測の 38.3%、Schema 自己申告の 95.35% まで動くのに、モデルの重みは一度も動いていない。人間基準は 48%。この数字を並べると、「モデルの能力はどれくらいか」の計算そのものが、まだ決着していない。

出典
How enabling two settings tripled our scores on the ARC-AGI-3 benchmarkIlan Bigio、Ted Sanders / OpenAI·openai.com·2026-07-29
本サイトの注記
2本の動画と公式3列模式図は OpenAI 由来。折れ線は本サイトが公式図の10データ点を再描画し、数値は未変更。日本語ラベルと「同スコアでトークン差約12倍」の線は本サイトが追加。入力模式図・記憶喪失模式図・文脈柱2本の模式図は本サイト作成。格子色と凡例は模式で実ステージではない。7キーの名称と作用、および FIFO 切り捨てコードは、本サイトが ARC オープンソース評価プログラムを取得して確認(最新コミット 2026-05-28)。リポジトリ全体で chat.completions 20か所、responses.create 0か所も本サイトの集計。7.78% と 13.33% は ARC 成績ページ、38.3% は OpenAI 自社計測。
↑ 本文ここまで
✓ この記事は全文無料です

メンバーは全文 Markdown のコピー・保存に加え、自分の AI に購読・質問させることができます。

原文を読む ↗
📮 新着解説をメールでいち早く

役に立ちましたか?メールを登録すると、新着解説を公開と同時にお届けします。解除はいつでも。