Claude Code モデルの選び方
Claude Code の最適なモデル選択: Sonnet、Opus、Haiku、sonnet[1m]、opusplan。タスクに応じた切り替えでモデルコストを60〜80%削減しながら品質を維持する方法。
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。
問題: 多くの開発者がすべてのタスクに Opus を使い続けて予算を使い果たすか、Haiku では対応しきれない場面でもそのまま使い続けてしまう。タスクの実際の要件に合わせてモデルを切り替えることで、使用コストを60〜80%削減できる。
今すぐできる改善: Sonnet をデフォルトモデルにしよう:
claude --model sonnet
コストを約80%削減しながら、日常の開発作業の約90%で高いパフォーマンスを維持できる。
モデルエイリアス
Claude Code にはバージョン番号を覚えなくて済むようにエイリアスが用意されている。日々の作業で使うショートカットだ:
| エイリアス | 動作 |
|---|---|
default | アカウント種別に応じた推奨モデル。Max ユーザーは上限到達時に Opus から Sonnet へ自動フォールバック |
sonnet | 日々のコーディングタスク向け最新 Sonnet(現在は Sonnet 4.5) |
opus | 複雑な推論向け Opus(現在は Opus 4.6) |
haiku | シンプルなタスク向けの高速・効率的な Haiku |
sonnet[1m] | 長いセッション向けの100万トークンコンテキストウィンドウ付き Sonnet(コンソール/APIユーザー向け) |
opusplan | プランモード中は Opus を使い、実行時に自動で Sonnet に切り替える |
default エイリアスはアカウント種別を追跡する。特定の Max アカウントでは、使用量の閾値で Claude Code が Opus から Sonnet へ自動フォールバックするため、モデルフラグを変更することなく作業を続けられる。
コンソールおよびAPIユーザーは sonnet[1m] が使える。100万トークンのコンテキストウィンドウが開くため、通常なら圧縮の上限に引っかかるような長いセッションでも快適に作業できる。拡張コンテキストモデルは異なる料金で請求されるため、この点は把握しておこう。
コンソールおよびAPIユーザーはフルモデル名に [1m] サフィックスを付けることもできる:
/model anthropic.claude-sonnet-4-5-20250929-v1:0[1m]
スマートなモデル戦略
最もコストがかかる習慣は、すべてに同じモデルを使い続けることだ。Claude Code には作業の種類ごとに最適化された複数のモデルがある。切り替えを活用すれば、品質を上げながら使用コストを80%削減できる。
Sonnet: デイリードライバー
最適な場面: 開発作業の90%
# Start Claude Code with Sonnet (usually the default)
claude --model sonnet以下の作業に最適:
- 機能実装とバグ修正
- コードレビューとリファクタリング
- API連携とデータベース作業
- テストとドキュメントの作成
Sonnetが選ばれる理由: Opus性能の90%を2倍の速度で発揮し、使用量制限に引っかかりにくく、ペアプログラミングのワークフローに理想的。
Opus: ヘビーヒッター
アップグレードすべき場面: 複雑なアーキテクチャの判断のみ
# Start with Opus for deep analysis sessions
claude --model opusOpusを使う場面:
- 複数システムにまたがる大規模リファクタリング
- 複雑な依存関係を含むデバッグ
- 深い推論を要するアーキテクチャの判断
- 高度なセキュリティレビュー
コストの現実: Sonnet の5倍のコストだが、最大の推論能力が必要なタスクでは正当化される。
Haiku: スピードモデル
ダウングレードすべき場面: シンプルで反復的なタスク
# Fast and cheap for basic operations
claude --model haiku以下の作業に最適:
- シンプルなファイル読み込みとフォーマット
- 基本的な構文チェック
- クイックステータス確認
- テキスト変換
注意: 実際の開発作業に Haiku を使わないこと。複雑なロジックや複数ファイルのプロジェクトでは対応しきれない。
Opusplan: 両方の良さを活かす
使うべき場面: Opus の推論がほしいが、すべてに Opus のコストをかけたくない複雑なタスク
# Hybrid mode: Opus plans, Sonnet executes
claude --model opusplan仕組み:
- プランモード中: 複雑な推論とアーキテクチャの判断に Opus を使用
- 実行モード中: コード生成と実装に自動で Sonnet へ切り替え
計画フェーズでは深い推論のために Opus を使い、実行フェーズではコード生成のスピードとコストのために Sonnet に落とす。Opus の品質が重要な部分(計画段階)で活かされ、残りのセッションはコストを抑えられる。
リファクタリングセッション、機能計画、プランモードを活用するワークフローが opusplan に向いている。計画中のみ Opus の料金が適用されるため、コスト最適化の戦術としても機能する。
タクティカルなモデル切り替え
Sonnet からスタートして、タスクが本当に必要とするときだけエスカレートする。
開発セッション中の切り替え
# Start your session with Sonnet
claude --model sonnet
# Mid-session: switch to Opus for complex refactoring
/model opus
# Back to Sonnet for regular work
/model sonnet
# Drop to Haiku for simple tasks
/model haikuコスト最適化パターン
- デフォルト: すべての標準開発に Sonnet
- ハイブリッド: 計画と実装を組み合わせるセッションには
opusplan - エスカレート: Sonnet が実行タスクで苦労しているときだけ全 Opus に切り替え
- 委譲: シンプルなファイル操作には Haiku
- モニタリング: 使用量を追跡してモデル選択を最適化
このように運用すれば、純粋な Opus ワークフローと比べて請求額が60〜80%下がる。
タスク別モデル選択
コード解析のスピードランキング
- Haiku: 即時だが浅い解析
- Sonnet: 高速かつ優れた深さ
- Opus: 遅いが最も深い解析
推論品質ランキング
- Opus: 複雑なマルチステップ問題に最適
- Sonnet: ほとんどの開発シナリオに優秀
- Haiku: 基本的な推論のみ
コスト効率ランキング
- Haiku: タスクあたり最安(性能は限定的)
- Sonnet: コストパフォーマンス最良
- Opus: プレミアム性能にプレミアム価格
モデルの設定方法
モデルを設定できる場所はいくつかあり、優先順位の連鎖は厳密だ。上位の設定が下位の設定に常に勝る:
- セッション中 -
/model <エイリアス|名前>でセッション途中にモデルを切り替える(最高優先度) - 起動時 -
claude --model <エイリアス|名前>でそのセッションのモデルを設定 - 環境変数 -
ANTHROPIC_MODEL=<エイリアス|名前>でセッションをまたいで永続化 - 設定ファイル - settings.json の
modelフィールドで恒久的な設定(最低優先度)
モデルを恒久的に固定するには、settings.json に model フィールドを追加しよう:
// ~/.claude/settings.json
{
"permissions": {},
"model": "sonnet"
}これを設定すれば、Claude Code を起動するたびに --model を渡す必要がなくなる。
エイリアスが指すモデルの制御
エイリアスを特定バージョンや Bedrock・Vertex のデプロイメントに向けるには、環境変数を使う:
| 環境変数 | 制御対象 |
|---|---|
ANTHROPIC_DEFAULT_OPUS_MODEL | opus および opusplan のプランモードで使用するモデル |
ANTHROPIC_DEFAULT_SONNET_MODEL | sonnet および opusplan の実行モードで使用するモデル |
ANTHROPIC_DEFAULT_HAIKU_MODEL | haiku およびバックグラウンド機能で使用するモデル |
CLAUDE_CODE_SUBAGENT_MODEL | サブエージェントで使用するモデル(デフォルトのサブエージェントモデルを上書き) |
ANTHROPIC_SMALL_FAST_MODEL は非推奨となっており、ANTHROPIC_DEFAULT_HAIKU_MODEL がその代替だ。
Bedrock、Foundry、Vertex ユーザーはこれらを最もよく使う。これらのプラットフォームは標準の Anthropic モデルIDではなく、推論プロファイルARN、デプロイメント名、バージョン名を要求するためだ。
現在のモデルを確認する
セッションのモデルを確認する方法は2つある:
/statusを実行すると現在のモデルとアカウント情報が表示される- StatusLine を設定するとターミナルにモデルを常時表示できる
プロンプトキャッシュの設定
プロンプトキャッシュは Claude Code でデフォルトでオンになっており、パフォーマンスとコストの両方に役立つ。デバッグ、ベンチマーク、特定のAPI設定のためにオフにする必要がある場合、以下の環境変数で制御できる:
| 環境変数 | 効果 |
|---|---|
DISABLE_PROMPT_CACHING | すべてのモデルのキャッシュを無効化(モデル別設定を上書き) |
DISABLE_PROMPT_CACHING_HAIKU | Haiku モデルのキャッシュのみ無効化 |
DISABLE_PROMPT_CACHING_SONNET | Sonnet モデルのキャッシュのみ無効化 |
DISABLE_PROMPT_CACHING_OPUS | Opus モデルのキャッシュのみ無効化 |
いずれかを 1 にセットするとキャッシュがオフになる。グローバルの DISABLE_PROMPT_CACHING はモデル別フラグより優先される。キャッシュを無効にするとコストとレイテンシが上がるため、特定の理由がある場合のみ実施しよう。
よくあるモデル選択のミス
ミス1: すべてに Opus を使う
- 問題: 5倍のコストと遅い応答
- 解決策: Sonnet をデフォルトにして、必要に応じてエスカレート
ミス2: Haiku を使い続けすぎる
- 問題: コードの品質が低く、問題を見落とす
- 解決策: 実際の開発には Sonnet にアップグレード
ミス3: セッション途中でモデルを切り替えない
- 問題: 現在のタスクに合わないモデルを使い続ける
- 解決策:
/model opusや/model sonnetで即座に切り替える
クイックリファレンス
| タスク種別 | 推奨モデル | 理由 |
|---|---|---|
| 日常のコーディング | Sonnet | スピードと性能のベストバランス |
| 計画 + 実装 | opusplan | 計画に Opus の推論、コードに Sonnet |
| 複雑なアーキテクチャ | Opus | 最大の推論深度 |
| 単純なファイル操作 | Haiku | 高速かつ低コスト |
| 長いセッション | sonnet[1m] | 100万トークンウィンドウで圧縮を回避 |
| デバッグ | Sonnet から始めて詰まったら Opus にエスカレート | 段階的エスカレーション |
初心者向け: ワークフローを習得するために Sonnet からスタートしよう。
日常開発向け: デフォルトは Sonnet、複雑なデバッグには Opus。
予算最適化向け: タスクの複雑さに応じた戦略的な切り替え。
学習中の方: モデルのデフォルトを設定するには設定ガイドを確認しよう。
タスクに合ったモデルを選べば、コードをより速く書きながら費用を抑えられる。Sonnet のバランスの取れた性能がほとんどの作業をこなす。Opus はその深さが本当に必要な場面のためにある。
次のアクション: パフォーマンス最適化ガイドで最適なモデル設定を構成し、高度なコンテキスト管理テクニックを習得しよう。
すべての Claude モデルの詳細スペックについては、完全なモデルタイムラインを参照してほしい。
関連ガイド:
- ディープシンキングテクニック - Opus で拡張思考を使うタイミング
- 効率化パターン - 一貫した出力のためのフレームワーク構築
- 使用量最適化 - コストの追跡と削減
設定をやめて、構築を始めよう。
AIオーケストレーション付きSaaSビルダーテンプレート。