
Claude Code の effort とは|low〜max の違いと使い分け
Claude Code を使っていると「もっと深く考えてほしい」場面と「そこまで考えなくていいから速く返してほしい」場面の両方に出会います。その調整ダイヤルが effort です。本記事では、Anthropic 公式ドキュメントを一次情報として、effort の仕組み、5 段階のレベルの違い、/effort コマンドでの変更方法、モデル別の対応状況、そして ultracode・ultrathink との違いまでを整理します。
effort は Claude の思考の深さとトークン消費をまとめて制御する設定。Claude Code では /effort コマンドで low〜max の 5 段階を切り替えられ、日常作業は既定の high、難問は xhigh 以上、速度優先なら medium 以下が目安とわかる。
目次 (9)
effort とは — 思考の深さとトークン消費をまとめて制御する設定
effort は「Claude がリクエストに応えるとき、どれだけ熱心にトークンを使うか」を制御するパラメータです。Anthropic 公式の effort ドキュメントによれば、effort が影響するのは思考(Extended Thinking)だけではありません。
- テキスト応答や説明の分量
- ツール呼び出しの回数と引数
- 思考(思考が有効な場合)
つまり effort を下げると、Claude は思考を浅くするだけでなく、ファイルを読む回数を減らし、複数の操作を少ないツール呼び出しにまとめ、前置きなしで作業に直行し、完了報告も簡潔になります。逆に上げると、より多くのファイルを確認し、計画を説明してから着手し、変更内容を丁寧に要約するようになります。
重要なのは、effort が「厳密なトークン上限」ではなく「振る舞いのシグナル」である点です。低い effort でも十分に難しい問題なら Claude は思考しますが、同じ問題に対して高い effort のときより思考量は少なくなります。
5 段階のレベル — low / medium / high / xhigh / max の違い
Claude Code 公式のモデル設定ドキュメントでは、各レベルの使いどころが次のように整理されています。
| レベル | 位置づけ | 使いどころ |
|---|---|---|
| low | 最も効率重視 | 短くスコープが明確で、レイテンシ重視のタスク |
| medium | トークン節約と性能のバランス | コスト重視で多少の性能低下を許容できる作業 |
| high | 標準(多くのモデルの既定値) | 複雑な推論・難しいコーディング問題全般 |
| xhigh | より深い推論・高トークン消費 | 30 分超の長時間タスクや探索的な作業 |
| max | 制約なしの最大能力 | 最難関の問題。ただし過剰思考のリスクあり |
注意したいのは、effort のスケールがモデルごとに較正されている点です。同じ「high」でも、モデルが違えば同じ内部値を意味しません。また max は「常に最良」ではなく、公式ドキュメントも「要求の厳しいタスクで性能が向上しうるが、収穫逓減や過剰思考(overthinking)になりやすい。広く採用する前にテストを」と明記しています。
Claude Code で effort を変更する方法
Claude Code では複数の方法で effort を設定できます。公式ドキュメントに沿って主な手順を挙げます。
/effortを引数なしで実行すると、対話式のスライダーが開きます。/effort highのようにレベル名を続けると直接設定できます。/effort autoでモデルの既定値にリセットされます。/modelでモデル選択中に左右の矢印キーで effort スライダーを調整できます。- 起動時に
--effortフラグでレベル名を渡すと、そのセッション限りの設定になります。 - 環境変数
CLAUDE_CODE_EFFORT_LEVELにレベル名またはautoを設定できます。 - settings ファイルの
effortLevelにlow/medium/high/xhighを書けます(maxとultracodeはセッション限定のため settings には書けません)。 - スキルやサブエージェントの frontmatter に
effortを書くと、それが動作する間だけ effort を上書きできます。
優先順位は「環境変数 > 設定したレベル > モデルの既定値」です。現在の effort はロゴやスピナーの横に「with low effort」のように表示されるため、いま何が効いているかは画面で確認できます。
なお low / medium / high / xhigh はセッションをまたいで保持されますが、max は原則そのセッション限りです。
モデル別の対応状況とデフォルト値
effort に対応するモデルとレベルは次のとおりです(Claude Code ドキュメントより)。
| モデル | 使えるレベル | 既定値 |
|---|---|---|
| Fable 5 | low / medium / high / xhigh / max | high |
| Sonnet 5・Opus 4.8・Opus 4.7 | low / medium / high / xhigh / max | high(Opus 4.7 のみ xhigh) |
| Opus 4.6・Sonnet 4.6 | low / medium / high / max | high |
対応していないレベルを指定した場合、Claude Code はそのレベル以下で最も高い対応レベルに自動的にフォールバックします。たとえば Opus 4.6 で xhigh を指定すると high として動作します。また Enterprise プランでは、組織の管理者がモデルごとに effort の上限を設定でき、上限を超える指定は上限値で実行されます。
どのレベルを選ぶべきか — モデル別の推奨
API 側の公式ガイダンスには、モデルごとの推奨が具体的に書かれています。
Opus 4.7 / 4.8 では「コーディングや自律的な長時間タスクは xhigh から始める」のが公式推奨です。知能が問われる作業の下限は high、コスト重視なら medium に落とし、max は「評価で xhigh に伸びしろが確認できたときだけ」とされています。xhigh や max で動かすときは、思考とツール実行の余地を確保するため max_tokens を 64k 程度から始めるのが目安です。
Fable 5 では既定の high が大半のタスクに適し、最も能力が問われる作業だけ xhigh に上げます。公式ドキュメントは「Fable 5 の低 effort は、旧モデルの xhigh を上回ることも多い」と述べており、ルーチン作業は medium や low への引き下げが有効です。
Sonnet 4.6 は逆に「明示的に設定しないと想定外のレイテンシになる」として、多くのアプリケーションで medium を推奨既定としています。
もうひとつ実務で覚えておきたいのは、Opus 4.7 以降は低 effort 時に「頼まれたことだけをやる」方向へ挙動が絞られることです。複雑な問題で推論が浅いと感じたら、プロンプトで工夫するより effort を上げるのが公式の推奨です。
ultracode と ultrathink — effort と混同しやすい 2 つの機能
/effort メニューには ultracode という選択肢も表示されますが、これは API の effort レベルではありません。ultracode は Claude Code 側の設定で、モデルには xhigh を送りつつ、実質的なタスクごとに複数の作業を並列展開するワークフローを組み立てるモードです。セッション限定で、effortLevel 設定や --effort フラグでは指定できません。
一方 ultrathink は、プロンプト中にこのキーワードを含めると「そのターンだけ」深い推論を要求できる仕組みです。セッションの effort 設定は変わらず、API に送られる effort レベルもそのままです。なお「think hard」「think more」のような他の言い回しはキーワードとして認識されず、通常のテキストとして扱われます。
整理すると、恒常的に深さを変えたいなら /effort、一回だけ深く考えてほしいなら ultrathink、大きなタスクを多面的に処理させたいなら ultracode、という使い分けになります。
API から effort を指定する方法
Claude Code 以外で直接 API を使う場合は、output_config の effort フィールドで指定します。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=4096,
messages=[{"role": "user", "content": "このアーキテクチャのトレードオフを分析して"}],
output_config={"effort": "medium"},
)
API の既定値は high で、effort: "high" を明示するのはパラメータを省略した場合と完全に同じ挙動です。ベータヘッダーは不要です。
Opus 4.6 / Sonnet 4.6 では、思考の深さの制御手段として effort が従来の budget_tokens を置き換える推奨方法になりました。budget_tokens はまだ受け付けられますが非推奨で、将来のモデルで削除される予定です。Opus 4.7 以降と Sonnet 5・Fable 5 では手動の思考バジェット指定自体がサポートされず、Adaptive Thinking と effort の組み合わせが前提になります。
注意点とベストプラクティス
公式ドキュメントのベストプラクティスと仕様上の注意をまとめます。
- effort は明示的に設定します。API の既定は high ですが、最適な開始点はモデルとワークロードで変わります。
- 速度が重要な単純タスク(分類・簡単な検索など)は low にすると、応答時間とコストを大きく削減できます。
- effort の影響はタスクの種類によって異なるため、本番投入前に自分のユースケースで検証します。
- タスクの複雑さに応じて動的に変える運用も有効です。サブエージェントには low、複雑な推論には high 以上、といった使い分けです。
- Claude Code で Fable 5・Opus 4.8・Opus 4.7 を初めて使うとき、以前に別モデルで設定したレベルではなく、そのモデルの既定 effort が適用されます。切り替え後に
/effortで確認しましょう。
まとめ
effort は「思考・ツール呼び出し・応答テキスト」のすべてに効く、単一モデル内での性能とコストのトレードオフ調整です。Claude Code では /effort コマンドひとつで切り替えられ、既定の high を軸に、難しい長時間タスクは xhigh、速度優先は medium 以下へ動かすのが基本線です。max は切り札として検証つきで使い、一回限りの深掘りには ultrathink を併用する——この整理で、トークン消費を無駄にせず Claude Code の能力を引き出せます。
出典: Effort — Claude Platform Docs / Model configuration — Claude Code Docs