Claude CodeのAIモデル自動切り替え3種|プラン変更後に表示が古いままだった件

Claude CodeのAIモデル自動切り替え3種とプラン変更後の表示のズレを解説する記事のアイキャッチ AI
スポンサーリンク

Claude Codeには、使うAIモデルを切り替える/modelコマンドがあります。
Sonnet、Opus、Haiku、Fableといった選択肢があり、起動時は「Default (recommended)」と表示されるモデルが選ばれています。

筆者は普段Defaultのまま使い、重そうな作業のときだけ手動でOpusにする程度でした。
AIモデルとは別に/effortという設定があることは知っていましたが、どのレベルを選べばいいのかは分かっていませんでした。

公式ドキュメントを読んでみたところ、この「重そうなときだけ上位モデルにする」という操作を自動化する仕組みが3種類用意されていました。
あわせて、プランを変更したあともクライアント側の表示が古いまま残っていることにも気づきました。

この記事では、3つの自動切り替えの仕組みと、effortという設定の意味、そして実際に試した結果をまとめます。

そもそも「Default (recommended)」が何を指しているのか

/modelを実行すると、モデルの一覧が表示されます。
先頭にあるのが「Default (recommended)」で、これが具体的にどのモデルを指すのかは契約プランによって変わります

Claude Codeのターミナル版で/modelを実行したときのモデル選択画面。Default (recommended)が先頭に表示されている
ターミナル版で/modelを実行したときの画面
プランDefaultが指すモデル
– Pro
– Team Standard
– Enterprise(通常シート)
Claude Sonnet 5
– Max
– Team Premium
– Enterprise従量課金
– API直契約
Claude Opus 5
– Claude Platform on AWS
– Amazon Bedrock
– Google Cloud
Claude Opus 5
– Microsoft FoundryClaude Sonnet 4.5
出典:Claude Code公式ドキュメント(Model configuration)

つまり「将来的にはOpusが標準になるのか」という疑問への答えは、「プランによっては、すでにそうなっている」ということになります。

4つのモデルの位置づけ

選択肢に出てくる4つのモデルは、それぞれ得意な場面が違います。
モデル選択画面に表示される説明と、参考までにAPIの従量課金の単価を並べてみます。

モデル画面に表示される説明入力 / 出力
(100万トークンあたり)
Fable 5最も難しく、長時間かかる作業向け$10 / $50
Opus 5日常的で複雑な作業向け$5 / $25
Sonnet 5定型作業を効率よく$2 / $10
Haiku 4.5手早い回答が欲しいとき$1 / $5
単価は2026年8月時点。Claude Code内の表示は英語

注意したいのは、Fable 5が「最上位だから常に一番いい」わけではない点です。
画面の説明でもOpus 5が「日常的な作業向け」とされており、Fable 5は難しい作業に絞って使う位置づけになっています。
単価もSonnet 5の5倍です。

なお上の単価はAPIを従量課金で使う場合のもので、MaxやProのサブスクではこの金額を直接支払うわけではありません。
各モデルが利用枠をどれくらいの速さで消費するかは公開されていないため、単価の比率がそのまま消費量の比率になるとは限りません。

なお、この対応はClaude Code v2.1.219での変更です。
それ以前はMaxなどでもOpus 4.8がDefaultでした。バージョンが古いと表示が違う可能性があります。

ターミナルとVSCode拡張で操作が違う

ひとつ紛らわしいのが、/modelの挙動が環境によって違う点です。
なお以降で「VSCode拡張」と書いているのは、Anthropic公式の「Claude Code for VS Code」を指します。

ターミナルから起動した場合は、/modelだけで番号付きのモデル一覧がその場に開き、選ぶとそのまま切り替わります。

一方VSCode拡張では、/modelだけを打っても一覧は開かず、現在のモデルと指定できる名前が返ってきます。
切り替えるには、/model haikuのようにモデル名を続けて指定するか、メニューから「Switch model…」を開いて選びます。

