Claude CodeでOpusがSonnetを指揮する「1回のAPIコールで2モデル協調」パターン
TL;DR
- Claude Code上で、**Opus(高性能モデル)が「判断役」、Sonnet(高速・低コストモデル)が「実行役」**という役割分担を1回のAPIコール内で実現できる
- Opusが全体の方針を決め、Sonnetに具体的なコーディング作業をさせることで、品質とコストのバランスを取る設計パターンが開発者コミュニティで報告されている
- 既存のClaude Codeユーザーが設定を追加するだけで試せる構成であり、大規模な作業フローの変更は不要とされている
変更内容の詳細
背景:なぜ2モデル協調が注目されるのか
Claude Codeを使っていると、「賢いモデルを使いたいけどコストが気になる」という悩みはよくある話です。Opus(クロードの最上位モデル)は推論精度が高い反面、呼び出しコストが Sonnet(中位モデル)より高くなります。そこで注目されているのが、Opusをアドバイザー(顧問)として使い、実際の作業はSonnetに任せるという2段階の設計パターンです。
dev.toの記事「Claude Code Advisor: Opus Steering Sonnet Inside a Single API Call」では、この構成を「Claude Code Advisor」と呼んでいます。
アーキテクチャの概要
基本的な考え方は次のとおりです。
- Opusが「何をすべきか」を決める(設計・方針・コードレビューの基準など)
- Sonnetが「どう実装するか」を実行する(実際のコード生成・ファイル操作など)
- この2ステップを、ユーザーから見ると1回のやりとりのように見える形でまとめる
これにより、「全部Opusに任せる」よりもAPIコストを下げながら、「全部Sonnetに任せる」よりも判断品質を上げるという中間点を狙えます。
設定の仕組み
dev.toの記事によると、Claude Codeの設定ファイル(CLAUDE.md やシステムプロンプトに相当する設定)に、Opusを「ステアリング(操作・指示)役」として動かす記述を追加します。Opusはユーザーの要求を受け取り、Sonnetへの具体的な指示(サブタスク)に分解して渡す役割を担います。
記事で示されているコンセプトを簡略化すると、以下のような流れになります。
[ユーザー入力]
└─ Opus (Advisor)
├─ 要件の解釈・設計判断
├─ Sonnetへの作業指示を生成
└─ Sonnet (Executor)
├─ コード生成
├─ ファイル編集
└─ 結果をOpusへ返却
└─ Opusが最終チェック → ユーザーへ返答
CLAUDE.mdへの記述例
記事内で紹介されているアプローチをもとにした設定の記述イメージは以下のとおりです。実際の記法はClaude Codeのバージョンや設定方法に依存するため、公式ドキュメントとあわせて確認してください。
# Claude Code Advisor 設定
## ロール
あなたはOpusモデルとして、上位の設計判断・コードレビュー方針を担当します。
実装タスクはSonnetに委譲し、完了後に結果を検証してください。
## 委譲ルール
- 50行以上のコード生成 → Sonnetに委譲
- アーキテクチャ判断・セキュリティレビュー → Opusが直接回答
- テストコード生成 → Sonnetに委譲し、Opusがカバレッジを確認
※上記はdev.toの記事のコンセプトをもとにした説明用のサンプルであり、そのままコピーして動作を保証するものではありません。実際の設定はソース記事および公式ドキュメントを参照してください。
既存ユーザーへの影響と対応
コスト面
全リクエストをOpusで処理する場合と比べ、実装作業の大部分をSonnetが担うためAPIコストを抑えられる可能性があります。ただし、Opusへの呼び出し自体は残るため、単純にSonnetだけ使う場合より高くなる点には注意が必要です。
品質面
Opusが最初と最後に関与するため、Sonnetだけで完結させる場合よりも、設計の一貫性や重大なミスの見落としを減らせる可能性があります。特に「大まかな方針は正しくしたいが、単純な繰り返し作業はコストを下げたい」という用途に向いていると思われます。
既存ワークフローへの影響
Claude Codeの設定ファイルへの追記が主な変更点であり、既存のコードベースやCI(継続的インテグレーション)の仕組みを大きく変える必要はないとされています。ただし、モデル名やAPIの呼び出し方はAnthropicの提供するAPIバージョンに依存するため、使用しているSDK(ソフトウェア開発キット)のバージョンも確認しておくと安心です。
試し方(手順)
前提
- Claude Codeがインストール済みであること
- AnthropicのAPIキーが設定済みであること
手順
1. プロジェクトルートに CLAUDE.md を作成(または既存ファイルを編集)
touch CLAUDE.md
2. Advisorとしての役割をシステムプロンプトに記述
dev.toの記事のコンセプトをもとに、Opusに「判断・レビュー」、Sonnetに「実装」を担当させる指示を CLAUDE.md に追記します。具体的な記法はソース記事(下記リンク)を参照してください。
3. Claude Codeを起動して動作確認
claude
起動後、通常どおりタスクを入力します。Opusが方針を決定し、Sonnetが実装を担当する流れが動いているかどうかは、ログや応答内容から確認できます(※ログの詳細表示方法はClaude Codeのバージョンにより異なる可能性があります)。
4. コスト・品質の比較
Anthropicのダッシュボードでモデルごとのトークン使用量を確認し、全量Opus運用と比較してみると効果がわかりやすいと思われます。
関連リンク
- Claude Code Advisor: Opus Steering Sonnet Inside a Single API Call(dev.to)
- Claude Code 公式ドキュメント(Anthropic)