ABEJA Tech Blog

中の人の興味のある情報を発信していきます

LLMに「謎解き」はできるのか?

LLMに「謎解き」はできるのか?

ABEJAでデータサイエンス部のグループマネージャをしている中西 @cfiken です。本記事はABEJAアドベントカレンダー2025の13日目の記事です。

はじめに

2025年も残すところあとわずかとなりました。ここ数年に続き、今年もLLM・生成AIは大きく進化しました。夏以降だけみても GPT-5 シリーズ、Claude 4.5 シリーズ、そして先日プレビュー公開されたばかりの Gemini 3 Pro と大きなリリースが続いています。特に、今年の推論能力(リーズニング)の進化はめざましく、2025年はリーズニングの年といっていいでしょう。 しかし、幅広い知識と論理的思考により解答を導き出すのが得意なLLMに、「ひらめき」が必要な謎解きのようなタスクは解けるのでしょうか?

私は個人的に脱出ゲームに行くのが趣味(残念ながら得意ではない 😇)で、普段からちょっとした謎解きに触れる機会が多いのですが、一般的な推論能力と同時に、ひらめきや発想の転換が必要な問題が多く、単純に知識があるから解ける、というわけではありません。 今回は、そのような謎解きクイズを主要なLLMがどこまで解けるのかを検証してみました。

12問の謎解きクイズの画像を自作し、マルチモーダルなLLMに初見の状態で解かせています。自作とは言ったものの、今回用意したものは基本的な問題が多く、普段から謎解きに触れられている方はどこかで見たことがあるような問題が大半となります。謎解きクイズ自体のクオリティについては大目に見てください 🥺 特に、最近話題のリーズニング能力を強化したモデルが、こうした「ひらめき」を要する問題に対してどのような挙動を見せるのか、その思考プロセスにも注目しました。

今回使用したデータセット・コードは下記で公開しています。ご自由に試してみてください。


謎解きの難しさ

昨今のモデル(GPT-5.1やGemini 3など)は、ベンチマークテストにおいて人間を超えるスコアを連発しています。評価自体難しくなっていることもあり、その多くは数学や専門知識、プログラミングといった「正解への論理パスが明確なもの」です。 一方で、今回の対象である「謎解き」は、以下のようなマルチな能力が同時に求められます。

  1. 高度なマルチモーダル理解
    謎解き画像では、文字は単なるテキストデータではなく、「図形」としての意味も持ちます。文字の色、配置、大きさ、あるいは描かれているイラストとの位置関係など、視覚情報を正確に構造化して捉える必要があります。

  2. 常識の打破・非連続な推論
    通常の論理推論とは異なり、謎解きでは「この文字を別の読み方に変える」「図形の空白部分に注目する」といった、思考の飛躍、発想の転換が求められます。また、推論がうまくいかなかった場合に一旦リセットして違う方針で考え直す必要性もあります。

  3. リーズニングのジレンマ
    現在主流のリーズニングモデルは、論理を深く掘り下げることには長けていますが、謎解きのようなひらめき・気づきが必要な場面で、逆に考えすぎてしまう可能性があります。こういったひらめきが必要な問題により、モデルの柔軟性が測れるかもしれません。

検証のセットアップ

1. データセット:自作謎解きベンチマーク (riddle-benchmark)

私が作成した全12問の画像形式の謎解きです。

#1~10 は基本的な問題が多いため、そこまで多くのひらめきは求められないかもしれません。一度の気づきがあれば解ける問題なので、私としても作っている段階では「最新モデルならこのぐらいは解けるだろう」と考えていました。11, 12 はマルチモーダルLLMにも少し難しいかもしれない、複数のステップが必要なものを作成しています。

  • 形式: 1枚の画像の中に問題(暗号や図形)や問いが含まれる。
  • 難易度: 2025/12/13時点では簡単な問題を10問、推論回数が増えそうなものを2問用意しています。

実際に4問ほど見てみましょう。良ければ考えてみてください。(全問題・解答はリポジトリにて)

001 003
006 007

2. 対象モデル

