Claude Platform Docs
Messages模型功能

Effort(投入程度)

使用 effort 參數控制 Claude 回應時使用的 token 數量,在回應的完整程度與 token 效率之間取得平衡。

「effort」(投入程度)參數讓您控制 Claude 在回應請求時花費多少 token。您可以使用單一模型,在回應的完整性與 token 效率之間進行取捨。頂層 effort 參數在所有支援的模型上皆可使用,無需 beta 標頭。逐訊息 effort 目前為 beta 版。

設定 effort 等級

在請求上設定 output_config.effort。以下範例以 medium effort 執行一個請求,並印出回應文字。

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": "Analyze the trade-offs between microservices and monolithic architectures",
        }
    ],
    output_config={"effort": "medium"},
)

for block in response.content:
    if block.type == "text":
        print(block.text)

effort 的運作方式

大多數 Claude 模型預設為 high effort,會花費所需的 token 數量以獲得出色的結果;Claude Opus 5.5 和 Claude Haiku 5.5 則預設為 medium。您可以將 effort 等級提高到 max 以獲得絕對最高的能力,或將其降低以更節省 token 用量,在接受部分能力降低的同時針對速度和成本進行最佳化。

effort 參數會影響回應中的所有 token,包括:

  • 文字回應和說明
  • 工具呼叫和函式引數
  • 思考(啟用時)

由於 effort 適用於每個輸出 token,因此無論是否啟用思考,它都能運作。較低的 effort 也意味著更少且更簡潔的工具呼叫。

effort 等級

等級說明典型使用情境
max絕對最高的能力,對 token 花費沒有任何限制。適用於 Claude Fable 5.1、Claude Mythos 5.1、Claude Fable 5、Claude Mythos 5、Claude Mythos Preview、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 5.5、Claude Sonnet 5、Claude Sonnet 4.6 和 Claude Haiku 5.5。需要最深入推理和最徹底分析的任務
xhigh適用於長時程工作的擴展能力。適用於 Claude Fable 5.1、Claude Mythos 5.1、Claude Fable 5、Claude Mythos 5、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Sonnet 5.5、Claude Sonnet 5 和 Claude Haiku 5.5。長時間執行(超過 30 分鐘)且 token 預算達數百萬的代理式和程式設計任務
high花費任務所需的 token 數量以獲得出色的結果。除 Claude Opus 5.5 和 Claude Haiku 5.5 外,所有支援 effort 的模型皆以此為預設值。複雜推理、困難的程式設計問題、代理式任務
medium平衡的方法,可適度節省 token。Claude Opus 5.5 和 Claude Haiku 5.5 的預設值。需要在速度、成本和效能之間取得平衡的代理式任務
low最有效率。大幅節省 token,但能力會有所降低。需要最佳速度和最低成本的較簡單任務,例如子代理

並非每個支援 max 的模型都支援 xhigh。

以下各模型的建議若與此表格不同,以各模型的建議為準。

Claude Fable 5.1 支援全部五個 effort 等級。請從預設值 high 開始。對於對能力最敏感的代理式與程式設計工作,可提升至 xhigh 或 max;對於例行性或對延遲敏感的工作,一旦您的評估顯示品質得以維持,即可降至 medium 或 low。在 high 及以上等級時,請設定較大的 max_tokens。它是總輸出(思考加上回應文字)的硬性上限。相同的建議也適用於 Claude Mythos 5.1。請參閱提示 Claude Fable 5.1。

Claude Fable 5.1 也支援透過逐訊息的 output_config 在對話中途變更 effort,這樣可以保留提示快取。

在 Claude Fable 5 上,effort 是在智慧、延遲與成本之間進行取捨的主要控制方式。對於大多數任務,請從預設值 high 開始,對於對能力最敏感的工作負載使用 xhigh,對於例行性工作則降至 medium 或 low。Claude Fable 5 上較低的 effort 設定仍然表現良好,且通常超越先前模型在 xhigh 下的表現。在 high 與 xhigh 時,請設定較大的 max_tokens。它是總輸出(思考加上回應文字)的硬性上限。請參閱成本控制。

如果任務能夠完成但花費的時間超過必要,或者您想要更快速、更具互動性的工作風格,請降低 effort。相同的建議也適用於 Claude Mythos 5。如需更完整的指引,請參閱提示 Claude Fable 5。

