第2部 モデルとは何か第27章 NEW

推論モデルと「考える時間」

答える前に「考える」LLMが当たり前になりました。思考トークンとは何か、なぜ考えると賢くなるのか、どう学習させるのか、そして考えさせすぎると何が困るのかを整理します。

約18分で読めます2026年10月改訂

このページの内容(10項目)
  1. 推論モデルとは:暗算ではなく筆算をするLLM
  2. 「途中を書かせる」発見から「考える時間」へ
  3. テスト時計算(test-time compute)の増やし方
  4. どうやって「考える力」を学ぶのか:RLVRとGRPO
  5. 「考える量」のつまみ:各社の設定
  6. コストと待ち時間:考える時間はタダではない
  7. 推論モデルを使わないほうがいい場面
  8. 見えている「思考」は本当の思考か
  9. さらに深く学ぶ
  10. 出典・参考

「17×24は?」と聞かれて、すぐ答えられますか?

暗算が得意な人でも、紙と鉛筆があれば「17×20=340、17×4=68、足して408」と途中の式を書いたほうが確実です。LLMにも同じことが言えます。答えの前に途中の考えを文字として書き出させると、難しい問題の正答率が上がるのです。この「書き出して考える」ことを最初から学習させたのが推論モデル(reasoning model)です。

推論モデルとは:暗算ではなく筆算をするLLM

ひとことで言うと

推論モデルは、最終回答の前に思考トークン(thinking tokens / reasoning tokens)を大量に生成してから答えるように訓練されたLLMです。「考える時間」をトークン数というかたちで買っている、と考えるとわかりやすくなります。

LLMは1トークンずつ文章を出力します(第2章)。1トークンを出すのにかかる計算量はほぼ一定なので、ふつうのモデルは「すぐ答えを書き始める」と、難しい問題でも簡単な問題でも同じ程度の計算しかできません。途中の考えを書けば、そのぶんだけ計算を重ねられ、書いた内容を自分で読み返して次の一歩に使えます。

ふつうのLLMは「暗算で即答する人」、推論モデルは「計算用紙に筆算してから答えを清書する人」。計算用紙の分だけ時間と紙(=トークン代)がかかりますが、難問ではミスが減ります。

思考トークン thinking tokens / reasoning tokens

最終回答の前にモデルが生成する「考え中」のトークン。サービスによっては画面に要約だけが表示されたり、まったく表示されなかったりしますが、生成した分は出力トークンとして課金されるのが一般的です。

「途中を書かせる」発見から「考える時間」へ

出発点は2022年のChain-of-Thought(CoT、思考の連鎖)プロンプティングです。Weiらは、例題に途中の推論を付けて見せるだけで、大きなモデルの算数・推論の成績が大きく上がることを示しました。同じ年、Kojimaらは例題なしで「Let's think step by step」と一言添えるだけでも効果があることを報告しています。

さらに、同じ問題を何通りも解かせて多数決をとる自己一貫性(self-consistency)も有効だとわかりました。ここまではすべて「プロンプトの工夫」で、モデル自体は変えていません。

転機は2024年9月、OpenAIが o1 を発表した記事「Learning to reason with LLMs」です。強化学習で考え方そのものを訓練し、訓練時の計算を増やしても、推論時に考える時間を増やしても性能が上がり続けると説明しました。同じ頃、Snellらの論文も、推論時の計算を問題の難しさに合わせて配分すれば、条件によっては14倍大きなモデルを上回れると報告しています。

