AI Tools 2026年4月18日 (更新: 2026年8月28日)

Claude Interleaved Thinking完全解説:ツール呼び出しの合間に思考を挟む高精度エージェント設計

2025年5月22日betaリリースのInterleaved Thinkingを解説。従来の拡張思考との違い、マルチステップエージェントでの精度向上の仕組み、Adaptive思考とeffortへの移行方法を網羅。

難易度基本的な操作を一度試したことがある前提です種別アップデート解説

TL;DR

  • 従来: 思考してからツールを呼ぶ(1回だけ考える)
  • Interleaved Thinking: ツール結果を受け取った後にも思考してから次の判断(ステップごとに考える)
  • 現行モデルでは thinking: {"type": "adaptive"} を指定すれば自動で交互に思考します。betaヘッダーは不要です
  • budget_tokens は Opus 4.7 以降のモデルでは 400エラーになります。深さの指定は output_config.effort へ移行しました

概要

Interleaved Thinking は、2025年5月22日にbetaとして公開された拡張思考の機能です。

従来の拡張思考は「最初に1回だけ深く考えてから処理を始める」設計でしたが、Interleaved Thinkingはツール呼び出しとツール結果の間にも思考ブロックを挟みます。これにより、各ステップの結果を踏まえた適切な次手を考えられるようになります。

現在この挙動は Adaptive思考(thinking: {"type": "adaptive"})に統合され、専用のbetaヘッダーを指定しなくても自動的に有効になります。


従来との比較

通常の拡張思考

[考える] → [ツール呼び出し] → [ツール結果] → [ツール呼び出し] → [ツール結果] → [回答]
  ↑ここだけ

Interleaved Thinking

[考える] → [ツール呼び出し] → [ツール結果] → [考える] → [ツール呼び出し] → [ツール結果] → [考える] → [回答]
  ↑                                             ↑                                              ↑
  毎ステップで考える

ツール結果を受け取るたびに状況を再評価するため、複数のツールを組み合わせる複雑なタスクで特に効果が出ます。


基本的な使い方

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    # adaptive を指定すると交互思考が自動で有効になる
    thinking={"type": "adaptive"},
    output_config={"effort": "high"},
    tools=[
        {
            "name": "search_web",
            "description": "Webを検索して最新情報を取得します",
            "input_schema": {
                "type": "object",
                "properties": {
                    "query": {"type": "string", "description": "検索クエリ"}
                },
                "required": ["query"]
            }
        },
        {
            "name": "analyze_data",
            "description": "データを分析して洞察を生成します",
            "input_schema": {
                "type": "object",
                "properties": {
                    "data": {"type": "string", "description": "分析対象データ"}
                },
                "required": ["data"]
            }
        },
    ],
    messages=[{"role": "user", "content": "2026年のAI業界トレンドを調査してまとめてください"}],
)

client.beta.messages.createbetas=["interleaved-thinking-2025-05-14"] を使う必要はありません。現行モデルではこのヘッダーは無視されます。


レスポンスの構造

交互思考が働くと、レスポンスに thinking ブロックが複数含まれます:

# レスポンスのcontent例
[
    {"type": "thinking", "thinking": "まず最新のAIトレンドを調べよう..."},
    {"type": "tool_use", "name": "search_web", "input": {"query": "AI industry trends 2026"}},
    # ↓ tool_resultを受け取った後
    {"type": "thinking", "thinking": "検索結果を見ると生成AIの台頭が顕著だ。次は..."},
    {"type": "tool_use", "name": "analyze_data", "input": {"data": "..."}},
    {"type": "thinking", "thinking": "分析結果から投資家向けの要点をまとめると..."},
    {"type": "text", "text": "## 2026年AI業界トレンド サマリー..."}
]

Opus 4.7以降のモデルでは、思考の中身は既定で返りません(thinking が空文字列になります)。推論過程を画面に出したい場合は display を明示します。

thinking={"type": "adaptive", "display": "summarized"}

display は表示の可否だけを制御するもので、思考自体はどの設定でも行われ、同じように課金されます。


budget_tokens からの移行

モデルthinking.budget_tokens
Claude Opus 4.5 / Sonnet 4.5 以前従来どおり必要(最低1,024トークン)
Claude Opus 4.6 / Sonnet 4.6非推奨。動作はする
Claude Opus 4.7 以降(Opus 4.8 / Opus 5 / Sonnet 5 / Fable 5)400エラー

移行の手順は3つだけです。

  1. budget_tokens を削除する
  2. thinking: {"type": "adaptive"} を指定する
  3. 深さは output_config: {"effort": ...} で指定する
# 旧
thinking={"type": "enabled", "budget_tokens": 10000}

# 新
thinking={"type": "adaptive"}
output_config={"effort": "high"}

effort の設定指針

effortlow / medium / high / xhigh / max の5段階で、既定は high です。

タスクの複雑さ推奨 effort
2〜3ステップの単純なツール使用lowmedium
5〜10ステップの中程度のタスクhigh
10ステップ超の複雑なリサーチ・コーディングxhigh
正しさがコストより重要な場面max

エージェント用途では xhigh が実用的な既定値です。逆にサブエージェントや単純な分類では low に下げると、ツール呼び出しがまとまり前置きも短くなります。Haiku 4.5 は effort に対応していません。


プロンプトキャッシュとの組み合わせ

思考ブロックもプロンプトキャッシュの対象になります。長時間のエージェントセッションで同じシステムプロンプトとツール定義を使う場合は、ttl を明示した1時間キャッシュが効果的です。

"cache_control": {"type": "ephemeral", "ttl": "1h"}

ただし会話の途中で effort を変えるとメッセージ側のキャッシュは無効になります。エージェントのフェーズごとに effort を切り替える設計では、この再書き込みコストを見込んでおいてください。


活用シーン

シーン効果
競合調査エージェント複数ソースを検索→各結果を評価→比較分析を段階的に深掘り
コードデバッグエージェントテスト実行→エラー解析→修正→再テストの各ステップで的確な判断
データパイプラインデータ取得→クリーニング→分析→可視化を柔軟に組み合わせ

参考リンク