指定できる名前はsonnetopushaikufableopusplandefaultなどです。
1Mコンテキストを明示するopus[1m]のような書き方もできます。

effort ― モデルとは別の「どれだけ考えるか」という軸

モデルの話に入る前に、/effortという設定について触れておきます。
モデル選択と混同しやすいのですが、この2つは別の軸です。

料理に例えると分かりやすいかもしれません。
モデルの選択は「どの料理人に頼むか」にあたります。ベテランのシェフか、若手の料理人か。腕前そのものが違います。

一方でeffortは「どれだけ手間をかけて作るか」です。
同じシェフでも、まかないをさっと作るときと、コース料理を仕込みから作るときでは、かける時間も工程も違います。
腕は同じでも、出てくるものの精度と、かかるコストが変わります。

effortは5段階あり、/effortで切り替えます。
ターミナル版では/modelのモデル選択画面の下部にもHigh effort (default)と表示され、左右キーでそのまま変更できるようになっていました。

レベルどんなときに使うか
low定型作業や単純な修正。速くて消費も少ない
medium軽めの調べものなど
highデフォルト。通常はこれで足りる
xhigh込み入った実装や設計判断
max間違えたくない場面。最も深く考える

デフォルトはhighです(Opus 4.7のみ例外的にxhigh)。
5段階すべてに対応しているのはFable 5、Opus 5、Sonnet 5、Opus 4.8、Opus 4.7です。
Opus 4.6とSonnet 4.6にはxhighがなく、4段階になります。
対応していないレベルを指定した場合は、その下で一番近いレベルに落ちて動きます。

つまり「賢いモデルに軽く考えさせる」ことも「軽いモデルにじっくり考えさせる」こともできる、ということです。
単純作業なら次のように落とすだけで、同じモデルのまま速く・安く済ませられます。

/effort low

メニューに隠れている「ultracode」

/effortのメニューには、5段階とは別にultracodeという項目があります。
これは厳密にはモデルのeffortではなくClaude Code側の設定で、xhighを指定しつつ、まとまった作業では動的ワークフローを組ませるというものです。

起動時に指定することもできます(v2.1.203以降)。

claude --effort ultracode

ただし現在のセッション限りの設定で、設定ファイルのeffortLevelや環境変数では指定できません。

VSCode拡張では、モード切り替えのパネルにEffortのスライダーが並んでいて、コマンドを打たずに変更できました。

Claude Code VSCode拡張のModesパネル。下部にEffortのスライダーがありUltracode - xhigh + workflowsと表示されている
パネル下部のEffortスライダー。「Ultracode – xhigh + workflows」と表示されている

表示されているラベルがUltracode - xhigh + workflowsとなっていて、「xhighにワークフローを足したもの」という位置づけがそのまま書かれています。

自動切り替え その1:opusplan

ここからが自動切り替えの話です。
まずはプランモードではOpus、実行フェーズではSonnetに自動で切り替わるモードから。

/model opusplan

設計を考えるときは上位モデル、コードを書くときは軽いモデル、という使い分けが自動になります。
プランモードを抜けた瞬間に切り替わるので、自分で/modelを打つ必要がありません。

筆者が手動でやっていた切り替えは、ちょうどこれを人力で再現していたものでした。

自動切り替え その2:アドバイザーツール

実行中のモデルが、重要な判断にぶつかったときだけ、自分の判断で上位モデルに相談するという仕組みです。
3つの中では、これが最も動きが分かりにくいものでした。

/advisor opus

これで「メインはSonnet 5、相談相手はOpus 5」という体制になります。
以後、いつ相談するかはClaude自身が決めます。
公式ドキュメントによると、方針を固める前、エラーが繰り返し出るとき、完了を宣言する前、といったタイミングです。

設定はユーザー単位で保存されるので、プロジェクトごとに入力し直す必要はありません。
~/.claude/settings.jsonに直接書くこともできます。

{
  "advisorModel": "opus"
}

実際に試してみた

