コンテンツへスキップ
Guide

Claude Advisor Tool: 高速エグゼキューターとよりスマートなプランナーを組み合わせる

| 8 min read

アドバイザ ツールを使用すると、Sonnet は戦略的なガイダンスを得るために Opus ミッドジェネレーションを呼び出すことができます。 1 つの API リクエスト、2 つのモデル、Sonnet のコストで Opus に近い品質。

AI brain visualization with neural network connections representing dual-model collaboration
Photo by Andrea De Santis on Unsplash

Sonnet を実行するコーディング エージェントがあります。 ファイルの読み取り、 テストの実行、ボイラープレートの作成。 しかし、厄介なアーキテクチャの決定や微妙な並行性の問題が発生した場合、 バグなら、友達に電話できたらいいのに。

それがアドバイザーツールです。 Anthropic の新しいベータ API 機能により、より高速なエグゼキューター モデル (Sonnet または Haiku) が可能になります。 中間世代の高等知性顧問モデル (Opus) と呼ばれます。 アドバイザーはトランスクリプト全文を読み、 短い計画または軌道修正を作成し、実行者はタスクを続行します。 1 つの API リクエスト、 2 つのモデル、Sonnet 価格で Opus に近い品質。

アドバイザツールの仕組み

アドバイザ ツールを tools 配列、それをいつ呼び出すかエグゼキュータが決定します。 他のツールと同様に。 流れ:

  1. エグゼキュータは server_tool_use でブロックする name: "advisor" そして空の input
  2. Anthropic は、アドバイザー モデルのサーバー側で別の推論パスを実行し、実行者の完全なトランスクリプト (システム プロンプト、ツール定義、以前のすべてのターンと結果) を渡します。
  3. アドバイザの応答は次のように返されます。 advisor_tool_result ブロック (通常は 400 ~ 700 のテキスト トークン)。
  4. 実行者は、アドバイスに従って生成を続けます。

これらすべてが単一の内部で行われます /v1/messages リクエスト。 余分な往復旅行は必要ありません。 アドバイザは、ツールやコンテキスト管理を使用せずに実行されます。 思考ブロックが取り除かれ、 アドバイステキストは実行者に届きます。

最初のアドバイザー呼び出し:curl、Python、TypeScript

アドバイザ ツールはベータ版です。 を含めます advisor-tool-2026-03-01 リクエスト内のベータヘッダー。 最も単純な呼び出しは次のとおりです。

カール

curl https://api.anthropic.com/v1/messages \\
  --header "x-api-key: \$ANTHROPIC_API_KEY" \\
  --header "anthropic-version: 2023-06-01" \\
  --header "anthropic-beta: advisor-tool-2026-03-01" \\
  --header "content-type: application/json" \\
  --data '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 4096,
    "tools": [
      {
        "type": "advisor_20260301",
        "name": "advisor",
        "model": "claude-opus-4-6"
      }
    ],
    "messages": [{
      "role": "user",
      "content": "Build a concurrent worker pool in Go with graceful shutdown."
    }]
  }'

パイソン

import anthropic

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=["advisor-tool-2026-03-01"],
    tools=[
        {
            "type": "advisor_20260301",
            "name": "advisor",
            "model": "claude-opus-4-6",
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "Build a concurrent worker pool in Go with graceful shutdown.",
        }
    ],
)

print(response)

TypeScript

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

const client = new Anthropic();

const response = await client.beta.messages.create({
  model: "claude-sonnet-4-6",
  max_tokens: 4096,
  betas: ["advisor-tool-2026-03-01"],
  tools: [
    {
      type: "advisor_20260301",
      name: "advisor",
      model: "claude-opus-4-6",
    },
  ],
  messages: [
    {
      role: "user",
      content: "Build a concurrent worker pool in Go with graceful shutdown.",
    },
  ],
});

console.log(response);

応答はどのようになるか

アドバイザの呼び出しが成功すると、4 つのコンテンツ ブロックが生成されます。 server_tool_use ブロック、 advisor_tool_result ブロックと実行者の アドバイスに基づく最終出力。

