
【小ネタ】 Claude Code の effort パラメータについて調べてみた
こんにちは。
午前中でトークン枯渇
オペレーション部のかわいです。
Claude Code には /effort というパラメータがあり、Claude の思考量を4段階で調整できます。
プロンプトで"簡潔に答えて"と毎回お願いしなくても、設定値や Skill で一括指定できる、ちょっと便利なパラメータです。
これを使うことで、コストや速度を意識する場面や、より深く思考させたい場面での使い分けが可能になります。
この記事では、effort パラメータの仕様や使い方を簡単にまとめます。
/effort って?
デフォルトで使用でき、モデルを変更せずに思考の丁寧さ/深さや、速さ/コストのバランスを一発で切り替えられるパラメータです。
effortパラメータを使用すると、リクエストに応答する際にClaudeがトークンをどの程度積極的に使用するかを制御できます。これにより、単一のモデルで応答の徹底性とトークン効率のトレードオフを調整できます。effortパラメータは、ベータヘッダーを必要とせず、サポートされているすべてのモデルで一般利用可能です。
アダプティブシンキング(適応型思考)って?
effort が制御しているのは、内部的にはアダプティブシンキング(thinking.type: "adaptive")という仕組みです。
アダプティブシンキングは Opus 4.6 で拡張思考を使う際の推奨モードで、各リクエストの複雑さに基づいて、いつ、どの程度思考するかを Claude 自身が動的に決定します。公式ドキュメントには「固定の budget_tokens を使用した拡張思考よりも確実に優れたパフォーマンスを発揮する」と記載されています。
/effort コマンドはこのアダプティブシンキングに対し"どのくらい思考してよいか?"のガイダンスを送るイメージです。
highやmax では Claude はほぼ常に思考し、low では単純な問題の思考をスキップすることがあります。
トークンへの影響について
気になる点としては、 effort は応答内のすべてのトークンに影響します。
この点は公式ドキュメントで以下のように記載されています。
effortパラメータは、応答内のすべてのトークンに影響します。これには以下が含まれます:テキスト応答と説明、ツール呼び出しと関数引数、拡張思考(有効な場合)
つまり思考の深さだけでなく、回答の長さやツール呼び出しの回数/粒度まで含め、Claude のトークン消費量全体をコントロールできます。
また、注意点として以下の記載もあります。
effortは動作シグナルであり、厳密なトークン予算ではありません。低いeffortレベルでも、十分に難しい問題に対してはClaudeは思考します — ただし、同じ問題に対して高いeffortレベルの場合よりも思考量が少なくなります。
low に設定しても思考しないわけではなく、考えるとしても少なめにという指示を送っているイメージです。
effort の設定値一覧
公式ドキュメントの表をベースに整理しました。
| レベル | 説明 | 典型的なユースケース |
|---|---|---|
low |
コスト最適化。大幅なトークン節約、速度最優先 | 単純な分類、クイックルックアップ、サブエージェント処理など |
medium |
バランス型。堅実なパフォーマンス。 | 速度、コスト、精度のバランスが必要なエージェントタスク |
high |
品質最優先。 | 複雑な推論、難しいコーディング問題、エージェントタスク |
max |
トークン消費に制約のない絶対的な最大能力。Opus 4.6 のみ使用可能 | 最も深い推論、最も徹底した分析が必要な場合 |
設定方法いろいろ
1. セッション中にコマンドで変更する
/effort low
/effort medium
/effort high
/effort max
/effort auto # モデルのデフォルトに戻す
現在の設定は以下のように、CLI画面上の右側あたりに表示されます。

2. モデル選択時に矢印キーで変更する
/model を実行すると、モデル選択画面にスライダーが表示されます。
Opus 4.6 または Sonnet 4.6 を選択しているときのみ変更可能です。

3. 起動時にフラグで指定する
claude --effort low
※1セッションのみに適用されます。
4. 環境変数で固定する
export CLAUDE_CODE_EFFORT_LEVEL=low
※環境変数はすべての設定より優先されます。
5. 設定ファイルに永続化する
settings.json に記載することで常時適用されます。
{
"effortLevel": "low"
}
6. スキルや subagent の frontmatter に指定する
特定のスキルだけ effort を変えたい場合は、SKILL.md の frontmatter でも設定できます。
---
name: quick-check
description: ササッと確認するだけのスキル
effort: low
---
セッションの effort レベルより優先されますが、前述の通り、環境変数(CLAUDE_CODE_EFFORT_LEVEL)の設定値が最優先で適用されます。
effort ごとの挙動の違い
試しに、「Python の list と tuple の違いを教えてください」と各レベルで投げてみます。
▼ low
レスポンスがほぼ即答レベルで返ってきました。内容は最小限な感じです。

▼ medium
補足がちょこっと入ってきました。

▼ high
複数のコード例を用いて、詳しく解説を返してくれました。

まとめ的な
ここまで、/effort コマンドの仕組みをまとめてみました。
任せたいタスクに応じて Skill で定義したり、一時的なセッションで低めに設定したり、簡単に調整ができて便利だと感じました。
プロンプトで指示するときと同様に、回答や思考が薄いと感じた場合は /effort high、逆にコストを抑えたいときや簡易的な質問をしたいときは /effort low を試してみてください。
完
【参考リンク】







