语音摘要 — 点击播放以跟读:正在朗读的行会保持在顶部附近。
某些任务需要的不仅仅是一个快速答案。Claude可以在给出最终回复前对问题进行逐步推理——这一功能称为扩展思考。在本课中,我们将了解什么是思考功能、如何启用它以及何时真正需要它。
以下是我们试图避免的错误模式。当向模型提出一个多步骤问题时,如果让它立即回答,可能会得到自信但错误的答案:
图表显示应用向模型发送多步骤苹果问题,模型立即回复错误答案:你会有6. 5个苹果
什么是扩展思考?
扩展思考让Claude在生成最终回复前进行逐步推理。启用该功能时,Claude会先生成内部推理标记——通常称为思维链——然后才输出答案。这些推理过程并非隐藏:你可以在回复中看到它们与最终文本一起呈现。
Opus 4.7的自适应思考
在Opus 4. 7中,思考功能是自适应的。你不需要设置标记预算,只需开启功能,Claude会动态决定何时思考及思考深度。
要控制Claude的思考深度,可使用effort参数。注意:该参数应放在output_config内部,而非thinking块旁边。可选级别包括:
- low
- medium
- high(默认值)
- xhigh(额外深度)
- max
使用时机(及何时跳过)
扩展思考适用于:
- 数学和多步骤逻辑问题
- 代码调试
- 法规分析
- 任何涉及权衡或多方案比较的场景
幻灯片展示扩展思考的用例:数学、多步骤逻辑、代码调试、法规分析和复杂比较
对于简单分类、信息提取或模板化任务则可跳过该功能,因为这些场景下只会增加延迟和成本,而不会提升结果质量。
实战演示
让我们看一个具体案例。这里有一个带天气查询工具的代理循环,我们将让Claude规划从旧金山出发的公路旅行——包含两个停留点,需权衡天气和驾驶时间。这正是需要思考功能的典型权衡场景。
import anthropic
client = anthropic. Anthropic() weather_tool = { "name": "get_weather", "description": "获取城市当前天气", "input_schema": { "type": "object", "properties": { "city": {"type": "string", "description": "城市名称"} }, "required": ["city"], }, }
response = client. messages. create( model="claude-opus-4-7", max_tokens=16000, thinking={"type": "adaptive"}, output_config={"effort": "high"}, # low | medium | high | xhigh | max tools=[weather_tool], messages=[ { "role": "user", "content": "规划从旧金山出发的公路旅行,包含两个停留点,需权衡天气和驾驶时间。", } ], )
运行此代码时,输出会比常规回复更有趣。你将看到思考区块展示Claude的权衡过程,接着是对每个城市的工具调用,最后是包含实际建议的文本区块。
整个推理过程清晰可见——这正是该功能的核心价值。
生产环境的重要性
在生产应用中,这决定了代理是逐个解决问题还是能建立问题间的关联。以合规审查应用为例:在自动审查调用中启用自适应思考后,代理能够跨报告章节进行推理——例如发现第三章的风荷载规范与文档其他部分的材料规范存在冲突。
合规审查应用界面显示已启用"彻底审查"复选框,运行跨章节引用发现的自动审查
重点回顾
- 扩展思考让Claude在回答前进行充分推理,且推理过程在回复中可见
- 在Opus 4. 7中,通过thinking: {"type": "adaptive"}启用——无需标记预算,Claude自主决定思考时机和深度
- 通过output_config中的effort参数调节思考深度:low、medium、high(默认)、xhigh或max
- 适用于复杂、多权衡点的难题。简单任务则可跳过该功能——此时只会徒增延迟和标记消耗