{
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "Let me consult the advisor on this."
    },
    {
      "type": "server_tool_use",
      "id": "srvtoolu_abc123",
      "name": "advisor",
      "input": {}
    },
    {
      "type": "advisor_tool_result",
      "tool_use_id": "srvtoolu_abc123",
      "content": {
        "type": "advisor_result",
        "text": "Use a channel-based coordination pattern. Close the input channel first, then wait on a WaitGroup..."
      }
    },
    {
      "type": "text",
      "text": "Here's the implementation using a channel-based coordination pattern..."
    }
  ]
}

advisor_tool_result コンテンツには 2 つのバリエーションがあります。 advisor_result 平文あり アドバイス、そして advisor_redacted_result 暗号化されたコンテンツを含む。 どちらの場合も、 その後のターンでは内容がそのまま反映されます。

有効なモデルのペア

アドバイザーは少なくとも執行者と同等の能力を持っていなければなりません。 無効なペアは、 400 エラー。

執行者 アドバイザー
クロード俳句 4.5 作業4.6を閉じる
クロード・ソネット 4.6 作業4.6を閉じる
作業4.6を閉じる 作業4.6を閉じる

ほとんどのワークロードのスイート スポット: Sonnet が実行者、Opus がアドバイザーです。 質の高いリフトが得られます すべてのトークンに対して Opus を実行する場合と比較して、総コストは同等かそれより低くなります。

マルチターン会話

以下を含む完全なアシスタント コンテンツを渡します。 advisor_tool_result ブロックして、API に戻ります その後のターン。 アドバイザツールを省略した場合 tools フォローアップターンで メッセージ履歴がまだ残っている advisor_tool_result ブロックすると、API は 400

import anthropic

client = anthropic.Anthropic()

tools = [
    {
        "type": "advisor_20260301",
        "name": "advisor",
        "model": "claude-opus-4-6",
    }
]

messages = [
    {
        "role": "user",
        "content": "Build a concurrent worker pool in Go with graceful shutdown.",
    }
]

# First turn: executor calls advisor, builds the worker pool
response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=["advisor-tool-2026-03-01"],
    tools=tools,
    messages=messages,
)

# Pass back the full response content (including advisor_tool_result blocks)
messages.append({"role": "assistant", "content": response.content})
messages.append({"role": "user", "content": "Now add a max-in-flight limit of 10."})

# Second turn: executor has context from first advisor call
response = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=4096,
    betas=["advisor-tool-2026-03-01"],
    tools=tools,
    messages=messages,
)

コーディングエージェントの迅速なエンジニアリング

アドバイザ ツールには、開始近くでエグゼキュータを呼び出すように促す組み込みの説明が付属しています。 複雑なタスクの。 コーディングとエージェントのワークロードの場合、システム プロンプトを使用して結果を改善できます。 2 つのタイミングを強化します。

  • 記録にいくつかの探索的な読み物が含まれている後の、初期の最初のアドバイザーの呼び出し
  • ファイルの書き込みとテスト出力後の最終アドバイザー呼び出しがトランスクリプトに含まれます。

Anthropic がコーディング タスクに推奨するシステム プロンプト パターンは次のとおりです。 最高のものを生み出しました 内部評価ではソネットに近いコストでのインテリジェンス:

