Claudeのadvisorツールとは|速い実行役に賢い相談役を組み合わせる

エージェント型のワークロードでは、たいていのターンは機械的な作業です。ファイルを開く、検索する、結果を読む。そういう地味な処理が大半を占める一方で、最初にどう方針を立てるか、行き詰まったときにどう軌道修正するかという「数回の判断」が、成否をほぼ決めてしまいます。Claude APIのadvisorツールは、この構造に着目した仕組みです。安価で速いモデルにタスク全体を回させつつ、要所だけ高性能なモデルに相談させる。この記事では、advisorツールが何をするもので、どんなときに効き、どこに注意すべきかを整理します。
advisorツールが解く問題
上位モデルは賢いぶん、トークン単価が高くなります。だからといって安いモデルだけで長いエージェント処理を回すと、方針の甘さがそのまま最終成果物の質に響きます。かといって全工程を上位モデルで動かすと、機械的な作業まで高い単価で処理することになり割に合いません。
advisorツールは、この二択の間を取ります。executorと呼ぶ実行役の安いモデルがタスクを進め、方針を立てるべき局面でadvisorと呼ぶ相談役の上位モデルに問い合わせる。advisorはそれまでの会話全体を読んで計画や軌道修正を返し、executorはその助言を踏まえて作業を続けます。最終的な大量の出力はexecutorの単価で生成されるため、上位モデル単独に近い品質を、より低いコストで狙えるという発想です。公式ドキュメントでは、コーディングエージェント・コンピュータ操作・多段の調査パイプラインといった長時間のワークロードが適するとされています。
メモ
advisor-tool-2026-03-01を付与します。提供範囲はClaude APIとClaude Platform on AWSで、現時点ではAmazon Bedrock・Google Cloud・Microsoft Foundryでは利用できません(公式ドキュメント時点)。どんなときに向くか・向かないか
advisorが素直にはまるのは、次のような構成です。
| 現状 | advisorの足し方 | ねらい |
|---|---|---|
| 複雑なタスクをSonnetで処理している | advisorにOpusを追加する | 同等かそれ以下の総コストで品質を底上げ |
| Haikuを使っていて知性を一段上げたい | advisorにOpusを追加する | executorを上位モデルに替えるより安く済ませる |
一方で、向かない場面もはっきりしています。計画する余地のない単発の質問応答、利用者自身がコストと品質のトレードオフを選んでいる素通しのモデル選択、そして毎ターンが本当にadvisorモデルの実力を必要とするようなワークロードです。効果はタスク依存なので、自分のワークロードで実際に測るという前提は外せません。
効果の度合いや適性は、扱うタスクの性質に強く依存します。この記事の内容は公式ドキュメントの記載に基づく整理であり、数値的な改善幅の主張はしていません。導入前に、必ず自社の代表的なタスクで比較検証してください。
仕組み:1回のリクエストの中で完結する
advisorツールをtools配列に加えると、executorが他のツールと同じ判断でadvisorを呼ぶかどうかを決めます。呼び出しが起きると、内部では次のように処理が進みます。
1. executorが server_tool_use ブロック(name: "advisor", input は空)を出す
-> 呼ぶタイミングだけをexecutorが決め、文脈はサーバー側が用意する
2. サーバーがadvisorモデルで別の推論を実行
-> advisor専用のシステムプロンプトの下で、executorの全文脈を読む
3. advisorの応答が advisor_tool_result ブロックとしてexecutorに返る
4. executorが助言を踏まえて生成を続ける
ポイントは、この一連の流れが1回の/v1/messagesリクエストの中で完結することです。呼び出し側で追加のやり取りは要りません(途中で一時停止するケースだけ、フォローアップのリクエストで再開します)。advisorへ渡る文脈は、システムプロンプト・ツール定義・過去のターンとツール結果・executorがそのターンで生成中のテキストまでを含みます。なおserver_tool_useのinputは常に空で、executorがそこに何を書いてもadvisorには届きません。文脈はすべてサーバーが会話全体から自動で組み立てます。
advisor自身はツールなし・コンテキスト管理なしで動き、思考ブロックは結果を返す前に破棄されます。executorに届くのは助言のテキストだけです。
最小構成のコード
executorにclaude-sonnet-4-6、advisorにclaude-opus-4-8を組み合わせる例です。advisorはツール定義の中のmodelで指定します。
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-6", # executor(実行役)
max_tokens=4096,
betas=["advisor-tool-2026-03-01"],
tools=[
{
"type": "advisor_20260301",
"name": "advisor",
"model": "claude-opus-4-8", # advisor(相談役)
}
],
messages=[
{
"role": "user",
"content": "Goで graceful shutdown 付きの並行ワーカープールを実装して。",
}
],
)
マルチターンで続ける場合は、advisor_tool_resultブロックを含むアシスタントの応答内容をそのまま履歴に積み直して次のターンへ渡します。履歴にadvisor_tool_resultが残っているのにtoolsからadvisorツールを外すと、400 invalid_request_errorになる点に注意してください。
組み合わせられるモデルには制約がある
executorモデル(トップレベルのmodel)とadvisorモデル(ツール定義内のmodel)は、有効なペアを組む必要があります。ルールはシンプルで、advisorはSonnet 4.6以上の性能で、かつexecutor以上の性能でなければなりません。同格どうし(たとえばOpus 4.7とOpus 4.8)は互いにadvisorになれます。無効な組み合わせを指定すると、400 invalid_request_errorが返ります。
代表的な使い方は、先ほどの表のとおりSonnetやHaikuをexecutorにしてOpusをadvisorに据える形です。実行役に安いモデルを置き、判断だけを賢いモデルに委ねる、という役割分担が基本になります。
コストの見え方
advisor呼び出しは別の推論(サブインファレンス)として、advisorモデルの単価で課金されます。使用量はusage.iterations[]配列に分解して報告され、type: "advisor_message"の項目がadvisor単価、type: "message"の項目がexecutor単価です。
{
"usage": {
"output_tokens": 531,
"iterations": [
{ "type": "message", "output_tokens": 89 },
{ "type": "advisor_message", "model": "claude-opus-4-8", "output_tokens": 1612 },
{ "type": "message", "output_tokens": 442 }
]
}
}
トップレベルのusageはexecutorのトークンだけを表し、advisor分は別単価のため合算されません。コスト集計を実装するならusage.iterationsを見るのが正確です。公式ドキュメントによると、advisorの出力は軽めのワークロードでテキストで概ね400から700トークン、思考込みでも1,400から1,800トークン程度とされています。コスト削減が成立するのは、advisorが最終成果物そのものを生成しないからです。長い出力はあくまでexecutorが安い単価で書きます。
注意
max_tokensはexecutorの出力にしか効きません。advisorのサブ推論のトークン量は縛らないため、advisor分を直接抑えたいときはツール定義側のmax_tokensを使います。executorに適用したタスク予算(task budget)からもadvisor分は差し引かれません。運用でつまずかないための勘所
advisorは「入れて終わり」ではなく、呼び出し回数と出力量をどう制御するかが実務の中心になります。
- 1
出力量に上限をかける
ツール定義にmax_tokensを設定すると、advisor1回あたりの出力(思考+テキスト)を制限できます。最小値は1024で、推奨の出発点は2048です。上限に達すると結果にstop_reason: "max_tokens"が付き、助言テキストに切り詰めの注記が追記されます。 - 2
呼び出し回数を管理する
ツール定義のmax_usesは1リクエスト内の上限です。会話全体での上限は用意されていないため、必要ならクライアント側で回数を数え、上限に達したらadvisorツールを外し、履歴からadvisor_tool_resultブロックも取り除きます(両方やらないとエラーになります)。 - 3
長いループではキャッシュを有効化する
ツール定義のcachingで、advisor自身の文脈を会話内の呼び出し間でプロンプトキャッシュできます。書き込みコストがあるため、公式ドキュメントでは概ね3回以上呼ぶ会話で採算が合うとされています。短いタスクではオフのままが無難です。 - 4
呼び出しタイミングを整える
executorが相談役を呼ばなすぎる場合、追加のユーザーメッセージで軽く促す(ナッジ)手法があります。ただし効果はモデルや工程で変わり、Anthropicのテストでは早すぎるナッジが文脈の薄い相談を招く例も報告されています。特定リクエストで必ず相談させたいならtool_choiceで強制する方法もあります。
まず何から試すか
あわせて読みたい
AIエージェントとは何か|従来の自動化との違いと任せてよい仕事
導入を検討するなら、既存のエージェントのうち「方針で結果が変わる」タスクを1つ選び、executorはそのまま、advisorにOpusを足して比較するのが手堅い入口です。品質とコストの両方をusage.iterationsで実測し、割に合うかを自分のワークロードで判断します。コスト設計全体の考え方は別記事でも扱っています。
あわせて読みたい
LLMのコスト管理|トークン課金の考え方と削減の定石
よくある質問
advisorツールを使うと必ず安くなりますか
executorとadvisorは自由に組み合わせられますか
advisorの応答が暗号化されて中身が読めないことがあります
どのプラットフォームで使えますか
レート制限はどう扱われますか
まとめ
advisorツール検討チェックリスト
- 方針で結果が変わる長時間・多ステップのタスクか(単発質問応答は対象外)を確認した
- executorとadvisorのモデルペアが有効な組み合わせか確認した
- ベータヘッダー advisor-tool-2026-03-01 を付与する構成にした
- usage.iterations でexecutorとadvisorの課金を分けて集計する実装にした
- max_tokens・max_uses・caching で出力量と回数を制御する方針を決めた
- 自社の代表タスクで、品質とコストを実測してから本採用を判断する段取りにした
advisorツールは、モデルを1つ選んで終わりにしない発想の道具です。実行役と相談役を分け、賢い判断が必要な数回だけ上位モデルの力を借りる。うまくはまれば品質とコストのバランスは取りやすくなりますが、呼び出し回数と出力量を測らないと期待した効果は出ません。ベータ機能である点も踏まえ、まずは小さく試して数字で確かめるところから始めるのがおすすめです。
出典・参考
関連する記事
LLMのコスト管理|トークン課金の考え方と削減の定石
LLMのAPI利用で避けて通れないトークン課金の仕組みと、コスト管理の実務を解説します。料金の構造、見積もりの立て方、モデルの使い分けやキャッシュ活用といった削減の定石、監視の仕組みづくりをまとめます。
AIエージェントとは何か|従来の自動化との違いと任せてよい仕事
生成AIの活用で注目されるAIエージェントを冷静に解説します。チャットボットやRPAとの違い、自律性がもたらす利点とリスク、実務でエージェントに任せてよい仕事と任せるべきでない仕事の線引きをまとめます。
マルチエージェント構成をいつ選ぶか|単一エージェントで足りる線引きと、分割するときの設計判断
エージェントを複数に分けるべきかを実務の判断基準として整理します。既定は「分けない」であること、分けてよい条件と分けてはいけない条件、コンテキストの受け渡しと出力契約、コストの見積り、段階的な移行順序までを一次情報で裏取りしてまとめます。


