← レッスンに戻る
第4章 · Claude API応用

Effort と ultracode — 賢さ・徹底度をコントロールする

Effort Levels & Ultracode · 約 14 分

重要キーワード

English日本語説明
Effort エフォート 思考の深さと行動の徹底度を low〜max の 5 段階で制御する output_config のパラメータ。既定は high
xhigh エクストラハイ Opus 4.7 で追加された high と max の間のレベル。コーディング・エージェント用途の推奨値で、Claude Code の既定値
Adaptive Thinking 適応思考 考えるか・どれだけ考えるかをモデル自身が判断するモード。budget_tokens 指定に代わる現行方式
Overthinking 考えすぎ 高 effort で回答が遅く冗長になる現象。effort を下げるのが基本の対処
Ultracode ウルトラコード Claude Code でマルチエージェントの総力戦 (ワークフロー) を明示的に許可する合言葉。トークン消費が大きいためオプトイン制

「頑張り度」というツマミ — effort とは (What is Effort)

ch4-l3 では思考トークン数を budget_tokens で指定する Extended Thinking を学びました。 Claude 4.7 以降と Claude 5 世代では、この考え方が一新されています。

effort が変えるのは思考の深さだけではありません。低くすると ツール呼び出しが少なくまとまり、前置きが減り、確認も簡潔 になる——つまり 行動全体の徹底度 が変わります。ベータヘッダー不要の正式機能 (GA) です。

基本の書き方 (How to Set Effort)

output_config の中に書きます。トップレベルのパラメータではない 点に注意。

response = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=16000,
    thinking={"type": "adaptive"},        # Opus 4.8 では明示が必要 (省略すると思考オフ)
    output_config={"effort": "high"},     # ← ここ。low / medium / high / xhigh / max
    messages=[{"role": "user", "content": "..."}],
)

5 段階の使い分けガイド (Choosing a Level)

レベル 一言 主な用途
low 最小・最速 定型サブタスク、サブエージェント、レイテンシ最優先の処理
medium 節約モード コスト重視の日常処理。品質そこそこで大量に回すとき
high 既定値 迷ったらこれ。知能が要る作業の下限ライン
xhigh コーディング / エージェントの推奨 Opus 4.7 で追加。Claude Code の既定値
max 正確性最優先 コスト・時間より正しさ。収穫逓減・考えすぎ (overthinking) に注意

モデル別の対応状況

モデル 使えるレベル
Fable 5 / Opus 4.8 / 4.7 / Sonnet 5 全 5 段階 (lowmax)
Opus 4.6 / Sonnet 4.6 low / medium / high / max (xhigh なし)
Opus 4.5 low / medium / high
Sonnet 4.5 / Haiku 4.5 非対応 (指定するとエラー)

モデル別のクセ

🎯 持ち帰りは 3 つだけ: 既定は high / コーディング・エージェントは xhigh / 正確性最優先のときだけ max。 推論が浅いと感じたら、プロンプトで「よく考えて」と粘るより effort を 1 段上げる のが先です。

budget_tokens から effort へ (Migration)

ch4-l3 の budget_tokens 方式は Opus 4.6 / Sonnet 4.6 で非推奨Opus 4.7 以降と Claude 5 世代では 400 エラー になります。

# 旧 (〜4.6 世代): 思考トークン数を直接指定
thinking={"type": "enabled", "budget_tokens": 4000}

# 新 (4.7 以降 / Claude 5 世代): 深さのレベルを指定
thinking={"type": "adaptive"},
output_config={"effort": "high"},

何トークン考えるか」を人間が数字で決める時代から、「どのくらい本気を出すか」だけ伝えて配分はモデルに任せる時代へ。1:1 の対応表はないので、移行時は評価セットで再調整します。

