• 消息
  • 托管智能体
  • 管理

Search...
⌘K
第一步
Claude 简介快速入门
使用 Claude 构建
功能概览使用 Messages API停止原因与回退拒绝与回退回退额度
模型能力
扩展思考自适应思考努力程度任务预算(测试版)快速模式(研究预览)结构化输出引用流式传输消息批量处理搜索结果流式传输拒绝多语言支持嵌入
工具
概览工具使用的工作原理教程:构建使用工具的智能体定义工具处理工具调用并行工具使用工具运行器(SDK)严格工具使用工具使用与提示缓存服务器工具故障排除网络搜索工具网页抓取工具代码执行工具顾问工具记忆工具Bash 工具计算机使用工具文本编辑器工具
工具基础设施
工具参考管理工具上下文工具组合工具搜索编程式工具调用细粒度工具流式传输
上下文管理
上下文窗口压缩上下文编辑提示缓存对话中系统消息构建编排模式缓存诊断(测试版)令牌计数
处理文件
Files APIPDF 支持图像与视觉
技能
概览快速入门最佳实践企业技能API 中的技能
MCP
远程 MCP 服务器MCP 连接器
云平台上的 Claude
Amazon BedrockAmazon Bedrock(旧版)AWS 上的 Claude PlatformMicrosoft FoundryVertex AI

Log in
自适应思考
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
消息/模型能力

自适应思考

通过自适应思考模式,让 Claude 动态决定何时以及在多大程度上使用扩展思考。


此功能符合零数据保留(ZDR)的条件。当您的组织签订了 ZDR 协议时,通过此功能发送的数据在 API 响应返回后不会被存储。

自适应思考是在 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 未设置时会自动应用。自适应思考无需手动设置思考令牌预算,而是让 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-fable-5)和 Claude Mythos 5(claude-mythos-5),自适应思考始终开启;不支持 thinking: {type: "disabled"}
  • Claude Mythos Preview(claude-mythos-preview),自适应思考为默认模式;不支持 thinking: {type: "disabled"}
  • Claude Opus 4.8(claude-opus-4-8),自适应思考是唯一支持的思考模式。除非您在请求中显式设置 thinking: {type: "adaptive"},否则思考处于关闭状态;手动设置 thinking: {type: "enabled"} 会被拒绝并返回 400 错误。
  • Claude Opus 4.7(claude-opus-4-7),自适应思考是唯一支持的思考模式。除非您在请求中显式设置 thinking: {type: "adaptive"},否则思考处于关闭状态;手动设置 thinking: {type: "enabled"} 会被拒绝并返回 400 错误。
  • Claude Opus 4.6(claude-opus-4-6)
  • Claude Sonnet 4.6(claude-sonnet-4-6)


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 会评估每个请求的复杂程度,并决定是否以及在多大程度上使用扩展思考。在默认的努力级别(high)下,Claude 几乎总是会进行思考。在较低的努力级别下,Claude 可能会对较简单的问题跳过思考。

自适应思考还会自动启用交错思考。这意味着 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 参数

您可以将自适应思考与 effort 参数结合使用,以引导 Claude 的思考程度。努力级别作为 Claude 思考分配的软性指导:

努力级别思考行为
maxClaude 始终进行思考,对思考深度没有限制。适用于 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。
xhighClaude 始终进行深度思考并进行扩展探索。适用于 Claude Fable 5、Claude Mythos 5、Claude Opus 4.8 和 Claude Opus 4.7。
high(默认)Claude 几乎总是进行思考。对复杂任务提供深度推理。
mediumClaude 使用适度的思考。对于非常简单的查询可能会跳过思考。
lowClaude 最小化思考。对于速度最重要的简单任务会跳过思考。
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.6Claude 决定何时以及在多大程度上使用扩展思考。使用 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 上已弃用(建议改用自适应模式)。当您需要精确控制思考令牌消耗时。
禁用省略 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 仍然可用但已弃用。

各模式下交错思考的可用性:

  • 自适应模式: 在 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、Mythos Preview、Claude Opus 4.8 和 Opus 4.7 上,工具间推理始终位于思考块内。
  • Sonnet 4.6 上的手动模式: 交错思考通过 interleaved-thinking-2025-05-14 beta 标头工作。
  • Opus 4.6 上的手动模式: 交错思考不可用。如果您的智能体工作流需要在 Opus 4.6 上的工具调用之间进行思考,请使用自适应模式。

