Claude Code Effort Level 完全活用ガイド 2026 — low/medium/high/xhigh/max の使い分けとモデル別実測

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.7low / medium / high / xhigh / max
Opus 4.6 / Sonnet 4.6low / medium / high / maxxhighhigh にフォールバック)
Sonnet 4.5 以下 / HaikuEffort 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つ:

  1. max はセッション限定(環境変数 CLAUDE_CODE_EFFORT_LEVEL=max で設定した場合を除く)。セッション終了後、前の Level に戻る
  2. diminishing returns(収穫逓減)が公式に明記されている。「xhigh でいいやつを max にしても、その分のコスト増に見合うアウトプット改善が見えにくい」
  3. 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 が自動適用される。

Claude Codeのサブエージェントと Agent Teams——どっちをいつ使うのか設計ロジックを整理した
Claude Codeのサブエージェントと Agent Teams——どっちをいつ使うのか設計ロジックを整理したClaude Codeのサブエージェント(Task tool)とAgent Teams(マルチセッション)の違いを設計レイヤで解説。タスクの粒度・コンテキスト分離・コスト効率で使い分ける判断基準。読む →

よくある失敗パターン

失敗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 を変えるとコストはどれくらい変わる?

正確な係数は公式に公開されていないが、体感では lowxhigh で 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 はタスク単位で一時的に呼び出す方が結果的に費用対効果が高い。

関連記事

Claude Codeのサブエージェントと Agent Teams——どっちをいつ使うのか設計ロジックを整理した
Claude Codeのサブエージェントと Agent Teams——どっちをいつ使うのか設計ロジックを整理したClaude Codeのサブエージェント(Task tool)とAgent Teams(マルチセッション)の違いを設計レイヤで解説。タスクの粒度・コンテキスト分離・コスト効率で使い分ける判断基準。読む →
Claude Code 1Mコンテキストの賢い使い方——トークン枯渇を防ぐ3層管理戦術
Claude Code 1Mコンテキストの賢い使い方——トークン枯渇を防ぐ3層管理戦術Sonnet 4.6/Opus 4.7で標準化した1Mコンテキストの落とし穴と管理戦術を実測データで解説。全部入れれば賢くなると思ったら逆だった話、3層管理の設計、/compactの最適タイミング、Python計測スクリプトまで。読む →
Claude Code Plan Mode 完全活用ガイド — 大規模変更を安全に進める計画フェーズの作り方
Claude Code Plan Mode 完全活用ガイド — 大規模変更を安全に進める計画フェーズの作り方Claude CodeのPlan Modeを使いこなすための実践ガイド。大規模リファクタ・新機能追加・デバッグでの計画フェーズの作り方、良い計画と悪い計画の違い、ExitPlanModeの判断基準を実例付きで解説。読む →
← 記事一覧に戻る