Claude Code の「考えさせる」を正しく使い分ける——ultrathink と Effort Levels の全体像

「結局どれが一番考えてくれるの?」という疑問を整理する

Claude Code を使い込んでいくと、ある疑問が頭に浮かぶ。

ultrathinkthink harder/effort high って、どう違うの? 全部使えば一番賢くなる?」

私もしばらくこの疑問を抱えたまま、なんとなく ultrathink をつけ続けていた。ネット上には「ultrathink > think harder > think hard > think の順に深く考える」という図解がいくつも出回っているが、これは公式仕様ではない。実際には2つの全く異なる軸の話が混在していて、混乱の原因になっている。

Claude Code の公式ドキュメントをもとに、「考えさせる」ための仕組みを分けて説明する。コマンドを闇雲に組み合わせる前に仕様を把握しておくと、運用コストが大幅に下がる。

2つの軸が存在する

「考えさせる」操作には、独立した2つの軸がある。

Effort Level は /effort コマンドや環境変数でセッション全体の推論の重さを設定するもので、変更しない限り持続する。ultrathink キーワードはプロンプトのどこかに ultrathink という単語を入れると、その1ターンだけ深い推論を要求する in-context 指示が挿入される。セッション設定には影響しない。

この2軸の違いを頭に入れておくと、「いつ何をいじるべきか」が自然と見えてくる。Effort Level はいわば「エンジンの出力設定」、ultrathink は「一時的なアクセル踏み込み」に相当する。

Effort Levels の正式仕様

Claude Code v2.1.117 以降、Effort Level は5段階が定義されている。ただしモデルによって使えるレベルが異なる。

モデル別の対応表

LevelOpus 4.7Opus 4.6 / Sonnet 4.6用途の目安
lowスコープが明確、低レイテンシ優先の単純作業
mediumコスト最適化重視のルーティン作業
high知能が必要な業務の最小ライン。機能追加・デバッグ
xhigh✕(high にフォールバック)Opus 4.7 のデフォルト。コーディング・エージェントタスク全般
max最深推論。アーキテクチャ設計・トリッキーな問題

Opus 4.6 や Sonnet 4.6 で xhigh を指定した場合、エラーにはならず high として扱われる点は覚えておきたい。

デフォルト値

  • Opus 4.7: xhigh
  • Opus 4.6 / Sonnet 4.6: high

Opus 4.7 を初めて起動すると、それ以前に別モデルで保存していた設定に関係なく xhigh が自動適用される。そこから /effort コマンドで変更できる。

設定方法と優先順位

優先順位は以下の通りで、上ほど強い。

# 1. 環境変数(最優先)
export CLAUDE_CODE_EFFORT_LEVEL=high

# 2. CLI フラグ(セッション限り)
claude --effort high

# 3. effortLevel settings(max は設定不可)
# 4. /effort コマンド(セッション内、永続化)
/effort high

# 5. Skill / Subagent frontmatter(そのスキル実行中のみ)
# 6. モデルデフォルト

max だけは少し扱いが異なり、通常の設定では永続化できない。環境変数 CLAUDE_CODE_EFFORT_LEVEL=max 経由なら継続できるが、公式は「過剰思考(diminishing returns)のリスクがある」と明記している。本番運用に組み込む前にテストを推奨する。

なお Effort Level の可視化については、Claude Code のステータスライン記事で詳しく紹介しているので、そちらも参照してほしい。

ultrathink キーワードの正確な挙動

ここが最も誤解が多い部分だ。

公式の定義

> プロンプトのどこかに ultrathink を含めると、セッションの effort 設定を変えずにそのターンだけ深い推論を要求できる。Claude Code はキーワードを認識し、in-context 指示を追加する。

ultrathink は「APIに送るeffort levelを上げる」のではなく、「今回だけ深く考えてというコンテキスト指示を添える」という動作だ。セッション設定には一切影響しない。