重要注意事项

验证变更

使用自适应思考时,之前的助手轮次不需要以思考块开头。这比手动模式更灵活,在手动模式下,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 减少思考频率可能会降低那些受益于推理的任务的质量。在将基于提示的调整部署到生产环境之前,请先衡量其对您特定工作负载的影响。建议先尝试使用较低的努力级别进行测试。

成本控制

使用 max_tokens 作为总输出(思考 + 响应文本)的硬性限制。effort 参数为 Claude 分配的思考量提供额外的软性指导。两者结合使用,可让您有效控制成本。

在 high 和 max 努力级别下,Claude 可能会进行更广泛的思考,更有可能耗尽 max_tokens 预算。如果您在响应中观察到 stop_reason: "max_tokens",请考虑增加 max_tokens 以给模型更多空间,或降低努力级别。

使用思考块

以下概念适用于所有支持扩展思考的模型,无论您使用自适应模式还是手动模式。

摘要式思考

启用扩展思考后,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 模型上,思考输出的前几行更为详尽,提供了详细的推理过程,这对提示工程尤其有帮助。Claude Mythos Preview 从第一个令牌开始就进行摘要,因此其思考块不会显示这种详尽的前导内容。
  • 随着 Anthropic 不断改进扩展思考功能,摘要行为可能会发生变化。
  • 摘要以最小的额外延迟保留了 Claude 思考过程的关键思路,从而实现可流式传输的用户体验。
  • 摘要由与您在请求中指定的模型不同的另一个模型处理。思考模型不会看到摘要后的输出。


在极少数情况下,如果您需要访问 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" 会非常有用。其主要优势在于**流式传输时更快获得首个文本令牌:**服务器会完全跳过思考令牌的流式传输,仅传递签名,因此最终的文本响应能够更早开始流式传输。

以下是关于省略思考的一些重要注意事项:

  • 您仍需为完整的思考令牌付费。省略思考可降低延迟,但不会降低成本。
  • 如果您在多轮对话中回传思考块,请原样传递。服务器会解密 signature 以重建原始思考内容,用于构建提示(请参阅保留思考块)。您在回传的省略块的 thinking 字段中放置的任何文本都将被忽略。
  • 当 thinking.type: "disabled" 时,display 无效(因为没有内容可显示)。
  • 当使用 thinking.type: "adaptive" 且模型针对简单请求跳过思考时,无论 display 设置为何值,都不会生成思考块。


无论 display 设置为 "summarized" 还是 "omitted",signature 字段都是相同的。支持在对话的不同轮次之间切换 display 值。



display 设置仅控制可见性。在任何设置下,思考都会发生并以相同方式计费。

thinking.display 的默认值取决于模型:

  • Claude Fable 5、Claude Mythos 5、Claude Opus 4.8、Claude Opus 4.7 和 Claude Mythos Preview: 默认值为 "omitted"。思考块仍会出现在响应流中,但除非您显式选择加入,否则其 thinking 字段为空。这是相对于 Claude Opus 4.6 的静默变更,后者的默认值为 "summarized"。
  • Claude Opus 4.6: 默认值为 "summarized"。无需选择加入即可显示可读摘要。

要在默认值为 "omitted" 的模型上接收摘要式思考文本,请显式将 thinking.display 设置为 "summarized":

thinking = {
    "type": "adaptive",
    "display": "summarized",
}

有关 display: "omitted" 的代码示例和流式传输行为,请参阅扩展思考页面上的控制思考显示。那里的示例使用 type: "enabled";使用自适应思考时,请改用:

thinking = {"type": "adaptive", "display": "omitted"}

思考加密

完整的思考内容会被加密并在 signature 字段中返回。当思考块被传回 API 时,该字段用于验证这些思考块确实是由 Claude 生成的。



只有在使用带扩展思考的工具时,才严格需要将思考块发送回去。否则,您可以省略之前轮次中的思考块。如果您将它们传回,API 是保留还是剥离它们取决于所使用的模型:Opus 4.5+ 和 Sonnet 4.6+ 默认会将其保留在上下文中;更早版本的 Opus/Sonnet 模型以及所有 Haiku 模型会将其剥离。请参阅上下文编辑以配置此行为。

如果要发送回思考块,请按照您收到的原样完整传回,以保持一致性并避免潜在问题。

