Adaptive Thinking 設定ガイド
Claude Opus 5.5 / Sonnet 5.5 / Haiku 5.5 と 4.x の自適応思考メカニズム:thinking + effort パラメータの使い方、旧 budget_tokens との違い、効果とコストのトレードオフ
API キーが必要ですか? 登録する →エンドポイントと Base URL →
目次
Adaptive Thinking(自適応思考) は Claude 4.6 から導入された新世代の推論モードです:モデル自身がいつ推論に投入するか、どれだけの tokens を推論に使うかを決定し、開発者が固定予算を事前に設定する必要はありません。effort パラメータと組み合わせて思考の深さを粗粒度で制御できます。本ガイドは、これに関する API の使い方、モデルサポートマトリクス、効果とコストのトレードオフをまとめたものです。
パラメータの出典について:下表の各行は Anthropic 公式ドキュメント(2026-10-15 時点)に基づいて整理しています。4.x モデルは以前に QCode で呼び出せることを確認済みで、5 系は QCode 上で項目ごとの確認をまだ行っていません。5 系の選定は モデル選択 を参照。
旧 Extended Thinking との主な違い¶
| 観点 | 旧 Extended Thinking(4.5 以前) | Adaptive Thinking(4.6 以降) |
|---|---|---|
| トリガーパラメータ | thinking={"type": "enabled", "budget_tokens": N} |
thinking={"type": "adaptive"} |
| 予算制御 | 固定 token 上限(budget_tokens は max_tokens 未満必須) |
モデル自動調整、effort で粗調整 |
| ツール呼び出しをまたぐ | デフォルトでインターリーブしない(interleaved-thinking-2025-05-14 beta ヘッダ必要) |
自動インターリーブ(beta ヘッダ不要) |
| Opus 4.7 以降(4.8 と 5 系を含む) | ❌ 400 error(budget_tokens は非サポート) |
✅ 唯一サポートされるモード |
| Sonnet 4.6 / Opus 4.6 | ⚠️ deprecated(動作はするが非推奨) | ✅ 推奨 |
簡潔なルール:4.6 以降のモデルはすべて adaptive を使用、4.5 以前のみ budget_tokens を使用します(これらの旧モデルに type: "adaptive" を送ると 400 になります)。
サポートモデルマトリクス¶
| モデル | adaptive thinking | budget_tokens | effort パラメータ |
|---|---|---|---|
claude-opus-5-5 |
✅ デフォルトで有効、無効化不可(thinking: {"type": "disabled"} は 400) |
❌ 400 error | ✅ low / medium / high / xhigh / max、デフォルトは medium |
claude-sonnet-5-5 |
✅ デフォルトで有効。thinking: {"type": "between_tools"} で事前の思考をオフにできる(low / medium / high のみ) |
❌ 400 error | ✅ low / medium / high / xhigh / max、API のデフォルトは high |
claude-haiku-5-5 |
✅ デフォルトで有効。thinking: {"type": "disabled"} でオフにできる(high 以下のみ) |
❌ 400 error | ✅ low / medium / high / xhigh / max、デフォルトは medium |
claude-opus-5 |
✅ デフォルトで有効。disabled は high 以下で使用可 |
❌ 400 error | ✅ low / medium / high / xhigh / max、デフォルトは high |
claude-sonnet-5 |
✅ デフォルトで有効。disabled を使用可 |
❌ 400 error | ✅ low / medium / high / xhigh / max、デフォルトは high |
claude-opus-4-8 |
✅ 唯一の有効化方法(thinking を省略すると思考しない) |
❌ 400 error | ✅ low / medium / high / xhigh / max |
claude-opus-4-7 |
✅ 唯一の有効化方法 | ❌ 400 error | ✅ low / medium / high / xhigh / max |
claude-sonnet-4-6 |
✅ 推奨 | ⚠️ 使用可だが deprecated | ✅ low / medium / high / max |
claude-haiku-4-5-20251001 |
❌ type: "adaptive" は 400 |
✅ こちらを使用 | ❌ effort パラメータは error |
claude-sonnet-4-5 以前 |
❌ 非サポート | ✅ こちらを使用 | ❌ |
上記の 4.x モデルは以前に QCode で呼び出せることを確認済みです。5 系のパラメータの挙動は公式ドキュメントに従います。各モデルの単価と提供状況は qcode.cc/models を参照してください。
effort パラメータ:思考の深さの粗調整ノブ¶
effort は adaptive thinking の総合的な強度(思考 tokens、ツール呼び出し回数、回答の詳細度を含む)を制御します。リクエストでは output_config.effort として指定します。
| effort | 適用シナリオ | 説明 |
|---|---|---|
low |
簡単な Q&A、サブエージェント、レイテンシ重視 | token の消費が最小で、簡単なタスクでは思考しないこともある |
medium |
一般的なコーディング、ドキュメント検索(日常の大半のタスク) | Opus 5.5 と Haiku 5.5 のデフォルト |
high |
複雑な推論、複数ファイルにまたがるリファクタリング | 多くのモデルのデフォルト |
xhigh |
長時間のエージェントワークフロー(Opus 4.7 以降、Sonnet 5 以降、Haiku 5.5 で利用可) | high よりも積極的に深く思考する |
max |
最高品質優先、コストは二の次 | 思考の長さに制約なし |
経験則:Opus 5.5 と Haiku 5.5 はデフォルトが medium、Sonnet 5.5 は API では high です。公式はモデルを切り替えたら旧モデルの設定をそのまま持ち越さず、自分の評価をやり直すよう勧めています。xhigh は長いエージェントループ(多段階のコードレビュー、深い調査など)でコストパフォーマンスが最も高く、max は正確性がコストよりはるかに重要な場合にのみ使います。レベルを上げるときは max_tokens も大きくしてください。思考 tokens も出力上限に含まれるためです。
effort を変えるとプロンプトキャッシュが無効になります:キャッシュにヒットし続けるには、同じ会話内で思考設定と effort を固定します。途中で変えたい場合は、公式の「メッセージ単位の effort 変更」(beta、beta ヘッダ mid-conversation-output-config-2026-07-01 が必要。Opus 5.5、Sonnet 5.5、Haiku 5.5 などが対応)を使います。
API 呼び出し例¶
Python(anthropic SDK)¶
import anthropic
client = anthropic.Anthropic(
base_url="https://api.qcode.cc/api",
api_key="cr_xxxxxxxx",
)
response = client.messages.create(
model="claude-opus-5-5",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "high"},
messages=[{"role": "user", "content": "user service モジュールの認証ロジックをリファクタリングして..."}],
)
for block in response.content:
if block.type == "thinking":
print(f"[思考] {block.thinking}")
elif block.type == "text":
print(f"[回答] {block.text}")
TypeScript(@anthropic-ai/sdk)¶
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://api.qcode.cc/api",
apiKey: "cr_xxxxxxxx",
});
const response = await client.messages.create({
model: "claude-opus-5-5",
max_tokens: 16000,
thinking: { type: "adaptive" },
output_config: { effort: "high" },
messages: [{ role: "user", content: "user service をリファクタリング..." }],
});
Claude Code CLI¶
Claude Code では /effort で調整します。引数なしならスライダーが開き、/effort high で直接設定、/effort auto で保存済みのレベルをクリアします。起動時に --effort を付けるか、環境変数 CLAUDE_CODE_EFFORT_LEVEL を設定することもできます。現在のレベルはセッション上部のモデル名の横に表示されます。選べるレベル:Opus 5.5 / Sonnet 5.5 / Haiku 5.5 / Opus 5 / Sonnet 5 / Opus 4.8 / Opus 4.7 は low、medium、high、xhigh、max。Opus 4.6 と Sonnet 4.6 は low、medium、high、max。
Claude Code のデフォルト(公式ドキュメント、2026-10-15 時点):Opus 5.5、Sonnet 5.5、Haiku 5.5 は medium、Opus 4.7 は xhigh、effort に対応するその他のモデルは high です。Claude Code では、この 3 つの 5.5 モデルの思考をオフにすることはできません。思考を減らしたいときは effort を下げます。
思考内容のレンダリング¶
5 系モデル(Opus 5.5、Sonnet 5.5、Haiku 5.5 を含む)は、デフォルトでは思考テキストを表示しません(display のデフォルトは "omitted")。推論は内部のみで行われ、思考 tokens は通常どおり課金されます。UI に思考過程を表示したい場合:
thinking={"type": "adaptive", "display": "summarized"}
display: "summarized" はモデルに思考サマリー(可視の thinking blocks)を出力させます。omitted は思考 tokens を数えるだけでテキストは出力しません。
Task Budgets(Beta)¶
エージェントループで、ターン全体(思考 + ツール + 最終出力)にグローバルな上限を設けたい場合は task_budget を使います。公式ドキュメントでは Opus 5.5、Sonnet 5.5、Haiku 5.5、Opus 5、Opus 4.8、Opus 4.7 などが beta 対応で、Sonnet 5 は非対応です:
response = client.beta.messages.create(
betas=["task-budgets-2026-03-13"],
model="claude-opus-5-5",
max_tokens=64000,
thinking={"type": "adaptive"},
output_config={
"effort": "high",
"task_budget": {"type": "tokens", "total": 128000},
},
messages=[...],
)
モデルは残り予算のカウントダウンを見ながら自己調整して超過を避けます。total の最小値は 20,000 で、それより小さい値は 400 になります。
コスト観測の推奨事項¶
adaptive thinking を有効にすると入力 / 出力 token が増えるため、監視が必要です:
print(response.usage)
# 注目:input_tokens、output_tokens、cache_read_input_tokens
# Adaptive thinking は thinking tokens を個別に課金しません——出力 token として課金され、output_tokens に含まれます
QCode はトークン単位の課金で、各モデルの単価は qcode.cc/models にあります。リクエストは probe.qcode.cc に報告されるので、そこで各リクエストの input / output / 思考の割合を確認できます。
よくある質問¶
budget_tokens から adaptive thinking への移行はどう換算しますか?¶
線形の換算関係はありません。budget_tokens=8000 が特定の effort レベルに対応するわけではありません。effort: "medium" から試し、回答品質と token 使用量を見て調整することをお勧めします。ハードな上限が必要な場合は task_budget(上記参照)を使います。
Opus 4.7 / 4.8 / 5 系でリクエストが 400 エラーになり budget_tokens が許可されないと表示される¶
thinking={"type": "enabled", "budget_tokens": N} をすべて thinking={"type": "adaptive"} に置き換えてください。Opus 4.7 以降のモデルは budget_tokens を受け付けません(どんな値でも 400 になります)。
Sonnet 4.6 で budget_tokens を使い続けるべきですか?¶
お勧めしません。新しいコードはすべて adaptive thinking を使ってください。budget_tokens は 4.6 では動作しますが、deprecated の経路です。
思考をオフにしたいのに Opus 5.5 が 400 を返します。どうすればよいですか?¶
Opus 5.5 の思考はオフにできません。思考を減らしたい場合は effort を下げます(例:low)。Sonnet 5.5 は thinking: {"type": "between_tools"}、Haiku 5.5 は thinking: {"type": "disabled"} を使います。どちらも effort が high 以下のときだけ使えます。
Claude Code CLI で effort をどう変更しますか?¶
/effort(上記参照)を使うか、起動時に --effort を付けます。永続的な既定値は ~/.claude/settings.json の effortLevel またはモデル別の modelSettings に保存されます。
次のステップ¶
- モデル選択ガイド — 各モデルの価格・能力比較
- ベストプラクティス — 大規模コンテキストとエージェントワークフローのプロンプト術
- エンドポイントと API 形式 — QCode.cc の接続ドメイン一覧
- Claude Code 完全チュートリアル — CLI の全機能
QCode を始める
API キーひとつで Claude Code・Codex などに対応。トークン単位の課金で、各モデルの単価は qcode.cc/models に掲載