扩展思考与思考力度
对于难题,Claude 可以花费额外算力 在作答前思考——从而在多步推理、棘手代码和数学上提升准确率。你可以大致控制要花费 多少 力度。本课将教你按任务匹配深度、通过 API 开启思考,并在不超付的前提下为其做预算。
- 说明这一权衡:思考越少越快越便宜,思考越多在难题上越好
- 为给定的工作负载选择合适的思考力度档位(低 / 中 / 高)
- 在 Messages API 上启用扩展思考,并读取返回的思考块与文本块
- 正确预算思考 token,使 budget_tokens 保持低于 max_tokens
- 在智能体中并结合思维链提示明智地运用思考力度
思考力度背后的唯一理念
思考是一个旋钮,而非一个开关。设想它的两端:
- 少思考 = 更快、更便宜——适用于简单、规格明确的任务。
- 多思考 = 在真正困难的问题上表现更好,但延迟/成本更高。
这里有一个让人栽跟头的关键点:对于本就简单的任务,额外的思考 毫无帮助。你只会为此付出延迟和成本。真正的技巧在于把深度花在 能改变答案的地方。
较新的模型将此暴露为一个 思考力度(effort) 控制项(并自动调整思考深度);在这些模型上,你选择的是一个档位,而非原始的 token 预算。让档位与任务相匹配。
第 1 步——选择你的深度
在动任何代码之前,先问自己:这个任务到底有多难? 把它对应到一个档位。
| 任务 | 建议的思考力度 |
|---|---|
| 格式化、抽取、简单问答 | 低 |
| 日常编码、起草、分析 | 中 |
| 棘手的调试、复杂的算法、需谨慎的证明 | 高 |
- 不要把一切都默认拉到最高——为任务用不上的思考付出延迟和成本是不值的。
- 从中等开始;只在质量确有要求时才提高。
自己试试: 在继续阅读之前,先给这三个分类——(a)"从这段文本中抽取邮箱地址",(b)"重构这个函数",(c)"证明这个不等式"。每个适合哪个档位?对照上面的表格检查你的答案。
第 2 步——开启它(API)
在 Messages API 上,用一个 thinking 块和一个 token 预算来启用思考。按这些步骤操作。
Guided walkthrough1 of 3
- 在 messages.create 上传入 thinking={"type": "enabled", "budget_tokens": N} 以启用扩展推理。
- 该预算取自同一个输出池,因此 budget_tokens 必须小于 max_tokens。
- 回复会以一个 thinking 块开头、随后是答案文本——遍历 message.content 并处理每个 block.type。
现在把它接起来。复制这段代码、运行它,看回复以两个块的形式到达——先是推理,然后是答案。
启用扩展思考(Python)
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=16000,
thinking={"type": "enabled", "budget_tokens": 10000},
messages=[{"role": "user", "content": "Prove that 2^n > n^2 for all n >= 5."}],
)
for block in message.content:
if block.type == "thinking":
print("REASONING:", block.thinking)
elif block.type == "text":
print("ANSWER:", block.text)更大的预算买到的是更多的推理空间,而非 Claude 一定会全部用上的保证——深度会随问题自适应。把预算设成一个上限,然后在延迟令人难受时往下调。模型 ID 来自模型表;确切的参数形式在较新的模型上可能不同,因此请对照上面链接的来源加以确认。
第 3 步——在实践中用好它
有三个习惯区分了那些 启用 思考的人和那些 精通 思考的人:
- 扩展思考与 思维链提示 配合得很好——但在推理模型上你往往不必 要求 它逐步推理;思考是在内部发生的。
- 思考会消耗 token,这会影响成本——请据此做预算。
- 对于智能体,在 规划 步骤上投入更多力度、在常规工具调用上投入更少,是一种不错的分配。
- 思考力度/思考是在难题上以延迟和成本换取准确率——对于本就简单的任务它毫无帮助。
- 档位:低用于格式化/抽取/简单问答,中用于日常编码/起草/分析,高用于棘手调试/算法/证明。
- 在 Messages API 上,budget_tokens 取自同一个输出池,因此它必须小于 max_tokens;回复是先一个 thinking 块再一个 text 块。
- 把预算当作上限,而非目标——Claude 只会用问题所需的那么多。
- 在智能体中,把力度花在规划上,并在常规工具调用上节省它。
巩固一下
走之前快速回忆一下——翻转每张卡片并大声作答。
1 / 5