Claude Opus 5.5 支援全部五個 effort 等級,且預設值為 medium(Claude Opus 5 及更早的 Opus 模型預設為 high,因此省略 effort 的請求會比在 Claude Opus 5 上低一個等級執行)。自適應思考始終開啟且無法關閉,因此 effort 是控制模型推理量以及請求成本的主要方式。請在您自己的評估上執行 effort 掃描,而不是沿用先前模型的設定,並在較高等級時設定較大的 max_tokens:它是總輸出(思考加上回應文字)的硬性上限。設定 thinking: {"type": "disabled"} 的請求在任何 effort 等級下都會傳回 400 錯誤。Claude Opus 5.5 也支援透過逐訊息的 output_config 在對話中途變更 effort,這樣可以保留提示快取。請參閱提示 Claude Opus 5.5。

Claude Opus 5 支援全部五個 effort 等級。從預設值 high 開始,並根據您的評估進行調整:對於要求嚴苛的程式設計和代理式工作,提高到 xhigh;當任務值得不受限制地花費 token 時,提高到 max;並在評估顯示品質維持不變的情況下,大量使用 low 和 medium 作為控制 token 成本和回應時間的主要方式。如果您沿用了先前模型的 effort 設定,請在您的評估上重新執行 effort 掃描,而不是重複使用這些設定。

effort 控制的是思考量,而非可見的回應長度:在 Claude Opus 5 上,變更 effort 並不能可靠地縮短回應,因此請改為透過提示控制長度。

API 預設值為 high。若要使用不同的等級,請明確設定 effort。您傳入的值會覆寫預設值。

在 Claude Opus 5 上,於 xhigh 或 max effort 時無法停用思考:在這些等級設定 thinking: {"type": "disabled"} 的請求會傳回 400 錯誤。請參閱effort 與思考。

以 xhigh 或 max effort 執行 Claude Opus 5 時,請設定較大的 max_tokens,讓模型有空間在子代理和工具呼叫之間進行思考和行動。從 64k token 開始並以此為基礎進行調整,是合理的預設做法。

Claude Opus 5 也支援透過每則訊息的 output_config 在對話中途變更 effort,這樣可以保留提示快取。在 Amazon Bedrock 上,Claude Opus 5 無法使用每則訊息的 effort。

Claude Opus 4.7 的指引同樣適用於 Claude Opus 4.8。對於程式設計與代理式使用情境,請從 xhigh 開始,對於大多數其他對智慧敏感的工作負載使用 high,並且只有在您已測量確認較低等級在您的評估上能維持品質時,才降至 medium 或 low。

API 預設值為 high。若要使用不同的等級,請明確設定 effort。您傳入的值會覆寫預設值。

以 xhigh 或 max effort 執行 Claude Opus 4.8 時,請設定較大的 max_tokens,讓模型有足夠空間在子代理與工具呼叫之間進行思考與行動。從 64k token 開始並據此調整是合理的預設做法。

程式設計和代理式使用情境請從 xhigh 開始,並將 high 作為大多數講求智慧的工作負載的最低等級。對於成本敏感的工作負載,降低到 medium;只有在您的評估顯示 xhigh 仍有可測量的提升空間時,才提高到 max。

API 預設值為 high。若要使用 xhigh,請明確設定 effort。您傳入的值會覆寫預設值。

effortClaude Opus 4.7 的指引
low有效率,但最適合簡短、範圍明確的任務。如果您的任務有多個部分,請將 low 搭配明確的檢查清單使用。
medium適用於一般工作流程的直接替代選項,可在降低成本的同時獲得良好結果。
high仍需要在智慧與 token 消耗之間取得平衡的進階使用情境。這通常是品質與 token 效率之間的最佳平衡。
xhigh程式設計和代理式工作的建議起點,也適用於探索性任務,例如重複的工具呼叫、詳細的網頁搜尋和知識庫搜尋。預期 token 用量會明顯高於 high。
max保留給最前沿的問題。在大多數工作負載上,max 會增加大量成本,但品質提升相對較小;在某些結構化輸出或較不講求智慧的任務上,它可能導致過度思考。

