Extended Thinking(エクステンデッド シンキング)とは?仕組み・使い方・実例をわかりやすく解説

Extended Thinking アイキャッチ画像

Extended Thinking(エクステンデッド シンキング)とは

Extended Thinking(エクステンデッド シンキング)とは、Anthropic社が開発したAIモデル「Claude」に搭載された推論強化機能のことです。通常のAI応答では、モデルはユーザーの質問を受け取ると即座に回答を生成しますが、Extended Thinkingを有効にすると、最終的な回答を出す前に「thinking block(シンキングブロック)」と呼ばれる内部的な思考領域でステップバイステップの推論を行います。これにより、数学的な問題、複雑なコード生成、多段階の論理推論など、深い思考が求められるタスクでの正確性が大幅に向上します。

Extended Thinkingの最大の特徴は、AIの思考プロセスがそのまま可視化される点にあります。従来のAIモデルでは、なぜその回答に至ったのかがブラックボックスでしたが、Extended Thinkingでは「thinking block」の中身をユーザーが確認できます。これにより、AIの推論過程を検証し、信頼性の高い結果を得ることが可能になりました。実務でAIを活用する際には、この透明性が非常に重要です。2025年初頭にClaude 3.7 Sonnetで初めて導入され、その後Claude Opus 4.6やSonnet 4.6ではAdaptive Thinking(適応的思考)としてさらに進化しています。覚えておきたいポイントです。

Extended Thinkingは「serial test-time compute(直列テスト時計算)」と呼ばれる手法を採用しています。これは、推論時に複数の逐次的な思考ステップを踏むことで、より正確な結論に到達するアプローチです。研究によると、思考に費やすトークン数に対して、数学問題の正答率が対数的(logarithmically)に向上することが示されています。つまり、思考時間を増やすほど精度は上がりますが、その効果は徐々に緩やかになるという特性があります。注意してください。

Extended Thinkingの読み方

Extended Thinking(エクステンデッド シンキング)

英語の「Extended」は「拡張された」、「Thinking」は「思考」を意味します。日本語では「拡張思考」と訳されることもありますが、技術用語としてはそのまま「エクステンデッド シンキング」とカタカナ表記されるのが一般的です。

Extended Thinkingの仕組み

Extended Thinkingの処理フローは、大きく3つのステップに分かれています。まず入力を受け取り、次にthinking blockで思考を展開し、最後に整理された回答を出力します。以下の図でその流れを確認しましょう。

1. 入力受付
ユーザーのプロンプトをモデルが受信

2. Thinking Block
内部スクラッチパッドで段階的推論を実行。問題の分解、仮説の検証、計算の確認など

3. 最終回答
思考結果を整理し、ユーザーに分かりやすい形で回答を生成

Thinking Blockの内部構造

Thinking Block内部では、以下のようなプロセスが実行されます。重要なのは、この思考がモデルの内部で「直列的に」行われることです。並列処理ではなく、前のステップの結果を踏まえて次のステップへ進むため、論理的な一貫性が保たれます。

  • 問題の分解:複雑な問題を小さなサブタスクに分割する
  • 仮説の生成と検証:考えられる解法を列挙し、それぞれの妥当性を検討する
  • 自己検証:途中結果を検算し、誤りがあれば修正する
  • 結論の統合:各サブタスクの結果を統合して最終的な回答を構成する

Adaptive Thinking(適応的思考)

Claude Opus 4.6およびSonnet 4.6では「Adaptive Thinking(適応的思考)」という進化した仕組みが導入されました。これは、質問の難易度に応じて自動的に思考の深さを調整する機能です。簡単な質問には短い思考で素早く回答し、複雑な問題には十分な思考時間を確保します。また、Interleaved Thinking(インターリーブド シンキング)も自動的に有効化され、回答の途中でも必要に応じて思考を挟むことが可能になっています。さらに、Opus 4.6/Sonnet 4.6ではthinking blockの内容がデフォルトで要約表示されるようになり、長大な思考ログが自動的にコンパクトに整理されるようになりました。これは実務では非常に重要です。

Extended Thinkingの使い方・実例

Extended ThinkingはAnthropicのAPI経由で利用できます。主要なパラメータはbudget_tokensで、思考に使用するトークン数の上限を指定します。以下に具体的なコード例を示します。

Python APIでの基本的な使い方

import anthropic

client = anthropic.Anthropic()

# Extended Thinkingを有効にしたリクエスト
response = client.messages.create(
    model="claude-sonnet-4-6-20250415",
    max_tokens=16000,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000  # 思考に最大10,000トークンを割り当て
    },
    messages=[
        {
            "role": "user",
            "content": "377を素因数分解してください。"
        }
    ]
)

# レスポンスの処理
for block in response.content:
    if block.type == "thinking":
        print("【思考プロセス】")
        print(block.thinking)
    elif block.type == "text":
        print("【最終回答】")
        print(block.text)

