/effort(エフォート)

スラッシュコマンド
/effort
エフォート
同じモデルのまま『考える深さ』を low / medium / high / xhigh / max の5段階で切り替えるスラッシュコマンド。モデル自体は <code>/model</code> 側の仕事で、こちらは思考にかける時間とトークン消費を上下させる役目に絞られている。

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 maxultrathink を同じものとして扱う/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 よりは弱い

関連項目

公式ドキュメント

https://code.claude.com/docs/en/model-config

-

← 戻る