Claude Opus 4.7 也比 Claude Opus 4.6 更嚴格地遵守 effort 等級,尤其是在 low 和 medium 時。在較低的 effort 等級下,模型會將工作範圍限定在所要求的內容,而不會做超出要求的事。如果您在使用 Claude Opus 4.7 處理複雜問題時觀察到推理過於淺薄,請提高 effort,而不是透過提示來繞過問題。如果您必須為了延遲而保持較低的 effort,請加入有針對性的指引,例如「This task involves multistep reasoning. Think carefully before responding.」

以 xhigh 或 max effort 執行 Claude Opus 4.7 時,請設定較大的 max_tokens,讓模型有空間在子代理和工具呼叫之間進行思考和行動。從 64k token 開始並以此為基礎進行調整,是合理的預設做法。

Claude Sonnet 5.5 支援全部五個 effort 等級,且在 Claude API 上的預設值為 high。其等級經過重新校準,因此某個等級所產生的思考量與 Claude Sonnet 5 上相同等級的思考量並不相同。請在您的評估上重新執行 effort 掃描,而不是沿用您在 Claude Sonnet 5 上使用的設定。除非您的工作負載是代理式或對延遲敏感的,否則請從 high 開始。對於代理式程式設計和多步驟工具使用,規格明確的任務請從 medium 開始,較困難或較長的任務則改用 high。對於聊天和其他對延遲敏感的工作,請從 medium 或 low 開始。只有在您的評估顯示品質有所提升時,才使用 xhigh 或 max。設定 max_tokens 時請為思考和回覆預留空間。即使未傳回思考內容,思考仍會計入 max_tokens。對於代理式程式設計,請將 max_tokens 設定為模型的最大值 128,000,並以串流方式接收回應。

若要關閉預先思考,請傳送 thinking: {"type": "between_tools"} 而非 "disabled"。這是 Claude Sonnet 5.5 上最低的思考設定,可在 low、medium 和 high effort 下運作。在 xhigh 或 max 時,使用此設定的請求會傳回 400 錯誤,因此在這些等級請使用自適應思考:省略 thinking 欄位或傳送 thinking: {"type": "adaptive"}。請參閱在沒有預先思考的情況下執行。

Claude Sonnet 5.5 也支援透過每則訊息的 output_config 在對話中途變更 effort,這樣可以保留提示快取。使用 between_tools 時,effort 無法在對話中途變更:與目前生效等級不同的每則訊息 output_config.effort 會傳回 400 錯誤。若要在每個回合變更 effort,請使用自適應思考。請參閱為 Claude Sonnet 5.5 撰寫提示。

Claude Sonnet 5 在 Claude API 與 Claude Code 上預設為 high effort。

  • High effort(預設):適用於品質比速度或成本更重要的複雜推理、程式設計與代理式任務。
  • Xhigh effort:適用於最困難的程式設計與代理式任務。請參閱提示 Claude Sonnet 5。
  • Medium effort:從預設值降級以節省成本。與 Claude Sonnet 4.6 在 high effort 下的表現相當。
  • Low effort:適用於高流量或對延遲敏感的工作負載。適合優先考量更快回應速度的聊天與非程式設計使用情境。
  • Max effort:適用於需要絕對最高能力且對 token 花費沒有任何限制的任務。

Sonnet 4.6 預設為 high effort。使用 Sonnet 4.6 時請明確設定 effort,以避免非預期的延遲:

  • Medium effort(建議的預設值):對大多數應用程式而言,在速度、成本和效能之間取得最佳平衡。適用於代理式程式設計、大量使用工具的工作流程和程式碼生成。
  • Low effort: 適用於大量或對延遲敏感的工作負載。適合優先考量快速回應的聊天和非程式設計使用情境。
  • High effort: 適用於品質比速度或成本更重要的複雜推理和任務。
  • Max effort: 適用於需要絕對最高能力且對 token 花費沒有任何限制的任務。

