Effort レベル、Ultrathink、Ultracode
Claude Code の推論 effort を意図的に選び、ultrathink、ultracode、強制可能な CLI コスト上限の違いを理解します。
学ぶこと
セッション 25 ではどのモデルを動かすかを扱いました。このセッションでは別の制御、つまり Claude Code がモデルにどれだけ推論させるかを扱います。
このセッションを終えると、次のことが分かります。
- 現行モデルごとに利用できる effort レベル
ultrathinkが 1 ターンの指示で、ultracodeがセッション設定である理由- ultracode が
xhigh推論と dynamic workflows をどう組み合わせるか - どの設定が永続化され、どの設定がセッション終了時に戻るか
- Claude Code が実際に文書化しているコスト制限
Effort ダイヤル
Effort は adaptive reasoning を制御します。低いレベルは速度とコストを、高いレベルはより深い推論を優先します。利用できる値はアクティブなモデルによって異なります。
| モデル | 対応レベル | 位置づけ |
|---|---|---|
| Fable 5 | low、medium、high、xhigh、max | 現行の Fable 選択肢 |
| Opus 5 | low、medium、high、xhigh、max | 現行 Opus 世代 |
| Sonnet 5 | low、medium、high、xhigh、max | 現行 Sonnet 世代 |
| Opus 4.8 | low、medium、high、xhigh、max | 前世代の Opus 選択肢 |
| Haiku 4.5 | effort 対応モデルとして未掲載 | --effort を渡さない |
この表は Claude Code 2.1.226 の model configuration に基づきます。表示されるモデル、alias、entitlement は provider、プラン、アカウントによって異なる可能性があるため、現在の環境では /model の表示を確認してください。Effort 対応モデルでは、同じラベルでもモデルごとに調整されるため、high はモデル共通の固定トークン予算ではありません。Haiku 4.5 は effort 対応モデルとして掲載されていないので、effort の上書きなしで使います。
通常の作業はデフォルトから始め、必要に応じて調整します。
low:短く限定的で、遅延を重視し、深い推論を必要としない作業medium:能力の一部とコストを交換できる作業high:多くのコーディング作業に適したバランス型デフォルトxhigh:より多いトークンで深く推論max:最深の推論。ただし効果逓減や考えすぎが起こり得る
Effort の設定と確認
/effort
/effort high
/effort auto
起動時に 1 セッションだけ指定することもできます。
claude --effort xhigh
インタラクティブセッションで選んだ low、medium、high、xhigh はセッションをまたいで保持できます。max は CLAUDE_CODE_EFFORT_LEVEL で設定しない限りセッション限定です。設定ファイルの effortLevel は low、medium、high、xhigh のみを受け付け、max と ultracode は受け付けません。
環境変数が最優先です。Skill と subagent の frontmatter でも、その skill や worker の effort を指定できますが、環境変数による上書きが優先されます。
Ultrathink は 1 ターンの指示
プロンプト内のどこかに ultrathink を含めると、そのターンだけより深い推論を要求できます。
ultrathink: このスキーマ変更に対する最小で安全な移行計画を作って
Claude Code は in-context 指示を加えますが、API に送る effort 値は変わりません。保存されたセッション effort も変えません。「think hard」のような表現は通常のプロンプト文字列であり、同等のトリガーではありません。
Ultracode は xhigh と Workflow オーケストレーション
Ultracode は追加のモデル effort レベルではありません。Claude Code のセッション設定であり、次の 2 つを行います。
- 対応モデルに
xhigheffort を送る。 - 実質的なタスクについて Claude が dynamic workflows を計画できるようにする。
現在のセッションで有効にするには:
/effort ultracode
起動時から有効にするには:
claude --effort ultracode
CLI 形式には Claude Code 2.1.203 以降が必要です。Ultracode はセッション終了時にリセットされ、effortLevel や CLAUDE_CODE_EFFORT_LEVEL には保存できません。
1 タスクだけなら ultracode と入力するか、Claude に「use a workflow」と直接頼めます。2.1.210 以降、キーワードトリガーは human-origin の対話入力に限定され、-p、スケジュールタスク、転送された webhook、origin を付けていない SDK prompt からは暗黙に起動しません。
Workflows が無効など ultracode を利用できない場合、--effort ultracode は workflow オーケストレーションなしで xhigh を要求します。モデルが xhigh に対応しない場合は、通常の model-level fallback が適用されます。
コスト制御:実際に強制されるもの
Claude Code は prompt-level のトークン指示も、workflow 全体の budget オブジェクトも文書化していません。プロンプトに書いたトークン目標は指針であって、ハーネスが強制する契約ではありません。
文書化されている制御は次のとおりです。
/workflows:agent ごとのトークン使用量を確認し、run を停止- Dynamic workflow size:Claude が書くスクリプトへの助言であり、ハード上限ではない
- Runtime limits:workflow ごとに最大 16 concurrent agents、1 run につき合計 1,000 agents
- Large workflow warning:2.1.203 以降、25 agents 超または予測 150 万 tokens 超で表示される助言的警告
claude -p --max-budget-usd:non-interactive print mode のドル建てハード上限claude -p --max-turns:non-interactive print mode のターン上限
例:
claude -p --max-budget-usd 5 --max-turns 8 \
"マイグレーションをレビューし、確認済み blocker だけを返して"
これらの flags は print-mode process を停止します。Workflow スクリプト内に公開されたトークンプールのオブジェクトではありません。
実践的な選択ルール
| 作業 | 開始点 |
|---|---|
| リネーム、整形、既知の 1 ファイル修正 | low または medium |
| 通常の実装とレビュー | high |
| 難しいデバッグや高リスクの検証 | xhigh |
| 1 ターンだけ特に難しい推論 | ultrathink |
| スクリプト化されたマルチエージェント処理が有効な大規模タスク | ultracode または明示的な workflow 要求 |
確実に完了できる最も安いレベルから始めます。誤判断のコストが追加推論より高いときに effort を上げ、独立作業や再利用可能な制御フローが本当に価値を持つときだけオーケストレーションを使います。
要点
Effort と orchestration は別の制御です。 Effort はモデルの推論深度を変えます。Ultrathink は API effort を変えず 1 ターンを促します。Ultracode は xhigh の上に workflow 計画ポリシーを加えます。この層を分けて考えると、品質とコストを把握しやすくなります。
次のセッション
セッション 27 ではオーケストレーション層、Workflow ツールを扱います。JavaScript が制御フローを保持し、subagent が判断を担います。