budget_tokensの調整指針

budget_tokensは、タスクの複雑さに応じて適切に設定することがポイントです。以下の表を参考にしてください。

タスクの種類 推奨budget_tokens 説明
簡単な質問・要約 1,024 ~ 4,000 短い思考で十分なケース
中程度のコード生成 4,000 ~ 10,000 複数ステップの推論が必要
複雑な数学・分析 10,000 ~ 32,000 深い推論が求められるタスク
高度な研究・論証 32,000以上 最大限の思考が必要な難問

TypeScript/Node.jsでの実装例

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

async function solveWithThinking(question: string) {
  const response = await client.messages.create({
    model: "claude-sonnet-4-6-20250415",
    max_tokens: 16000,
    thinking: {
      type: "enabled",
      budget_tokens: 8000
    },
    messages: [
      { role: "user", content: question }
    ]
  });

  for (const block of response.content) {
    if (block.type === "thinking") {
      console.log("[Thinking]", block.thinking);
    } else if (block.type === "text") {
      console.log("[Answer]", block.text);
    }
  }
}

solveWithThinking("この漸化式の一般項を求めてください: a(n+1) = 2*a(n) + 3, a(1) = 1");

Extended Thinkingのメリット・デメリット

メリット

  • 正確性の大幅な向上:数学、論理推論、コーディングなどのタスクで飛躍的に正答率が改善されます。特に数学問題では、思考トークン数に対して対数的に精度が向上します。
  • 透明性と信頼性:thinking blockの中身を確認できるため、AIがどのように結論に至ったかを検証できます。これはデバッグや品質保証において非常に重要です。
  • 複雑なタスクへの対応力:多段階の推論が必要な問題でも、ステップバイステップで着実に解を導き出します。
  • 自己修正能力:思考の途中で自ら誤りに気づき、修正を行うことがあります。これは通常の応答では見られない特徴です。

デメリット

  • 応答時間の増加:思考に時間を費やすため、通常の応答と比較してレスポンスが遅くなります。リアルタイム性が求められる用途には注意が必要です。
  • トークンコストの増大:thinking blockで使用されるトークンも課金対象となるため、API利用コストが増加します。budget_tokensの適切な設定が重要です。
  • 過剰思考のリスク:単純な質問に対しても大きなbudget_tokensを設定すると、不必要に長い思考を行い、コストと時間が無駄になる場合があります。
  • 思考内容の制御が困難:thinking blockの内容はモデルが自律的に生成するため、ユーザーが思考の方向性を細かく制御することは難しい場合があります。

Extended ThinkingとChain of Thoughtの違い

Extended Thinkingは、しばしば「Chain of Thought(CoT)プロンプティング」と混同されます。どちらもステップバイステップの推論を促す手法ですが、根本的な違いがあります。以下の比較表で確認しましょう。

比較項目 Extended Thinking Chain of Thought (CoT)
実装方式 モデルに内蔵された機能 プロンプトエンジニアリング手法
有効化方法 APIパラメータで設定 プロンプトに「ステップバイステップで考えて」等を記述
思考の場所 専用のthinking block(分離された領域) 通常の出力テキスト内
思考量の制御 budget_tokensで精密に制御可能 制御が困難
思考の品質 モデルが最適化された推論を実行 プロンプトの書き方に依存
コスト thinking tokenが別途課金 出力トークンとして課金
対応モデル Claude 3.7 Sonnet以降 多くのLLMで利用可能
透明性 raw形式の思考過程が閲覧可能 整形された出力の一部として表示

重要なのは、Extended Thinkingはモデルレベルで最適化された機能であり、Chain of Thoughtはあくまでプロンプトの工夫であるという点です。Extended Thinkingでは、思考が回答とは別の専用領域で行われるため、最終回答がクリーンに保たれるというメリットもあります。

よくある誤解

誤解1:Extended Thinkingを使えばどんな質問でも正確に答えられる

Extended Thinkingは推論の正確性を向上させますが、万能ではありません。モデルの学習データに含まれていない最新情報には対応できませんし、根本的に誤った前提に基づく質問には正しい回答を返せません。あくまで「考える力」を強化する機能であり、「知識」を増やす機能ではないことを覚えておきましょう。

誤解2:budget_tokensを増やすほど常に良い結果が得られる

研究では、精度は思考トークン数に対して対数的に向上することが示されています。つまり、最初の数千トークンで大きな改善が見られますが、それ以降は改善幅が小さくなります。むやみにbudget_tokensを増やすことは、コストと応答時間の増大を招くだけで、実質的な精度向上にはつながりにくいことに注意しましょう。

誤解3:Extended Thinkingの思考内容は最終回答と同じ品質で信頼できる

thinking blockの内容はあくまでモデルの内部的な推論過程であり、最終回答とは異なり、整理や推敲が施されていない「生の思考」です。誤った仮説を立てて後で修正したり、冗長な試行錯誤が含まれることもあります。思考過程は参考として活用しつつ、最終回答を主たる成果物として扱うことが重要です。