Claude Haiku 5.5 支援全部五個 effort 等級,且在 Claude API 和 Claude Code 中的預設值為 medium。Effort 是控制模型思考量的主要方式,並連帶影響品質、延遲和成本。大多數工作(包括代理式程式設計)請從 medium 開始。對於聊天、簡短的工具任務以及簡單的大量請求,請使用最便宜且最快速的等級 low。在冗長的代理提示中,模型在 low 時更可能略過搜尋、提早停止或略過檢查。對於知識工作、較長的代理任務和嚴格遵循指示,請使用 high。只有在您的評估顯示品質有所提升時,才使用 xhigh 或 max,並在效能、成本和速度方面將其與 Claude Sonnet 5.5 進行比較。思考預設為開啟且會計入 max_tokens,因此請為其預留空間。請參閱為 Claude Haiku 5.5 撰寫提示。

若要減少思考,請降低 effort 等級。您也可以在 high effort 或以下傳送 thinking: {"type": "disabled"}。在 xhigh 或 max 時,這會傳回 400 錯誤,因此在這些等級請使用自適應思考:省略 thinking 欄位或傳送 thinking: {"type": "adaptive"}。

在 Claude API 和 Google Cloud 上,Claude Haiku 5.5 也支援透過每則訊息的 output_config 在對話中途變更 effort,這樣可以保留提示快取。使用 thinking: {"type": "disabled"} 時,effort 無法在對話中途變更:與目前生效等級不同的每則訊息 output_config.effort 會傳回 400 錯誤。若要在每個回合變更 effort,請使用自適應思考。

effort 與工具使用

使用工具時,effort 參數會同時影響工具呼叫周圍的說明以及工具呼叫本身。較低的 effort 等級傾向於:

  • 將多個操作合併為較少的工具呼叫
  • 進行較少的工具呼叫
  • 不加開場白,直接採取行動
  • 完成後使用簡潔的確認訊息

較高的 effort 等級可能會:

  • 進行更多的工具呼叫
  • 在採取行動前說明計畫
  • 提供詳細的變更摘要
  • 包含更完整的程式碼註解

effort 與思考

thinking 參數控制 Claude 是否在回答之前於思考區塊中進行思考;effort 參數則控制 Claude 在整個回應中投入多少工作量,在自適應模式下,這包括它思考的頻率與深度。請勿將 adaptive 作為 effort 的值傳入:adaptive 是一種思考模式,而非努力程度等級。

在較高的 effort 等級下,Claude 會更積極地思考,且思考時間更長。在工具使用迴圈中,僅處理工具結果的後續請求在任何等級下仍可能略過思考。在較低的等級下,Claude 對於較簡單的問題可能會完全略過思考。如需這兩種控制方式如何協同運作的完整指引,請參閱思考與 effort。

在 Claude Opus 4.5(唯一支援 effort 且僅支援「extended thinking」(擴展思考)的模型)上,它與 budget_tokens 搭配運作:先為您的任務設定 effort 等級,然後根據任務所需的推理深度設定思考 token 預算。

關於各模型的思考可用性,請參閱各模型設定表。無論是否啟用思考,effort 都能運作。請參閱effort 的運作方式。

在對話中途變更 effort

您可以透過兩種方式,以不同的 effort 等級執行對話的後續回合。在 Claude Fable 5.1、Claude Mythos 5.1、Claude Opus 5.5、Claude Opus 5、Claude Sonnet 5.5 和 Claude Haiku 5.5 上,請使用每則訊息的 effort 變更,這樣可以保留提示快取。在其他模型上,請在下一個請求中設定新的頂層值,這會讓快取重新開始。

逐訊息 effort(beta)

每則訊息的 effort 目前為 beta 版。在 Claude API 和 Google Cloud 上,它適用於 Claude Fable 5.1、Claude Mythos 5.1、Claude Opus 5.5、Claude Opus 5、Claude Sonnet 5.5 和 Claude Haiku 5.5。在 Amazon Bedrock 上,它適用於 Claude Fable 5.1、Claude Mythos 5.1 和 Claude Opus 5.5。它需要 beta 標頭 mid-conversation-output-config-2026-07-01。使用 Amazon Bedrock InvokeModel API 時,它適用於 Claude Fable 5.1 和 Claude Opus 5.5,且您需改為在請求主體的 anthropic_beta 陣列中傳送該值。