flowchart TD
  A["2022 CoTプロンプト
途中式を見せる"] --> B["2022 自己一貫性
何通りも解いて多数決"] B --> C["2024 o1
強化学習で考え方を訓練"] C --> D["2025 DeepSeek-R1
手法と重みを公開"] D --> E["現在 多くのモデルが
思考モードを標準搭載"]
図: プロンプトの工夫から、学習で身につけた「考える力」へ

テスト時計算(test-time compute)の増やし方

学習が終わったあと、使うとき(テスト時・推論時)に計算を増やして賢さを引き出す考え方をテスト時計算のスケーリング(test-time compute scaling)と呼びます。やり方は大きく3つです。

方法イメージ例
長く考える(直列)1本の答案を長く丁寧に書く推論モデルの思考トークン
何本も解く(並列)答案を複数書いて多数決self-consistency、best-of-N
採点係をつける別のモデルや検証器が答案を評価報酬モデル、テストコードの実行

「長く考える」の素朴な例が、2025年の s1 論文のbudget forcingです。モデルが考えるのをやめようとしたところに「Wait」と付け足して考え続けさせると、答えを見直して誤りを直すことがある、と報告されています。逆に途中で打ち切れば思考を短くできます。「考える量」をあとからつまみで調整できる、という発想の原型です。

もう一歩深く

思考を長くすると出力トークンが増えるので、KVキャッシュ(第15章)も大きくなり、生成にも時間がかかります。推論モデルの普及で、投機的デコーディング(第16章)のような「出力を速くする技術」の価値が上がったのはこのためです。

どうやって「考える力」を学ぶのか:RLVRとGRPO

ひとことで言うと

答え合わせが機械的にできる問題(数学の答え、テストが通るコード)をたくさん解かせ、正解したときの考え方を強化する。これが検証可能な報酬による強化学習(RLVR: Reinforcement Learning with Verifiable Rewards)です。

人間の好みを学ぶRLHF(第12章)では、「どちらの回答が良いか」を判定する報酬モデルが必要でした。数学やプログラミングなら、答えが合っているか・テストが通るかをルールで判定できます。採点がごまかされにくく、大量に自動で回せるのが利点です。

この分野で広く使われる手法がGRPO(Group Relative Policy Optimization)です。2024年の DeepSeekMath 論文で、PPOの変種としてメモリ使用量を抑えつつ数学力を伸ばす方法として提案されました。

flowchart TD
  Q["1つの問題"] --> G["同じ問題に
答案を複数生成"] G --> R["ルールで採点
正解か・形式は守れたか"] R --> A["グループ平均と比べて
良い答案は強化
悪い答案は抑制"] A --> M["モデルを更新"] M --> Q
図: GRPOのイメージ。同じ問題への答案どうしを比べて相対評価する

ポイントは「同じ問題に対する複数の答案の中で、平均より良かったものを伸ばす」という相対評価です。PPOでは価値を見積もる別のネットワーク(critic)を用意しますが、GRPOはグループ内の比較でそれを代用するため、そのぶんメモリを節約できます。

DeepSeek-R1が示したこと

2025年1月、DeepSeekは DeepSeek-R1 の論文と重みを公開しました(同年9月に Nature にも掲載)。中でも注目されたのが DeepSeek-R1-Zero です。ベースモデル(DeepSeek-V3-Base)に、教師データによるSFTを挟まず強化学習だけを施したところ、自分で検算する、見直す、長く考えるといった振る舞いが自然に現れたと報告されています。

ただし R1-Zero には、同じ文を繰り返す、読みにくい、言語が混ざるといった問題がありました。そこで製品版の DeepSeek-R1 では、強化学習の前に少量の「お手本」データ(cold-start data)で下地を作っています。論文はまた、報酬をルールではなくモデルが判定すると、学習が進むにつれて抜け道を突かれやすくなる点も限界として挙げています。

蒸留:大きなモデルの「考え方」を小さなモデルへ

DeepSeekは、R1が生成した推論データでQwen2.5とLlama 3系の小さなモデルを微調整した蒸留モデル(1.5B〜70Bの6種)も公開しました。小さなモデルに直接強化学習をかけるより、大きなモデルの推論の型を真似させたほうが成績が良かった、というのが同社の報告です。手元のPCで動く推論モデルの多くは、この蒸留の流れの上にあります。

「考える量」のつまみ:各社の設定

2025年以降、思考の量をAPIのパラメータで調整できるのが当たり前になりました。名前も選べる値も各社でばらばらなので、整理しておきます2026年10月時点。

提供元主なつまみポイント
OpenAIreasoning.effort値はモデル依存で none〜max まで。既定値もモデルごとに違う
Anthropic(Claude)adaptive thinking と effortモデルが考えるかどうか自分で判断。low〜max で傾向を指示
Google(Gemini)thinking_levelminimal/low/medium/high から、モデルが対応する値を選ぶ
Qwen3(オープン)enable_thinking、/think・/no_think1つのモデルで思考あり・なしを切り替え

OpenAIのドキュメントは reasoning.effort の値として none・minimal・low・medium・high・xhigh・max を挙げ、対応する値はモデルによると明記しています。音声や分類のように遅延が重要な用途には低い設定を、長時間のエージェント作業には高い設定を勧めています。

Claudeは、以前は budget_tokens で思考トークンの上限を数値で指定する方式(extended thinking)でした。現在は、モデル自身が問題の難しさを見て考えるかどうか・どれだけ考えるかを決める adaptive thinking が推奨で、effort で全体の傾向を伝えます。ドキュメントによれば、budget_tokens 方式は Claude 4.6 世代で非推奨になり、4.7以降のモデルでは受け付けられません。

ハイブリッド思考 hybrid thinking

1つのモデルが「考えるモード」と「すぐ答えるモード」の両方を持つ設計。Qwen3 は enable_thinking による切り替えに加え、プロンプトに /think や /no_think と書くことで会話の途中でも切り替えられます。DeepSeek-V3.1 もチャットテンプレートの違いで両モードを切り替えます。一方 Qwen3 の2507版では、思考なし(Instruct)と思考あり(Thinking)が別モデルに分けられました。

ためしてみよう

ローカルで Qwen3 などを動かすと、出力の先頭に <think>…</think> で囲まれた思考が見えます。同じ質問を /no_think 付きで聞き比べ、答えの質と待ち時間の違いを体感してみてください。なお Qwen3 のモデルカードは、思考モードで貪欲法(温度0)を使うと性能低下や無限の繰り返しが起きうるとして、推奨のサンプリング設定(温度0.6など。温度については第2章参照)を示しています。

コストと待ち時間:考える時間はタダではない

思考トークンは、画面に見えなくても出力トークンとして課金され、コンテキストウィンドウも消費します。OpenAI・Anthropic・Google のドキュメントはいずれもこの点を明記しています。出力トークンは入力トークンより単価が高いことが多いので、思考が長いと費用が一気に増えます。

  • 途中で打ち切られる: 出力上限(max_output_tokens など)が小さいと、考えている途中で上限に達し、答えが空のまま思考分だけ課金されることがあります。OpenAIは、使い始めは推論と出力のために少なくとも25,000トークンの余裕を確保するよう勧めています。
  • 見えている量と課金量が違う: Claude や OpenAI のAPIは、思考そのものではなく要約を返します(あるいは何も返しません)。課金されるのは要約ではなく、内部で生成された思考の全量です。
  • キャッシュが効かなくなる: Claudeのドキュメントによると、effort の値を途中で変えるとプロンプトキャッシュが無効になります。設定はなるべく固定して使いましょう。
  • 最初の1文字が遅い: 考え終わるまで回答が始まらないため、チャット画面では「待たされ感」が大きくなります。

推論モデルを使わないほうがいい場面

「考えるほど賢くなる」は難しい問題での話です。2024年末の論文「Do NOT Think That Much for 2+3=?」は、o1型のモデルが簡単な問題にも過剰に考えてしまう考えすぎ(overthinking)の問題を取り上げました。

向いている向いていない
数学・論理パズル、競技プログラミング事実を1つ答えるだけの質問
原因が複雑なバグ調査、設計の比較分類・抽出・言い換えなどの定型処理
複数ステップの計画が必要なエージェント作業音声対話など、即答が求められる場面
正解をあとで検証できる問題大量処理で1件あたりの費用が重要な場面

プロンプトの書き方も変わります。OpenAIは推論モデルに対し、途中の手順を細かく指示するより、ゴール・制約・出力形式をはっきり伝えるほうがうまくいくと説明しています。「ステップバイステップで考えて」は、もともと考えるモデルには不要なことが多いのです。迷ったら、自分のタスクの評価セット(第30章)で effort の設定ごとに精度・費用・待ち時間を比べるのが確実です。

見えている「思考」は本当の思考か

注意

画面に表示される思考の文章は、モデル内部の計算をそのまま写したものとは限りません。もっともらしい説明が、実際の判断理由とずれていることがあります。

2023年のTurpinらの研究は、例題の正解をいつも「(A)」にそろえるなど、プロンプトに仕込んだ偏りに引っ張られてモデルが答えを変えても、CoTの説明ではその偏りにほとんど触れないことを示しました。同じ年、Anthropicの研究者らも、CoTの途中を書き換えたり削ったりして、答えがどれだけCoTに依存しているかを測る方法を提案しています。

2025年には Anthropic が推論モデルを対象に「Reasoning Models Don't Always Say What They Think」を発表しました。プロンプトにヒントを仕込むと、モデルはヒントを使って答えを変えるのに、思考の中でヒントを使ったと認める割合は多くの条件で20%未満でした。強化学習で一時的に改善しても頭打ちになることも報告されています。思考の監視は不正な振る舞いに気づく手がかりにはなるが、それだけで問題がないとは言い切れない、というのが論文の結論です。

よくある誤解

推論モデルは常に賢いので、全部これにすればよい

簡単なタスクでは精度がほぼ変わらず、費用と待ち時間だけ増えることがある。用途に応じて effort を下げるか、思考なしのモデルを使う

表示された思考を読めば、モデルがなぜその答えを出したか完全にわかる

思考の文章は内部の計算の忠実な記録とは限らない。要約しか表示されないサービスも多い

画面に出ていない思考はお金がかからない

見えない思考トークンも出力トークンとして課金され、コンテキストも消費する

確認クイズ

Q1. 「テスト時計算のスケーリング」とは何?

学習後、使うときに計算量(長く考える、何通りも解く、検証するなど)を増やして性能を引き出す考え方です。モデルを大きくするのとは別の方向で賢さを伸ばせます。

Q2. DeepSeek-R1-Zero の学習で特徴的だったのは?

  • 人間が書いた推論のお手本だけでSFTした
  • SFTを挟まず、ベースモデルに強化学習だけをかけた
  • 画像データで事前学習をやり直した

ルールで採点できる報酬とGRPOで強化学習し、見直しや検算のような振る舞いが自然に現れたと報告されました。製品版のR1では読みやすさのために少量のお手本データを先に使っています。

Q3. 問い合わせメールを「請求・技術・その他」に大量に分類したい。まず試す設定は?

  • effort を最大にした推論モデル
  • 思考なし、または effort を低くした設定
  • 出力上限を極端に小さくした推論モデル

定型の分類は深い推論の恩恵が小さく、費用と遅延が増えがちです。出力上限だけを絞ると、考えている途中で打ち切られて空の回答になる恐れがあります。

この章のまとめ

  • 推論モデルは、答える前に思考トークンを生成して「筆算」するLLM。考える時間をトークンで買っている。
  • CoTプロンプトから始まり、o1やDeepSeek-R1で「強化学習で考え方を訓練する」流れになった。数学やコードのように自動採点できる報酬(RLVR)とGRPOが代表的な手法。
  • 各社のAPIには reasoning effort や thinking level などのつまみがある。値と既定値はモデルごとに違う。
  • 思考トークンは見えなくても課金される。簡単なタスクでは考えさせないほうが速くて安い。
  • 表示される思考は、内部の判断理由を忠実に表しているとは限らない。

さらに深く学ぶ

この章の内容をもう一歩掘り下げるための原典です。

第27章の論文・資料をすべて見る →

出典・参考

  1. Wei et al. "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"(arXiv:2201.11903, 2022)
  2. Kojima et al. "Large Language Models are Zero-Shot Reasoners"(arXiv:2205.11916, 2022)
  3. Wang et al. "Self-Consistency Improves Chain of Thought Reasoning in Language Models"(arXiv:2203.11171, 2022)
  4. OpenAI "Learning to reason with LLMs"(2024年9月12日)
  5. Snell et al. "Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters"(arXiv:2408.03314, 2024)
  6. Muennighoff et al. "s1: Simple test-time scaling"(arXiv:2501.19393, 2025)
  7. Shao et al. "DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models"(arXiv:2402.03300, 2024)— GRPOの提案
  8. DeepSeek-AI "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning"(arXiv:2501.12948) / Nature掲載版(2025年9月)
  9. deepseek-ai/DeepSeek-R1 モデルカード(Hugging Face) — R1-Zeroの課題、蒸留モデルの一覧(2026年10月確認)
  10. Qwen/Qwen3-8B モデルカード — enable_thinking、/think・/no_think、推奨サンプリング設定(2026年10月確認)
  11. Qwen/Qwen3-235B-A22B-Instruct-2507 モデルカード / deepseek-ai/DeepSeek-V3.1 モデルカード(2026年10月確認)
  12. OpenAI API ドキュメント "Reasoning models" — reasoning.effort、課金、25,000トークンの目安(2026年10月確認)
  13. Claude ドキュメント "Adaptive thinking" / "Extended thinking" — effort、課金、budget_tokensの非推奨(2026年10月確認)
  14. Gemini API ドキュメント "Gemini thinking" — thinking_level、課金(2026年10月確認)
  15. Chen et al. "Do NOT Think That Much for 2+3=? On the Overthinking of o1-Like LLMs"(arXiv:2412.21187, 2024)
  16. Turpin et al. "Language Models Don't Always Say What They Think"(arXiv:2305.04388, 2023)
  17. Lanham et al. "Measuring Faithfulness in Chain-of-Thought Reasoning"(arXiv:2307.13702, 2023)
  18. Chen et al. "Reasoning Models Don't Always Say What They Think"(arXiv:2505.05410, 2025)