Claude Codeを毎日触っていて、モデル選択ではなく『今は速さ重視』『今は深く考えてほしい』で切り替えたい人向け
Opus 4.7 で長めの作業をしているなかで、序盤は速さ優先で軽く回し、難所の設計判断だけ深く考えさせたいときに <code>/effort max</code> を叩き、抜けたら <code>/effort xhigh</code> で戻す。あるいは1回いじって戻せなくなったら <code>/effort auto</code> でモデルのデフォルト値にリセットする。
毎回モデルを切り替えるのではなく、同じモデルのまま「今は速く返してほしい」「今は時間をかけて深く考えてほしい」を切り替えたい場面があります。/effort はその切り替えを担うスラッシュコマンドで、Claude Code が裏で動かす「考える深さ」のレベルを会話の途中で変えられます。レベルは low / medium / high / xhigh / max の5段です。
モデル自体は変わりません。同じ Opus 4.7 のまま、思考にかける時間と消費トークンを上下させるイメージです。
噛み砕くと
これは「同じ料理人に、いまから出す皿だけ手間をかけて作って」と頼むのに似ています。料理人(モデル)を交代するのが /model、料理人はそのままで「次の皿は手抜きでいい」「次のメインはじっくり仕込んで」と指示するのが /effort です。
軽い質問では low で素早く返してもらい、設計判断のような難所だけ max で粘る、みたいな使い方ができる、と思ってもらえば近いです。
大事な前提:5段階のうち xhigh は Opus 4.7 専用
5段階あると言っても、全部のモデルで5段使えるわけではありません。公式仕様はこうなっています。
| モデル | 使えるレベル |
|---|---|
| Opus 4.7 | low, medium, high, xhigh, max |
| Opus 4.6 / Sonnet 4.6 | low, medium, high, max |
Opus 4.6 や Sonnet 4.6 で /effort xhigh と打ってもエラーは出ません。静かに high に格下げされて動きます。「xhigh で動いているはず」と思い込んで使うと、実際には high で走っている、という勘違いが起きやすいです。
もう1つ。Opus 4.7 のデフォルトは v2.1.117 以降 xhigh です。Opus 4.6 や Sonnet 4.6 で low に下げて運用していても、Opus 4.7 に切り替えた瞬間はリセットされて xhigh が当たります。意識的に下げたい場合は、モデル切替後にもう一度 /effort を叩く必要があります。
「長時間 refactor のなかで難所だけ深く考えさせる」を例に、実際の手順を見る
Opus 4.7 で大きめのコード書き直しを進める想定で、序盤は xhigh のまま走らせ、API 設計の難所だけ max に上げて、終わったら xhigh に戻す流れを見ます。
ステップ1: いまの effort を確認する
Claude Code の画面下、ロゴとスピナーの横に with xhigh effort のような表示が出ているのを確認します。Opus 4.7 のデフォルトなので、新しいセッションを開いて /model で Opus 4.7 を選んだ直後はここが xhigh になっているはずです。
ステップ2: 序盤の refactor は xhigh のまま進める
関数の切り出しや変数名の整理など、判断の難易度が中くらいの作業は xhigh のままで十分です。公式ガイドも「ほとんどのコーディング・エージェント作業で best results が出る、Opus 4.7 では推奨デフォルト」と書いています。ここは触らない、というのが正解。
ステップ3: 設計判断の難所に来たら max に上げる
「この新しい API、エンドポイントを2つに割るか1つにまとめるか」みたいな、戻り値構造そのものが分かれる判断にぶつかったら、その場で次を叩きます。
/effort max
画面に Effort level set to max と確認表示が出ます。これ以降の発話に対して、モデルは「思考の上限なし」で粘ります。深い議論を1〜2ターン回します。
ステップ4: ここで初心者がやりがちな勘違い
max にしたあと「これで今後 max で動き続ける」と思い込みやすいですが、違います。max は現セッション限定です(後述する CLAUDE_CODE_EFFORT_LEVEL という設定値を立てていない場合)。ターミナルを閉じて翌日 Claude Code を立ち上げ直すと、自動的に元の xhigh に戻ります。「いつのまにか max のまま回って料金が膨らんでた」みたいな事故は、設定値を立てていない限り起きにくい設計になっています。
逆に、low / medium / high / xhigh の4つは設定がセッションをまたいで残ります。ここで挙動が違うので、4段と max は別物だと思っておくと安全です。
ステップ5: 難所を抜けたら xhigh に戻す
設計判断が終わってコードを書く作業に戻るときは、明示的に戻すか、何もしないかの2択です。
/effort xhigh
あるいはそのまま放置でもOK。max は次のセッションで自動的に外れるので、急ぎでなければ「終わったあとで戻す」を忘れても致命傷にはなりません。
ステップ6: モデルのデフォルトに戻したいとき
「自分でいじったレベルを全部リセットして、Claude Code が推奨する初期値に戻したい」場合は次を叩きます。
/effort auto
これは「low に下げる」という意味ではありません。そのモデルのデフォルトに戻すという意味です。Opus 4.7 なら xhigh、Opus 4.6 や Sonnet 4.6 なら high に戻ります。「auto = 控えめ」と読み違えると、思っていたより重い設定で走り続けることになります。
つまり /effort は何をしてくれるのか
- やってくれる: 同じモデルのまま、考える深さを5段階で切り替える。会話の途中で
/effort lowのように打って、その後の応答の速さと深さを変えられる - やってくれない: モデル自体の交代はしない。Opus から Sonnet への切り替えは
/modelの役目で、/effortは同じモデル内の「思考の深さ」しか触らない - 意味が薄い場面: 1ターンだけ深く考えてほしいケース。それなら
/effort maxではなく、プロンプトにultrathinkという単語を混ぜるほうが軽い。ultrathinkはその場限りで、設定値そのものは変わらない
なお、effort の指定経路は /effort 以外にもいくつかあって、優先度が決まっています。強い順に「CLAUDE_CODE_EFFORT_LEVEL という起動時の設定値 → /effort でその場で叩いた値 → モデルのデフォルト」が基本です。これに加えて、スキルやサブエージェントの設定ファイル(markdown ファイルの先頭に書く frontmatter という設定ブロック)に effort: xhigh のように書くと、そのスキル・サブエージェントが動いている間だけ effort が一時的に上書きされます。セッション全体の設定よりは優先されますが、CLAUDE_CODE_EFFORT_LEVEL よりは弱い、という位置付けです。
使いどころ3シナリオ(具体題材で再現)
シナリオ1: 「世界の魚を紹介するサイト」を作っていて、文章だけ大量に生成したいとき
マグロ・カツオ・ブリ……と100種類分のテンプレ文章を吐かせるような単純作業に、深い思考はいりません。/effort medium あたりに下げると応答が速くなり、トークン消費もぐっと減ります。料金感も読みやすくなります。公式は medium を「ある程度の賢さは妥協していい、コスト寄りの作業」向けと位置づけています。
シナリオ2: 「家計簿アプリ」の DB スキーマを Opus 4.7 と相談しているとき
テーブルを「収入」「支出」「カテゴリ」「ユーザー」とどう切るかは、後々の機能拡張に影響する難しい判断です。ここは xhigh のままでも十分ですが、「複数案を出して、それぞれの欠点まで掘ってほしい」段になったら /effort max に上げて1〜2ターン回す価値があります。判断が固まったらすぐ xhigh に戻すのが無難。
シナリオ3: 「OSS を git clone した直後にコード全体を読ませる」とき
初回の通読は浅くてOK。「このフォルダ構成は何をするプロジェクトか」「どのファイルがエントリポイントか」を答えてもらうだけなら /effort high や medium でも十分通る場面が多いです。コードを変更し始めるフェーズに入ったら xhigh に戻す、という二段運用が読みやすいです。
初心者が踏みやすい落とし穴
- xhigh を Opus 4.6 / Sonnet 4.6 で使おうとする。エラーが出ないので気づきにくいですが、内部では high に静かに格下げされています。「xhigh で動いている」と思って結果を比較すると、判断材料がズレます
- max が永続化すると勘違いする / max を常用したくなる。
/effort maxでその場で上げた max は現セッション限定で、次に Claude Code を立ち上げ直すと自動で xhigh などのデフォルトに戻ります。CLAUDE_CODE_EFFORT_LEVEL を設定していなければ「max のまま走り続けて料金が膨らむ」心配はありません。逆に max を常用したい場合、毎セッション叩き直す方法では戻ってしまうので、唯一の永続化手段は CLAUDE_CODE_EFFORT_LEVEL=max を設定値として立てておくことです。公式も max を「demanding tasks で性能が伸びることはあるが、考えすぎ(overthinking)で結果がブレることもある」と書いているので、常用ではなく難所のスポット運用が無難です /effort autoを「低めに戻す」と読む。これは「モデルのデフォルトに戻す」操作で、Opus 4.7 なら xhigh、Opus 4.6 や Sonnet 4.6 なら high に戻ります。控えめにしたいなら/effort lowや/effort mediumを直接指定するのが正しい/effortと/modelを混同する。/modelはモデルそのものの交代、/effortは同じモデル内の思考の深さの調整です。料理人を変えるか、料理人はそのままで手間のかけ方を変えるかの違い、と覚えると区別しやすいです/effort maxとultrathinkを同じものとして扱う。/effort maxはセッション全体に効くスイッチで、API に送られる effort 値そのものが変わります。ultrathinkはプロンプト内に書く合言葉で、その1ターンだけ「もっと深く考えて」という指示文を差し込むだけ。設定値は変わりません。単発の難問はultrathink、長めに踏ん張りたいなら/effort maxです- CLAUDE_CODE_EFFORT_LEVEL という設定値を立てっぱなしにする。Claude Code は「この設定値 → 自分で設定した値 → モデルのデフォルト」の順で優先します。設定値が立っていると、
/effortで変えても次のセッションでまた設定値が復活します。「変えたのに翌日また同じレベルに戻る」現象が起きたら、ここを疑うと早いです - Opus 4.7 で「考えなくていい」ボタンを探す。Opus 4.7 は adaptive reasoning を常に使う設計で、固定の思考量に縛るスイッチや
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKINGという名前の旧設定は効きません。深さを抑えたいなら effort レベルを下げるのが筋です
書き方
/effort
/effort <level>
/effort auto
# <level> は low / medium / high / xhigh / max のいずれか
# Opus 4.6 と Sonnet 4.6 では xhigh は使えず、指定すると静かに high に格下げされる
# 効きの強さは次の順(強い→弱い)
# CLAUDE_CODE_EFFORT_LEVEL(起動時の設定値、max もここに入れれば永続化する唯一の方法)
# /effort で叩いた値(現セッション限定、max もここでは現セッション限定のまま)
# skill / subagent の frontmatter に書いた effort:(そのスキル等が動いている間だけ一時上書き)
# モデルのデフォルト(Opus 4.7 なら xhigh、Opus 4.6 / Sonnet 4.6 なら high)
やってみるとこうなる
入力
/effort max
出力例
Effort level set to max
(画面下のスピナー横の表示も「with max effort」に切り替わる)
このページに出てきた言葉
- effort レベル
- モデルが各ステップでどれだけ深く考えるかを決める設定値。low / medium / high / xhigh / max の5段で、上に行くほど時間とトークン消費が増えるかわりに難しい判断に強くなる
- adaptive reasoning
- ステップごとに『今回は考えるべきか、どこまで掘るか』をモデル自身が判断する仕組み。Opus 4.7 は常にこれを使う設計になっている
- max
- 5段階の最上段。思考量に上限を設けない代わりに『考えすぎ(overthinking)』で結果がブレることもある、と公式が注意書きしているレベル。<code>/effort max</code> で叩いた場合は現セッション限定で、次のセッションでは自動的に元のレベルに戻る。永続化したい場合は CLAUDE_CODE_EFFORT_LEVEL=max を設定するのが唯一の方法
- xhigh
- Opus 4.7 専用のレベル。v2.1.117 以降は Opus 4.7 のデフォルトでもある。Opus 4.6 / Sonnet 4.6 で指定するとエラーは出ずに high として動く
- ultrathink
- プロンプト本文のどこかに書くと『そのターンだけ深く考えて』という指示が差し込まれる合言葉。effort の設定値そのものは変わらない、単発用の仕掛け
- CLAUDE_CODE_EFFORT_LEVEL
- Claude Code 起動時に読まれる設定値の名前で、ここに level 名を入れておくとセッション開始時にその値が当たる。<code>/effort</code> による設定よりも優先される最強の指定方法。max を永続化したい場合は CLAUDE_CODE_EFFORT_LEVEL=max を立てる
- frontmatter(スキル/サブエージェント)
- markdown 形式のスキル定義やサブエージェント定義ファイルの先頭に <code>---</code> で囲んで書く設定ブロック。ここに <code>effort: xhigh</code> のように書くと、そのスキル等が動いている間だけ effort が一時的に上書きされる。セッション全体の設定よりは優先されるが、CLAUDE_CODE_EFFORT_LEVEL よりは弱い