若沒有 beta 值,每則訊息的 output_config 會傳回 400 錯誤:messages.N.output_config: Extra inputs are not permitted,其中 N 是 system 訊息在 messages 中的索引。若有 beta 值,不支援每則訊息 effort 的模型(包括 Claude Fable 5)會傳回 400 錯誤:output_config.effort requires a model that supports per-turn effort; this model does not。在 Amazon Bedrock 上,這些模型和 Claude Opus 5 則會改為傳回 Extra inputs are not permitted 錯誤。在使用 thinking: {"type": "between_tools"} 的 Claude Sonnet 5.5 上,以及使用 thinking: {"type": "disabled"} 的 Claude Haiku 5.5 上,effort 無法在對話中途變更:與目前生效等級不同的每則訊息 output_config.effort 會傳回 400 錯誤。若要在每個回合變更 effort,請使用自適應思考。

新增一則 role: "system" 訊息,其 content 為空,並在 output_config.effort 中設定新的等級。新等級會從下一個 user 回合開始生效,並持續到後續訊息變更它為止。該訊息之前的所有內容都保持不變,因此快取的前綴仍然相符。

以下範例從 high 開始,然後在例行性的後續問題中降低到 low:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=4096,
    output_config={"effort": "high"},
    messages=[
        {
            "role": "user",
            "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
        },
        {
            "role": "assistant",
            "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
        },
        # 僅含 effort 的系統訊息:新等級將自下一個使用者回合起生效。
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."},
    ],
    betas=["mid-conversation-output-config-2026-07-01"],
)

for block in response.content:
    if block.type == "text":
        print(block.text)

僅包含 effort 的系統訊息不帶任何文字,因此對話中途系統訊息的放置規則不適用。它可以出現在 messages 中的任何位置,包括作為第一個項目,或位於 assistant 回合與下一個 user 回合之間。值為等級名稱(low、medium、high、xhigh 和 max)。

在 Claude Fable 5.1 上,請優先使用此形式,而不是在請求之間變更頂層值。頂層變更會讓快取重新開始,而且對模型的引導效果也較不可靠:模型先前的回覆是在先前的等級下撰寫的,而它傾向於與這些回覆保持一致。

在下一個請求上設定頂層 effort

頂層 output_config.effort 適用於整個請求。若要以不同的等級執行對話的後續部分,請在下一個請求上設定新的值。由於頂層 effort 會影響所呈現的提示,因此在請求之間變更它不會保留先前輪次的已快取前綴。如果您在長時間的工作階段中依賴提示快取,而您的模型不支援逐訊息 effort,請在一開始就選定一個 effort 等級並保持不變。

最佳實務

  1. 明確設定 effort: API 預設為 high(Claude Opus 5.5 和 Claude Haiku 5.5 上為 medium),但合適的起點取決於您的模型和工作負載。
  2. 對速度敏感或簡單的任務使用 low: 當延遲很重要或任務很直接時,low effort 可以大幅縮短回應時間並降低成本。
  3. 測試您的使用情境: effort 等級的影響因任務類型而異。部署前請針對您的特定使用情境評估效能。
  4. 考慮動態 effort: 根據任務複雜度調整 effort。簡單的查詢可能適合 low effort,而代理式程式設計和複雜推理則能從 high effort 中受益。在同一個對話中變更 effort 之前,請參閱下一項。
  5. 在快取的對話中保持頂層 effort 不變: 在請求之間變更頂層 effort 值會使提示快取失效,因此請在不同工作負載之間變更它,而不是在依賴快取命中的對話中變更。在支援的模型上,請改用逐訊息 effort 變更,這樣可以保留快取。請參閱思考與提示快取。

後續步驟

為 Claude 提供整個代理式迴圈的建議性 token 預算,協助模型在長時間的代理式任務中自我調節。

了解自適應思考(由 Claude 決定何時思考以及思考多少),並透過 effort 和提示來引導它。

了解思考的運作方式、Claude 何時預設會思考,以及思考如何與 effort 互動。

Compatibility

Supported models
  • Fable 5 and 5.1
  • Mythos 5, 5.1, and Preview
  • Opus 4.5, 4.6, 4.7, 4.8, 5, and 5.5
  • Sonnet 4.6, 5, and 5.5
  • Haiku 5.5
Supported platforms
  • Claude API
  • Claude Platform on AWS
  • Amazon Bedrock
  • Google Cloud
  • Microsoft Foundry

Was this page helpful?