You have access to an \`advisor\` tool backed by a stronger reviewer model.
It takes NO parameters. When you call advisor(), your entire conversation
history is automatically forwarded.

Call advisor BEFORE substantive work: before writing, before committing
to an interpretation, before building on an assumption.

Also call advisor:
- When you believe the task is complete (save your deliverable first)
- When stuck: errors recurring, approach not converging
- When considering a change of approach

The advisor should respond in under 100 words and use enumerated steps,
not explanations.

出力トークンを 35 ~ 45% トリミングします。 「アドバイザーは 100 ワード以内で回答する必要があります」を追加 説明ではなく列挙されたステップを使用してください」というメッセージが表示され、アドバイザの出力がカットされます。 通話頻度を変更します。 タイミング ブロックと組み合わせて、コストと品質のトレードオフを最大限に高めます。

他のツールと組み合わせる

アドバイザ ツールは、Web 検索、コード実行、カスタム ツールを同じ内で構成します。 tools 配列。 実行者は Web を検索したり、アドバイザーに電話したり、ツールを使用したりできます。 同じターン。 アドバイザーの計画は、実行者が次にどのツールに手を伸ばすかを知らせることができます。

tools = [
    {
        "type": "web_search_20250305",
        "name": "web_search",
        "max_uses": 5,
    },
    {
        "type": "advisor_20260301",
        "name": "advisor",
        "model": "claude-opus-4-6",
    },
    {
        "name": "run_bash",
        "description": "Run a bash command",
        "input_schema": {
            "type": "object",
            "properties": {"command": {"type": "string"}},
        },
    },
]

アドバイザプロンプトのキャッシュ

2 つの独立したキャッシュ層が利用可能です。 エグゼキュータ側のキャッシュは、他のコンテンツ ブロックと同じように機能します。 を置く cache_control 後のブレークポイント advisor_tool_result そしてそれは当たります。

アドバイザ側のキャッシュでは、同じ会話内の複数の通話にわたってアドバイザのトランスクリプトがキャッシュされます。 で有効にします caching ツール定義のフィールド:

tools = [
    {
        "type": "advisor_20260301",
        "name": "advisor",
        "model": "claude-opus-4-6",
        "caching": {"type": "ephemeral", "ttl": "5m"},
    }
]

アドバイザの呼び出しが 2 回以下の場合、キャッシュ書き込みコストは読み取り保存コストよりも高くなります。 キャッシュはおよそ 3 回のアドバイザー呼び出しで中断され、そこから改善されます。 長期間有効にする エージェントループ。 短いタスクの場合はオフにしてください。

使用量と請求の内訳

Advisor の呼び出しは、Advisor モデルの料金で請求される別個のサブ推論として実行されます。 の usage.iterations 配列は反復ごとの内訳を示します。

{
  "usage": {
    "input_tokens": 412,
    "cache_read_input_tokens": 0,
    "cache_creation_input_tokens": 0,
    "output_tokens": 531,
    "iterations": [
      {
        "type": "message",
        "input_tokens": 412,
        "output_tokens": 89
      },
      {
        "type": "advisor_message",
        "model": "claude-opus-4-6",
        "input_tokens": 823,
        "output_tokens": 1612
      },
      {
        "type": "message",
        "input_tokens": 1348,
        "cache_read_input_tokens": 412,
        "output_tokens": 442
      }
    ]
  }
}

トップレベル usage フィールドには実行者トークンのみが反映されます。 との反復 type: "advisor_message" アドバイザ モデルの料金で請求されます。 を使用します。 iterations コスト追跡ロジックを構築するときに配列を使用します。

コスト管理: アドバイザ呼び出しの上限

アドバイザ ツールには、会話レベルの上限が組み込まれていません。 使用 max_uses ツール上で リクエストごとの制限の定義。 会話レベルの制限については、クライアント側での呼び出しをカウントし、 天井にぶつかったらアドバイザーを剥ぎ取ります:

# Track advisor calls client-side
advisor_count = 0
MAX_ADVISOR_CALLS = 5

for turn in conversation:
    response = client.beta.messages.create(...)

    # Count advisor calls in response
    for block in response.content:
        if block.type == "server_tool_use" and block.name == "advisor":
            advisor_count += 1

    if advisor_count >= MAX_ADVISOR_CALLS:
        # Remove advisor tool and strip advisor_tool_result blocks
        tools = [t for t in tools if t.get("name") != "advisor"]
        for msg in messages:
            if msg["role"] == "assistant":
                msg["content"] = [
                    b for b in msg["content"]
                    if b.get("type") not in ("server_tool_use", "advisor_tool_result")
                    or b.get("name") != "advisor"
                ]

エラー処理

アドバイザの呼び出しが失敗した場合、結果には次のメッセージが表示されます。 advisor_tool_result_errorerror_code。 実行者はエラーを認識し、アドバイスなしで続行します。 リクエスト それ自体は失敗しません。

エラーコード 意味
max_uses_exceeded リクエストが届きました max_uses ツール定義のキャップ
too_many_requests アドバイザのサブ推論はレート制限されていました
overloaded アドバイザが容量制限に達する
prompt_too_long トランスクリプトがアドバイザー モデルのコンテキスト ウィンドウを超えました
execution_time_exceeded アドバイザのサブ推論がタイムアウトしました

ストリーミング動作

アドバイザのサブ推論はストリーミングされません。 アドバイザの実行中、エグゼキュータのストリームは一時停止します。 それから完全な advisor_tool_result 1本で届く content_block_start イベント。 SSE ping キープアライブは、一時停止中に 30 秒ごとに起動されます。 2 ~ 5 秒の時間を計画してください トランスクリプトの長さに応じて、アドバイザーの呼び出しごとに沈黙。

アドバイザーが助けてくれるとき(そして助けてくれないとき)

フィット感が良い フィット感が弱い
複数ステップのファイル編集を行うコーディングエージェント シングルターン Q&A
複数段階の研究パイプライン ユーザーが品質を選択するモデルピッカー UI
分岐決定を備えたコンピューター使用エージェント 毎ターンフル Opus が必要なワークロード
複雑なテスト分析を備えた CI/CD パイプライン ツールの出力によって決まる短くて反応的なタスク

ペアリングに取り組むためのヒント: コーディングタスクの場合は、中程度の労力で Sonnet executor と オーパスのアドバイザー。 これにより、デフォルトの労力で、低コストで Sonnet に匹敵するインテリジェンスが実現されます。 インテリジェンスを最大限に高めるには、エグゼキューターの労力をデフォルトのままにします。

知っておくべき制限事項

  • アドバイザの出力はストリーミングされません。 部分推論中に一時停止が発生することが予想されます。
  • アドバイザの通話には会話レベルの上限が組み込まれていません。 クライアント側でそれらを追跡し、制限します。
  • max_tokens エグゼキュータの出力にのみ適用されます。 アドバイザ トークンをバインドしません。
  • エグゼキューターの優先順位はアドバイザには拡張されません。 両方のモデルで必要です。
  • この機能はベータ版です。 含む anthropic-beta: advisor-tool-2026-03-01 すべてのリクエストで。

FAQ

クロードアドバイザーツールとは何ですか?
Advisor Tool は、Claude API のベータ機能であり、より高速なエグゼキューター モデル (Sonnet または Haiku) が中間世代の高インテリジェンス アドバイザ モデル (Opus) を参照できるようにします。 アドバイザーは会話全体を読み、400 ~ 700 トークンで計画または修正を作成し、実行者はタスクを続行します。 これは、余分なラウンドトリップなしで、単一の /v1/messages リクエスト内で実行されます。
Claude Advisor ツールの料金はいくらですか?
Advisor の呼び出しは、Advisor モデルの料金で請求される別個のサブ推論として実行されます。 エグゼキューター トークンはエグゼキューター レートで請求されます。 アドバイザは完全な出力ではなく 400 ~ 700 のガイダンス トークンを生成するため、ほとんどのトークン生成はより安価なエグゼキュータ レートで行われます。 Sonnet をエグゼキューターとして、Opus をアドバイザーとして組み合わせることで、Opus を単独で実行する場合と同等かそれより低い総コストで、Opus に近い品質を実現します。
どのモデルがアドバイザ ツールで動作しますか?
アドバイザーは少なくとも執行者と同等の能力を持っていなければなりません。 有効なペア: Haiku 4.5 と Opus 4.6、Sonnet 4.6 と Opus 4.6、Opus 4.6 と Opus 4.6。 無効なペアは 400 エラーを返します。
Advisor ツールはストリーミングをサポートしていますか?
アドバイザがサブ推論を実行している間、エグゼキュータ ストリームは一時停止します。 アドバイザが終了すると、完全な Advisor_tool_result が単一の content_block_start イベントに到着し、エグゼキュータの出力がストリーミングを再開します。 SSE ping キープアライブは一時停止中に送信されます。
アドバイザ ツールを使用すべきでないのはどのような場合ですか?
アドバイザは、計画するものが何もない単一ターン Q&A、ユーザーが独自のコストと品質のトレードオフを選択する純粋なモデルピッカー UI、または各ターンでアドバイザ モデルの全機能が必要なワークロードに最小限の価値を追加します。 これは、コーディング エージェント、複数ステップのリサーチ、CI パイプラインなど、長期的なエージェント ワークロードに焦点を当てています。

botoiで開発を始めよう

150以上のAPIエンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。