1.Extended thinking
此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org
==================================================
重要提示:Extended Thinking 与某些其他功能不兼容,特别是消息预填充和温度参数。请查看完整的限制列表:https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#feature-compatibilityhttps://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#feature-compatibility
Extended thinking 是 Claude 的高级推理功能,它让模型有时间在生成最终回复之前处理复杂问题。可以把它想象成 Claude 的"草稿纸"——你可以看到得出答案的推理过程,这有助于提高透明度,并且通常能产生更高质量的回复。
Extended Thinking 的工作原理
当启用 extended thinking 时,Claude 的回复从简单的文本块变为包含两个部分的结构化回复:

启用 thinking 后,你将同时获得推理过程和最终答案:

主要优势包括:
- 在复杂任务上具备更好的推理能力
- 在困难问题上提高准确性
- 对 Claude 思维过程的透明度
然而,也存在重要的权衡:
- 更高的成本(你需要为思考token付费)
- 增加的延迟(思考需要时间)
- 代码中更复杂的响应处理
何时使用扩展思考
决策很简单:使用你的提示评估。首先在不启用思考的情况下运行你的提示,如果在你已经优化了提示之后准确性仍然无法满足要求,那么再考虑启用扩展思考。这是一个在标准提示无法完全满足需求时使用的工具。
响应结构和安全性
扩展思考响应包含一个特殊的签名系统来确保安全性:

签名是一个加密token,确保你没有修改思考文本。这防止开发者篡改Claude的推理过程,因为这可能会将模型引向不安全的方向。
Redacted Thinking
有时你会收到一个经过编辑的思考块,而不是可读的推理文本:

这种情况发生在Claude的思考过程被内部安全系统标记时。经过编辑的内容包含以加密形式存在的实际思考,允许你在未来的对话中将完整的消息传回给Claude,而不会丢失上下文。
Implementation
要在您的代码中启用扩展思考功能,您需要在聊天函数中添加两个参数:
def chat(
messages,
system=None,
temperature=1.0,
stop_sequences=[],
tools=None,
thinking=False,
thinking_budget=1024
):
thinking budget(思考预算)设置了Claude用于推理的最大token数量。最小值为1024个token,并且您的max_tokens参数必须大于您的thinking budget。
将思考配置添加到你的 API 参数中:
if thinking:
params["thinking"] = {
"type": "enabled",
"budget": thinking_budget
}
然后启用思考功能进行调用:
chat(messages, thinking=True)
测试编辑后的响应
出于测试目的,你可以通过发送特殊触发字符串来强制 Claude 返回编辑后的思考块。这有助于确保你的应用程序能够优雅地处理编辑后的响应,而不会崩溃。
扩展思考是一个强大的功能,当你需要 Claude 处理复杂推理任务时非常有用,但考虑到成本和延迟的影响,请谨慎使用。从标准提示开始,彻底优化,然后在需要额外推理能力时再添加思考功能。
==================================================
此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org