今回の検証は下記モデルで実施しました。

  • openai
    • openai/gpt-4o
    • openai/gpt-5.1-2025-11-13
    • openai/gpt-5-2025-08-07
    • openai/gpt-5-mini-2025-08-07
    • openai/gpt-5-nano-2025-08-07
  • gemini
    • gemini/gemini-3-pro-preview
    • gemini/gemini-2.5-pro
    • gemini/gemini-2.5-flash
    • gemini/gemini-2.5-flash-lite
  • bedrock
    • bedrock/anthropic.claude-opus-4-5-20251101-v1:0
    • bedrock/anthropic.claude-haiku-4-5-20251001-v1:0 JSON出力に多く失敗したため除外
    • bedrock/anthropic.claude-sonnet-4-5-20250929-v1:0

3. 検証方法

各モデルに対し、API経由で画像をアップロードし、同一のプロンプトを与えて解答させます。3回ずつ解答させ、平均を取っています。推論時のエラーは2回までリトライ対応をしました。

テキストプロンプトは次で統一しています。 謎解きクイズです。画像で表される謎から答えを導いてください。

LLMの回答は、予め用意している想定回答の候補(ゆらぎ対応で複数あり)の中のどれか1つとでも一致していたら正解とします。

更に、モデルだけでなく下記の2つをパラメータとして変えながら推論させています。

  • reason有無:解答だけでなく、思考過程も出力させるかどうか(実質 reasoning の代わりになるのではと予想)

    • 通常の場合の出力スキーマ(answer のみ)

        class SimpleResponse(BaseModel):
            answer: str = Field(
                description="The answer to the riddle. Provide only the single word or short phrase that answers the riddle, without any additional text or punctuation."  # noqa: E501
            )
      
    • 思考過程も出力させる場合の出力スキーマ(reason が追加)

        class ThinkingResponse(BaseModel):
            reason: str = Field(description="The summarized step-by-step reasoning process to arrive at the answer")
            answer: str = Field(
                description="The answer to the riddle. Provide only the single word or short phrase that answers the riddle, without any additional text or punctuation."  # noqa: E501
            )
      
  • reasoning_effort: 指定なし, low, high の3つのどれか


検証結果

実際に最初の10問(11,12を除く)を解かせた、reason有無とreasoning_effort別の結果が以下の通りです。

1-10問目の条件別正答率

model high high w/reason low low w/reason none none w/reason
anthropic.claude-opus-4-5 0.70 0.70 0.73 0.70 0.10 0.60
anthropic.claude-sonnet-4-5 0.33 0.50 0.17 0.20 0.10 0.13
gemini/gemini-2.5-flash 0.23 0.30 0.17 0.23 0.40 0.37
gemini/gemini-2.5-flash-lite 0.13 0.17 0.13 0.17 0.10 0.10
gemini/gemini-2.5-pro 0.60 0.50 0.23 0.37 0.50 0.50
gemini/gemini-3-pro-preview 0.80 0.83 0.20 0.80 0.13 0.90
openai/gpt-4o 0.10 0.10 0.10 0.20 0.10 0.13
openai/gpt-5-2025-08-07 0.63 0.70 0.57 0.50 0.67 0.73
openai/gpt-5-mini-2025-08-07 0.53 0.63 0.27 0.33 0.43 0.40
openai/gpt-5-nano-2025-08-07 0.10 0.13 0.13 0.10 0.10 0.10
openai/gpt-5.1-2025-11-13 0.73 0.83 0.57 0.47 0.10 0.17

また、実際の結果詳細や思考過程出力について、こちらのスプレッドシートにあげているため、詳細が見たい方はご参照ください。

11,12問目はほとんど解けませんでした。一部で解けているケースがあるのですが、思考過程を見ると明らかにまちがっており、たまたま(良くわからない論理で)正解と同じワードになった例だと思われます。 思考過程を出力していないケースで実際にどうだったか分かりませんが、ほぼ100%解けていないと言って良いと思います。

11,12問目のみの条件別正答率

