メインコンテンツへスキップ
ブログ一覧

Claude Code /effort完全ガイド — ultrathink復活と3段階エフォート制御でコスト・品質を最適化する

(更新: 2026年03月19日)
Claude Codeultrathinkプロンプトエンジニアリングコスト最適化

2026年3月、Claude Code v2.1.68のリリースでデフォルトのeffortレベルがhighからmediumに変更され、一度廃止されたultrathinkキーワードが復活した。GitHub issue #19098ではultrathinkの復活を求める機能リクエストが立てられ、コミュニティで活発な議論が交わされた。結局、何が変わって、どう使い分ければいいのか? 本記事では/effortコマンドの仕組みを整理し、ユースケース別にeffortレベルを選ぶ判断フローを提供する。

v2.1.68で何が変わったのか — 3つの変更点を30秒で理解する

デフォルトeffortがmediumに変更された理由

v2.1.68(2026-03-04リリース)での主要な変更は3つある。

  1. Opus 4.6のデフォルトeffortがhighからmediumに変更(Max/Teamサブスクリプション対象)
  2. ultrathinkキーワードの復活
  3. Opus 4/4.1がCLIから削除 → Opus 4.6に自動移行

デフォルトがmediumになった背景には、トークン消費量の最適化がある。highを常用すると、日常的な質問やコード生成でも不必要に多くのトークンを消費していた。Anthropic側の判断として、大半のタスクにはmediumで十分な品質が得られるという結論に至ったようだ。

ここで重要なのが、API側のeffortとCLI側の/effortは別物という点だ。API側は4段階(low/medium/high/max)でデフォルトはhigh。CLI側もlow/medium/highの3段階に加え、Opus 4.6(Maxプラン)ではmaxも指定可能だが、デフォルトはmediumとなっている。既存のAPI解説記事の情報をそのままCLIに当てはめると混乱するので注意してほしい。

ultrathink復活の経緯 — 廃止→反発→復活の時系列

ultrathinkは以前のバージョンで一度廃止されたが、パワーユーザーからの強い要望を受けてv2.1.68で復活した。正直、廃止された時点では「もう使えないのか」と残念に思ったが、コミュニティの声が反映された形だ。v2.1.69ではさらに微調整が入り、現在の安定した動作に至っている。

/effortコマンドの使い方 — low・medium・highの設定方法

CLI内での/effortコマンド操作

Claude Code内で/effortコマンドを使うと、effortレベルを切り替えられる。設定は永続的に保持され、以降のすべてのターンに適用される。

bash
# 各レベルの設定
/effort low    # 定型作業・簡単な質問向き(ステータスバー: ○)
/effort medium # デフォルト。日常コーディングの基本(ステータスバー: ◐)
/effort high   # 複雑なバグ修正・設計判断(ステータスバー: ●)
/effort auto   # モデルデフォルト(medium)にリセット(v2.1.72で正式ドキュメント化)

ステータスバーに表示されるアイコン(○/◐/●)で現在のeffortレベルを確認できる。地味だが、これを見る習慣をつけておくと「lowのまま複雑なタスクを投げてしまった」という事故を防げる。

設定ファイル・フラグでの永続設定

起動時のフラグや設定ファイルでもeffortを指定できる。

bash
# 起動時フラグ
claude --effort high

effortが制御するのは主に3つの要素だ。推論の深度(どこまで深く考えるか)、ツール使用回数(ファイル検索やコード実行の回数)、応答の詳細度(説明の粒度)。これらが連動して変化するため、effortレベルの違いは出力全体に影響する。

ultrathinkとは何か — 1ターン限定の思考バジェット拡張

think / megathink / ultrathinkのトークン予算比較

Claude Codeには、プロンプト内にキーワードを含めることで思考バジェットを拡張する仕組みがある。

キーワード 思考バジェット
think 約4,000トークン
megathink 約10,000トークン
ultrathink 31,999トークン

ultrathinkは最大級の思考バジェットを割り当て、そのターンのみeffortをhighにオーバーライドする。永続設定は変更されないので、次のターンでは元のeffortレベルに戻る。