以下是关于思考加密的一些重要注意事项:

  • 当使用流式传输响应时,签名会通过 content_block_delta 事件内的 signature_delta 添加,该事件紧接在 content_block_stop 事件之前。
  • Claude 4 模型中的 signature 值比之前的模型长得多。
  • signature 字段是一个不透明字段,不应对其进行解释或解析。
  • signature 值在各平台之间兼容(Claude API、Amazon Bedrock 和 Vertex AI)。在一个平台上生成的值可以在另一个平台上兼容使用。

Claude Fable 5 和 Claude Mythos 5 上的思考输出

在 Claude Fable 5 和 Claude Mythos 5 上,原始思维链永远不会被返回。您收到的思考块是常规的 thinking 块,而非 redacted_thinking。thinking.display 设置的工作方式与其他模型相同:

  • "summarized" 返回推理的可读摘要。
  • "omitted"(这些模型上的默认值)仍会在响应中包含 thinking 块,但其 thinking 字段为空字符串。

有关思考块的响应结构,请参阅 Messages API 参考。

在同一模型上继续对话时,请将每个思考块按原样传回 API,包括 thinking 字段为空的块。请勿编辑或重构它们。读取摘要文本用于显示是可以的:API 拒绝的是内容被修改过的块,而不是您读取过的块。

当您切换模型时,例如在分类器拒绝回退之后,请从之前的助手轮次中剥离 thinking 和 redacted_thinking 块。思考块与生成它们的模型绑定。其他模型会静默忽略它们而不是拒绝请求,但被忽略的块仍会增加输入令牌。

有两个例外情况,详见回退额度:

  • 回退额度重试必须原封不动地回传被拒绝的请求体。
  • 来自输出中途回退的 fallback 块应保留在其出现的位置。

要了解模型的推理过程,请读取本节所述的 thinking 块,而不是通过提示让模型在响应文本中输出推理。在 Claude Fable 5 上,试图将模型的内部推理作为响应文本一部分引出的请求可能会被拒绝,并返回 stop_details.category: "reasoning_extraction"。有关字段参考和处理指南,请参阅拒绝类别。

定价

有关基础费率、缓存写入、缓存命中和输出令牌的完整定价信息,请参阅定价页面。

思考过程会产生以下费用:

  • 思考期间使用的令牌(输出令牌)
  • 保留在上下文中的先前助手轮次的思考块:在早期 Opus/Sonnet 模型和所有 Haiku 模型上仅保留最后一轮;在 Opus 4.5+ 和 Sonnet 4.6+ 上默认保留所有轮次(输入令牌)
  • 标准文本输出令牌


启用扩展思考时,系统会自动包含一个专用的系统提示以支持此功能。

使用摘要式思考时:

  • **输入令牌:**您原始请求中的令牌(不包括先前轮次的思考令牌)
  • **输出令牌(计费):**Claude 内部生成的原始思考令牌
  • **输出令牌(可见):**您在响应中看到的摘要式思考令牌
  • **不收费:**用于生成摘要的令牌

使用 display: "omitted" 时:

  • **输入令牌:**您原始请求中的令牌(与摘要式相同)
  • **输出令牌(计费):**Claude 内部生成的原始思考令牌(与摘要式相同)
  • **输出令牌(可见):**零思考令牌(thinking 字段为空)


计费的输出令牌数量将不会与响应中可见的令牌数量相匹配。您需要为完整的思考过程付费,而不是响应中可见的思考内容。

要查看内部推理消耗了多少计费输出令牌,请读取响应中的 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 和上下文窗口限制交互。

后续步骤


扩展思考

了解有关扩展思考的更多信息,包括手动模式、工具使用和提示缓存。

Effort 参数

使用 effort 参数控制 Claude 响应的详尽程度。

Was this page helpful?

  • 支持的模型
  • 自适应思考的工作原理
  • 如何使用自适应思考
  • 自适应思考与 effort 参数
  • 自适应思考与流式传输
  • 自适应、手动与禁用思考的对比
  • 重要注意事项
  • 验证变更
  • 提示缓存
  • 调整思考行为
  • 成本控制
  • 使用思考块
  • 摘要式思考
  • 控制思考显示
  • 思考加密
  • Claude Fable 5 和 Claude Mythos 5 上的思考输出
  • 定价
  • 其他主题
  • 后续步骤