段階表は公式仕様ではない

ultrathink > think harder > think hard > think」という段階表記は、ブログや解説動画で広まっているが、Claude Code の公式ドキュメントに記載されたキーワード体系ではない

公式の記述はシンプルだ。

> thinkthink hardthink more などのフレーズは、通常のプロンプトテキストとして処理されるだけであり、キーワードとして認識されない。

つまり think harderthink more は、ただの文章として Claude に届く。モデルが文脈を読んで「考えろと言われている」と解釈するかもしれないが、それはモデルの通常の言語理解であって、特別な思考ルーティングが発動するわけではない。

公式キーワードとして認識されるのは ultrathink だけ、というのが現時点の仕様だ。

Skill 内での ultrathink

Skill(カスタムコマンド)のファイル本文に ultrathink を書いておくと、その Skill を起動したターンだけ深い推論が適用される。特定の複雑なタスクを Skill 化している場合、ここに入れておくのが効率的だ。

Opus 4.7 が変えた「Adaptive Reasoning」というパラダイム

Opus 4.7 には、それ以前のモデルと根本的に異なる推論モデルが採用されている。「Adaptive Reasoning(適応推論)」と呼ばれるもので、モデル自身が「このステップは深く考える必要があるか」を動的に判断する。

Opus 4.6 や Sonnet 4.6 では、MAX_THINKING_TOKENS 環境変数で思考トークン数を固定したり、CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1 で適応モードを無効化したりできた。しかし Opus 4.7 ではこのフラグが効かない。常に adaptive モードで動作し、ルーティンなプロンプトには素早く応答し、複雑なステップだけ thinking を多用する設計になっている。

effort level は、この adaptive モデルの「推論の重さの上限・下限」を制御するパラメータと理解するのが正確だ。

Opus 4.7 の 1M コンテキストや推論の詳細については、Opus 4.7 の概要記事で整理しているので参考にしてほしい。

モデル選定との組み合わせについては、Auto Mode 記事も合わせて読むと判断基準が整理されやすい。

思考の表示と課金

  • デフォルトはコラプス(折りたたみ)表示
  • Ctrl+O で展開すると灰色イタリックで思考過程が見える
  • Option+T(macOS)/ Alt+T(Windows/Linux)でセッション内のトグル
  • MAX_THINKING_TOKENS=0 で完全無効化も可能

注意点として、thinking トークンはコラプスされていても・redacted されていても課金対象になる。表示が折りたたまれているからといってトークンが発生していないわけではない。コスト管理をしたい場面では effort level を下げるか、MAX_THINKING_TOKENS=0 を使う。

タスク別の使い分けフレーム

実際の運用に落とし込むと、下の表が判断の起点になる。

作業の種類Effort Levelultrathink
コードリーディング・仕様確認lowmedium不要
テスト生成・簡単なリファクタmedium不要
機能追加・デバッグhigh詰まったときに1回
アーキテクチャ設計xhighmax設計の核になる判断で
多エージェント協調タスクxhigh(Opus 4.7 デフォルト)基本不要

max は「最大の思考力を引き出す」というより「コストをかけてでも最難問を解く」選択肢として捉えると判断しやすい。公式が diminishing returns に言及していることからも、全タスクを max にすれば良い、という話ではない。

まとめ

「think harder を使えばより深く考えてくれる」という認識は、今日から手放してほしい。Claude Code が公式キーワードとして認識するのは ultrathink だけで、それ以外の表現は通常の文字列として処理される。

操作の起点は2つしかない。セッション全体の重さを /effort で設定し、特定のターンだけ深掘りしたいときに ultrathink をプロンプトに入れる。Opus 4.7 なら adaptive reasoning がその上で自動調整してくれる。

この2軸を使い分けると、不必要なコストをかけずに必要な場面だけ推論を強化できる。/effort の現在設定を確認するところから試してほしい。

参考リンク

コメント

タイトルとURLをコピーしました