model high high w/reason low low w/reason none none w/reason
anthropic.claude-opus-4-5 0.0 0.0 0.0 0.0 0.0 0.0
anthropic.claude-sonnet-4-5 0.17 0.0 0.0 0.17 0.0 0.17
gemini/gemini-2.5-flash 0.0 0.0 0.0 0.0 0.0 0.0
gemini/gemini-2.5-flash-lite 0.0 0.0 0.0 0.0 0.0 0.0
gemini/gemini-2.5-pro 0.0 0.0 0.0 0.0 0.0 0.0
gemini/gemini-3-pro-preview 0.0 0.0 0.0 0.0 0.0 0.0
openai/gpt-4o 0.0 0.0 0.0 0.0 0.0 0.0
openai/gpt-5-2025-08-07 0.0 0.0 0.0 0.0 0.0 0.17
openai/gpt-5-mini-2025-08-07 0.17 0.0 0.0 0.0 0.0 0.0
openai/gpt-5-nano-2025-08-07 0.3 0.17 0.0 0.0 0.0 0.17
openai/gpt-5.1-2025-11-13 0.0 0.17 0.0 0.0 0.0 0.0

結果のハイライト

全体で高いスコアとなったのは gemini-3-pro-preview

gemini-3-pro-preview が常に安定して高い性能となりました。結果だけ見ると最も高いのですが、claude-opus-4-5 はJSONのデコードエラーが複数出てスコアを下げている部分もあり、最上位モデルの性能はどれも大きくは変わらないのではないかと思います。とはいえ、gemini-3-pro-preview は思考過程も優秀なものが多く、まちがっている例も考えながら正解に近づいていっていることが他よりも多く確認できました。 なお、最も良く解けたケースでは9問正解が8例あり、残念ながら完答は出ませんでした。

reasoning によりモデルパワーが発揮

gemini-3-pro-preview や gpt-5.1-2025-11-13 といった最新モデルにおいて、ベースライン(none)では正答率が多くで10~20%と低迷しました。しかし、reasoning-effortを High に設定すると、正答率が80〜90%へと劇的にあがってます。 これは、「謎解き」というタスクが、モデルの潜在能力だけでは解けず、「深く考える時間(計算リソース)」を与えて初めて解けるようになると言ってよいのではないでしょうか。 なお、1回だけ reasoning: none で reason 出力もなしの gpt-5-2025-08-07 が9問正解しているケースがありました。正直これは(思考過程の出力もないため)何が起こったのか良く分かりませんが、ブレには気をつける必要がありそうです。

reasonを出力させるアイディアと、旧世代モデルの限界

gemini-3-pro-preview では、reasoning-effort を低め・なしにしていても、出力時に reason も同時に出させるようにすることで精度が大きく向上しました。確かに理屈的には同じようなことをやっているため、上がるのも頷ける気がします。同時に、長文の思考過程出力となっても正しくJSON形式で返り値を出す難しさもあるようで、geminiのみならず何件かJSONデコードの失敗でエラーとなっているケースもありました。 また、一世を風靡した gpt-4o ですが、reasoning 設定も存在しないこともあり、10~20%の正答率となりました。謎解きに必要な能力において、リーズニング力は欠かせないようです。


分析・考察

問題別で見る

全体の問題別で見ると次のような正答率でした。

riddle_id accuracy accuracy only top models ※
001 0.333 0.89
002 0.15 0.67
003 0.17 0.67
004 0.42 0.89
005 0.28 0.56
006 0.995 1.0
007 0.29 0.94
008 0.18 0.72
009 0.33 0.39
010 0.37 0.94
011 0.0 0.0
012 0.056 0.056

※ top models: gpt-5.1, gemini-3-pro-preview, claude-opus-4-5 の high もしくは high w/ reason のみに限定したもの

11,12 はさておき、トップモデルでも005, 009の問題は苦手なようです。こちらは下記の問題になります。

005 009

005の想定解答*1 009の想定解答*2

005 については、分かりやすい間違いである「いちご」に釣られている回答が多かったです。答えらしきものを見つけてしまうとリーズニングもそこで終わるため、こういった罠がある問題は苦手そうです。 実際に reason 出力を見ても、下記のように数字が大事だとは気付いていますが、それぞれに「時」までが入っていることには気付かず回答を作ってしまっていました。

この画像は時計の文字盤に見立てることができます。円周上に配置されたイラストは、その名前の最初の音が、その位置の時刻(数字)に対応しています。

