ツールか、先読みか、直感か。ルービックキューブで、小型LLMが詰まる理由を切り分ける。
はじめに
小型のLLM(qwen3.5:4b)に、崩れたルービックキューブ(6面が単色になれば完成、1手はどこか1面を90度回す)を解かせてみた。LLM単体では、1手戻せば完成する単純な状態すら解けない。そこで、盤面からゴールまでの残り手数を推定する小さなモデルを「直感」としてツールで渡したところ、浅く崩した状態はほぼ確実に、7手ほど崩した状態でも一部を解けるようになった。ツールを与えるだけでなく、直感を与えることがルービックキューブの成功率を上げると分かった。
一方で、直感は万能ではなかった。難しくなるほどLLMは直感の示す手を信じきれずに外し、それが失敗につながる。直感を渡せば終わりではなく、「どれだけ直感を信じるか」という別の問題が現れた。
この記事では、足りなかったものが何か(ツールか、先読みか、直感か)を、条件を一つずつ変えて切り分ける。
1. 背景・目的
小型LLM(SLM、ここでは4〜9Bクラス)を実タスクに使いたい。だが、難しい問題を解けないとき何が足りないのかがはっきりしない。候補は3つ考えられる。
- ツール: 電卓やコード実行、検索のように、外部ツールがあれば解けるのか
- 先読み(計画): 数手先を読んで筋道を立てる力が要るのか
- 直感: 人間は「こっちの方が解に近い気がする」という、速くて全体的で言葉にならない感覚を持つ。これが要るのか
これを切り分けるには、正解が厳密に検証でき、難易度を連続に変えられ、人間の解き方(手順や直感)が分かっているタスクがほしい。ルービックキューブはその条件を満たす。古典ソルバーがミリ秒で最適解を出すので、キューブを速く解くこと自体に新しさはない。ここではキューブを計測器として使い、次を問う。
空間を「見られない」小型LLMに、(1)検証つきツール、(2)擬似的な直感、(3)記憶 を段階的に与えると、どこで解けるようになり、どこで詰まるのか。
擬似的な直感には、別に学習させた小さな価値関数(盤面から残り手数を推定する)を使う。速く、全体的で、ときどき外すという点で、人間の直感の代わりとして性質が近いと考えた。
2. 手法
キューブと観測
盤面はツール側が正解として持っている。LLMは盤面を頭で追う必要がなく、ツールの返り値を読むだけでよい。観測としては、色つきの展開図(W/Y/G/B/R/O)と、各面が中心の色に何枚そろっているかを返す。
直感ツール
打てる手は18通りある(6面 × 回し方3種)。直感ツールは、その18手それぞれについて「打ったあと、あと何手で解けそうか」を価値関数で見積もり、近い順に並べて返す。LLMは展開図を読めなくても、この並びを見て手を選べる。価値関数は約0.8Mパラメータと小さく、それだけでは完全には解けない(後で出てくる「天井」を参照)。あくまで直感であって、神託ではない。
なお、価値関数は「解の1手前」までしか学習しておらず、完成状態そのものを0と評価しない。そこで直感ツールは「その手で解ける」候補を最優先にし、直前の手を取り消すだけの手(同じ面を回して戻す振動)は下位に回している。
エージェント
ローカルのOllama上の qwen3.5:4b と 9b を、観測→ツール→観測…のループで回す。ツールは、観測、プレビュー(盤面を変えずに手を試す)、確定(手を打つ)、巻き戻し、直感、記憶条件ではメモ保存などである。
指標
- 解けた割合: 崩した手数(以下、深さ)ごとに、手数の予算内で揃えられた割合
- 言うとおり率: 直感が出した並びの1位の手を、モデルがそのまま打った割合。直感をどれだけ素直に信じたかの目安にする
- 深さごとに、ランダムに打った場合(床)と、機械的に毎手ベストを打ち続けた場合(天井)も並べる
3. 実験手法(マイルストーン)
ツール→知覚→直感→記憶、と能力を一段ずつ足し、どこで変わるかを見ていく。
- M0 ツールだけ: 観測・プレビュー・確定・巻き戻しのみ。直感はなし
- M1 知覚と常識を足す: 観測を色つき+面のそろい具合に書き換え、プロンプトに常識(中心は固定で各面の目標色、面をそろえる、順序が効く、逆に回せば戻る、1ピース入れるには他を一時的に崩す)を入れる
- M2 直感を足す: 直感ツールを追加する。この記事の介入はここにある
- M3 記憶・自己改善: 手順を覚えておけるメモ(保存・一覧・試用・適用)を足し、行き詰まりを抜ける手順(交換子)を見つけて貯め、回を追うごとに上達するかを見る
切り分けのための対照も置いた(条件を一つずつ変えて比べる、いわゆる ablation study)。
- 床と天井(決定論): ランダムに打つ、悪いヒューリスティック(そろったピース数だけを見て毎手ベスト)、良いヒューリスティック(直感を見て毎手ベスト)
- 探索+悪いヒューリスティック: 直感ツールと同じ「前向きに18手ためす」を見せるが、並べる基準を直感でなく「そろったピース数」(近視眼的で当てにならない指標)にする。LLMには違いを告げない。効いているのが先読みそのものなのか、ヒューリスティックの質(=直感)なのかを分けるための条件である
すべて同じ乱数で深さをそろえ、条件どうしを同じ問題で比べられるようにした。
4. 結果
4.1 床と天井(決定論, N=200)
| 深さ | ランダム | 機械・悪ヒューリスティック | 機械・良ヒューリスティック(直感) |
|---|---|---|---|
| 1 | 0.07 | 1.00 | 1.00 |
| 2 | 0.01 | 0.62 | 1.00 |
| 3 | 0.01 | 0.18 | 1.00 |
| 5 | 0.00 | 0.01 | 0.96 |
| 7 | 0.00 | 0.00 | 0.69 |
| 10 | 0.00 | 0.00 | 0.14 |
完璧に先読みしても、ヒューリスティックが悪いと深さ3で0.18まで落ちる。同じ完璧な先読みでも、ヒューリスティックが良ければ深さ7で0.69残る。効いているのは「先を読むこと」自体ではなく、「何を頼りに読むか」、つまりヒューリスティックの質だと言える。
4.2 小さいLLMに能力を一段ずつ足す(qwen3.5:4b)
| 深さ | 道具+知覚だけ | 探索+悪ヒューリスティック | 直感あり |
|---|---|---|---|
| 1 | 0.08 | 1.00 | 1.00 |
| 2 | — | — | 1.00 |
| 3 | 0.00 | 0.15 | 1.00 |
| 5 | 0.00 | 0.00 | 0.75 |
| 7 | — | 0.00 | 0.25 |
| 10 | — | — | 0.00 |
(いずれも解けた割合。言うとおり率はこのあと4.3・4.4で扱う。)
(昔のフォーマット〔面を文字で表示・常識なし〕のツールだけ条件は深さ1で0/8。M1の色つき+常識で1/12に上がったが、まだほぼ0である。)
読み取れることが3つある。
- ツールだけ、あるいは知覚を直しただけでは解けない(ほぼ0)。ログを見ると、4bは色を読んで「F面の緑はそろった、B面の青もそろった」などと理解はしているが、手の効果を前向きに読めず「何を試しても壊れる」と書いている。ボトルネックは知覚ではなく先読みの側にあると考えられる
- 探索+悪いヒューリスティックの結果が分かりやすい。前向き18手の探索を忠実に使っても(言うとおり率0.91〜0.93)、ヒューリスティックが悪ければ失敗する(深さ3で0.15、決定論の0.18とほぼ一致)。一方、同じ形のツールでヒューリスティックを直感に替えるだけで、深さ3が0.15から1.00になる。効いているのは先読みではなく、直感(良いヒューリスティック)の質だと分かる
- 直感を与えると、0から浅いところでほぼ満点になる(深さ1〜3で1.00)。空間を見られない4bが、直感を渡されると上位を選んで打つだけで解く
言うとおり率を2条件で比べる
直感(または並び)の1位をそのまま打った割合=言うとおり率を、2つの条件で並べると、失敗の中身が見えてくる。
| 深さ | 探索+悪ヒューリスティック | 直感あり |
|---|---|---|
| 1 | 1.00 | 1.00 |
| 3 | 0.91 | 0.98 |
| 5 | 0.93 | 0.86 |
| 7 | 0.92 | 0.73 |
悪いヒューリスティック条件では、深くなっても言うとおり率は高いまま(0.9超)。モデルはちゃんと1位に従っている。それでも解けない。つまり失敗は「従わなかった」からではなく、「従った先の指標が悪かった」からである。効いているのは先読みでなくヒューリスティックの質だ、という上の2を、別の角度から裏づける。
一方、直感条件では、浅いところでは言うとおり率がほぼ1で(そしてよく解けている)、深くなると落ちていく(0.86→0.73)。良い直感を渡されているのに、難しくなると素直に従わなくなる。崩れの入口はここにあり、次の4.3で詳しく見る。
具体例:1エピソードの様子
深さ2で「F U2」と崩した盤面(そろったピースは20個中7個)。流れはこうなる。
- 直感を呼ぶ → 1位は U2(打つとあと約1手、そろい12個)
- その U2 を確定 → そろい7→12
- もう一度直感を呼ぶ → 1位は F'、しかも「その手で解ける」付き
- F' を確定 → 20個そろって完成
モデルは展開図の色をにらんで考えているわけではない。直感が出した並びの上を選んで打っているだけである。
4.3 直感は信じきれないと崩れる
解けた割合の深さ低下は、言うとおり率の低下と連動する(4bで1.00から0.73へ)。深いほどLLMは直感の1位から外れて迷い、それが失敗につながる。実際、4bの解けた割合は天井を、言うとおり率のぶんだけ下回っている。
| 深さ | 天井(直感を完璧に使う) | 4b 直感 | 言うとおり率 |
|---|---|---|---|
| 5 | 0.96 | 0.75 | 0.86 |
| 7 | 0.69 | 0.25 | 0.73 |
4.4 大きい推論器ほど信じる
qwen3.5:9b(同じ直感あり, N=15)の結果を示す。
| 深さ | 4b 解/言うとおり | 9b 解/言うとおり | 天井 |
|---|---|---|---|
| 5 | 0.75 / 0.86 | 0.80 / 0.96 | 0.96 |
| 7 | 0.25 / 0.73 | 0.53 / 0.94 | 0.69 |
| 10 | 0.00 / 0.74 | 0.13 / 0.91 | 0.14 |
9bは全部の深さで4bを上回り、言うとおり率も高い(0.91〜0.96)。推論器を大きくすると直感への信頼が増し、それがそのまま解けた割合の差になっている。9bの深さ7(0.53)は、言うとおり率0.94で天井(0.69)に近い。4bと9bの差は、賢さというより直感をどれだけ素直に信じるかで説明できると考えられる。
4.5 自己改善(記憶)は起きなかった
記憶条件では、4bは手順を一つも保存しなかった(複数ラン・計55エピソードで保存の呼び出しは0回)。「行き詰まったから手順を覚えておこう」と言いかけてやらない場面まで見られた。解けた割合(深さ5/7/10で0.75/0.40/0.05)は直感あり(0.75/0.25/0.00)と同程度で、差はノイズの範囲である(手順が一つも無い以上、当然と言える)。反応的に直感へ従うことはできても、そこから構造を取り出して再利用できる道具にまとめる作業はしなかった。
5. まとめ
「ツールか、先読みか、直感か」への答えを整理する。
- ツールは必要だが十分ではない。検証つきツールと正確な知覚を与えても、小さいLLMはキューブを解けなかった
- 先読みそのものはボトルネックではない。小さいLLMは前向き探索ツールを忠実に使える。だが、悪いヒューリスティックで読んでも失敗する
- ボトルネックは直感、つまり良いヒューリスティックだった。盤面を全体的に見て「解に近いか」を返す学習済みの感覚を渡すと、小さいLLMは単体ではゼロのタスクを浅いところで解く。人間の直感にあたるものを擬似的に与えることが効いた
- ただし二つ目の壁が現れる。直感を信じきる力である。解けた割合は言うとおり率で決まり、難しくなると下がり、推論器を大きくすると上がる。深いところでの失敗は、直感が無いからではなく、直感を信じきれずに迷うことだった
- 自己改善(手順を見つけて貯める)は4bでは起きなかった。記憶を渡すだけでは足りず、足場かより強い推論器が要ると考えられる
実タスクへの含意として、ツールだけを渡すのではなく、良いヒューリスティック(速く全体的な「近さ」の感覚)を直感として渡すことが挙げられる。そのとき推論器の仕事は「直感を信じて段取りする」ことに変わり、どれだけ直感を信じきれるかが新しい失敗の形になる。そしてそれは、モデルを大きくすると改善する。難しいところと自己改善は、まだ別の壁として残っている。
6. 今後の課題: plan → execute → reflect ループ
この記事のエージェントは、基本的に「観測→1手選ぶ→打つ」の反応的なループだった。次の自然な拡張は、1ターンを plan(計画)→ execute(実行)→ reflect(反省)の3段で回すことだと考えている。これは今回見えた二つの壁を直接突く。
- plan: 直感で数手先まで筋を立てる(1位を1手だけでなく、短い手順を仮説として持つ)
- execute: その手順を打ち、そろったピース数と残り手数の見積もりを実測する
- reflect: 計画時の予想と実測を突き合わせ、(i)外して悪くなったら巻き戻すか別案に移り、(ii)行き詰まりを抜けた短い手順を覚えておく
効くと考える理由は二つある。
- 言うとおり率の回復(4.3〜4.4の壁)。深いほどLLMは直感の1位から外れて迷い、それが失敗を生んでいた。reflectは「外れて悪くなった」ことを実測で気づき、巻き戻すか信じ直すきっかけになる。あとから言うとおり率を底上げできれば、4bの深さ7(0.25)を天井(0.69)へ寄せられる可能性がある
- 自己改善の点火(4.5の壁)。記憶は使われなかった(手順0)。手順を見つけるのは本来reflectの仕事で、「この4手で抜けた、名前をつけて覚える」という流れにあたる。明示的に反省の段を差し込めば、手順の発見と蓄積(さらに既知の手順との照合)が初めて起こりうる
検証は次のように測れる。
- reflectの有無で、深さ7/10の解けた割合と、あとから測った言うとおり率を比べる
- 回を追うごとの覚えた手順の数と、解けた割合の相関を見る(自己改善が点火したか)
- 反省の質が規模に依存するか。4bの反省は浅く、9bなら効くという、4.4と同じ規模差が再び出るかどうか
留保も書いておく。反省はターン数とトークンを増やす(小さいLLMは遅い)。さらに計画や反省そのものが小さいLLMの弱点(前向きに読む力)に頼るため、reflectを回しても4bでは浅い反省にとどまるかもしれない。その場合、reflectの価値はより強い推論器でこそ出ることになり、今回の所見(直感を信じきる力は規模で改善する)と一貫する。次の問いは、直感(ヒューリスティック)と反省(メタ認知)のどちらが規模で決まるのか、ということになる。これは、小さいLLMを実タスクに使うとき「良いヒューリスティックを渡せば足りる」のか「反省ループまで回せる推論器が要る」のかという設計判断に直結する。
7. 関連研究と本稿の位置づけ
学習した「残り手数の見積もり(cost-to-go)」でキューブを解く話としては、DeepCubeA1 がある。価値反復でcost-to-goを学習し、重み付きAと組み合わせてキューブを100%解く(うち60.3%は最短)。今回の擬似直感はこのcost-to-goの系譜にあるが、使い方が違う。DeepCubeAは価値を探索(A)のヒューリスティックとして使うのに対し、ここでは同じ種類の価値をLLMに手渡す直感ツールとして使い、弱い推論器がそれをどう扱うかを見ている。ちなみに、価値反復で得た「より正確な」価値をA*的に使うと、予備実験では探索がかえって壊れた。ヒューリスティックの良し悪しは下流の使い方で変わる、という今回の論旨と整合する。
近時のベンチマークは、LLMやMLLMがキューブ系タスクで苦戦することを独立に示している。Cube Bench2 はMLLMの空間・逐次推論を5技能に分解し、深さとともに精度が急落すること、一度つまずくと立て直せないこと、面の再構成が得意でも手の選択や多段実行が得意とは限らないことを報告している。CubeBench3 は対話的・長距離・部分観測の設定で、長距離タスクの正答率が一律0.00%になると示す。これらは今回の所見を外から裏づける(知覚ができても先読みは別、4.2/深さで急落し立て直せない、4.3)。今回はそこに介入を足し、擬似直感を与えてボトルネックを分解し、言うとおり率で仕組みを定量化した。
学習した価値でLLMの探索を誘導する流れも広い。LATS4 は推論・行動・計画を木探索で統一し価値で枝を選ぶ。大きいモデルをfine-tuneせず軽い補助価値で行動を誘導する手法もある5(今回の「別に学習した小さな価値を外部ツールとして渡す」構図に近い)。木探索と報酬設計の整理はサーベイ6 にまとまっている。今回の差分は、対象が大きいモデルでなく小さいLLMであること、検証が厳密な環境であること、そして同じ形のツールでヒューリスティックだけを入れ替える対照によって「効いているのは先読みでなくヒューリスティックの質」と分離したことにある。
6章のplan→execute→reflectループは、ReAct7(推論と行動を交互に)とReflexion8(環境からのフィードバックを言葉にして記憶に貯め、次の回の判断を改善する)の系譜にある。今回の記憶の不発(4.5)を破るには、この自己反省と記憶が点火点になりうると考えている。
同時期の実践例として、0xL1C10G氏9 は最前線の大きいモデル(Claude Opus 4.8)にMCPツールでキューブを解かせ、Kociembaソルバーを使えば5手・約1.5分、禁じて自力なら110手・約3時間と報告している。安定して解けたのは毎手の観測で誤りに気づけたからで、確実な状態確認と巻き戻しが要ると結論づけている。今回とは相補的で、盤面をツールが持ちモデルが毎手観測する設計は共通する(氏の知見は今回の巻き戻しやプレビューを裏づける)。違いは、今回が大きいモデルでなく小さいLLMを対象にし、完全ソルバーと無支援の中間に擬似直感を置いてボトルネックを分解・定量化した点にある。
通してみると、強いモデルは自前の推論と確実な状態管理で押し切れる9、キューブはLLMの空間・長距離計画の弱点を露わにする23、学習した価値は探索の良いヒューリスティックになる145、という三つが分かる。今回はこれらをつなぎ、弱いモデルには外部化した直感(良いヒューリスティック)を渡すと浅いところは解けるが、深いところでは直感を信じきる力が次のボトルネックになり、それは規模で改善する、という像を ablation study で示した。
付録:再現
コード一式は GitHub に置いてある: jyukipann/cube-analyzer。主なファイルは次のとおり。
- ツールkernel(観測・直感・記憶):
source/cube_tools.py - エージェント(Ollama駆動):
source/llm_agent.py - 決定論ベースライン(床/天井):
source/ablation_baselines.py - この記事:
docs/article_llm_intuition.md
# 床/天井(random / 悪ヒューリスティック / 良ヒューリスティック)
uv run python source/ablation_baselines.py --n 200 --depths 1-12
# ツールだけ / 探索+悪ヒューリスティック / 直感あり / 記憶
uv run python source/llm_agent.py --model qwen3.5:4b --mode blind --depth 3 --episodes 12
uv run python source/llm_agent.py --model qwen3.5:4b --mode pieces --depth 3 --episodes 20
uv run python source/llm_agent.py --model qwen3.5:4b --mode intuition --depth 5 --episodes 20
uv run python source/llm_agent.py --model qwen3.5:4b --mode memory --depth 7 --episodes 20
モデルは qwen3.5:4b (Q4_K_M) と 9b(Ollama)。擬似直感は学習済みの価値関数(goal条件付き、約0.8M params、盤面から残り手数を回帰)。手数の予算は max(12, depth×3) ターン。N は12〜20(LLM)と200(決定論)である。
-
Agostinelli, McAleer, Shmakov, Baldi. "Solving the Rubik's cube with deep reinforcement learning and search." Nature Machine Intelligence, 2019. https://www.nature.com/articles/s42256-019-0070-z ↩ ↩2
-
"Cube Bench: A Benchmark for Spatial Visual Reasoning in MLLMs." arXiv:2512.20595. https://arxiv.org/abs/2512.20595 ↩ ↩2
-
"CubeBench: Diagnosing Interactive, Long-Horizon Spatial Reasoning Under Partial Observations." arXiv:2512.23328. https://arxiv.org/abs/2512.23328 ↩ ↩2
-
Zhou et al. "Language Agent Tree Search Unifies Reasoning, Acting, and Planning in Language Models." arXiv:2310.04406. https://arxiv.org/abs/2310.04406 ↩ ↩2
-
"Planning without Search: Refining Frontier LLMs with Offline Goal-Conditioned RL." arXiv:2505.18098. https://arxiv.org/abs/2505.18098 ↩ ↩2
-
"Unifying Tree Search Algorithm and Reward Design for LLM Reasoning: A Survey." arXiv:2510.09988. https://arxiv.org/abs/2510.09988 ↩
-
Yao et al. "ReAct: Synergizing Reasoning and Acting in Language Models." arXiv:2210.03629. https://arxiv.org/abs/2210.03629 ↩
-
Shinn et al. "Reflexion: Language Agents with Verbal Reinforcement Learning." arXiv:2303.11366. https://arxiv.org/abs/2303.11366 ↩
-
0xL1C10G「AI にルービックキューブを解かせて見えた、ソルバーと自力推論の違い」Zenn, 2026-06-16. https://zenn.dev/0xliclog/articles/fdbe9fc55c1406 ↩ ↩2