動作を確認するため、「決まっていないこと」が3つ残っている状態の設計メモを用意し、方針を提案してもらいました。

まずファイル一覧を確認し、設計メモを読み、関連箇所を検索する。
そこまで自力で調べたあとで、Advising using Opus 5という行が出ました。
相談するよう指示はしていないので、Sonnet 5が自分で判断して呼び出したことになります。

ちなみに事前に「今日は暑いね、夕飯何にしようかな」と雑談を投げたときは、アドバイザーは発動しませんでした。
重い判断が絡む場面かどうかで、動作が分かれているようです。

相談の結果、何が返ってきたか

Claude CodeでSonnet 5がOpus 5に相談し設計メモの論点のずれを指摘された結果の画面
/advisor opusの設定から、相談完了後の提案まで

返ってきた提案の冒頭が、これでした。

メモは「同期を諦めるかどうかで決まる」としていますが、これは論点がずれています。localStorage・IndexedDB・ファイル出力のどれを選んでも複数端末間の同期は実現できません(すべて単一デバイス完結)。つまりこれは保存方式の選択問題ではなく、「複数端末対応をそもそもスコープに入れるか」という別の問題です。

こちらが用意した設計メモには「同期を諦めるかどうかで決まる」と書いていました。
しかし挙げた3案はどれも単一デバイス完結なので、そもそも判断の分かれ目になっていなかったわけです。

質問にそのまま答えるのではなく、質問の立て方のほうを指摘している。
上位モデルに相談する意味は、こういう部分にありそうです。

残り2つの論点についても、いきなり結論を出すのではなく、「タスクが持つ属性次第で変わる」とデータモデルを明示してから答えを出したり、「消す・隠す・残す」の3択に対して組み合わせで両方の要望を満たす案を出したりしていました。

この記事も指摘を受けて書き直している

実はこの記事を書く過程でも、アドバイザーが働きました。
Claude Codeに「材料が揃ったので書き始める」と伝えたところ、相談が入り、3点の指摘が返ってきました。

  1. VSCode拡張とターミナルで挙動が違った件は、原因が特定できていないのに記事の中心に据えようとしている
  2. プランとデフォルトモデルの関係について、推測が実際の画面表示と矛盾している
  3. 料金情報が古い(キャッシュされた6月時点のデータを参照していた)

3番目については、公式ページを確認したところ予定されていた値上げが撤回されており、そのまま書いていたら誤った情報になるところでした。
前提そのものを疑う、という点で、設計メモの例と同じ働き方をしています。

自動切り替え その3:フォールバック

モデルが過負荷などで応答できないとき、別のモデルに自動退避する設定です。

claude --fallback-model sonnet,haiku

設定ファイルに書くこともできます。

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

切り替わるのはそのターンだけで、次のメッセージでは元のモデルに戻ります。
認証エラーや料金上限、レート制限では発動しません(それらは通常のエラー処理になります)。

起動時に設定内容が表示されず、/statusにも出ないので、実際に切り替わったときの通知が唯一の手がかりになります。

気づいた点:再ログインするまでプラン表示が古いままだった

動作を確認している途中で、表示に食い違いがあることに気づきました。
Max(5x)で契約しているのに、ターミナルから起動したClaude Codeの/statusがこうなっていたのです。

Claude Codeのstatus画面でLogin methodがClaude Pro accountになっている状態
Login methodClaude Pro accountのままだった

先ほどの表に従えば、MaxならDefaultはOpus 5になるはずですが、Sonnet 5のままです。
対処は簡単で、入り直すだけでした。

/login
Claude Codeのstatus画面でLogin methodがClaude Max accountに変わりModelがOpus 5になった状態
再ログイン後はClaude Max accountに変わり、DefaultもOpus 5になった

Claude Max accountに変わり、デフォルトモデルもOpus 5(1Mコンテキスト)になりました。
メールアドレスもOrganizationも変わっていないので、アカウントが複数あったわけではなく、認証情報が古いままだったようです。

VSCode拡張でも同じことが起きていた

ターミナル特有の問題かとも思ったのですが、VSCode拡張のモデル選択を見ると、こちらもDefaultがSonnet 5のままでした。

Claude Code VSCode拡張のモデル選択画面。再ログイン前はDefaultがSonnet 5になっている
再ログイン前。DefaultはSonnet 5を指している

こちらでも/loginを実行したところ、表示が変わりました。

Claude Code VSCode拡張のモデル選択画面。再ログイン後はDefaultがOpus 5になりOpus 1M contextの選択肢が増えた
再ログイン後。DefaultがOpus 5になり、「Opus (1M context)」の選択肢も増えた

DefaultがOpus 5に変わっただけでなく、再ログイン前にはなかった「Opus (1M context)」という選択肢が増えています。
選べるモデルの顔ぶれ自体が変わったことになります。

ターミナルとVSCode拡張はそれぞれ別に認証情報を持っているようで、どちらも再ログインするまで古いプランのままでした。
プランを変更したときは、使っているクライアントごとに/loginをやり直す必要がありそうです。

ただし、これはあくまで表示上の話です。
再ログイン前も、体感としてはMaxの枠で動いていました。Proのときにどのくらいで制限に当たるかは経験で分かっているので、それとは明らかに違ったからです。
おそらく契約自体は反映されていて、クライアント側の表示だけが古い情報のまま残っていたのだと思います。

実際の利用枠がどちらの基準で計算されていたかを数値で確認したわけではないので、断定はできません。
ただ、表示がおかしいからといって「払った分が無駄になっている」とは限らない、ということは言えそうです。

補足:使えない環境があった

VSCode拡張の中では/advisorが使えませんでした。

/advisor isn't available in this environment.

同じマシンでターミナルからclaudeを起動すると、問題なく設定できました。
ただし、このときVSCode拡張側はv2.1.221、ターミナル側はv2.1.238とバージョンが違っていたため、環境の違いによるものか、バージョンの違いによるものかは特定できていません。

公式ドキュメントには、アドバイザーの動作条件として次が挙げられています。

  • Anthropic API経由であること(Amazon Bedrock、Claude Platform on AWS、Google Cloud、Microsoft Foundryでは使えない)
  • メインモデルがOpus 4.6以降、Sonnet 4.6以降、Haiku 4.5、Fable 5のいずれかであること(Fable 5をメインにした場合、相談相手に選べるのはFableのみ)
  • 機能フラグの取得が有効であること(DISABLE_TELEMETRYなどが設定されているとオフになる)

もし手元で使えない場合は、ターミナルから起動して試すと切り分けができるかもしれません。

まとめ:結局どう使い分けるか

調べた結果、次のように整理できました。

  • 普段はDefaultのままでよい。プランに応じたモデルが選ばれている
  • 設計や方針を考えるフェーズがある作業opusplan
  • 長い作業、判断の質が結果を左右する作業/advisor opus
  • 単純作業/effort low でモデルはそのままに軽く
  • プラン変更後にモデル表示が変わらないならクライアントごとに /login を試す

どれも設定は一度きりで、あとは自動で動きます。
手動で切り替えていた作業がそのまま不要になります。
合わなければ、次のコマンドで元に戻せます。

/model default
/advisor off

Claude Codeの利用枠や料金プランについては、こちらにまとめています。

【2026年版】Claude Codeの5時間制限と週間制限を実際に使って検証|Max(5x)の料金とコスパ
無料版からPro、Max(5x)へと移行した実体験をもとに、Claude Codeの5時間制限と週間制限の違い、実際のコスパ、Fable5の使用量表示の落とし穴を実測データで解説します。

外部ツールとの連携については、こちらを参考にしてください。

【2026年版】Claude Codeのおすすめ MCPと実運用|トークン消費とセキュリティ
Claude CodeでMCPを実際に12サーバー運用している立場から、おすすめの構成とトークン消費の実測データ、情報漏洩への向き合い方を解説します。

コメント

タイトルとURLをコピーしました