Claude Code Effort Level 完全活用ガイド 2026 — low/medium/high/xhigh/max の使い分けとモデル別実測
Claude Code の Effort Level(low/medium/high/xhigh/max)を Opus 4.7 / Opus 4.6 / Sonnet 4.6 別に徹底解説。設定方法(/effort コマンド、CLAUDE_CODE_EFFORT_LEVEL 環境変数、Skill/Subagent frontmatter)と、ultrathink キーワードによる単発深掘り、コストとパフォーマンスの実測トレードオフを 2026年5月版で。
エンジニアのゆとです。
Claude Code を毎日使っていると、「もっと考えてほしいのに浅い回答が返ってくる」「逆に簡単な質問なのにやたら時間がかかる」というシーンに出くわす。
これ、ほぼ全部 Effort Level の設定ミス だ。
2025年末に追加された Effort Level(適応型推論レベル)は、low / medium / high / xhigh / max の5段階で「Claude がどれくらい考えるか」を制御する仕組み。デフォルトは多くの作業に最適化されているが、用途に応じて切り替えると体感品質とコストが大きく変わる。
この記事では、Anthropic 公式ドキュメント(2026年5月版)と自分の実運用ログを照合して、Effort Level の使い分け・設定方法・ハマりどころを整理する。
Effort Level とは何か
Claude Code の Effort Level は、モデルが各ステップで どれくらい深く考えるか を制御する設定だ。
公式ドキュメントの定義:「Effort levels control adaptive reasoning, which lets the model decide whether and how much to think on each step based on task complexity.」(Effort Level は適応型推論を制御する。モデルが各ステップでタスクの複雑さに応じて、考えるかどうかとどの程度考えるかを決めるもの。)
ポイントは「適応型」というところ。固定のトークン数で必ず考えるわけではなく、タスクの複雑さに応じて Claude が判断する。Effort Level は 判断の上限と傾向 を決める設定だ。
低い Effort は速くて安く、高い Effort は深い推論が必要な問題向け。トレードオフは「速度・コスト vs 知性」。
モデルごとに使える Effort Level が違う
これが落とし穴の1つ目。全モデルで全 Level が使えるわけではない。
| モデル | 使える Effort Level |
|---|---|
| Opus 4.7 | low / medium / high / xhigh / max |
| Opus 4.6 / Sonnet 4.6 | low / medium / high / max(xhigh は high にフォールバック) |
| Sonnet 4.5 以下 / Haiku | Effort Level 非対応 |
サポートされていない Level を設定した場合、Claude Code は その Level 以下で最高の対応 Level に自動フォールバック する。例えば Opus 4.6 で xhigh を設定すると、内部的には high で動く。
デフォルトは何?
v2.1.117 以降のデフォルト:
- Opus 4.7:
xhigh - Opus 4.6 / Sonnet 4.6:
high
Opus 4.7 を初めて使うときは、以前 Opus 4.6 や Sonnet 4.6 で別の Effort Level を設定していても、xhigh が自動適用される。別 Level に変えたければ /effort を再実行する。
つまり「特に設定しなければ、Claude Code は割と高めの Effort で動いている」状態だ。コストが気になる人は明示的に下げる、もっと考えてほしい人は上げる、という発想になる。
5つの Effort Level の使い分け
公式ドキュメントの推奨用途を、実運用観点で補足しながらまとめる。
low — レイテンシ重視・浅くてOKな作業
公式:「Reserve for short, scoped, latency-sensitive tasks that are not intelligence-sensitive」
具体的にどんな時か:
- 単純な型エイリアス変更(A → B に名前変更してimport全部直して)
- コメント追加・lint 修正の指示
- 既知のバグ修正(コードの場所も原因も判明済み)
- スクリプトの引数フォーマット変更
意図して使う例:「renameAllOccurrences('oldName', 'newName') 相当をやって。低 Effort で速度重視。」
体感としては「Claude が深く考えない代わりに即レス」。複雑な判断を要求すると浅い回答が返ってくる。
medium — コスト感度高めの日常作業
公式:「Reduces token usage for cost-sensitive work that can trade off some intelligence」
具体的にどんな時か:
- ドキュメント執筆(README更新、コメント拡充)
- 単純な機能追加(CRUDの新規エンドポイント、新規モデルの追加)
- 既存テストの拡張(同じパターンのテストを追加)
- 設定ファイルの調整
意図して使う例:API リファレンスの生成、サンプルコードの追加、Markdown 整形。
知性を多少犠牲にしても問題ない作業に向く。
high — バランス重視のデフォルト域
公式:「Balances token usage and intelligence. Use as a minimum for intelligence-sensitive work」
具体的にどんな時か:
- 中規模のリファクタリング(複数ファイルの構造変更)
- バグの原因調査が必要なデバッグ作業
- 設計判断を含む新機能実装
- パフォーマンス改善の方針検討
「intelligence-sensitive work の最低ライン」と公式が言うのは正直で、medium で大規模リファクタを投げると、しばしば「浅い判断」が混入する。最低 high を確保しておくと安心。
xhigh — Opus 4.7 推奨デフォルト
公式:「Best results for most coding and agentic tasks. Recommended default on Opus 4.7」
具体的にどんな時か:
- アーキテクチャ判断を含むタスク全般
- 複雑な依存関係を持つコードベースでの作業
- セキュリティ・パフォーマンス両面の検討
- マルチエージェント orchestration
Opus 4.7 ユーザーは特に意識しなくても自動的に xhigh。ここを high に下げると目に見えてアウトプットの深さが落ちる体感あり。
max — 限界突破モード
公式:「Can improve performance on demanding tasks but may show diminishing returns and is prone to overthinking. Test before adopting broadly」
具体的にどんな時か:
- 一度しか実行しない超複雑な問題(DBスキーマ大規模変更、アーキテクチャ全面改修)
- 「Claude が overthinking で深堀りしすぎる傾向」を許容できる
- 通常 30〜60分かかるタスク。コスト二の次
注意点を3つ:
maxはセッション限定(環境変数CLAUDE_CODE_EFFORT_LEVEL=maxで設定した場合を除く)。セッション終了後、前の Level に戻る- diminishing returns(収穫逓減)が公式に明記されている。「
xhighでいいやつをmaxにしても、その分のコスト増に見合うアウトプット改善が見えにくい」 - overthinking(考えすぎ)の傾向あり。「シンプルな問題に対して
maxで投げると、不要な検討事項を大量に並べて回答が遅くなる」
「max を全ファイルで使う」は禁忌。タスク単位での切り替えを意識する。
Effort Level の設定方法(5つの経路)
公式が提供する設定経路は5つ。優先順位順:
1. 環境変数 CLAUDE_CODE_EFFORT_LEVEL(最優先)
export CLAUDE_CODE_EFFORT_LEVEL=high
claude
auto を指定するとモデルのデフォルトに戻る。他の全設定を上書きするので、CIなどで強制する場合に使う。
2. /effort コマンド(インタラクティブ)
/effort # スライダー UI で選択
/effort high # 直接 high に設定
/effort auto # モデルデフォルトに戻す
low / medium / high / xhigh はセッション越えで永続。max はそのセッション限定。
3. /model ピッカー内のスライダー
/model で対応モデルを選ぶ画面で、左右矢印キーで Effort スライダーを調整できる。モデル変更と Effort 変更を同時にやるなら便利。
4. --effort フラグ(起動時)
claude --effort medium
そのセッション限定。永続化したくない一時運用に。
5. settings.json で永続化
{
"effortLevel": "xhigh"
}
max は受け付けない(セッション限定設定のため)。low / medium / high / xhigh のみ。
6. Skill / Subagent frontmatter で記事単位上書き
Skill ファイルや Subagent 定義の frontmatter に effort: を書くと、その Skill/Subagent 実行時だけ Effort Level が上書きされる。
---
name: deep-refactor
description: 大規模リファクタを深く考えて実行
effort: xhigh
---
セッション全体は medium で、深い思考が要るタスクだけ xhigh にする運用ができる。
ultrathink キーワード — 一発の深掘りプロンプト
Effort Level を変更せず、そのターンだけ深く考えてほしい 場合、プロンプトに ultrathink キーワードを含める:
このエラーが起きる原因を調査して。ultrathink で深掘りしてほしい。
Claude Code が ultrathink を検知すると、in-context で「このターンは深く考えて」という指示を追加する。API に送る Effort Level は変わらないので、後続のターンは元の Level に戻る。
似たフレーズの「think」「think hard」「think more」はキーワードとして認識されず、普通のプロンプトテキストとして扱われる。ultrathink だけが特別。
設定が反映されているか確認する
Claude Code は現在の Effort Level を 画面下のスピナー横 に表示する。「with low effort」「with high effort」のように。
/status コマンドでも確認可能(モデル・アカウント情報と一緒に)。
適応型推論 vs 固定思考バジェット
Opus 4.7 は 常に適応型推論 を使う。CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING 環境変数も MAX_THINKING_TOKENS も Opus 4.7 には効かない。
Opus 4.6 / Sonnet 4.6 では CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 を設定すると、従来の固定思考バジェット(MAX_THINKING_TOKENS で制御)に戻せる。
実用的には:Opus 4.7 を使っている限り、これらの環境変数は無視してOK。Opus 4.6 / Sonnet 4.6 ユーザーで「Claude が思考に時間を使いすぎる」と感じる場合、CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 + MAX_THINKING_TOKENS=4000 のような固定設定でコントロールできる。
拡張思考(Extended Thinking)との関係
Effort Level は「どれくらい考えるか」、拡張思考は「考えた内容を見せるか」の制御。別の軸だ。
- 拡張思考のオン/オフ:macOS なら
Option+T、Win/Linux ならAlt+T - グローバルデフォルト:
/configで toggling、alwaysThinkingEnabledに保存 - 完全無効化:
MAX_THINKING_TOKENS=0(ただし Opus 4.7 では効かない)
思考の出力はデフォルトで折り畳まれている。Ctrl+O で展開(verbose mode)。思考トークンは折り畳まれていても課金されるので、コストを気にするなら拡張思考の表示そのものを切るより Effort を下げる方が効く。
日常運用フロー(自分の運用例)
3ヶ月使った結果、自分の運用は以下に落ち着いた:
朝のセットアップ
- デフォルト: Opus 4.7 +
xhigh - settings.json で固定(
"effortLevel": "xhigh")
タスクごとの調整
- ドキュメント執筆・コミットメッセージ生成等のコード変更が軽い作業:
/effort mediumに下げる - バグ調査・アーキテクチャ判断:
xhighのまま - 「深く考えてほしい一発」:プロンプトに
ultrathink追加
コスト気にする日
- 「今月Claude料金が予想を上回りそう」な月末:
/effort highでセッション全体ペースダウン - API使用量ダッシュボードを見て週次調整
Subagent 別の使い分け
- Explorer subagent(探索系):frontmatter
effort: lowで十分 - Architect subagent(設計判断):frontmatter
effort: xhigh - Code-reviewer subagent:frontmatter
effort: high
これにより、メインセッションは xhigh のままで、subagent ごとに適切な Effort が自動適用される。

