「なんとなくultrathinkと書いているけど本当に効果があるのか?」「/effortコマンドと何が違うのか?」Claude Codeの思考制御機能は、一度廃止されてユーザーの反発で復活するという経緯もあり、情報が錯綜しています。
この記事ではultrathinkを含むThinking Levelsの全体像を整理します。キーワードごとのトークン予算・/effortコマンドとの使い分け・MAX_THINKING_TOKENS環境変数による細かい制御・Claude 4.6でのAdaptive Thinkingの変化まで、正確な最新情報をもとに解説します。Plan Modeとの組み合わせはPlan Mode完全ガイドも参照してください。
ultrathinkが一時廃止されて復活した経緯
2026年1月のv2.1.0リリースで、Anthropicは「思考の自動化」を導入しました。モデルが自動で必要な思考量を判断する仕組みです。この変更に伴い、think/think hard/ultrathinkなどのキーワードによる手動制御が事実上廃止されました。
しかし直後から問題が噴出します。GitHub Issue #19098「Quality degradation since automatic thinking」には数百件のコメントが集まり、ユーザーから「指示を無視するようになった」「推論の深度が明らかに下がった」「セッションの90%以上で手動修正が必要になった」「Opus 4.6の料金を払っているのに安いモデルの挙動をする」という報告が相次ぎました。
Anthropicはこの反発を受け、2026年3月4日のv2.1.68でultrathinkキーワードを復活させました。同時に/effortコマンドによるセッション単位の思考レベル設定も導入されました。現在は「キーワードで1ターンだけ変更」と「コマンドでセッション全体を変更」という2つのアプローチが共存しています。
このページで解説するキーワード制御(think/megathink/ultrathink)はClaude Code CLIのみで有効です。Claude.ai Web版・Claude API・Claude Desktopでは効果がありません。API経由での思考制御はExtended Thinking(Adaptive Thinking)を使います(後述)。
Thinking Levelsの全体像とトークン予算
Claude Codeはプロンプト内の特定キーワードを検出し、思考に使うトークンの上限(予算)を変化させます。通常の会話では思考トークンが少ない分レスポンスが速く、ultrathinkなどを指定すると深く考える分レスポンスが遅くなります。
| キーワード | トークン予算(目安) | 対応する/effortレベル | 適した用途 |
|---|---|---|---|
| (なし) | モデルが自動判断 | /effort auto |
通常の作業全般 |
think |
約4,000トークン | /effort low |
ルーチンデバッグ・シンプルな修正 |
think hard / megathink |
約10,000トークン | /effort medium |
API設計・DB設計・中規模最適化 |
think harder / ultrathink |
約31,999トークン(デフォルト上限) | /effort high |
アーキテクチャ設計・重大バグ解析・大規模移行 |
ultrathinkは/effort highに相当し、最大レベル(/effort max)ではありません。/effort maxはOpus 4.6専用で、トークン上限なしで思考します。他のモデルで/effort maxを指定するとエラーになります。キーワードの使い方
# think:軽い思考 claude "think このnull参照エラーの原因を調べてください" # megathink:中程度の思考 claude "megathink このAPIのレート制限設計を検討してください" # ultrathink:深い思考 claude "ultrathink このサービスをマイクロサービスに分割する際のトレードオフを分析してください" # 文の途中でも有効 claude "認証フローが壊れている原因を ultrathink で分析してください"
ultrathinkなどのキーワードはプロンプトに書いたターンだけ有効です。次のターンでは通常の思考量に戻ります。セッション全体を通じて高い思考レベルを維持したい場合は、後述の/effortコマンドを使ってください。/effortコマンド:セッション全体の思考レベルを変更する
/effortコマンドはキーワードと異なり、変更するまでセッション全体に適用されます。長時間の設計作業や大規模リファクタリングなど、ずっと深く考えてほしい場面に向いています。
# 対話中にいつでも変更可能 /effort low # 速度優先・シンプルなタスク向け /effort medium # バランス型(Opus 4.6/Sonnet 4.6のデフォルト) /effort high # ultrathinkと同等・複雑な問題向け /effort max # Opus 4.6専用・トークン上限なし /effort auto # モデルが自動判断(/effort設定なしの状態)
| 比較項目 | キーワード(ultrathink等) | /effortコマンド |
|---|---|---|
| 適用範囲 | 次の1ターンのみ | 変更するまで永続 |
| 設定タイミング | プロンプト内に随時記述 | 対話の途中でいつでも変更可能 |
| 粒度 | 4段階(think/think hard/think harder/なし) | 5段階(low/medium/high/max/auto) |
| 向いている場面 | 特定ターンだけ深く考えさせたい | 設計フェーズなど継続して深く考えさせたい |
effortレベルを使い分けるワークフロー例
/effort highで設計フェーズに入る- アーキテクチャの検討・複数案の比較を実施
/effort mediumに戻して実装フェーズへ- 通常のコーディング・ファイル編集を進める
- 詰まった問題があればプロンプトに
ultrathinkを追加して1ターンだけ深掘り
MAX_THINKING_TOKENSとalwaysThinkingEnabledの設定
MAX_THINKING_TOKENSでトークン上限をカスタマイズ
MAX_THINKING_TOKENS環境変数で思考トークンの上限を変更できます。デフォルトは31,999トークン(ultrathinkの上限と同じ)ですが、1,024〜200,000の範囲で設定可能です。
{
"env": {
"MAX_THINKING_TOKENS": "63999"
}
}
この環境変数を設定すると、すべてのリクエストがExtended Thinkingリクエストとして送信されます。通常の軽い作業でも思考トークンが使われるため、コストが大幅に増加することがあります。特定の作業にのみ高い思考を使いたい場合は、この設定より
/effortコマンドかキーワードの使用が推奨されます。"MAX_THINKING_TOKENS": "0"に設定するとExtended Thinkingを完全に無効化できます。alwaysThinkingEnabledでデフォルトをThinkingモードにする
{
"alwaysThinkingEnabled": true
}
この設定をtrueにするとデフォルトでThinkingモードが有効になります。ただしv2.1.68以降は/effortコマンドによる管理が主流になっており、alwaysThinkingEnabledとの相互作用に関しては公式ドキュメントで注意書きがあります。コスト管理の観点から、特段の理由がなければ/effortコマンドでの管理が推奨です。
Plan Mode × ultrathinkの組み合わせ
Plan Mode(Shift+Tab で切り替え)とultrathinkの組み合わせは、複雑な問題に対して特に効果的です。Plan Modeで実装前に計画を深く練り、承認後に実装モードに戻すというフローが推奨されています。
# 1. まずPlan Modeに切り替える(Shift+Tabを押す) # ターミナル上でShift+Tabを押すと [plan] モードに切り替わる # 2. ultrathinkを付けて設計を依頼 # "ultrathink でこのマイクロサービス分割の設計を考えてください。 # トレードオフを複数の視点から比較し、具体的な実装方針を提示してください。" # 3. 計画内容を批判的に検証させる(revving the engine) # "この計画の問題点・リスク・見落としを指摘してください" # 4. 計画を承認してから実装に進む # Shift+Tabでplan modeを解除して実装モードへ
計画を1回立てて終わりにするのではなく、「この計画の問題点を指摘して」「別のアプローチも検討して」と複数回批判的に検討させるサイクルが「エンジンを温める」と呼ばれています。ultrathinkと組み合わせることで、Opus 4.6を使ってSonnet 4.6が高品質な設計を出力するケースもユーザーから報告されています。
Claude 4.6のAdaptive Thinking(API開発者向け)
API経由でExtended Thinkingを使う場合、Claude 4.6(Opus/Sonnet)では仕様が大きく変わりました。これはClaude Code CLIではなく、Anthropic APIを直接使うアプリケーション向けの情報です。
旧仕様(Claude 3.7・Opus 4まで)
// Claude 3.7 Sonnet / Opus 4 まで
const response = await anthropic.messages.create({
model: "claude-opus-4-0",
max_tokens: 16000,
thinking: {
type: "enabled",
budget_tokens: 10000, // 固定の思考トークン予算
},
messages: [{ role: "user", content: "..." }],
});
新仕様(Claude 4.6:Adaptive Thinking)
// Claude Opus 4.6 / Sonnet 4.6
const response = await anthropic.messages.create({
model: "claude-opus-4-6",
max_tokens: 16000,
thinking: {
type: "adaptive", // "enabled"は非推奨(deprecated)
effort: "medium", // "low" | "medium" | "high" | "max"
},
messages: [{ role: "user", content: "..." }],
});
| effortレベル | 動作 | 用途 |
|---|---|---|
"low" |
速度優先。単純なクエリはThinkingをスキップ | シンプルなQ&A・フォーマット変換 |
"medium" |
バランス型。タスク複雑度に応じて自動調整 | 一般的な開発タスク |
"high" |
ほぼ常時Thinking。複雑な推論を優先 | 設計・デバッグ・分析 |
"max" |
トークン上限なし(Opus 4.6専用) | 最高難度のタスク |
Interleaved Thinking:ツール呼び出し間の思考
Adaptive modeではInterleaved Thinkingが自動的に有効になります。従来はプロンプト受信時にだけ思考していましたが、Interleaved Thinkingではツール実行結果を受け取るたびに思考ブロックが挿入されます。
- ファイルを読む → 思考 → 別ファイルを読む → 思考 → コードを修正する、という多段推論が可能
- 複雑なバグを調査する際に、ログを見ながら段階的に原因を絞り込める
- Opus 4.6ではAdaptive modeで自動有効。Sonnet 4.6ではbetaヘッダーが必要
Adaptive Thinking(Claude 4.6)では、APIが返す思考ブロックは「サマリー」になります。ただし課金はサマリー後のトークン数ではなく、実際に使った思考トークン数に対して発生します。旧来のClaude 3.7やOpus 4では完全な思考内容が返ってきていましたが、Claude 4.6からはコンテキスト効率のためサマリー形式に変わりました。
Thinking Levelsの効果とコストのトレードオフ
どんな問題に使うと効果的か
| 問題の種類 | 推奨レベル | 理由 |
|---|---|---|
| null参照・簡単なバグ | think または なし | 原因が明確なため深い思考不要 |
| 設計レビュー・API設計 | think hard / megathink | 複数の視点を考慮する必要あり |
| アーキテクチャ設計 | ultrathink | トレードオフの多面的評価が必要 |
| race condition・分散バグ | ultrathink | 原因候補が多く候補を絞り込む必要あり |
| 大規模リファクタリング計画 | ultrathink + Plan Mode | 実装前の設計の品質が最終品質を左右する |
| コード生成・フォーマット変換 | なし(自動) | 単純タスクにthinkingは不要 |
コストの目安と最適化
ultrathinkはデフォルトで1ターンあたり最大31,999トークンの思考が走ります。Opus 4.6は出力1Mトークンあたり$75なので、1ターンで最大約$2.4が思考トークンのみでかかります。ただし往復回数が減ることで総コストが下がるケースが多いという報告もあります。
- 設計フェーズの最初の1〜2ターンに
ultrathinkを使い、実装フェーズは通常レベルに戻す - Sonnet 4.6(Opus 4.6より低コスト)で
ultrathinkを使い、簡単な実装はSonnet 4.6通常モードで行う /effort mediumをデフォルトにして、詰まったときだけultrathinkを単発で使う- コスト状況は
/costコマンドで確認できる
トークン消費を抑えながら品質を保つ方法の詳細はコスト・コンテキスト管理完全ガイドを参照してください。
/compactコマンドとThinking Levelsの組み合わせも解説しています。よくある質問
Qultrathinkとthink harderは同じですか?
Aはい、同じです。ultrathinkとthink harderはどちらもトークン予算約31,999の思考レベルを指します。megathinkとthink hardも同じ(約10,000トークン)です。どちらを使っても効果は変わりません。
Qultrathinkを使っているのに回答の質が変わりません
A確認すべきことがいくつかあります。①Claude Code CLIで使用しているか(Web版・APIでは効果なし)、②v2.1.68以降のバージョンか(claude --versionで確認)、③MAX_THINKING_TOKENSが0に設定されていないか。また、タスクが単純すぎる場合は追加の思考を行っても回答品質が変わらないことがあります。複雑な設計や分析タスクで効果を試してみてください。
Q/effort highとultrathinkはどちらを使えばいいですか?
Aケースバイケースです。「今回のこの問題だけ深く考えてほしい」ならultrathinkキーワード、「これから1時間の設計作業を全部深く考えてほしい」なら/effort highが適しています。思考レベルを変えるたびに明示的なコマンドを打ちたくない場合は/effort、普段はデフォルトで必要なときだけ深く考えさせたいならultrathinkキーワードが向いています。
Q/effort maxはSonnet 4.6で使えますか?
A使えません。/effort maxはOpus 4.6専用です。Sonnet 4.6で/effort maxを指定するとエラーになります。Sonnet 4.6で最高の思考レベルを使うには/effort highまたはultrathinkを使ってください。
QultrathinkをClaude APIのアプリケーションでも使いたい
AClaude Code CLI専用のため、API経由では使えません。API経由でExtended Thinkingを使うには、Claude 4.6の場合はthinking: {type: "adaptive", effort: "high"}、旧モデル(Claude 3.7・Opus 4)の場合はthinking: {type: "enabled", budget_tokens: 31999}を設定してください。Claude Agent SDKからはoptions.maxThinkingTokensパラメータでも設定できます。