ultrathinkの動作メカニズム — なぜ1ターン限定なのか

ultrathinkはClaude Code CLI固有の機能であり、API側には存在しない。/effort highとの違いは明確で、/effort highはすべてのターンに適用される永続設定だが、ultrathinkはそのターンだけの一時的なブーストだ。

code
# 普段のやり取り(medium effortで動作)
> このコンポーネントにローディング状態を追加して

# 複雑な判断が必要な場面でultrathinkを差し込む
> ultrathink このリファクタリングの方針を検討して。
> 現在のアーキテクチャの問題点を分析し、
> 3つの選択肢を比較評価してほしい

この「普段はmediumで運用し、ここぞという場面でultrathinkを差し込む」という戦略が、コストと品質のバランスを取る上で最も実践的なアプローチになる。

effortレベル別の出力品質比較 — 何がどう変わるのか

思考量・ツール呼び出し回数・応答の粒度の違い

既存のベンチマーク検証(Pythonコードのバグ検出タスク)では、effortレベルによって以下のような差が報告されている。

low medium high
バグ検出数 2個 3個 5個
思考トークン 約120 約800 約2,100
対low比 1x 6.7x 17.5x

トークン消費とコストの実測目安

highを常用するとmedium比で2〜3倍のトークンを消費する。lowは質問の言い換えや定型コード生成には十分だが、コード読解やバグ探しには力不足だ。mediumは日常のコーディングアシストに最適なバランスポイントであり、デフォルトに選ばれた理由もここにある。highは複数ファイルにまたがる設計判断やデバッグで真価を発揮する。

コスト最適化の鍵は「highが必要な場面を見極めること」に尽きる。

実践・ユースケース別effortレベル判断フロー

タスク種別ごとの推奨effortレベル早見表

タスク 推奨レベル
git操作の質問、コマンドの確認 low
コンポーネント実装、関数の追加 medium
本番障害の原因調査、複雑なバグ修正 high
アーキテクチャ設計、大規模リファクタリング方針 ultrathink

判断に迷ったときは「迷ったらmedium、詰まったらultrathink」を原則にするとよい。

開発フェーズ別の戦略

開発フェーズによっても使い分けは変わる。プロトタイプ段階ではlow/medium中心でスピード重視、本番リリース前のレビューやデバッグではhigh中心で品質重視、という切り替えが効果的だ。

チーム開発では、プロジェクトの.claude/settings.jsonで共通のデフォルトeffortを設定しておくこともできる。

json
{
  "effortLevel": "medium"
}

よくあるハマりポイントと注意点

ultrathinkと/effort highの混同。 ultrathinkは1ターン限定のオーバーライド、/effort highは永続設定。常にhighで作業したいなら/effort high、特定の質問だけ深く考えてほしいならultrathinkを使う。

API側のeffortとCLI側の/effortは別物。 API側は4段階(maxを含む)でデフォルトhigh、CLI側もlow/medium/highに加えOpus 4.6ではmaxが指定可能だが、デフォルトはmedium。API解説記事の情報をそのままCLIに適用すると齟齬が生じる。

effortをlowにしたまま忘れる問題。 lowに設定して簡単な質問をした後、そのまま複雑なタスクを依頼してしまい「なんか回答の質が悪い」と感じるパターン。ステータスバーのアイコン(○/◐/●)を確認する習慣をつけておきたい。

v2.1.68以前の記事との設定値の違い。 以前の記事はデフォルトhigh前提で書かれているため、「記事通りにやったのに挙動が違う」という場合はeffort設定を確認しよう。


v2.1.68以降、effortのデフォルトがmediumになったことで「常にhighで使う」時代は終わった。日常作業はmediumで十分な品質が得られ、トークンコストも抑えられる。ここぞという設計判断やデバッグではhighに切り替え、1ターンだけ深い思考が必要ならultrathinkを差し込む。この使い分けが、コストと品質の最適バランスを実現する鍵だ。まずは/effortコマンドでレベルを意識的に切り替えることから始めてみてほしい。

もっと読む他の技術記事も読む