拡張思考 & エフォート
難しい問題に対して、Claude は答える前に考えるために追加の計算を費やせます——多段推論、込み入ったコード、数学での精度が上がります。あなたはおおよそどれだけエフォートを費やすかを制御します。このレッスンは、深さをタスクに合わせ、API で思考をオンにし、過剰に支払わずに予算化することを教えます。
- トレードオフを説明する:少ない思考は速く安く、多い思考は難問でより良い
- あるワークロードに適したエフォート段(低/中/高)を選ぶ
- Messages API で拡張思考を有効にし、思考ブロックとテキストブロックを読み返す
- budget_tokens が max_tokens を下回るよう、思考トークンを正しく予算化する
- エージェントや思考連鎖プロンプトと併用してエフォートを賢く適用する
エフォートの背後にある唯一の考え
思考はスイッチではなくダイヤルです。両端を思い浮かべてください:
- 少ない思考 = 速く安い——単純で明確に指定されたタスクには十分。
- 多い思考 = 本当に難しい問題でより良い、ただしレイテンシ/コストは高い。
ここに人をつまずかせる落とし穴があります:すでに簡単だったタスクに対して、追加の思考は何もしません。レイテンシとコストを払うだけです。腕の見せどころは、答えが変わるところに深さを費やすことです。
新しいモデルはこれをエフォート制御として公開し(思考の深さを自動で適応させ)、それらでは生のトークン予算ではなく段を選びます。段をタスクに合わせてください。
ステップ1 — 深さを選ぶ
コードに触れる前に問いましょう:*このタスクは実際どれくらい難しいのか?*それを段にマッピングします。
| タスク | 推奨エフォート |
|---|---|
| 整形、抽出、単純な Q&A | 低 |
| 日常的なコーディング、ドラフト作成、分析 | 中 |
| 難しいデバッグ、込み入ったアルゴリズム、慎重な証明 | 高 |
- すべてを最大にデフォルト設定しないこと——タスクが必要としない思考にレイテンシとコストを払うことになります。
- 中から始め、品質が要求するところでだけ上げましょう。
やってみよう: 先へ進む前に、次の3つを分類してください——(a)「このテキストからメールアドレスを抽出する」、(b)「この関数をリファクタリングする」、(c)「この不等式を証明する」。それぞれにどの段が合いますか?上の表で答え合わせをしてください。
ステップ2 — オンにする(API)
Messages API では、thinking ブロックとトークン予算で思考を有効にします。次の手順に従ってください。
- messages.create に thinking={"type": "enabled", "budget_tokens": N} を渡して拡張推論を有効にします。
- 予算は同じ出力プールから引かれるので、budget_tokens は max_tokens より小さくなければなりません。
- 返信は thinking ブロックに続いて答えのテキストとして返ります——message.content を反復し、各 block.type を扱います。
では組み立てましょう。これをコピーして実行し、返信が2つのブロックとして届くのを見てください——まず推論、次に答え。
拡張思考を有効にする(Python)
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "Prove that 2^n > n^2 for all n >= 5."}],
)
for block in message.content:
if block.type == "thinking":
print("REASONING:", block.thinking)
elif block.type == "text":
print("ANSWER:", block.text)大きな予算は推論の余地をより多く買いますが、Claude がそれを使い切る保証ではありません——深さは問題に適応します。予算は天井のように設定し、レイテンシがつらければ下げて調整してください。モデル ID はモデル一覧表から取得します。正確なパラメータの形は新しいモデルでは異なりうるので、上記のソースに照らして確認してください。
ステップ3 — 実践で上手に使う
思考を有効にする人と思考を使いこなす人を分ける習慣が3つあります:
- 拡張思考は**思考連鎖プロンプト**とよく合います——ただし推論モデルでは段階的にと求める必要はしばしばありません。思考が内部で起こります。
- 思考はトークンを消費し、コストに影響します——それに応じて予算化してください。
- エージェントでは、計画ステップにより多くのエフォートを、定型的なツール呼び出しにより少ないエフォートを、というのが良い配分です。
- エフォート/思考は、難問での精度のためにレイテンシとコストを引き換える——すでに簡単なタスクには何もしない。
- 段:整形/抽出/単純な Q&A には低、日常的なコーディング/ドラフト作成/分析には中、難しいデバッグ/アルゴリズム/証明には高。
- Messages API では budget_tokens は同じ出力プールから来るので、max_tokens より小さくなければならない。返信は thinking ブロックの次にテキストブロック。
- 予算は目標ではなく天井として扱う——Claude は問題が必要とする分だけ使う。
- エージェントでは、計画にエフォートを費やし、定型的なツール呼び出しでは節約する。
定着させる
立ち去る前のクイック復習——各カードをめくって声に出して答えてください。