・左(9時の位置):クジラ → 「く」(9)
・左上(10時の位置):十字のマーク → 漢字の「十」(10)
・右上(2時の位置):虹(にじ) → 「に」(2)
・右下(5時の位置):怪獣(ゴジラ) → 「ご」(5)
「?」があるのは、時計の「1時」の位置にあたります。したがって、数字の「1(いち)」から始まる果物を考えると、「いちご」が答えになります。

009 については、この図が硬貨のメタファーだと気付くかどうかが鍵ですが、気付けた場合は100%正解、気付けなかった場合は100%不正解でした。 gemin-3-pro-preview はほぼすべてで硬貨に気付いており、gpt-5.1 は一部で、cladue-opus-4-5 は1つも辿り着けませんでした。 お世辞にもちゃんと作ったとは言えない、◯、⦿、□だけの記号から硬貨にたどり着けるのはなかなかのひらめきだと思います。

reason カラムの内容の分析

各ベンダーのトップモデルの high_reason 設定(reasoning_effort: high, reason カラムも出力)について、その内容を調べてみます。

平均文字数

  • gemini-3-pro-preveiw: 約455文字
  • gpt-5-1: 約224文字
  • claude-opus-4-5: 約110文字

安定して性能の高かった gemini が差をつけて文字数が多かったです。

英語かどうか

  • gemini-3-pro-preveiw: 40%
  • gpt-5-1: 約17%
  • claude-opus-4-5: 約3%

アルファベットの割合が 0.4 以上のものを英語と判定したときの、英語割合です。 gemini の reasoning が半分ぐらい英語でされていました。前述で文字数が多かったのも、英語の影響が大きそうです。 Geminiは日本語の回答や日本語的な考え方をしなければいけない問題でも、思考過程は英語で安定して回答を導けていました。

例:004(あいうえお順の知識が必要な問題)

004想定解答*3

この問題での gemini の思考過程の例

This puzzle is based on the Japanese Gojuon (50-sound) table order, where characters are numbered sequentially (a=1, i=2, u=3, e=4, o=5, ka=6, etc.).

1. First equation: 姿勢 (Shisei: しせい) + 5 = 知的 (Chiteki: ちてき)
   - し (shi, 12th) + 5 = 17th -> ち (chi)
   - せ (se, 14th) + 5 = 19th -> て (te)
   - い (i, 2nd) + 5 = 7th -> き (ki)
   This confirms the rule: shift each character forward by 5 positions.

2. Second equation: 支度 (Shitaku: したく) - 6 = 囲い (Kakoi: かこい)
   - し (shi, 12th) - 6 = 6th -> か (ka)
   - た (ta, 16th) - 6 = 10th -> こ (ko)
   - く (ku, 8th) - 6 = 2nd -> い (i)
   This confirms the rule works with subtraction as well.

3. Target equation: 季節 (Kisetsu: きせつ) - 5 = ?
   - き (ki, 7th) - 5 = 2nd -> い (i)
   - せ (se, 14th) - 5 = 9th -> け (ke)
   - つ (tsu, 18th) - 5 = 13th -> す (su)
The resulting word is 'ikesu' (いけす), which means a fish preserve or fish tank.

単に Gemini の特性なのか、英語の方が性能が高いのかまでの判断はできませんが、唯一英語で考えることの多かったGeminiが相対的に良い結果を示していたことは覚えておきたいですね。この点は、「日本語で思考過程も出力して」と言ったら精度が下がるのか等も検証してみたいです(今回は時間切れ)。

難しめの問題

今回作成した少し複雑な11, 12の問題は、どのモデルでも回答まで辿り着けませんでした。一方で、思考過程を見るとかなり回答に近いところまでは来ており、若干問題側の不備かもしれないような点もありました。

011 012

11は、「青黄赤」の組み合わせが信号を表していること、回答が同じ形の文字を入れることに気付くのが必要です。回答欄では色を消しており、LLMが間違えそうな「しんごうき」というダミー想定回答を意図しておいており、実際多くのLLMが「しんごうき」と回答し誤りとなっていました。

12は二段階の難しさがあります。隠れているイラスト(ヒントにある「でんきゅう」)を見つけること、その後得られたメッセージ「まるのあいだよめ」から2つの丸を見つけることです。 すべての回答と思考過程出力に目を通しましたが、gemini-3-pro-preview が一番正解に迫っており、他とはかなりの差を感じました。 一番惜しいと思った(問題側によくない点があるとも言える)思考過程を下記に示します。

