Anthropic公式が指南:Claude Fable 5は「顧問」役、Claude Sonnet 5が実務を担って請求額の大半を支える
- AnthropicがClaude APIにテスト版のAdvisorツールを公開した。より速く安い「実行モデル」が生成の途中で、より賢い「顧問モデル」を一時的に呼び出せる。戦略アドバイスを受け取ったら、続けてタスクを最後までやり遂げる。
- このプロセス全体は同一のAPIリクエスト内で起きる。顧問モデルはいかなるツールも使わず、コンテキスト管理も行わない。思考過程はそのまま破棄され、最終的なアドバイステキストのみが実行モデルに渡される。
- 顧問モデルの能力は実行モデルと同等かそれ以上でなければならない。例えばClaude Sonnet 5を実行モデルにする場合、顧問にできるのはClaude Opus 4.7やClaude Opus 4.8などより強力なモデルのみで、具体的な組み合わせは公式の互換表で厳密に定められている。
- 顧問は1回の呼び出しで通常400〜700個のテキストトークンしか出力しない(思考を含めて1400〜1800トークン)。顧問モデルに最初から最後までタスクを丸ごと再生成させるよりずっと少なく、これがコスト削減の鍵となっている。
- あまり積極的に顧問を頼らない実行モデル(特にClaude Haiku 4.5)に対して、公式は「リマインド」というテクニックを検証した。2ターン目に「まだ顧問に相談していない」という一文を差し込むと、タスク通過率が約7ポイント上昇する。ただし挿入タイミングの早い遅いが効果の良し悪しを直接左右する。
作業係とアドバイス係、モデルを分けて探す
Anthropicが最近Claude APIに公開したテスト版新ツールAdvisorツールでは、より速く安い「実行モデル」がタスク生成の途中で、より賢い「顧問モデル」を一時的に呼び出して戦略アドバイスを得られる。アドバイスを受け取ったら、続けてタスクを書き上げる。
手際は良いが経験がやや浅いモデルが実際の答えを書く役を担い、重要な意思決定の場面に来たら隣により強力なモデルの部屋のドアをノックする。数言問いかけたら持ち場に戻って続きを書く。タスク全体を強いモデルに丸投げして最初からやり直させるわけではない。
これまでは安いか賢いか、二択しかなかった
多段階を要するagentタスク(コード作成、コンピュータ操作、複数ステップの調査)では、大半のターンは実は機械的な作業で、本当にトップレベルの知性を必要とするのはごく少数の重要なノードだけだ。だがこれまでモデルを呼び出す方法は2通りしかなく、どちらも帯に短し襷に長しだった。
協働モードは品質とコストの中間地帯を踏んでいる。大多数のトークンは安価な実行モデルが低料金で生成し、本当に頭を使う必要のある重要なノードでだけ、数百トークンをかけてトップモデルにアイデアを求める。
作業を半分進めたところで、顧問に電話をかける
顧問ツールは普通のツールと同じくtools配列にぶら下がっており、いつ呼び出すかは実行モデル自身が判断する。1回の完全な呼び出しは次の4ステップで進む。
この一連のやり取りはすべて同一の/v1/messagesリクエスト内で発生し、こちら側で追加のネットワーク往復は発生しない。唯一の例外は顧問がまだ答え終わらないうちに一時停止した場合で、その際はこの会話をそのまま送り返して続きをつなぐ必要がある。
最初のステップで実行モデルが吐き出すのはserver_tool_useブロックで、名前はadvisor、中のinputは常に空だ。実行モデルは「今問うべきタイミングだ」と判断するだけで、顧問に与える具体的なコンテキストはサーバー側が自動で補完する。2つ目のステップでは、サーバーが自分の側で顧問モデルを単独で1回実行する。顧問はAnthropicが用意した専用のシステムプロンプトを使い、実行モデルの完全な会話記録を見る。あなたのシステムプロンプト、ツール定義、これまでの全ターンとツール結果、そして実行モデルがこのターンでこれまでに書き出した文章も含まれる。
顧問は「アイデアを出すだけで手を出さない」役割だ:自分ではいかなるツールも使わず、コンテキスト管理も行わない。その思考過程は返される前に直接破棄され、最終的にはあの一段のアドバイステキストだけが実行モデルの手元に戻る。
実行モデルが発するこの呼び出しが「空」である理由は、ベテラン同僚のドアをノックする時にプロジェクトの背景を丸ごと説明し直す必要がないのと同じだ。社内の共有ドキュメントシステムがすでに手元の進捗を自動的に彼の前に並べてくれているので、あなたは尋ねるだけでいい。
もし顧問がまだ答え終わっていなければ:中断からの再開(pause_turn)
時には顧問の呼び出しがまだ懸かったままこのリクエストが先に終わることがある。レスポンスにはstop_reason: "pause_turn"が付き、呼び出しを発行したserver_tool_useブロックだけがあって、対応する結果はまだない。この場合、このassistantメッセージをそのままmessagesに追記して(server_tool_useブロックは保持したまま)、同じ顧問ツールとbeta headerを付けて再度リクエストを送ればよい。新しいユーザーメッセージを加える必要はなく、tool_resultブロックを補う必要もない。
電話をかけて「しばらくしてからおかけ直しください」という話し中案内に遭遇したようなもので、電話を切らずに同じ番号にリダイヤルすればさっき話し終わらなかった内容につながる。再開したこのターンがまた止まったら、同じ動作をもう一度繰り返せばいい。
詳細を見る:戻り値の2種類のブロックと、顧問の「暗号化アドバイス」
成功した呼び出しはassistantのコンテンツ内にまずserver_tool_useブロック(呼び出しの発行)が現れ、続けてadvisor_tool_resultブロック(顧問からの返答)が来る。後者のcontentはunion型で、Claude Opus 4.8のような顧問は平文のadvisor_resultを返す(textフィールドが読める)。一方Claude Fable 5とClaude Mythos 5という2つの顧問は暗号化されたadvisor_redacted_resultを返し、受け取るのは読めないencrypted_contentで、次のターンでサーバーが復号して実行モデルのプロンプトに組み込む。どちらのケースでも、以降のターンでは内容をそのまま伝え返す必要がある。呼び出しが失敗した場合、結果ブロックにerror_code(overloaded、prompt_too_long、max_uses_exceededなど)が付き、実行モデルはエラーを見た上でアドバイスなしのまま書き続ける。リクエスト自体が失敗することはない。
誰が誰の顧問になれるかには決まりがある
トップレベルのmodelフィールドが実行モデル、ツール定義の中のmodelフィールドが顧問モデルで、両者は正当な組み合わせを成立させなければならない。ルールは1つの明確な線だけだ。顧問はClaude Sonnet 4.6以上でなければならず、かつ能力は少なくとも実行モデルと同等でなければならない。組み合わせを間違えるとAPIは即座に400エラーを返し、この組み合わせは対応していないと名指しされる。
| 実行モデル | 選べる顧問モデル |
|---|---|
| Claude Haiku 4.5 | Fable 5Mythos 5Opus 4.8Opus 4.7Opus 4.6Sonnet 4.6 |
| Claude Sonnet 4.6 | Fable 5Mythos 5Opus 4.8Opus 4.7Opus 4.6Sonnet 4.6 |
| Claude Sonnet 5 | Fable 5Mythos 5Opus 4.8Opus 4.7 |
| Claude Opus 4.6 | Fable 5Mythos 5Opus 4.8Opus 4.7Opus 4.6 |
| Claude Opus 4.7 | Fable 5Mythos 5Opus 4.8Opus 4.7 |
| Claude Opus 4.8 | Fable 5Mythos 5Opus 4.8Opus 4.7 |
| Claude Fable 5 | Fable 5 |
| Claude Mythos 5 | Mythos 5 |
点線枠=能力が同格で互いに顧問になれる(Opus 4.7とOpus 4.8など)。ハイライト行のSonnet 5は分かりやすい例で、Opus 4.7かOpus 4.8にしか組めず、Opus 4.6すら対象外だ。
この「顧問の能力は実行モデル以上」という厳格なルールの背景にある理屈はとてもシンプルだ。顧問が実行モデルより弱ければ、本当に価値のあるアドバイスを出せず、その呼び出しは無駄になってしまう。だから公式はペアリング関係を1枚の互換表で固定し、弱い顧問を強い実行モデルに組み合わせる構成はそもそも提出できないようにしている。
積極的に顧問を頼らないモデルもいる、公式は専用の「リマインド」を用意した
実行モデルの中には最初のターンで自発的に顧問を尋ねないものがあり、特にClaude Haiku 4.5のような軽量モデルに顕著だ。公式のやり方はこうだ。もし1ターン目に顧問を呼び出さなければ、2ターン目の前に別のユーザーメッセージを立てて短いリマインド(nudge)を差し込む。ただし、このリマインドを挿入するタイミングの早い遅いは、結果を大きく左右する。
リマインド自体はとても有効だが、問題はすべてタイミングにある。早すぎると実行モデルはまだタスクを把握しきれておらず、この情報量の低い呼び出しがかえって本来もっと後に来るべき、もっと価値のある呼び出しを押しのけてしまう。遅すぎると、今度はより良い呼び出しのタイミングを逃してしまう。Anthropicは実際の実験データでこのタイミング感度を明らかにしている。
公式が示す使い方は具体的だ。まず自分の実行モデルがリマインドなしで通常何ターン目に初めて顧問を呼び出すか(これをNターン目とする)を測定し、NUDGE_TURNをNより大きく設定する。ワークロードにシンプルなタスクと複雑なタスクの両方が混在する場合は、NUDGE_TURNを3に引き上げて、2ターンで完了するようなシンプルなタスクを先に終わらせ、必要のない相談にリマインドで無理に押し込まれないようにできる。
詳細を見る:リマインドの挿入方法と「強制呼び出し」との違い
リマインドはツール結果の後に続く、それ自体独立した1つのユーザーメッセージとして送るべきで、同じメッセージに兄弟ブロックとして詰め込んではいけない。連続する2つのユーザーメッセージは正当であり、公式がHaikuとSonnetでテストした結果、2つの書き方は効果が同等だった。独立した1メッセージにするのは、リマインドとツール出力をはっきり区別しやすくするためだけだ。また、あなたのシステムプロンプトに既に「本当に確信が持てない時だけ顧問を探せ」といった抑制的な文言がある場合は、リマインドを追加しないこと。2つの指示がぶつかってしまう。特定の1回のリクエストで相談を強制したい場合は、tool_choiceをadvisorを指すように設定できるが、強制呼び出しは拡張思考と同時には使えず、使うとAPIが400を返す。
この一手間で増えるお金は、請求書上どう計算されるか
顧問の呼び出しは独立したサブ推論として、顧問モデル自身の料金で決済され、実行モデルのusage総数に組み込まれることはない。どの部分にいくらかかったかを分解して見たいなら、usage.iterationsという配列を見る必要がある。
顧問は毎回典型的には400〜700個のテキストトークンしか出力しない。破棄される前に使った思考分を合わせても、合計は約1400〜1800トークンだ。コスト削減の鍵はまさにここにある。顧問はあなたの最終的な大量の出力を生成する役ではなく、その部分はより低い料金の実行モデルが担当する。
他にも実行モデルにのみ適用され、顧問に自動的に及ばない細部がいくつかある。トップレベルのmax_tokensは実行の出力だけを制約し、顧問のサブ推論には及ばない(単独で制限したい場合はツール定義の中で別途max_tokensを設定する必要がある)。顧問のトークンは実行モデル側のtask budgetを消費しない。Priority Tier(優先度コミット)もそれぞれ別々に計算され、自分の組織が顧問モデル側にもコミットを持っていない限り、顧問の呼び出しは優先度ルートを通らない。
もう一段節約できる:顧問側でもキャッシュを開ける
キャッシュには2層あり、それぞれ独立している。実行側のadvisor_tool_resultブロックは普通のコンテンツブロックと同様にキャッシュ可能で、この層は特に気にする必要はない。本当に工夫が要るのは顧問側自身のキャッシュだ。
顧問モデルが毎回見る会話記録は、前回の内容に新しい部分を1段追加しただけのものなので、プレフィックスは安定している。ツール定義でcaching({"type":"ephemeral","ttl":"5m"}のような形)を有効にすると、呼び出しのたびに1つキャッシュを書き込み、次回はその地点まで読み込んで新規追加分だけの料金を払う。2回目以降のadvisor_messageイテレーションでcache_read_input_tokensが非ゼロになるのが見て取れる。
顧問に相談するたびに毎回それまでの会議議事録を読み上げ直すようなもので、キャッシュを開けることは議事録が保存済みになるのと同じで、以降は新しく追加された部分だけを補って読み上げればよい。ただしこのアーカイブを作ること自体にもコストがかかり、対面の回数が少なすぎるとアーカイブ作成のコストが節約できる金額より大きくなり、割に合わない。
公式はさらに2つの一貫性の落とし穴を注意喚起している。1つ目はcachingのスイッチは1度設定したら全過程通して維持すべきで、途中で切り替えるとキャッシュが直接無効になってしまうこと。2つ目はclear_thinkingの設定が不適切(keep値が"all"でない)だと、顧問が毎ターン見る引用記録に位置ずれが起き、同様に顧問側キャッシュが中断してしまうこと。ただしこれはコストが悪化するだけで、アドバイスの質には影響しない。
詳細を見る:clear_thinkingのデフォルト値がなぜ落とし穴になるのか
拡張思考を有効にしていてclear_thinkingを明示的に設定していない場合、APIはデフォルトでkeep: {type: "thinking_turns", value: 1}を採用し、ちょうど上記のキャッシュ位置ずれを引き起こす(これは初期のOpus / Sonnetモデルおよびすべてのモデル世代のHaikuモデルのデフォルト挙動である一方、Opus 4.5+とSonnet 4.6+はデフォルトで全ターンを保持する)。顧問側のキャッシュを安定させたいなら、keepを明示的に"all"に設定すること。
どんな作業に向いていて、どんな作業では手を出さないべきか
公式は「When to use it」で境界線をはっきり引いている。この協働方式は「大半のターンは節約でき、少数のターンだけは強くなければならない」混合ワークロードでのみ割に合う。
長い連鎖のagentタスク:コーディングagent、コンピュータ操作、複数ステップの調査といったパイプラインで、大多数のターンは機械的な実行であり、本当にトップレベルの知性を必要とするのはごく少数の重要なノードだけ。すでにSonnetで複雑なタスクを処理しているチームがOpusの顧問を加えれば、品質向上を得つつ総コストは直接Sonnetを使う場合と近いか、それより低くなる可能性がある。すでにHaiku 4.5を使っているチームにとっても、顧問を加えることは、より大きな実行モデルに直接乗り換えるより割安な知性のアップグレード経路となる。
単発の一問一答で計画すべきことが特にない場合。ユーザー自身がすでにコストと品質のトレードオフを判断済みの、純粋な「モデル選択」を透過するだけのシナリオ。そして、すべてのステップで本当に顧問モデルのフル能力を必要とするワークロード。これらのケースでは、協働モードはメリットをもたらさない。
公式もあらかじめ念を押している。結果はタスクによって異なるため、自分のワークロードで評価してほしい、と。現時点でこのツールはClaude APIとAWS上のClaude Platformでbeta版が提供されており、Amazon Bedrock、Google Cloud、Microsoft Foundryには当面対応せず、ゼロデータ保持(ZDR)の条件を満たしている。
You get close to advisor-solo quality while the bulk of token generation happens at executor-model rates.(顧問モデル単独完遂に近い品質を得ながら、トークン生成の大半は実行モデルの料金水準で行われる。) Claude開発者ドキュメント・Advisor tool
AIの使い方が「タスク全体を1つのモデルに固定」→「安いモデルが作業し、詰まったら強いモデルに知恵を借りる」へ
AnthropicがClaude APIに搭載したテスト機能Advisor。実行モデルは作業の途中で、より強力な顧問モデルに一時的に一言尋ねられる。アイデアをもらったら続きをやる、図解付き1枚で完結
↓ 1枚で読み切る・動く図が1つあります
Advisorは、Anthropicが最近Claude API(開発者がAIを呼び出すあのインターフェース)に公開したテスト機能だ。ここには2つの役割がある。実行モデル——安くて速く、実際に答えを書く担当。顧問モデル——より賢いが高価で、呼ばれた時だけ一目見て、数言のアイデアを出す担当。だがこれが解決しようとしている従来の問題点はこうだ。
✘ しかし本当に頭を使う必要のある重要な決断にぶつかると、良い方法を思いつけず、妥協するしかない
根本原因はここにある。これまでAIを呼び出す時、一度に紐付けられるモデルは1つだけだった。全部小モデルで通せば安上がりだが重要な箇所で質が落ち、全部大モデルで通せば質は良いが機械的なステップも1つ残らずトップ価格で燃える。節約と賢さは、二者択一しかなかった。
Advisorツールは「作業する」と「アイデアを出す」を切り分けた。実行モデルが終始答えを書き、重要な決断にぶつかった時だけ、一時的により強力な顧問モデルに数百字のアイデアを求め、受け取ったら戻って続きを書く。コードに落とすと、トップレベルを安いモデルに替え、顧問をもう1つぶら下げるだけだ。
# タスク全体がトップ料金で計算される
全部安くすると重要な箇所で妥協するしかなく、全部トップにすると機械的なステップも高くつく。
advisor = "Opus 4.8" # 詰まったらこれに助言を求める
大半は安い料金で決済され、重要なアドバイスの数回分だけがトップ料金になる。
ではこの「一時的に一言尋ねる」は具体的にどう起きるのか?
具体的なシーンで見てみよう。小互が安い実行モデルに並行処理コードを書かせていて、「プログラム終了時にどう優雅にシャットダウンするか」という重要な決断で詰まった。無理押しはせず、途中で顧問を1回呼んだ。ことの全体が同一リクエスト内で4ステップを歩む。
誰が誰の顧問になれるかには厳格なルールがある。顧問は実行モデルと同等かそれ以上でなければならず、より弱いものを組み合わせるとAPIは即座に拒否する。弱い顧問は本当に価値のあるアドバイスを出せないからだ。
こうした協働で、どこがどれだけお得になるのか?公式は2つの実測値を示している。
一度に
モデルは1つだけ
でも肝心なところは
妥協するしかない
でも機械的なステップも
全部トップ価格で燃える
2つの役割に分けた
終始答えを
書き上げる
呼ばれた時だけ
アイデアを数言出す
どう優雅に閉じる?!
シグナルを発信するだけ
進捗はサーバーが
自動で顧問に見せる
700字
言い終えたら破棄
初めて二者択一じゃなくなった
- × 単発の一問一答
- × 毎ステップともトップモデルが必要な場合
