Claude APIに「途中でOpusに相談する」モードが来た — Sonnetで回しながら判断だけ格上げする仕組み
Claude APIに変わった形のツールが1つ増えた。名前は「advisor tool」。ざっくり言うと、安いモデルで本文を書きつつ、要所だけ上位モデルに相談できる機能だ。2026年4月9日にpublic betaでリリースされ、ベータヘッダー advisor-tool-2026-03-01 を付けると使える。
最初に公式ドキュメントを読んだときの率直な感想を言うと、「ああ、これは人間がチームで仕事するときの構造をAPIに持ち込んだやつだな」と思った。実務で言えば、駆け出しのエンジニアが9割の作業を進めつつ、詰まった瞬間だけシニアに相談する、あの流れ。それを1回のAPIリクエストの中で閉じ込めてしまう発想が、やけに実直で好ましい。
何が新しいのか
従来、Claude APIでエージェント的な処理を組もうとすると、モデル選びは二択だった。Sonnetで安く回すか、Opusで賢く回すか。Haikuまで含めれば三択だが、いずれにせよ「1つのタスクを1つのモデルに任せる」のが大前提だった。
advisor toolはこの前提を崩す。
- Executor(実行役): ユーザーの会話に直接応えるモデル。例えばSonnet 4.6。ここで最終出力を生成する。
- Advisor(相談役): Executorが必要と判断したタイミングで呼び出す上位モデル。通常はOpus 4.6。会話全体を読んだ上で、400〜700トークン程度のプランや軌道修正を返してくる。
この構造のキモは、Advisorが出すのは最終出力ではなくアドバイスだけという点だ。Executorはそれを受け取って、自分の言葉で続きを書き進める。結果として、生成トークンの大半はSonnet料金のまま、判断の質だけがOpus相当に引き上がる。
動きを追ってみる
コードで見るとむしろシンプルだ。ツール定義に advisor_20260301 を1つ追加するだけでいい。
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": "Goで並列ワーカープールを書いて。graceful shutdown込みで。"}
],
)
ExecutorがAdvisorを呼ぶ判断をすると、レスポンスには server_tool_use ブロック(呼び出しのマーカー)と、続けて advisor_tool_result ブロック(返ってきたアドバイス)が並ぶ。ここで面白いのは、Advisorに何を渡すかを開発者側が指定する必要がないことだ。サーバー側が自動的に会話全体を転送する。システムプロンプト、過去のツール呼び出し、すべての結果が勝手にAdvisorに渡される。
Advisor側は逆に、ツール呼び出しもcontext管理もしない。純粋に「読んで、助言を返す」だけ。thinking blockは破棄され、テキスト本体だけがExecutorに届く。
料金の読み解き方
課金はわりと正直な設計になっている。AdvisorのトークンはExecutorのトークンとは別枠で、Advisorのモデル(通常Opus)のレートで請求される。トップレベルの usage にはExecutor分しか乗らず、全体を把握したければ usage.iterations を舐めることになる。
重要なのは、出力トークンの圧倒的多数はExecutorが吐くという点だ。Advisorは1回の呼び出しで400〜700テキストトークン、thinking込みで1,400〜1,800トークン程度。一方で最終出力(関数の実装、リファクタのdiff、長文レポートなど)は全部Executorが書く。この非対称性こそが「Opus級の判断 × Sonnet級のコスト」という合成を成立させている。
公式のガイドにも直接書かれているが、ちゃんとしたコストメリットが出るのは長いエージェントループだ。短いQ&Aや、1往復で終わる用途にはほぼ意味がない。相談する内容が存在しないからだ。
どのExecutorとペアにできるか
モデルの組み合わせには制約がある。Advisorは「少なくともExecutor以上に賢い」ペアでなければ受け付けてくれない。
| Executor | Advisor |
|---|---|
| Claude Haiku 4.5 | Claude Opus 4.6 |
| Claude Sonnet 4.6 | Claude Opus 4.6 |
| Claude Opus 4.6 | Claude Opus 4.6 |
いまのところAdvisor側は実質Opus 4.6一択だ。無効な組み合わせを投げると 400 invalid_request_error が返る。
個人的にはHaiku × Opusの組み合わせが一番面白いと思っている。これまでHaikuは「安いけど判断は頼れない」ポジションで、本番のエージェント制御に置きづらかった。Advisorで補強できるなら、UIの裏側で軽く動かすHaikuエージェントの射程がぐっと広がる。
向いている使い所
Anthropicが想定しているのは、いわゆるlong-horizon agentic workloadだ。具体的には:
- コーディングエージェント — 最初に方針を決めて、後はファイルを読み書きしながら進める種類の作業。最初のファイル探索が終わった後の「どう攻めるか」の1手目と、「完成したつもりの瞬間」の確認、この2回にAdvisorを呼ぶのが公式の推奨パターン。
- Computer use — 画面を見ながら何度もクリックする自動化で、方針がブレやすい瞬間だけOpusに聞きにいく。
- マルチステップのリサーチパイプライン — 情報を集めてから統合する工程で、集めた情報の読み解きだけ上位モデルに委ねる。
逆に、単発Q&A、モデル選択をユーザー側に委ねているプロダクト(pass-through)、そして毎ターンAdvisorの全能力が必要な重い仕事には向かない。最後のやつは素直にExecutorをOpusにした方が早い。
試すときに引っかかりそうな点
触る前に知っておくと楽な落とし穴がいくつかある。
1つめ。ストリーミングはAdvisor呼び出し中だけ止まる。ExecutorのストリームはAdvisorが考えている間は無言になる(SSEのpingだけ流れる)。ユーザー体験を設計するときは、この「沈黙時間」の演出を考えておいた方がいい。
2つめ。会話レベルの呼び出し上限は自前で管理する必要がある。リクエスト単位の max_uses はあるが、「1つの会話で合計○回まで」というキャップはAPI側にない。上限を設けたいならクライアント側でカウントして、届いたら tools からadvisor toolを外し、さらに過去メッセージ内の advisor_tool_result ブロックも全部剥がしてからリクエストを送らないと400が返る。ここは地味にハマりポイント。
3つめ。Advisor側のpromptキャッシュは3回目の呼び出しから黒字化する。ツール定義に caching: {"type": "ephemeral", "ttl": "5m"} を付けるとAdvisorのトランスクリプトがキャッシュされるが、最初の2回は書き込みコストの方が高い。短いタスクで雑にオンにすると逆にコストが上がるので、長いエージェントループ以外は切っておくのが安全だ。
4つめ。公式ドキュメントに明記されているが、clear_thinking のデフォルト挙動がAdvisorキャッシュを壊す。extended thinkingを使っていて特に設定していないと、keep: {type: "thinking_turns", value: 1} が効いてしまい、Advisor側のキャッシュミスが頻発する。キャッシュ恩恵を狙うなら keep: "all" を明示する必要がある。
何が実現できそうか
この機能を触ると、いくつか「それもできるのか」と思わせる応用がすぐ浮かぶ。
ローカルCLIエージェントの知能底上げ。 Claude CodeやOpenCodeのようなターミナルベースのエージェントは、デフォルトのコストと応答速度のバランスでSonnetを回していることが多い。そこにadvisor toolを組み込めば、「探索フェーズ → Advisor相談 → 実装フェーズ → 最終確認Advisor相談 → PR作成」という流れを1コマンド内で閉じられる。ユーザーから見れば「なぜかSonnetのままなのに意思決定が賢くなった」という体験になる。
Haikuで組むユーザー向けエージェントのバックボーン強化。 たとえばサポートbotやフォーム入力支援のような、リアルタイム性が要る軽量エージェント。普段はHaikuでサクサク返すが、ユーザーの質問がこじれ始めた瞬間だけAdvisorにOpusを呼んで戦略転換する、みたいな構造が現実的に組める。応答の9割は今と同じ速さで、1割だけ「あ、急に賢くなった」というUXになり得る。
コードレビューの2段構え。 CIに組み込むコードレビュー bot で、Sonnetが差分を読んで指摘を並べ、要所で「この変更の本当のリスクは何か」をOpus advisorに聞く。Opusの出力そのものをユーザーに見せる必要はなく、Sonnetが咀嚼して返してくれるので、体裁は普段のレビューコメントのまま質だけ上がる。
どれも理屈としては今までもManaged Agentsやクライアント側のオーケストレーションで組める話ではあったが、1リクエスト内で完結するのが大きい。接続管理、再試行、stateの引き回しが全部Anthropic側の責任になる。開発者が書くコードが一段薄くなる。
個人的な評価
Anthropicの最近のAPI周りの機能追加は、「エージェントを組む人がいつもコードで書いている手続きを、APIの内側に吸い込む」方向で一貫している。Managed Agentsがオーケストレーションを吸い込んだのと同じ文脈で、advisor toolはプランナーとワーカーを分けるパターンを吸い込んだ、と言える。
正直に言えば、これをすでにクライアント側で自前実装している会社は多い。Sonnetで回しつつ、危なくなったらOpusに別APIで問い合わせて、その結果を次のプロンプトに差し込む、というやつ。advisor toolはそれを置き換える最短経路だ。ただし、単純に置き換えるとExecutorのストリームが止まる瞬間が発生するので、フロントエンドの見せ方は工夫が要る。
もう1つ気になるのは、Advisor側のモデル選択肢が実質Opus 4.6しかないこと。将来的に「Sonnet executor × もう少し上位のSonnet advisor」のような細かい刻みができれば、中〜小規模案件でも使いやすくなるはずだ。今のペアリングはちょっとゴツい。
いま試すべき人は、すでにSonnet/Haikuでエージェント系のパイプラインを動かしていて、肝心な一手で精度が足りないと感じている開発者だろう。ドキュメントに書かれたシステムプロンプトのテンプレ(Advisorをどう扱うかの指示、出力を100語以内に絞らせる1行など)をコピペして当てはめるだけで、体感がかなり変わるはずだ。
公式ドキュメントはplatform.claude.comで公開されている。まずはcurl 1回で済むQuick startを叩いて、usage.iterations を眺めてみるのをおすすめしたい。ExecutorとAdvisorのトークン配分を見れば、自分の用途で元が取れるかの肌感がすぐ掴める。
関連記事
ClaudeのGPUにCoreWeaveが加わった — Anthropicが48時間で2つ目のインフラ契約を結んだ理由
CoreWeaveが2026年4月10日にAnthropicとの複数年GPUクラウド契約を発表。Meta拡張の翌日という連続ディール、Vera Rubin採用、$66.8B受注残の意味を解説する。
Claude Sonnet 5 — SWE-bench 92%、Opus 4.6を「Sonnet価格」で超えたAnthropicの一手
Claude Sonnet 5がSWE-bench Verified 92.4%を記録し、Opus 4.6を12ポイント上回った。据え置き価格・2Mコンテキスト・強化されたadaptive thinkingを実機目線で整理する。
Claude Codeのソースコードがnpm経由で全部見えた日 — 流出から判明した未公開モデルと隠し機能
2026年3月31日にClaude Codeのソース約51万行がnpm経由で流出。未公開モデルOpus 4.7や隠し機能autoDream・KAIROSの正体、ユーザーがやるべき対応まで整理する。