Claude Code /model—opus・sonnet・opusplan の使い分け

Claude Code /model—opus・sonnet・opusplan の使い分け | mohablog

Claude Code を起動すると、画面下に with high effort のような行が出る。その隣で実際に動いているモデルが opus なのか sonnet なのか、気にせず使っている人は多い。/model で切り替えられる9つのエイリアスと、設計を opus・実装を sonnet に振り分ける opusplan の挙動を、公式ドキュメントの仕様に沿って整理します。

目次

モデルエイリアスは9種類ある

/model に渡せるのは、フルのモデル名(claude-opus-4-8 など)か、バージョン番号を覚えずに済むエイリアス。公式ドキュメントの “Model aliases” には9つが並ぶ。

エイリアス挙動
defaultモデル指定を解除し、アカウント種別の推奨モデルに戻す特別値。エイリアスそのものではない
best組織が使えるなら Fable 5、なければ最新の Opus
fable最難・最長のタスク向けの Claude Fable 5
sonnet日常のコーディング向けの最新 Sonnet
opus複雑な推論向けの最新 Opus
haiku単純なタスク向けの高速・低コストな Haiku
sonnet[1m]1Mトークンコンテキストの Sonnet。長いセッション用
opus[1m]1Mトークンコンテキストの Opus
opusplanPlan Mode 中は opus、実行に移ると sonnet に切り替わる特別モード

アカウント種別でデフォルトの実体が変わる

default が何を指すかは契約による。Max・Team Premium・Enterprise pay-as-you-go・Anthropic API は Opus 4.8、Pro・Team Standard・Enterprise のサブスク席は Sonnet 4.6。Bedrock・Vertex・Foundry では Sonnet 4.5 になる。同じ default でも降りてくるモデルは同じではない。

opus と sonnet が指す実体

Anthropic API では opus が Opus 4.8、sonnet が Sonnet 4.6 に解決される。Claude Platform on AWS では opus は Opus 4.7。エイリアスはプロバイダごとの推奨版を指し、時間とともに更新される。バージョンを固定したいなら claude-opus-4-8 のようなフル名を使うか、ANTHROPIC_DEFAULT_OPUS_MODEL を設定する。なお Opus 4.8 は Claude Code v2.1.154 以降が必要で、古い版なら claude update で上げる。

opus と sonnet をどう使い分けるか

opus は複雑な推論、sonnet は日常のコーディング。役割はドキュメントどおり。運用で効くのはトークン単価の差。

モデル入力 $/MTok出力 $/MTok
Opus 4.8$5.00$25.00
Sonnet 4.6$3.00$15.00

入力も出力も opus は sonnet の約1.67倍。1回のやり取りでは小さく見えても、ツール呼び出しが何十回も走る長いセッションでは差が積み上がる。大きめのリファクタを opusplan で回したとき、方針を詰める前半は Opus、ファイルを書き換える後半は Sonnet で進んだ。プラン中に設計が固まっていれば、トークンを多く食う実装フェーズは単価の低い側に流れる。

既定は default のまま回せる

Max や API なら default は Opus 4.8、Pro なら Sonnet 4.6 に解決される。明示的にモデルを固定したい場面だけ /model を触ればよく、普段は tier の推奨に任せておける。

切り替えはセッション中いつでも効く

会話の途中でも /model に名前を渡せば即座に変わる。

/model sonnet

実行すると、ロゴ横のモデル表示が Sonnet 4.6 に変わる。引数つきで打った場合はピッカーの Enter と同じ扱いになり、次回以降の既定としても保存される。

opusplan は Plan Mode 中だけ opus を使う

opusplan は1つのエイリアスで2つのモデルを使い分けるモード。誤解が多いのは切り替わるタイミング。公式の “opusplan model setting” はこう書く。

In plan mode – Uses opus for complex reasoning and architecture decisions. In execution mode – Automatically switches to sonnet for code generation and implementation.

切り替わるのは Plan Mode の境界だけ

opus が動くのは Plan Mode の間だけ。プランを抜けて実装に入ると自動で sonnet に落ちる。「Plan Mode を抜けない限り opus」ではなく、逆。設計の重い推論には opus を投入し、定型的なコード生成は sonnet の速度と単価で流す。1.67倍の高い側を、計画フェーズだけに閉じ込める構造になっている。

/model opusplan

プランを立てている間はモデル表示が Opus、Plan Mode を抜けて実装が始まると Sonnet に切り替わる。

opusplan[1m] で両フェーズとも1Mを保つ

plan フェーズの opus は opus 設定と同じコンテキストウィンドウを使う。Max・Team・Enterprise では Opus が自動で1Mに上がるため、plan も1Mになる。自動アップグレード対象外のプランで両フェーズとも1Mにしたいなら、明示的に [1m] を付ける。

