🤖

ClaudeCodeの拡張思考モード解説

に公開

アプリボットでゲームのクライアントエンジニアをしています、杉浦(@siguma_sig)です。
今回は、ClaudeCode の拡張思考モードについて解説します。
なんとなくで使っていたり、常時 on にしている方もいらっしゃると思われるため、そもそもどういうものなのか、使い道はどういう場面なのかについてまとめていきます。

この記事でわかること

  • 拡張思考モードの概要と挙動について
  • 拡張思考モードはなぜ有用か
  • ClaudeCode の拡張思考モードの使い方
  • 拡張思考モードの使い所

拡張思考モードの概要と挙動

拡張思考モードとは、ClaudeCode においてより深い推論にトークンや時間などのリソースを割くモードです。
どういった挙動になるかというと、ClaudeCode の推論過程が細かく出力されるようになります。
推論過程というのは、数学でいう途中式のようなものをイメージするとわかりやすいです。
途中式をほとんど省略して回答だけ記載していた挙動が、途中式までしっかりと記載するようになります。
上記のような挙動になるため、出力されるトークン数も増えるため、出力にかかる時間とコストも増えます。

拡張思考モードはなぜ有用か

この拡張思考モードが有用である背景には、プロンプトエンジニアリングの一種である、ChainOf Thought(以下 CoT)が関係しています。
CoT とは、モデルに思考過程を明示的に書かせるプロンプト手法です。
では、思考過程を明示的に書くことがなぜ LLM にとって有用なのでしょうか。
その理由を理解するためには、LLM がどのようにして文章を生成しているかを知っておく必要があります。

詳細に説明するとかなり長くなってしまうので、概要を説明していきます。
LLM は、膨大なデータから文脈やパターンを学習し、それをもとに与えられた入力から次に来そうなトークンを予測して出力する仕組みです。
つまり、今書かれている入力内容をもとに判断するため、正しい出力がでるように促すためには、正しい出力が予測されやすい入力をすることが大切です。

これを踏まえると、CoT は求めている回答の方向に対して、参考になる情報(推論過程)を丁寧に出力するようになるため、回答の精度が上がるのです。
数学の途中式を書いていれば、その途中式を書いている過程で間違いに気づけるかもしれません。
CoT はそのように LLM の回答出力過程で、自分自身で推論過程を丁寧に書くことで、その後の出力をより正しい方向に導いてくれます。

長くなりましたが、ClaudeCode の拡張思考モードの話に戻ります。
拡張思考モードでは、前述のとおり、推論過程を丁寧に出力するようになります。
つまり、挙動としては CoT のような恩恵が得られるようになり、それによって回答の精度向上が期待できます。

ClaudeCode の拡張思考モードの使い方

ClaudeCode の拡張思考モードの使い方について説明します。
v2 とそれ以前で挙動が異なるため、本記事では v2 以降の挙動について説明します。
ClaudeCode はかなり頻繁なアップデートが行われているため、本記事の内容は 2025/11 月現在のものとして記載します。

v2 での拡張思考は下記の 2 つのどちらかの手法によって有効になります。

  1. ultrathink キーワードをプロンプトに含める
  2. tab キーによって思考モードを on にする

注意点として、v2 以前では有効であった think キーワードや think hard といったキーワードは現在では有効ではないようです。
つまり、v2 以降では、キーワードによって拡張思考のトークン予算を制御することはできないようです。
ただし、公式ドキュメントに明確な記載が見当たらなかったため、私の検証と issue などの調査を参考にしています。(もし、公式の記載がどこかにありましたら、ぜひ教えてください)

拡張思考モードを有効にする 2 つの手法の違いとしては、ultrathink キーワードで拡張思考を有効にした場合は、その入力プロンプトが処理され終わるまでの一連の流れでのみ拡張思考モードが有効になります。
対して、tab による切り替えの場合は、同じセッションで処理している限りは拡張思考モードが有効になります。

拡張思考モードの使い所

拡張思考モードは、前述のとおり、推論過程をより詳細に出力します。
これにはメリットとデメリットがあります。

  • メリット
    • より丁寧に出力を行うので、回答の精度が上がりやすい
    • 推論プロセスのデバッグがしやすい
  • デメリット
    • 推論トークンを生成する分の時間とコストがかかる
    • 論理だったハルシネーション(間違った内容)が出力される可能性が上がる

なので、常時 on にしておくことはおすすめしません。
使い所としては、回答の精度を期待したくて、時間がかかっても良いような場合には拡張思考を有効にすると良いでしょう。
例えば、設計の壁打ちなど深い推論をしたい場合が有効です。

まとめ

今回は ClaudeCode の拡張思考モードについて解説しました。
LLM の性質を理解することで、ClaudeCode などのコーディングエージェントで用意されているものがなぜ有用なのかが理解できるようになります。
今回の CoT の話で興味を持たれた方は、ぜひ LLM の裏側をもっと調べてみてください。

参考文献

アプリボット

Discussion