此功能符合「Zero Data Retention」(零資料保留),即 ZDR 的資格。當您的組織具有 ZDR 安排時,透過此功能傳送的資料在 API 回應返回後不會被儲存。
「Adaptive thinking」(自適應思考)是在 Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6 和 Claude Sonnet 4.6 上使用擴展思考的建議方式。在 Claude Fable 5 和 Claude Mythos 5 上,思考功能始終啟用且無法停用;自適應思考是唯一的思考模式。在 Claude Mythos Preview 上,自適應思考是預設模式,當 thinking 未設定時會自動套用。自適應思考不需要手動設定思考 token 預算,而是讓 Claude 根據每個請求的複雜度動態決定何時以及使用多少擴展思考。在 Claude Opus 4.8 和 Claude Opus 4.7 上,自適應思考是唯一支援的思考模式;手動設定 thinking: {type: "enabled", budget_tokens: N} 已不再被接受。
對於許多工作負載,特別是雙峰任務和長期代理工作流程,自適應思考可以比使用固定 budget_tokens 的擴展思考帶來更好的效能。不需要 beta 標頭。
如果您的工作負載需要可預測的延遲或對思考成本的精確控制,在 Claude Opus 4.6 和 Claude Sonnet 4.6 上使用 budget_tokens 的擴展思考仍然可用,但已被棄用且不再建議使用。請參閱下方的警告。
自適應思考在以下模型上受支援:
claude-fable-5)和 Claude Mythos 5(claude-mythos-5),自適應思考始終開啟;不支援 thinking: {type: "disabled"}thinking: {type: "disabled"}thinking: {type: "adaptive"},否則思考功能為關閉狀態;手動設定 thinking: {type: "enabled"} 會被拒絕並回傳 400 錯誤。thinking: {type: "adaptive"},否則思考功能為關閉狀態;手動設定 thinking: {type: "enabled"} 會被拒絕並回傳 400 錯誤。thinking.type: "enabled" 和 budget_tokens 在 Opus 4.6 和 Sonnet 4.6 上已棄用,並將在未來的模型版本中移除。請改用 thinking.type: "adaptive" 搭配 effort 參數。現有的 budget_tokens 設定仍然可用,但不再建議使用;請規劃遷移。
較舊的模型(Sonnet 4.5、Opus 4.5 等)不支援自適應思考,需要使用 thinking.type: "enabled" 搭配 budget_tokens。
在自適應模式下,思考對模型而言是可選的。Claude 會評估每個請求的複雜度,並決定是否以及使用多少擴展思考。在預設的 effort 等級(high)下,Claude 幾乎總是會進行思考。在較低的 effort 等級下,Claude 可能會對較簡單的問題跳過思考。
自適應思考也會自動啟用交錯思考(interleaved thinking)。這表示 Claude 可以在工具呼叫之間進行思考,使其對代理工作流程特別有效。
在您的 API 請求中將 thinking.type 設定為 "adaptive":
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[
{
"role": "user",
"content": "Explain why the sum of two even numbers is always even.",
}
],
)
for block in response.content:
if block.type == "thinking":
print(f"\nThinking: {block.thinking}")
elif block.type == "text":
print(f"\nResponse: {block.text}")您可以將自適應思考與 effort 參數結合使用,以引導 Claude 進行多少思考。effort 等級作為 Claude 思考分配的軟性指引:
| Effort 等級 | 思考行為 |
|---|---|
max | Claude 始終進行思考,對思考深度沒有限制。適用於 Claude Fable 5、Claude Mythos 5、Claude Mythos Preview、Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6 和 Claude Sonnet 4.6。 |
xhigh | Claude 始終進行深度思考並擴展探索。適用於 Claude Fable 5、Claude Mythos 5、Claude Opus 4.8 和 Claude Opus 4.7。 |
high(預設) | Claude 幾乎總是進行思考。對複雜任務提供深度推理。 |
medium | Claude 使用適度的思考。對於非常簡單的查詢可能會跳過思考。 |
low | Claude 將思考降至最低。對於速度最重要的簡單任務會跳過思考。 |
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
output_config={"effort": "medium"},
messages=[{"role": "user", "content": "What is the capital of France?"}],
)
print(response.content[0].text)自適應思考可與串流無縫搭配使用。思考區塊會透過 thinking_delta 事件進行串流,就像手動思考模式一樣:
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-opus-4-8",
max_tokens=16000,
thinking={"type": "adaptive"},
messages=[
{
"role": "user",
"content": "What is the greatest common divisor of 1071 and 462?",
}
],
) as stream:
for event in stream:
if event.type == "content_block_start":
print(f"\nStarting {event.content_block.type} block...")
elif event.type == "content_block_delta":
if event.delta.type == "thinking_delta":
print(event.delta.thinking, end="", flush=True)
elif event.delta.type == "text_delta":
print(event.delta.text, end="", flush=True)| 模式 | 設定 | 可用性 | 使用時機 |
|---|---|---|---|
| 自適應 | thinking: {type: "adaptive"} | Claude Fable 5(始終開啟)、Claude Mythos 5(始終開啟)、Claude Mythos Preview(預設)、Claude Opus 4.8(唯一模式)、Opus 4.7(唯一模式)、Opus 4.6、Sonnet 4.6 | Claude 決定何時以及使用多少擴展思考。使用 effort 進行引導。 |
| 手動 | thinking: {type: "enabled", budget_tokens: N} | 除 Claude Fable 5、Claude Mythos 5、Claude Opus 4.8 和 Claude Opus 4.7 外的所有模型(會被拒絕並回傳 400 錯誤)。在 Opus 4.6 和 Sonnet 4.6 上已棄用(請考慮改用自適應模式)。 | 當您需要精確控制思考 token 花費時。 |
| 停用 | 省略 thinking 參數或傳遞 {type: "disabled"} | 除 Claude Fable 5、Claude Mythos 5 和 Claude Mythos Preview 外的所有模型 | 當您不需要擴展思考且希望獲得最低延遲時。 |
自適應思考適用於 Claude Fable 5、Claude Mythos 5、Claude Mythos Preview、Claude Opus 4.8、Claude Opus 4.7、Opus 4.6 和 Sonnet 4.6。在 Claude Fable 5 和 Claude Mythos 5 上,自適應思考始終開啟:當 thinking 未設定時會自動套用且無法停用。在 Mythos Preview 上,自適應思考是預設值,當 thinking 未設定時會自動套用。在 Claude Opus 4.8 上,自適應思考是唯一支援的模式;除非您明確設定 thinking: {type: "adaptive"},否則思考功能為關閉狀態,且手動設定 type: "enabled" 搭配 budget_tokens 會被拒絕並回傳 400 錯誤。在 Claude Opus 4.7 上,自適應思考是唯一支援的模式,type: "enabled" 搭配 budget_tokens 會被拒絕。較舊的模型僅支援 type: "enabled" 搭配 budget_tokens。在 Opus 4.6 和 Sonnet 4.6 上,type: "enabled" 搭配 budget_tokens 仍然可用但已棄用。
各模式的交錯思考可用性:
interleaved-thinking-2025-05-14 beta 標頭運作。使用自適應思考時,先前的助手回合不需要以思考區塊開始。這比手動模式更具彈性,在手動模式中,API 會強制要求啟用思考的回合必須以思考區塊開始。
連續使用 adaptive 思考的請求會保留提示快取斷點。然而,在 adaptive 和 enabled/disabled 思考模式之間切換會破壞訊息的快取斷點。無論模式如何變更,系統提示和工具定義仍會保持快取。
自適應思考的觸發行為可透過提示進行調整。如果 Claude 思考的頻率比您希望的更高或更低,您可以在系統提示中加入指引:
Extended thinking adds latency and should only be used when it
will meaningfully improve answer quality — typically for problems
that require multi-step reasoning. When in doubt, respond directly.若要鼓勵思考,請使用類似以下的語句:
This task involves multi-step reasoning. Think carefully before responding.引導效果可能對確切的措辭很敏感——如果某種表達方式沒有產生您想要的行為,請嘗試更直接的變體。
您也可以從使用者回合中針對個別訊息引導思考。在使用者訊息後附加 "Please think hard before responding." 會鼓勵 Claude 在該回合進行思考;"Answer directly without deliberating." 則會抑制思考。這與系統提示獨立運作,當對話中只有部分請求需要擴展推理時特別有用。
引導 Claude 減少思考頻率可能會降低受益於推理的任務品質。在將基於提示的調整部署到生產環境之前,請先衡量對您特定工作負載的影響。請考慮先使用較低的 effort 等級進行測試。
使用 max_tokens 作為總輸出(思考 + 回應文字)的硬性限制。effort 參數提供額外的軟性指引,控制 Claude 分配多少思考。兩者結合可讓您有效控制成本。
在 high 和 max effort 等級下,Claude 可能會進行更廣泛的思考,並且更有可能耗盡 max_tokens 預算。如果您在回應中觀察到 stop_reason: "max_tokens",請考慮增加 max_tokens 以給予模型更多空間,或降低 effort 等級。
以下概念適用於所有支援擴展思考的模型,無論您使用自適應模式還是手動模式。
啟用擴展思考後,Claude 4 模型的 Messages API 會回傳 Claude 完整思考過程的摘要。摘要式思考提供擴展思考的完整智慧優勢,同時防止濫用。當思考配置中的 display 欄位未設定或設定為 "summarized" 時,這是 Claude 4 模型的預設行為。在 Claude Fable 5、Claude Mythos 5、Claude Opus 4.8、Claude Opus 4.7 和 Claude Mythos Preview 上,display 預設為 "omitted",因此您必須明確設定 display: "summarized" 才能接收摘要式思考。
以下是關於摘要式思考的一些重要考量:
在極少數情況下,如果您需要存取 Claude 4 模型的完整思考輸出,請聯絡 Anthropic 銷售團隊。
思考配置中的 display 欄位控制思考內容在 API 回應中的返回方式。它接受兩個值:
"summarized":思考區塊包含摘要化的思考文本。詳情請參閱摘要化思考。這是 Claude Opus 4.6、Claude Sonnet 4.6 及更早的 Claude 4 模型的預設值。"omitted":思考區塊返回時 thinking 欄位為空。signature 欄位仍攜帶加密的完整思考內容,以維持多輪對話的連續性(請參閱思考加密)。這是 Claude Fable 5、Claude Mythos 5、Claude Opus 4.8、Claude Opus 4.7 及 Claude Mythos Preview 的預設值。當您的應用程式不向使用者顯示思考內容時,設定 display: "omitted" 會很有用。主要優點是**串流時更快到達首個文本 token:**伺服器會完全跳過串流思考 token,僅傳送簽章,因此最終文本回應會更快開始串流。
以下是關於省略思考的一些重要考量:
signature 以重建原始思考內容用於提示建構(請參閱保留思考區塊)。您在往返傳遞的省略區塊中放入 thinking 欄位的任何文本都會被忽略。display 與 thinking.type: "disabled" 一起使用時無效(因為沒有內容可顯示)。thinking.type: "adaptive" 且模型針對簡單請求跳過思考時,無論 display 設定為何,都不會產生思考區塊。無論 display 是 "summarized" 還是 "omitted",signature 欄位都是相同的。支援在對話的不同輪次之間切換 display 值。
display 設定僅控制可見性。在每種設定下,思考都會發生且計費方式相同。
thinking.display 的預設值取決於模型:
"omitted"。思考區塊仍會出現在回應串流中,但除非您明確選擇加入,否則其 thinking 欄位為空。這是相對於 Claude Opus 4.6 的靜默變更,在 Claude Opus 4.6 中預設值為 "summarized"。"summarized"。可讀的摘要會在無需選擇加入的情況下顯示。若要在預設值為 "omitted" 的模型上接收摘要式思考文字,請明確將 thinking.display 設定為 "summarized":
thinking = {
"type": "adaptive",
"display": "summarized",
}如需程式碼範例以及使用 display: "omitted" 時的串流行為,請參閱擴展思考頁面上的控制思考顯示。該處的範例使用 type: "enabled";使用自適應思考時,請改用:
thinking = {"type": "adaptive", "display": "omitted"}完整的思考內容會被加密並在 signature 欄位中回傳。此欄位用於驗證思考區塊在傳回 API 時確實是由 Claude 所生成。
以下是關於思考加密的一些重要考量事項:
content_block_delta 事件內的 signature_delta 加入,且發生在 content_block_stop 事件之前。signature 值比先前的模型長得多。signature 欄位是一個不透明的欄位,不應被解讀或解析。signature 值可跨平台相容(Claude API、Amazon Bedrock 和 Vertex AI)。在一個平台上生成的值可與另一個平台相容。在 Claude Fable 5 和 Claude Mythos 5 上,原始的思維鏈永遠不會被回傳。您收到的思考區塊是一般的 thinking 區塊,而非 redacted_thinking。thinking.display 設定的運作方式與其他模型相同:
"summarized" 會回傳推理的可讀摘要。"omitted"(這些模型的預設值)仍會在回應中包含 thinking 區塊,但其 thinking 欄位為空字串。如需思考區塊的回應格式,請參閱 Messages API 參考文件。
在同一模型上繼續對話時,請將每個思考區塊按原樣傳回 API,包括 thinking 欄位為空的區塊。請勿編輯或重建它們。讀取摘要文字以供顯示是可以的:API 會拒絕內容已被修改的區塊,而非您已讀取過的區塊。
當您切換模型時,例如在分類器拒絕後備之後,請從先前的助手回合中移除 thinking 和 redacted_thinking 區塊。思考區塊與產生它們的模型綁定。其他模型會靜默忽略它們而非拒絕請求,但被忽略的區塊仍會增加輸入 token。
有兩個例外情況,詳見後備額度:
fallback 區塊會保留在其出現的位置。若要了解模型的推理過程,請讀取本節所述的 thinking 區塊,而非在回應文字中提示要求推理內容。在 Claude Fable 5 上,嘗試在回應文字中引出模型內部推理的請求可能會被拒絕,並回傳 stop_details.category: "reasoning_extraction"。如需欄位參考和處理指引,請參閱拒絕類別。
如需完整的定價資訊,包括基本費率、快取寫入、快取命中和輸出 token,請參閱定價頁面。
思考過程會產生以下費用:
啟用擴展思考時,系統會自動包含一個專用的系統提示以支援此功能。
使用摘要式思考時:
使用 display: "omitted" 時:
thinking 欄位為空)計費的輸出 token 數量將不會與回應中可見的 token 數量相符。您需要為完整的思考過程付費,而非回應中可見的思考內容。
若要查看內部推理消耗了多少計費輸出 token,請讀取回應中的 usage.output_tokens_details.thinking_tokens。此值反映模型生成的原始推理(而非回應主體中返回的摘要文字),且始終小於或等於 output_tokens。將其從 output_tokens 中減去,即可估算輸出中非推理部分的數量。
{
"usage": {
"input_tokens": 25,
"output_tokens": 348,
"output_tokens_details": {
"thinking_tokens": 312
}
}
}output_tokens 仍然是用於計費的完整且具權威性的總數。output_tokens_details 是僅供觀察用途的唯讀明細。
擴展思考頁面透過特定模式的程式碼範例更詳細地涵蓋了幾個主題:
tool_choice 限制。adaptive 和 enabled/disabled 模式之間切換會破壞訊息的快取斷點(系統提示和工具定義仍會保持快取)。max_tokens 和上下文視窗限制互動。Was this page helpful?