拡張思考とは、Claudeが正式な回答を出す前に、内部の思考リソースを使って問題をひととおり完全に検討できるようにすることを指す。これはモデルが利用できる計算リソースの配分の仕組みであり、機構レベルに属する。これは chain of thought(思考の連鎖)とは別物で、混同されやすいが役割が異なる。思考の連鎖は推論の手順を回答そのものに明示的に書き出させ、段階ごとに見えるようにするものだ。拡張思考はモデルに考えるための余地をより多く与えるものだが、その「考える」過程はデフォルトでは必ずしも完全には表示されない。目に入るのは、考え終えた後に生成された最終的な答えだけかもしれない。簡単に言えば、思考の連鎖は「考えを書き出して見せるかどうか」を扱い、拡張思考は「モデルに十分な思考の余地を与えるかどうか」を扱う。両者は同時に使うこともできるし、どちらか一方だけ使うこともできる。
この仕組みが必要とされるのは、完全な推論の指示を与えても、計算リソースが不足しているために複雑な複数段階の問題で誤りが生じることがあるからだ。複数の制約条件を同時に考慮するスケジューリング問題、複数の文書を突き合わせて初めて結論に至る判断タスク、複数層の条件ロジックが絡む財務試算などである。こうしたタスクで起きているのは「モデルがどう考えればよいか分からない」ことではなく、「標準的な計算リソースのもとでは、十分な深さや網羅性で考えられていない」ことだ。拡張思考が存在する理由は、こうしたタスクに追加の思考の余地を与え、正式な回答を出す前にさまざまな可能性や条件をより網羅的に突き合わせる機会をモデルに与え、急いで考えたために重要な細部を見落とす確率を下げることにある。
実務では、拡張思考は通常、モデルの設定やインターフェースのオプションを通じて有効化される。これはオン・オフのレベルで決める事柄であり、プロンプトの文章の中で段階的に要求するものではない。この点は思考の連鎖と異なる。思考の連鎖はプロンプトの文言で明示的に要求するものだが、拡張思考は設定やオプションを通じてモデルにより多くの思考リソースを使わせるものだ。使うべきかどうかの判断は、タスク自体の性質にかかっている。複数の相互に影響し合う条件を含むタスク(ある変数を変えると他のいくつもの判断に影響する)、複数の情報源を突き合わせて初めて結論に至るタスク、標準モードで処理すると過去に見落としや誤りが起きやすかったタスクは、拡張思考を有効にするのに向いている。逆に、形式が固定されロジックが単純なタスク(テンプレートに沿って項目を埋める、単純な書式変換など)では、拡張思考を有効にしても通常は明確な違いが出ず、不要な待ち時間が増えるだけだ。
あなたにとって、拡張思考の本当のトレードオフは時間コストと正確性の間にある。有効にすると通常は回答が遅くなり、その見返りとして複雑なタスクでの誤り発生率が下がる。しかしその交換が割に合うかどうかは、そのタスクにおける誤りの代償の大きさによって決まる。内部の下書きが間違っていても一度直せば済むなら代償は低く、余計に待つ価値はない。社外に出す財務試算や契約条項の判断が間違っていれば連鎖的な面倒を引き起こしかねず、代償は高く、モデルにより十分に考えさせるための時間をかける価値がある。注意すべきは、拡張思考はデフォルトでは思考過程の全体をあなたに見せない点だ。もし必要なのが「各推論手順を自分で確認できること」であれば、本当に求めているのは chain of thought であって拡張思考ではない。この二つは混同されやすく、機構を選び違えると求めていた検証可能性は得られない。
Anthropic の model card や技術文書では、拡張思考モードがモデルに回答前のより多くの内部計算の余地を与えることが説明されており、数学競技問題(AIMEなど)や大学院レベルの科学の質問応答(GPQA)といった複数段階の推論を要する公開ベンチマークにおいて、標準モードより高い精度を示している。こうしたベンチマークは、複数の推論手順を要し途中で誤りが起きやすい問題形式をあえて選んで設計されており、拡張思考がこの種のタスクにもたらす効果の違いを浮き彫りにするためのものだ。
メリットは複雑な複数段階のタスクで誤りの発生率を下げられる点で、より長いプロンプトを書いてモデルの計算上の制約を補う必要がない。デメリットは回答にかかる時間が長くなる点、そしてデフォルトでは思考過程が完全には表示されない点で、検証可能な推論手順が必要な場合、この仕組みだけでは満たせない。形式が固定されロジックが単純なタスクでは明確な効果はなく、待ち時間が増えるだけになる。