/model opusplan[1m]

plan の opus と実行の sonnet、どちらも200Kではなく1Mトークンのウィンドウで動く。

opus が選べない設定だと切り替わらない

後述の availableModels で Opus を除外している場合、opusplan は plan モードでも sonnet のまま。切り替え先が許可リストに無いと、計画フェーズの opus 化が起きない。Haiku セッションが plan で Sonnet に上がる動きも、Sonnet を除外すれば Haiku のまま止まる。

モデルを指定する4つの経路と優先順位

モデルは4か所で指定でき、上から順に優先される。

  1. セッション中: /model <alias|name>、または引数なしの /model でピッカーを開く
  2. 起動時: claude --model <alias|name>
  3. 環境変数: ANTHROPIC_MODEL
  4. 設定ファイル: settings.json の model フィールド

/model はデフォルトとして保存される(v2.1.153以降)

v2.1.153 から、/model での選択はユーザー設定の model フィールドに書き込まれ、新規セッションの既定になる。ピッカーでは Enter が「切り替えて既定として保存」、s が「このセッション限定で切り替え」。恒久的に固定したいなら設定ファイルに直接書く。

{
  "model": "opus"
}

次回以降は起動時から Opus で立ち上がり、起動ヘッダにどの設定ファイルが指定したかが表示される。プロジェクト設定や管理設定はユーザー設定より優先され、起動のたびに再適用される。

–model と ANTHROPIC_MODEL はそのセッション限定

--model フラグと ANTHROPIC_MODEL は、起動したそのセッションだけに効く。別ターミナルで別モデルを同時に走らせたいなら、/model で切り替えるのではなく、それぞれ --model 付きで起動する。

claude --model opus

このセッションは Opus で立ち上がる。--resume--continue で再開したセッションは、保存時に使っていたモデルを引き継ぐため、現在の model 設定に左右されない。

今どのモデルで動いているか確認する

稼働中のモデルは statusline(設定していれば)か /status で確認できる。

/status

アカウント情報とあわせて、現在のモデルが表示される。

Account: Max
Model: Opus 4.8
Effort: high

モデル選択と effort レベルは別の軸

混同されやすいが、モデル選択は「どのモデルを使うか」、effort は「そのモデルがどれだけ考えるか」。low / medium / high / xhigh / max の段階があり、Opus 4.8 と Sonnet 4.6 の既定は high/effort で変えられ、/model のピッカー内では左右キーでスライダーを動かせる。

opus に上げても effort が low なら浅く、sonnet でも high なら深く考える。コストとレイテンシは2軸の組み合わせで決まる。effort の詳細はClaude Code ultrathinkとeffortレベルで思考の深さを制御するに書いた。

チームでモデルを制限する

組織として選べるモデルを絞ったり、過負荷時の挙動を決めたりする設定もある。

availableModels で選べるモデルを絞る

管理者は管理設定・ポリシー設定の availableModels で、ユーザーが選べるモデルを制限できる。許可リストは /model--model フラグ・ANTHROPIC_MODEL のすべてに適用される。

{
  "availableModels": ["sonnet", "haiku"]
}

ピッカーには sonnet と haiku だけが並ぶ。許可外のモデルへ /model で切り替えようとするとエラーで弾かれ、--model や環境変数で渡した場合は警告とともに既定モデルへ差し替えられて起動する。

fallbackModel で過負荷に備える

主モデルが過負荷・利用不可・サーバーエラーのとき、リクエストを失敗させずに別モデルへ切り替えられる。認証・課金・レート制限・リクエストサイズのエラーでは切り替わらない。チェーンは重複を除いて最大3モデルまで。

claude --fallback-model sonnet,haiku

主モデルが応答できないターンで sonnet、それも駄目なら haiku へ切り替わり、切り替え時に通知が出る。切り替えはそのターン限りで、次のメッセージはまた主モデルから試す。設定で恒久化するなら fallbackModel を配列で書く。

{
  "fallbackModel": ["claude-sonnet-4-6", "claude-haiku-4-5"]
}

以降のセッションでは、主モデルが過負荷のたびにこのチェーンを順に試す。--fallback-model フラグはこの設定より優先される。許可リスト外の要素はチェーン読み込み時に落とされる。

まとめ

  • /model のエイリアスは9種類。default はアカウント種別で実体が変わる
  • opus は sonnet の約1.67倍の単価。長いセッションほど差が開く
  • opusplan が opus を使うのは Plan Mode の間だけ。実行に入ると sonnet
  • モデル指定は4経路。v2.1.153 以降は /model の選択が既定として保存される
  • モデル選択と effort は別軸。どのモデルかと、どれだけ考えるか
  • チーム配布は availableModels で制限し、fallbackModel で過負荷に備える
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次