コスト・品質・時間の三角関係 (The Tradeoff Isn't Linear)

「高 effort = 高コスト」とは限りません。エージェント作業では、高 effort が最初に賢く計画する分 手戻りが減り、往復回数ごと減って総コストが下がる ことがあります。逆に max は考えすぎで遅く冗長になる (収穫逓減) ことも。

実務のチューニング手順:

  1. medium / high / xhigh自分の評価セットで掃引 する
  2. 品質・時間・トークン消費の 3 つを 数字で 比べる (勘で決めない — ch2-l5 の eval-driven と同じ発想)
  3. ルート (処理の種類) ごとに最適レベルを固定する
  4. xhigh / max を使うときは max_tokens に余裕を (64K 目安 + ストリーミング)。思考の途中で出力枠が尽きるのを防ぐ

Claude Code の /effort (Effort in Claude Code)

Claude Code にも同じ 5 段階があり、既定は xhigh (コーディング向けの推奨値がそのまま既定)。 セッション中に /effort コマンドでいつでも切り替えられます。

/effort
→ low / medium / high / xhigh / max から選択 (そのセッション限り)

ultracode — 深さではなく「広さ」の総力戦

effort が 1 体の Claude がどれだけ深く考えるか のツマミなら、ultracode は Claude Code で 何体の Claude を並列に動かすか — 「広さ」の総力戦モードです。

プロンプトに ultracode という合言葉を含める (またはセッションで有効化する) と、マルチエージェント編成 (ワークフロー) の使用を明示的に許可したことになり、Claude Code はタスクを分解して 数十のサブエージェントに並列で調査・実装・検証 をさせます。

何が起きるか — 品質パターンの例

なぜ「合言葉」が必要か

エージェントを数十体動かせば トークン消費は桁違い になります。だからこそ勝手に発動せず、ユーザーの明示的なオプトイン が条件になっています。ultracode と書かなくても、「ワークフローを使って」「エージェントを並列に出して」と自分の言葉で頼めば同じ扱いです。

「ultra 系」用語の整理

用語 何をするか 現状
ultrathink 旧 Claude Code で思考予算を最大化する合言葉 旧世代の作法。いまは adaptive thinking + effort が担う
ultracode マルチエージェント総力戦 (ワークフロー) のオプトイン 現役。トークン大量消費に注意
/code-review ultra (通称 ultrareview) 現在のブランチや PR をクラウドで多エージェントレビュー 現役。ユーザーが明示起動する課金対象の機能

⚠️ Claude Code の機能・名称はバージョンアップで変わりやすい領域です。手元の環境では /help と公式ドキュメントで最新の挙動を確認してください。

まとめ

▶ Playground で例え話を作る
あなたは技術講師です。AI モデルの「effort」パラメータ (low / medium / high / xhigh / max の 5 段階。上げるほど深く考えるが時間とトークン消費が増える。既定は high、コーディングは xhigh 推奨、max は正確性最優先の場面専用) を、登山ガイドの装備選びに例えて初心者向けに説明してください。各レベル 1〜2 文、最後に「例え話の限界」も 1 つ添えてください。

演習問題

演習 1: effort チューニング・コンサルになる

Playground で Claude を「effort 設定コンサルタント」にして、5 つのシナリオに最適な effort レベルを提案させてください。

観察ポイント: - なんでも max にせず、コスト・時間・正確性のバランスで選べているか - 「日常コーディング = xhigh」「サブエージェント = low」の定石を踏まえているか - 自分の判断と比べて、基準の違いを言語化してみましょう

スタータープロンプト:
次の 5 つのシナリオそれぞれに最適な effort レベル (low / medium / high / xhigh / max) を 1 つ選び、理由を 1〜2 文で説明してください。

1. サブエージェントに任せる「ファイル名の一括リネーム」のような定型作業
2. 本番障害の根本原因を夜通し自律調査させるコーディングエージェント
3. 契約書レビューの最終チェック — 誤りが絶対に許されず、時間はかけてよい
4. コスト重視で毎日大量に回すニュース要約バッチ (品質はそこそこで良い)
5. Claude Code での日常のコーディング支援
ヒントを見る

シナリオ 3 と 5 の違いに注目。「時間をかけてよい + 誤り厳禁」だけが max の出番です。日常コーディングの最適解は xhigh (Claude Code の既定値そのまま)。

サンプル解答を見る

理想的な回答の骨子:

  1. low — 定型のサブタスクに深い思考は不要。速さとコスト優先
  2. xhigh — 長時間の自律エージェント作業の推奨値。high では調査の粘りが不足しがち
  3. max — 正確性 > コスト・時間、の条件が揃う唯一のシナリオ
  4. medium — 品質そこそこで大量に回す用途の定石 (low だと要約の質が下がりすぎる懸念)
  5. xhigh — Claude Code の既定値。日常コーディングはこれで十分かつ最適

理解度チェック

  1. effort パラメータはリクエストのどこに指定しますか?
    1. リクエストのトップレベル
    2. thinking パラメータの中
    3. output_config の中
    4. HTTP ヘッダー
  2. effort を指定しなかった場合の既定値は?
    1. low
    2. medium
    3. high
    4. max
  3. xhigh の説明として正しいものは?
    1. 全モデルで使える最古のレベル
    2. Opus 4.7 で追加された、コーディング・エージェント用途の推奨レベルで Claude Code の既定値
    3. max より上の最強レベル
    4. 思考を完全に無効化するレベル
  4. effort を max にするときの注意点は?
    1. 応答が必ず短くなる
    2. 収穫逓減や考えすぎ (overthinking) が起きうるので、正確性最優先の場面に限る
    3. Haiku 4.5 でしか使えない
    4. 料金が無料になる
  5. Claude Code の「ultracode」の説明として正しいものは?
    1. effort の 6 段階目の名前
    2. 多数のサブエージェントによる総力戦 (ワークフロー) を明示的に許可する合言葉
    3. コードを自動で難読化する機能
    4. 無料でトークンが使えるモード
解答と解説を見る
  1. C — effort は output_config の中に書きます。トップレベルに書くのは誤りです。
  2. C — 未指定は high 相当として扱われます。だからこそ「下げる」判断 (medium/low) も立派なチューニングです。
  3. B — xhigh は Opus 4.7 世代で high と max の間に追加されました。コーディング・エージェント作業の推奨値で、Claude Code の既定値でもあります。
  4. B — max は正確性がコスト・時間より重要な場面専用。上げるほど良くなるとは限らず、考えすぎで遅く冗長になることもあります。
  5. B — ultracode は effort (深さ) とは別軸の「広さ」の制御。数十のエージェントを並列に動かすためトークン消費が大きく、明示的なオプトインが条件です。