誤解4:Adaptive ThinkingはExtended Thinkingとは別の機能である

Adaptive Thinking(適応的思考)はExtended Thinkingの進化形であり、別の機能ではありません。Claude Opus 4.6やSonnet 4.6に搭載されたAdaptive Thinkingは、質問の難易度に応じて自動的に思考の深さを調整するものであり、Extended Thinkingの仕組みをベースにしています。混同しないように注意してください。

実務での活用シーン

ソフトウェア開発

複雑なアルゴリズムの実装やバグの原因調査において、Extended Thinkingは強力なツールになります。例えば、既存の大規模コードベースのリファクタリング計画を立てる際、モデルがthinking block内でコードの依存関係を分析し、影響範囲を洗い出してから最適なリファクタリング手順を提案してくれます。実務では、このような段階的な分析能力が特に役立ちます。

データ分析・レポート作成

複数のデータソースから洞察を導き出す際にExtended Thinkingを活用すると、データの矛盾点や隠れたパターンを発見しやすくなります。thinking blockでデータの前処理方法を検討し、適切な分析手法を選択してから結論を出すため、より信頼性の高い分析結果が得られます。

法律・契約文書の分析

契約書のレビューやリスク分析では、多角的な視点からの検討が不可欠です。Extended Thinkingを使うと、モデルが各条項の法的影響を順番に検討し、矛盾点やリスクのある条項を体系的に洗い出すことができます。重要なポイントとして、思考過程も確認できるため、分析の根拠を把握できます。

教育・学習支援

数学や科学の問題を解く際、Extended Thinkingのthinking blockは「模範的な解法プロセス」として活用できます。学生が自分の解法と比較することで、どこで考え方が異なるのかを理解し、学習効果を高めることができます。

よくある質問(FAQ)

Q. Extended Thinkingは無料で使えますか?

A. Claude.ai(Anthropicの公式チャットインターフェース)では、プランに応じてExtended Thinkingが利用できます。API経由での利用の場合、thinking blockで使用されたトークンに対して通常のトークン料金が課金されます。budget_tokensの設定でコストを制御できるため、用途に応じた適切な設定が重要です。

Q. どのClaudeモデルでExtended Thinkingが使えますか?

A. Extended Thinkingは2025年初頭にClaude 3.7 Sonnetで初めて導入されました。その後、Claude Opus 4.6およびSonnet 4.6ではAdaptive Thinkingとして進化した形で搭載されています。最新のモデル情報はAnthropicの公式ドキュメントを確認してください。

Q. thinking blockの内容をプログラムで取得できますか?

A. はい、API経由でExtended Thinkingを有効にすると、レスポンスにthinking typeのcontent blockが含まれます。これをプログラムで解析することで、思考過程を記録・分析することが可能です。ただし、Opus 4.6/Sonnet 4.6ではデフォルトで思考が要約されるため、完全な思考ログを取得したい場合は設定を確認してください。

Q. Extended Thinkingを使うとハルシネーション(幻覚)は減りますか?

A. 段階的な推論と自己検証のプロセスにより、論理的な誤りに起因するハルシネーションは減少する傾向があります。しかし、モデルの学習データに起因する事実誤認は、Extended Thinkingだけでは解消できません。重要な事実関係については、外部ソースでの確認を併用することを覚えておきましょう。

Q. budget_tokensを設定しない場合はどうなりますか?

A. Adaptive Thinking対応モデル(Opus 4.6/Sonnet 4.6)では、budget_tokensを明示的に設定しなくても、モデルが質問の難易度に応じて自動的に適切な思考量を決定します。ただし、コスト管理の観点から、プロダクション環境ではbudget_tokensの上限を設定することが推奨されます。

まとめ

Extended Thinking(エクステンデッド シンキング)は、AIの推論能力を飛躍的に向上させる画期的な機能です。thinking blockによるステップバイステップの推論は、数学・コーディング・複雑な分析など、深い思考が求められるタスクで特に威力を発揮します。

この記事のポイントを整理すると、以下のようになります。Extended Thinkingは「serial test-time compute」を用いた内蔵型の推論強化機能であり、Chain of Thoughtプロンプティングとは根本的に異なるアプローチです。budget_tokensパラメータで思考量を制御でき、精度は思考トークン数に対して対数的に向上します。最新のClaude Opus 4.6/Sonnet 4.6ではAdaptive Thinkingとして進化し、自動的に最適な思考量を決定してくれます。

実務でExtended Thinkingを活用する際は、タスクの複雑さに応じたbudget_tokensの適切な設定と、思考過程の検証を組み合わせることで、AIの能力を最大限に引き出すことができます。今後もAnthropicの技術進化に注目し、Extended Thinkingの最新機能を積極的に活用していきましょう。

参考文献・出典

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA