この記事の結論
Claude Codeのモデル変更は、会話中の/modelとサブエージェントのmodel指定の2か所で行います。僕の会社では2026年7月10日から4段の使い分け表で回し、依頼を軽・中・重に分けるフックで委譲を促しています。
目次9項目
【無料・メールだけ】Claude Code 2daysセミナー(第二の脳構築講座)の次回開催の案内を受け取る →
Claude Codeのモデル変更で僕が決めたのは、変える場所を2つに分けることでした。会話そのものは人が /model で切り替え、作業ごとのモデル指定はサブエージェントに任せる。AIは自分の会話のモデルを変えられないので、使い分けは「どの担当に、どのモデルで渡すか」の表で回しています。
2026年7月10日、僕は全プロジェクト共通の設定ファイルに、モデルの使い分け表を書きました。重い設計・日常・定型・ごく軽い処理の4段です。9月3日にeffortの列を足し、いまは委譲を促すフックも動かしています。
この記事では、/model の効き方と優先順位、サブエージェントのmodel指定、僕の会社の4段の表とフックの中身を書きます。「モデルを変えたはずなのに、次の日も同じモデルのまま」で戸惑ったことはありませんか。
Claude Codeのモデル変更は2か所:会話は/model、作業はサブエージェントのmodel指定
Claude Codeでモデルを変える場所は、メインの会話と、そこから切り出すサブエージェントの2つです。会話は /model で、サブエージェントは定義ファイルか呼び出し時のmodelで指定します。
会話中に変えるなら、/model と打てば一覧が開きます。/model sonnet のように名前を続ければ、その場で切り替わります。どちらも作業の途中で使えるので、まずはこれだけ覚えておけば困りません。
モデルを決める場所は5つ、上にあるほど強い
公式ドキュメントには、モデルを決める方法が優先順位つきで並んでいます。複数を設定していると、上の段が勝ちます。
| 優先 | 方法 | 効く範囲 |
|---|---|---|
| 1 | 会話中の /model <エイリアスか名前> | その場で切り替え(既定として保存される) |
| 2 | 起動時の claude --model <エイリアスか名前> | その起動の会話だけ |
| 3 | 環境変数 ANTHROPIC_MODEL | その起動の会話だけ |
| 4 | 設定ファイルの model | 以後の会話 |
| 5 | 環境変数 ANTHROPIC_DEFAULT_MODEL(v2.1.236以降) | 新しい会話の既定 |
僕は、普段の切り替えは /model だけで足りると考えています。--model は「今日は最初から軽いモデルで始める」と決めている日に使う程度です。
/model は既定として保存される。今だけならs
ここが、冒頭の「次の日も同じモデル」の正体です。公式の説明では、/model で選んだモデルはユーザー設定のmodelに書き込まれ、新しい会話の既定になります。
一覧の画面でEnterを押すと、切り替えと保存が同時に起きます。sを押すと、その会話だけ切り替わり、既定は変わりません。/model sonnet のように名前を打ったときはEnterと同じ扱いです。
僕の会社の運用ルールにも「/model で手動指定すると、そのモデルが使われ続ける」と書いています。だから重い作業が終わったら「既定に戻しますか」とAIに一言添えさせ、モデルが固定されっぱなしになるのを防いでいます。
指定はエイリアスで書く。指す版は公式が決める
モデルの名前は、opus や sonnet のような短い別名(エイリアス)で指定できます。公式の一覧には、fable・haiku・opusplan なども並んでいます。
2026年10月28日に公式を確かめました。AnthropicのAPIでは opus がOpus 5.5、sonnet がSonnet 5.5、haiku がHaiku 5.5を指しています。
opusplan は、計画モードではopus、実行ではsonnetに切り替わる組み合わせです。設計と作業でモデルを分けたい人には、これ1つで足りる場面もあります。
エイリアスで書いておけば、新しい版が出たときに書き換えずに済みます。一方で、指す版が変わることも覚えておく必要があります。これは後の使い分け表の話にもつながります。
Claude Codeのモデル指定:サブエージェントは定義ファイルのmodelで固定する
サブエージェントのモデルは、定義ファイルの冒頭にある model の行で固定できます。書けるのは、エイリアス・正式なモデルID・inherit(メインの会話と同じ)の3種類です。
ここでいうサブエージェントとは、メインの会話から作業を切り出し、別の文脈で処理させる担当です。
定義ファイルは、プロジェクト単位の .claude/agents/ か、全プロジェクト共通のユーザー側のフォルダに置きます。同じ名前があれば、プロジェクト側が優先されます。
サブエージェントのモデルは4段で決まる
公式の説明では、サブエージェントのモデルは次の順に決まります。上で決まれば、下は見ません。
- 呼び出し時に渡す
model(sonnet・opus・haiku・fableのエイリアスだけ) - 定義ファイルの
model(inheritならメインの会話のモデル) - 環境変数
CLAUDE_CODE_SUBAGENT_MODEL - メインの会話のモデル
つまり、何も指定しなければメインの会話と同じモデルで動きます。メインがいちばん高いモデルなら、一覧化のような軽い作業まで高いモデルで回ることになります。
effortも定義ファイルで固定できる
定義ファイルには effort の項目もあり、low〜max を書けます。その担当が動いている間は、会話全体のeffortより、この値が優先されます。
公式では、v2.1.292以降は呼び出し時にeffortを渡すこともできます。それでも僕の会社のルールでは、effortは定義ファイルで固定すると決めています。
だからモデルとeffortの組は、担当ごとの定義ファイルにまとめています。
2026年7月10日に決めたモデル切り替えのルール:AIは自分のモデルを変えられない
僕の会社のモデル切り替えのルールは、「メインの会話のモデルはAI自身では切り替えられない」という前提から始まっています。だから自動の使い分けは、サブエージェントに渡すときのmodel指定で実現する、と決めました。
このルールを全プロジェクト共通の設定ファイル(CLAUDE.md)に書いたのが、2026年7月10日です。当時の表は4つのモデルの使い分けだけで、effortの列はまだありませんでした。
決めた理由は、重いモデルの使い続けと固定されっぱなし
ルールを作った理由は2つありました。1つは、重いモデルで軽い作業を続けると、時間も利用枠もムダになることです。
もう1つは、手動で指定したモデルが固定されっぱなしになることでした。僕が気にしていたのはこちらです。重い設計のために上げたモデルのまま、翌日の軽い用事まで続けてしまう。この状態を、仕組みで防ぎたいと考えました。
/model の切り替えは「提案」にとどめる
メインの会話は人が選んだモデルで動くので、AIにできるのは提案までです。ルールには「メインの会話のモデル自体を変えた方が良い場面では、/model での切り替えを一言提案する。勝手には切り替えられない」と書いています。
提案する場面の例も決めています。この先しばらく軽作業だけになるときと、逆に重い設計の局面に入るときです。切り替えるかどうかは、僕が決めます。
4段のモデル使い分け表:Fable・Opus・Sonnet・Haikuをどの仕事に当てるか
僕の会社の使い分け表は、重い設計と調査・日常の制作・定型と大量処理・ごく軽い処理の4段です。迷ったときは2段目のOpusにする、と表の中で決めています。
2026年9月3日に、Fable 5.1への対応で表をモデルとeffortの組に改めました。いまの表は次のとおりです。
| 段 | 指定値 | effort | 当てる仕事 |
|---|---|---|---|
| 重い設計・調査 | fable | high(長時間の自律作業・再現しにくい不具合・一発勝負の検品は xhigh) | 大規模な設計判断・複雑なバグ調査・重要な判断を伴うレビューと監査・曖昧な要件の切り分け |
| 日常(既定) | opus | medium | 日常の開発・記事作成・通常のコード修正・型に沿った生成 |
| 定型・大量処理 | sonnet | low | 単純な置換・定型作業・大量ファイルの機械的な処理・広い範囲の検索 |
| ごく軽い処理 | haiku | low | ごく軽いチェック・一覧化・書式の整形 |
僕なら、最初は2段目を既定にして、軽い仕事だけを下に逃がすところから始めます。表の中でも、迷ったら2段目と決めています。
effortの列を足したのは、費用がeffortで決まるから
9月3日の改訂で列を足したのは、Fable 5.1の費用がモデルの単価より、effortで決まると判断したためです。表には「重要だから常にmaxにしない」とも書いています。
lowにすると検索や取得のツールを呼ぶ回数が減るので、最新の情報が要る仕事はmedium以上にする決まりもあります。
effortの決め方の詳細は、Claude Fable 5.1のeffortの決め方と使い分けに分けて書いています。
4つの担当に、モデルとeffortの組を固定した
表を実際に動かすために、4つのサブエージェントを用意しています。軽作業(haiku・low)、日常(opus・medium)、深掘り(fable・high)、検品(fable・high)です。
検品の担当は、作った本人とは別の文脈で納品物を確かめる役です。4つの担当の作り方は、Claude Codeのサブエージェントの作り方に書きました。
表のラベルと、実際に動く版はずれることがある
表のモデル名は作った当時のラベルで、「Sonnet 5」「Haiku 4.5」と書いたままです。一方、指定値はエイリアスなので、実際に動く版は公式の解決先に従います。
10月28日に公式を確かめると、sonnet と haiku が指す先は5.5になっていました。エイリアスで書いていれば、表を直さなくても新しい版で動きます。
ただ、版まで固定したい担当があるなら、定義ファイルに正式なモデルIDを書く必要があります。
依頼を軽・中・重に分けて委譲を促すフック
表を書いただけでは、AIはつい自分で全部やってしまいます。そこで僕の会社では、依頼が送られるたびに動くフックで重さを判定し、「この依頼は軽いモデルの担当へ渡せ」と指示を足しています。
ここでいうフックとは、Claude Codeの決まったタイミングで自動で走らせる自作の処理です。使っているのは、依頼を送った直後に動く UserPromptSubmit のフックです。
判定は言葉の辞書と文字数で決めている
判定の中身は単純で、依頼の文に含まれる言葉で振り分けています。重いと見なす語が37個、軽いと見なす語が33個、中くらいの作業を示す語が19個です。
重いのは「設計」「監査」「バグ」「原因」「提案書」などです。軽いのは「一覧」「整形」「リネーム」「抽出」「何件」などです。中くらいの目印は「修正」「下書き」「記事」「デプロイ」などです。
| 判定 | 条件 | 足す指示 |
|---|---|---|
| 重 | 重い語を1つでも含む | 思考の深さは保つ。付随する調査・整形は軽い担当か日常の担当へ切り出す |
| 軽 | 軽い語があり中の目印が無い。または20字以内で中の目印が無い | 軽作業の担当へ丸ごと渡す。自分で処理するなら理由を1行書く |
| 中 | それ以外 | 節約の段に入ったときだけ、日常の担当へ渡す |
重いの判定を先に見るので、「一覧を作って原因を調べて」は重になります。短い用事を軽に寄せたのは、一言の確認まで高いモデルで抱え込まないためです。
普段は「軽」のときだけ口を出す
このフックは、普段は軽と判定した依頼にだけ指示を足します。中と重の依頼では何も足しません。毎回指示を足すと、それ自体が読み込む量を増やしてしまうからです。
足す指示の最後には、担当の振り分け表を1行で付けています。「軽は軽作業の担当、中は日常の担当、重は自分か深掘りの担当」という内容です。AIはこれを読んで、サブエージェントを呼ぶときのmodelを選びます。
2026年9月16日の枠ガードと、9月19日に止めた段
このフックには、利用枠の消費に応じて段階的に締める段もあります。きっかけは、Max 20xでも週の半ばで週次枠の60〜70%を使っていた実測でした。これを受けて、2026年9月16日に「枠ガード」として運用を恒久化しています。
同じ実測では、1ターンあたり平均20.4万トークンの文脈を送り直していました。上位10セッションだけで消費の49%です。
消費の内訳と節約の効き目は、Claude Codeの料金と、Max 20xの実測に詳しく書いています。
ただし、自動で作業を止める段は2026年9月19日に止めました。自前の目安が公式の週次枠と合わず、公式の枠を半分も使っていない時点で上限超えと判定していたためです。いま動いているのは、軽い依頼の委譲を促す部分だけです。
モデルを切り替えるときの注意:Fableの退避と、上限で止まったとき
モデルの切り替えは、人が操作するときだけ起きるわけではありません。僕の会社のルールには、Fable 5.1が安全上の判定で止まったときの扱いも書いています。
Fableが止まると自動で別のモデルに退避する
ルールの記載では、Fable 5.1がセーフガードで止まると、別のモデルへ自動で退避します。サイバー関連の判定ならOpus 4.8、生物関連ならOpus 5です。
退避した後は、/model で戻すまでそのモデルのままです。
退避先は、Fable 5.1の思考の途中経過を読めません。だから僕の会社では、途中から続けず、タスクの区切りから同じ入力でやり直すと決めています。終わったら /model でFableへ戻すことを、AIから提案させます。
上限で止まったら、/model で系統を替える選択肢もある
利用の上限で止まったときも、/model が役に立つ場面があります。替えて続けられる上限の種類は、Claude 週間制限のリセットはいつ?5時間制限との違いにまとめています。
僕は、上限の対処とモデルの使い分けは別の話だと考えています。上限で止まってから慌てて替えるより、普段から軽い仕事を軽い担当へ回しておくほうが、止まる回数そのものが減るからです。
Claude Codeのモデル切り替えを自社で始める4つの手順
自社で始めるなら、/model の効き方を知るところから、委譲のルールを書くところまでを順に進めます。最初からフックまで作る必要はありません。
- /model で今のモデルを確かめる:一覧を開き、既定が何になっているかを見る。今だけ変えたいときはsを使う
- 軽い担当を1つ作る:定義ファイルの
modelにhaikuを書き、一覧化や整形を渡す - 使い分けの表を共通の設定ファイルに書く:「迷ったらこの段」という既定を1つ決めておく
- /model の切り替えは提案にとどめるルールを書く:AIに勝手に変えさせず、場面だけ知らせてもらう
手順2までなら、定義ファイル1枚で済みます。僕の会社では、表を書いた7月10日の時点では担当はまだ無く、9月3日に4つの担当を作って表が動く形になりました。
フックは、表を書いてもAIが自分で抱え込むと分かってからで十分です。判定の辞書は、自分がよく使う言葉で作ると外れが少なくなります。
まとめ
- Claude Codeのモデル変更は、会話は /model、作業はサブエージェントのmodel指定の2か所で行う
- /model で選んだモデルは新しい会話の既定として保存される。その会話だけならsを押す
- サブエージェントのモデルは、呼び出し時のmodel、定義ファイル、環境変数、メインの会話の順に決まる
- 僕の会社では2026年7月10日から4段の使い分け表で回し、9月3日にeffortの列を足した
- 僕なら最初に、軽作業の担当を1つ作り、一覧化と整形だけをそこへ渡すところから始めます
よくある質問
Claude Codeで/modelを使って変えたモデルは、次の会話にも残りますか?
残ります。公式ドキュメントでは、/model で選んだモデルはユーザー設定のmodelに書き込まれ、新しい会話の既定になると説明されています。その会話だけ変えたいときは、/model の一覧でEnterではなくsを押します。起動時の--modelと環境変数ANTHROPIC_MODELは、その起動した会話だけに効きます。
サブエージェントのモデルを指定しないと、どのモデルで動きますか?
公式の解決順では、呼び出し時のmodel、定義ファイルのmodel、環境変数CLAUDE_CODE_SUBAGENT_MODELの順に見て、どれも無ければメインの会話と同じモデルで動きます。定義ファイルにinheritと書いた場合も、メインの会話のモデルになります。
サブエージェントを呼び出すときのmodelに、正式なモデルIDは書けますか?
呼び出し時のmodelの指定は、sonnet・opus・haiku・fableのエイリアスだけです。正式なモデルIDは、定義ファイルのmodelなら書けます。版まで固定したい担当は、定義ファイルの側で指定します。
軽い作業だけの日は、どうモデルを選べばいいですか?
僕の会社では、軽い作業は軽いモデルのサブエージェントに任せるルールにしています。メインの会話ごと軽くしたい日は、/model で切り替えます。その会話だけで済ませたいなら、一覧でsを押せば既定は変わりません。