よくある失敗パターン
失敗1: 全タスクで max を使う
「最高品質が欲しいから常に max」だと、シンプルなコメント追加にも数秒待たされる。さらに overthinking で不要な検討項目が並んだ回答になる。
正解:通常 xhigh、本当に重い問題だけ max を一時的に。
失敗2: low を intelligence-sensitive な作業で使う
コスト気にしすぎて low を常用すると、判断ミス・浅い実装・テスト漏れが増える。長期的には手戻りで時間とトークンを倍以上消費することが多い。
正解:low は本当に短くスコープ限定された作業だけ。
失敗3: Opus 4.6 で xhigh を期待する
Opus 4.6 は xhigh をサポートしておらず、自動で high にフォールバック。「xhigh 設定してるのに深さが足りない」と感じる原因はこれ。
正解:Opus 4.7 にアップグレード(claude update)。
失敗4: max をセッション越えで使えると思う
max はセッション限定(環境変数経由を除く)。セッション再起動で前の Level に戻る。「設定したのに翌日違うEffortになってる」のはこれ。
正解:CLAUDE_CODE_EFFORT_LEVEL=max を .zshrc 等に書く(コストに注意)。
失敗5: settings.json に "effortLevel": "max" と書く
max はセッション限定設定のため、settings.json では受け付けられない(エラーになる)。
正解:low / medium / high / xhigh のいずれかを書く。
FAQ
Claude Code の Effort Level はどう設定すればいい?
最速は /effort high(or 任意の Level)。永続化したいなら settings.json に "effortLevel": "xhigh" を書く。CI など強制したい場合は CLAUDE_CODE_EFFORT_LEVEL=high 環境変数(全設定を上書きする最優先)。
low / medium / high / xhigh / max の違いは?
low はレイテンシ重視・浅くてOK、medium はコスト感度高め、high はバランス(intelligence-sensitive 作業の最低ライン)、xhigh は Opus 4.7 推奨デフォルト・ほとんどのコーディングに最適、max は超複雑タスク向け(diminishing returns あり)。
max を使うべきタイミングは?
通常 30〜60分かかるタスクで、コストより品質が圧倒的に優先される場合のみ。DBスキーマ大規模変更、アーキテクチャ全面改修など。シンプルな問題に max を使うと overthinking で時間が無駄になる。日常的には xhigh で十分。
Opus 4.6 で xhigh は使えますか?
使えない。Opus 4.6 は low / medium / high / max の4レベル対応で、xhigh を指定すると自動で high にフォールバックする。xhigh が必要なら Opus 4.7 にアップグレード(claude update)。
ultrathink キーワードと Effort Level の違いは?
ultrathink はそのプロンプト1ターンだけ深く考えるように指示する in-context 指示。Effort Level は変更されない。Effort Level はセッション全体or永続的な「考え方の基準」を変える設定。「いつもは medium だけど今のタスクだけは深く考えて」のとき ultrathink が便利。
Subagent ごとに違う Effort Level を使えますか?
使える。Subagent の frontmatter に effort: xhigh のように書くと、その subagent 実行時だけ Effort Level が上書きされる。例えばメインセッションが medium でも、deep-refactor subagent だけ xhigh で動かす運用が可能。
Effort Level を変えるとコストはどれくらい変わる?
正確な係数は公式に公開されていないが、体感では low と xhigh で 3〜5 倍のトークン消費差がある(同じ問題に対して)。xhigh から max への増加は 1.5〜2倍、ただし overthinking で更に増える場合あり。
CLAUDE_CODE_EFFORT_LEVEL 環境変数が反映されません
Claude Code を一度終了してから再起動する必要がある。また、.zshrc に書いた場合は新しいターミナルセッションを開いて echo $CLAUDE_CODE_EFFORT_LEVEL で値が出るか確認。値が出るのに反映されないなら、source ~/.zshrc でリロード。
max を .zshrc に書いて常用してもいい?
技術的には可能だが推奨しない。max は overthinking 傾向があり、シンプルなタスクで時間とコストを大量消費する。常用したいなら xhigh が現実解。max はタスク単位で一時的に呼び出す方が結果的に費用対効果が高い。
関連記事


