什麼是思考?
有些任務需要的不只是快速回答。Claude 可以在回應之前先處理問題——這項功能稱為擴展思考。在本課程中,我們將探討什麼是思考、它如何運作,以及它在什麼時候真正有幫助。
以下是我們試圖避免的失敗模式。向模型提出一個多步驟問題,並讓它立即回答,它可能會自信地給出錯誤答案:

什麼是擴展思考?
擴展思考讓 Claude 在產生最終回應之前逐步推理。啟用後,Claude 會產生內部推理 token——通常稱為思維鏈——然後才提供答案。在 Claude Opus 5 上,除非您請求中的 thinking 設定包含 "display": "summarized"(如下方範例所示),否則思考文字會保持隱藏。當包含此設定時,Claude 推理過程的摘要會隨著最終文字一起出現在回應中。
Claude Opus 5 上的自適應思考
在 Opus 5 上,思考是自適應的,且預設為開啟。沒有需要選擇的 token 預算:Claude 會動態決定何時思考以及思考多少。
若要控制 Claude 思考的程度,請使用 effort 參數。有一個需要注意的地方:它位於 output_config 內部,而不是緊鄰 thinking 區塊。各等級如下:
lowmediumhigh(預設值)xhigh(超高)max
何時使用(以及何時跳過)
擴展思考有助於:
- 數學與多步驟邏輯
- 程式碼除錯
- 法規分析
- 任何涉及權衡取捨或比較選項的事項

對於簡單的分類、擷取或樣板化任務,請跳過此功能。對於這些任務,它只會增加延遲和成本,而不會實際改善結果。
實際運作中的思考
讓我們來看看它的實際運作。這裡有一個帶有一個天氣工具的代理迴圈,我們將請 Claude 規劃一趟從舊金山出發的公路旅行——兩個停靠點,需要權衡天氣與車程時間。這是一個真正的權衡取捨,正是思考能發揮價值的那種問題。
import anthropic
client = anthropic.Anthropic()
weather_tool = {
"name": "get_weather",
"description": "Get the current weather for a city.",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "City name"}
},
"required": ["city"],
},
}
response = client.messages.create(
model="claude-opus-5",
max_tokens=16000,
thinking={"type": "adaptive", "display": "summarized"}, # summarized = return the reasoning text
output_config={"effort": "high"}, # low | medium | high | xhigh | max
tools=[weather_tool],
messages=[
{
"role": "user",
"content": "Plan a road trip out of San Francisco with two stops, "
"weighing weather and drive time.",
}
],
)當您執行此程式碼時,輸出會比平常更有趣。您會看到思考區塊,Claude 在其中處理各種權衡取捨,接著是檢查每個城市的工具呼叫,最後是包含實際建議的文字區塊。
推理過程是可見的——這正是重點所在。
為什麼這在生產環境中很重要
在生產應用程式中,這就是一個逐一發現問題的代理與一個能將問題串連起來的代理之間的差異。以合規審查應用程式為例:在自動審查呼叫上切換自適應思考,讓代理能夠跨報告章節進行推理——捕捉到諸如第三節中的風載規格與文件其他地方的材料規格相衝突等問題。

重點回顧
- 擴展思考讓 Claude 在回答之前有空間進行推理。在 Opus 5 上,只有當您要求時,回應才會附帶該推理過程的摘要。
- 在 Opus 5 上,自適應思考預設為開啟——不需要 token 預算。加入
"display": "summarized"即可在回應中看到推理過程。 - 使用
output_config內的 effort 參數來調整深度:low、medium、high(預設值)、xhigh或max。 - 將此功能用於困難、充滿權衡取捨的問題。對於簡單的問題則跳過——在那些情況下,它只會耗費延遲時間和 token。