0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code の /advisor で Sonnet に Opus の知性を借りる

0
Posted at

はじめに

Claude Code で長めのタスクを回していると、ふだんは Sonnet で十分なのに「ここだけは Opus に判断してほしい」という瞬間がたまにあります。そういうときにモデル全体を Opus に切り替えるとコストも待ち時間も跳ね上がりますし、かといって Sonnet のままだと判断が浅いまま走り続けてしまいます。

/advisor は、この「要所だけ Opus に効かせたい」を綺麗に解決してくれるコマンドです。実行は Sonnet(または Haiku)に任せたまま、要所でだけ Opus 4.7 をアドバイザーとして自動呼び出し する仕組みで、Anthropic の発表によると SWE-bench Multilingual で Sonnet 単体比 +2.7pp、コスト -11.9% という結果が出ているようです。

忙しい人のための要約

  • /advisor は実行モデル(Sonnet / Haiku)が要所で Opus 4.7 に相談しに行く ためのコマンド
  • アドバイザー呼び出しは実行モデルが自律的に判断(手動でも advisor() 呼出は可能)
  • アドバイザーは ツールも外部出力も持たない。会話履歴を読んで指示テキストを返すだけ

/advisor とは

Claude Code v2.x 系列に追加された slash コマンドで、現在のセッションに アドバイザーモデル(Opus 4.7 固定) を紐付けます。一度有効化すると、実行モデルが「ここは助言が欲しい」と判断したタイミングで Opus にサーバ側サブ推論が走り、結果が実行モデルの文脈に差し込まれます。

モデルの組み合わせ

executor(top-level の model)と advisor(tool 定義側の model)には組み合わせ制約があります。

Executor Advisor
Claude Haiku 4.5 (claude-haiku-4-5-20251001) Claude Opus 4.7 (claude-opus-4-7)
Claude Sonnet 4.6 (claude-sonnet-4-6) Claude Opus 4.7
Claude Opus 4.6 (claude-opus-4-6) Claude Opus 4.7
Claude Opus 4.7 (claude-opus-4-7) Claude Opus 4.7

不正な組み合わせを投げると 400 が返ります。Advisor は executor 以上の知性を持つモデル が条件です。

アーキテクチャ

CLI 側からは「/v1/messages を 1 回叩いた」ようにしか見えませんが、サーバ側では Executor の生成が一時停止して Advisor の推論が挟まり、戻ってきた助言を文脈に取り込んでから Executor が生成を続ける、という流れになっています。

呼び出しシーケンス

Advisor が呼ばれるのは典型的に タスク序盤(方針確定前)タスク終盤(完了申告前) の 2 回前後で、長い loop ほど効きやすいというのが Anthropic 側の評価です。

ベンチマーク結果

Anthropic 公式ブログから抜粋すると、おおむね以下のような結果が出ているようです。

構成 ベンチマーク スコア 備考
Sonnet 単体 SWE-bench Multilingual 基準値
Sonnet + Opus advisor SWE-bench Multilingual +2.7pp コスト -11.9%
Haiku 単体 BrowseComp 19.7%
Haiku + Opus advisor BrowseComp 41.2% スコア倍以上、コストは Sonnet 単体の約 15%

Haiku 系の構成は「Sonnet 単体に対して -29% のスコアで -85% のコスト」というラインに乗ってくるようで、コスト最適化を強めたいワークロードでは選択肢になりそうです。

使い方

Claude Code 内での有効化

セッション内で /advisor を叩くとアドバイザーモデル選択 UI が立ち上がります。現状の選択肢は Sonnet 4.6 を executor にして Opus 4.7 を advisor にする(または Haiku を executor にする)構成が中心です。

> /advisor

? Pick an advisor model
  ❯ claude-opus-4-7   (recommended)
    off

有効化後はそのセッションを通じて Executor が自律的に Advisor を呼び出します。手動で「advisor に聞いて」と指示する必要はありません。

API から直接使う

SDK 側では tool として宣言します。ベータヘッダが必要な点だけ注意です。

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-7",
            "max_uses": 5,
        }
    ],
    messages=[
        {"role": "user", "content": "Go で graceful shutdown 付きの worker pool を書いて"}
    ],
)

max_uses で 1 リクエストあたりのアドバイザー呼び出し上限を切れます。会話全体(複数リクエストにまたがる)での上限は API 側に存在しないので、必要ならクライアント側でカウントして tools 配列から外す運用になります。

Usage と課金

レスポンスの usage.iterations に Executor と Advisor の内訳が別々に入ります。

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

advisor_message の行が Opus 4.7 レートで課金され、トップレベルの output_tokens には含まれません。アドバイザー出力は 400〜700 トークン(thinking 込みで 1,400〜1,800)が典型のようです。

どんなときに効くか / 効かないか

API ドキュメント側でも触れられていますが、向き不向きはわりとはっきりしています。

  • 向いている: 数十ステップ以上の coding agent ループ、ブラウザ操作や調査を伴うマルチターン、不慣れな大規模リポジトリでの構造的リファクタ
  • 微妙: 単発の Q&A、ユーザー自身がモデルを選んでいるパススルー用途、毎ターン Opus の能力を必要とする重いタスク

Sonnet で十分な作業の合間に、要所だけ Opus を呼ぶ」という配分のときに最も価値が出る、という設計です。

まとめ

  • /advisor は executor を Sonnet / Haiku に据えたまま、要所で Opus 4.7 を自動呼び出しできるベータ機能
  • 長め agent ループでは「Sonnet 単体より賢く、Opus 単体より安く」のスイートスポットに乗せやすそう

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?