1.  **Identify words to erase:** Based on the hint 'Erase the illustrations inside this square', we identify the words corresponding to the icons in the header and the hint bulb itself.
    *   Octopus (Red icon): **タコ** (found diagonally at 1,3 and 2,4).
    *   Pudding: **プリン** (found horizontally at 5,1 to 5,3).
    *   Pillow: **まくら** (found vertically at 2,1 to 4,1).
    *   Stairs: **かいだん** (found diagonally at 1,1 to 4,4).
    *   Lightbulb (Hint icon inside the box): **でんきゅう** (found vertically at 1,5 to 5,5).

2.  **Read the remaining letters:** After erasing these words from the grid, the remaining characters are:
    *   Row 1: **ま**, **る**
    *   Row 2: **の**
    *   Row 3: **あ**, **い**
    *   Row 4: **だ**, **よ**
    *   Row 5: **め**
    Reading these from top to bottom (row by row) forms the message: **「まるのあいだよめ」** (Maru no aida yome), which translates to 'Read between the circles (rounds)'.

3.  **Solve the message:** The 'circles' or 'round things' refer to the round illustrations identified earlier: the **Octopus (タコ)** at the top of the grid area and the **Pudding (プリン)** at the bottom. We need to read the characters physically located *between* these two words.
    *   The Octopus is in the upper rows.
    *   The Pudding is in the bottom row.
    *   The space 'between' them corresponds to the middle rows (Row 3 and Row 4).
    *   The remaining characters in these rows are: **あ**, **い** (Row 3) and **だ**, **よ** (Row 4).

4.  **Form the answer:** Combining these characters gives **「あいだよ」** (Aidayo). This is 4 characters long, matching the requirement.

これは、最初の引っ掛けである「でんきゅう」にも気づき、「まるのあいだよめ」も解読したうえで、「まる」を探した結果タコとプリンのイラストが丸◯だと判定し、その文字の間を無理やり読み上げています。 プリンが丸というのが難しいですが、確かにタコのイラストには丸◯が含まれており、問題としてよろしくなかったかもしれません。 とはいえ間は4文字にならないため間違いだと気付けそうですが、かなり惜しいところまでいったと言えるでしょう。 図形の把握能力や発想の転換、得られたキーワードをどう考えるかまで複数のポイントのある問題でしたが、結果回答できていないとはいえここまで考えられるのは驚きました。


おわりに

「LLMに謎解きはできるのか?」という問いへの答えは、「基本的な問題なら一定解けるようになってきた」というのが現時点の回答となりそうです。正直、最近のモデル能力の著しい向上から、このぐらいの基本的な問題は簡単に解けるのかと思っていましたが、結果的には「最上位モデルでなんとか解けそう」ぐらいのものだったため、意外とこういった「謎解きクイズ」はLLMの一種のベンチマークとなり得るのではないかという感想です。

今回作成したベンチマークは、気が向いたらもう少し発展的な問題を足して更新しようと思います。AIの推論能力が今後さらに向上し、より複雑な謎解きクイズを理解できるようになる日が来るのか、引き続きウォッチしていきたいと思います。

We Are Hiring!

ABEJAは、テクノロジーの社会実装に取り組んでいます。 技術はもちろん、技術をどのようにして社会やビジネスに組み込んでいくかを考えるのが好きな方は、下記採用ページからエントリーください! (新卒の方やインターンシップのエントリーもお待ちしております!) careers.abejainc.com

特に下記ポジションの募集を強化しています!ぜひ御覧ください!

トランスフォーメーション領域:データサイエンティスト

トランスフォーメーション領域:データサイエンティスト(ミドル)

トランスフォーメーション領域:データサイエンティスト(シニア)

*1:円状にイラストが配置。時計をイメージすると、それぞれに「N時」が含まれていることが分かる。1時の位置が答えなので、「いちじく」。

*2:独特な形の計算式で、各図形は日本の硬貨を表している。□ x 5 = で成り立つのは□が1000円の場合で、解答は5000円札、すなわち「□」。

*3:+5や-6の数字の変化が、あいおえお順でのひらがなのズレを表している。きせつ、をそれぞれ5文字分戻すと「いけす」。