什么是思考?
有些任务需要的不仅仅是快速回答。Claude可以在回应之前先处理一个问题——这项功能称为扩展思考。在本课中, 我们将了解什么是思考、它是如何运作的,以及它在什么时候 真正有帮助。
这是我们试图避免的失败模式。向模型提出一个多步骤问题并让它立即回答,它可能会自信地给出错误答案:

什么是扩展思考?
扩展思考让Claude在生成最终回应之前逐步推理。启用后,Claude会生成内部推理令牌——通常称为思维链——然后给出答案。在Claude Opus 5上,除非您请求中的thinking设置包含"display": "summarized"(如下面的示例所示),否则思考文本会保持隐藏。当包含该设置时,Claude推理过程的摘要会随最终文本一起返回在响应中。
Claude Opus 5上的自适应思考
在Opus 5上,思考是自适应的,并且默认开启。没有需要选择的令牌预算: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上,自适应思考默认开启——无需令牌预算。添加
"display": "summarized"即可在响应中看到推理过程。 - 使用
output_config内的effort参数来调节深度:low、medium、high(默认)、xhigh或max。 - 将其用于困难的、充满权衡取舍的问题。对于简单的问题请跳过它——在那种情况下它只会消耗延迟和令牌。