Claude Codeには、もっと簡単な方法があった。 model を opusplan にすると、Plan modeではOpus、実行ではSonnetに切り替わる。
Sonnetだけで作業していたとき、同じミスを何度も繰り返すことがあった。「なんでこんな間違いをするんだろう」と思っていたけど、原因は指示の出し方だったかもしれない。
ある日、プロンプトの最後に「Opusで計画を立てて、Sonnetで実行してください」と一行加えてみた。そうしたら、その後のアクションが明らかにスムーズになった。
ただ、公式ドキュメントを調べると、毎回プロンプトに書くより簡単な設定があった。
なにが変わったのか
Sonnetは実行が得意なモデルだ。速くて安く、コードを書いたりファイルを操作したりするのは十分強い。ただ、複雑なタスクを一気に渡すと、ときどき判断がぶれる。
Opusは推論が得意だ。トークンは多く使うけど、複雑な問題を構造化してステップに分解するのが上手い。
この二つを組み合わせると何が起きるか。
- Opusが「何をどの順番でやるか」を先に決める
- Sonnetがその計画に従って実行する
計画がある状態で動くSonnetは、計画なしのSonnetより判断ブレが少ない。当たり前といえば当たり前だが、これを意図的に設定していなかった。
Claude Codeでの実装方法
一番簡単なのは、Claude Codeの設定で opusplan を使うこと。
Anthropicの Model configuration では、opusplan は「Plan modeではOpus、実行時はSonnet」に切り替わる特別なモデル設定として説明されている。
ユーザー全体に効かせるなら、~/.claude/settings.json にこう書く。
{
"model": "opusplan"
}
プロジェクトだけに効かせるなら、プロジェクト直下の .claude/settings.json に書く。
{
"model": "opusplan"
}
一時的に試すだけなら、Claude Code内でこう打つ。
/model opusplan
または起動時に指定する。
claude --model opusplan
これで、Plan modeを使ったときに「Opusで考えて、Sonnetで実行する」流れになる。
CLAUDE.mdに書くならこの一文でいい
opusplan を設定したうえで、使い分けルールだけ CLAUDE.md に書く。
長く書かなくていい。
複雑な作業はPlan modeで計画してから実行する。
小さな修正、確認だけの作業、1〜2ファイルの変更はそのまま進める。
もし明示したいなら、このくらいで十分。
## Opus計画 + Sonnet実行ルール
Claude Codeでは `model: opusplan` を使う。
ステップが3つ以上あるタスクは、Plan modeで計画してから実行する。
以下はSonnetのみで完結する(小さな変更・調査のみ):
- 1〜2ファイルの変更
- 調査・確認のみのタスク
- 既存パターンの繰り返し
サブエージェントを自作しなくても、まずはこれでいい。
トークンとのバランス
Opusはトークンコストが高い。毎回Opusを使うと費用がかさむ。
そこでルールに「使わない場面」も書いておくのが大事だ。小さな修正・読み取り専用・繰り返し作業はSonnetだけで十分。Opusを使うのは「設計判断が必要な複雑なタスク」に絞る。
大雑把な目安:
- ファイル数3以上 → Opus計画あり
- ステップ数3以上 → Opus計画あり
- それ以下 → Sonnetのみ
なぜ設定だけで変わるのか
Claude Codeの opusplan は、Plan mode中だけOpusを使う。
その後の実行ではSonnetに戻る。
つまり、毎回「Opusで計画して」と書かなくても、Claude Code側に役割分担を任せられる。
サブエージェントを使う方法もある。
Anthropicの Subagents では、専門タスクごとのエージェントを作れると説明されている。
ただ、この用途なら最初から opusplan を使うほうが簡単だ。
実際に試してみた感想
完璧ではないけど、体感では「迷わない」回数が増えた。特に複数ファイルにまたがる改修や、順序が重要な作業で差が出やすい。
Sonnetだけで全部やろうとして詰まっていたのは、計画フェーズをスキップしていたからだと気づいた。人間でも設計なしにいきなり実装すると迷うのと同じだと思う。