摘要音频
本节课没有语音摘要。
学习笔记
Claude 扩展思考 (Extended Thinking) 学习笔记
一、 核心概念与作用
- 定义: 扩展思考允许 Claude 在生成最终回复之前,先花时间对用户查询进行推理和思考。
- 目的: 提高 Claude 处理复杂任务的准确性。
- 应用时机: 当用户已投入大量精力优化提示词 (prompt),但准确性仍不理想时,应考虑启用扩展思考。
二、 权衡与成本 (Trade-offs)
- 成本增加: 思考阶段产生的 Token 会被计费。
- 延迟增加: 思考过程需要时间完成,导致响应延迟增加。
三、 技术实现与结构
- 响应结构变化: 启用扩展思考后,响应不再仅包含用户消息和助手消息,而是会包含一个新的块类型——思考块 (Thinking Block)。
- 思考块内容: 包含 Claude 在思考过程中生成的文本。
- 签名 (Signature): 思考块内包含一个加密的签名。
- 作用: 确保开发者在将消息反馈给 Claude 时,未对思考块中的文本进行任何修改。
- 重要性: 保护思考过程的完整性,防止恶意修改导致 Claude 被引导至不安全的方向。
- 被审查内容 (Redacted Content):
- 当 Claude 的思考文本被内部安全系统标记时,可能会返回一个不含思考文本的思考块。
- 该块包含加密的“被审查内容”,允许开发者在不丢失上下文的情况下,将完整消息反馈给 Claude。
四、 代码实现参数
- 启用方法: 在调用聊天函数时,传入 thinking: true。
- 关键参数:
- thinking: 布尔值,控制是否启用思考。
- thinking_budget: 允许 Claude 用于思考部分的 Token 预算。
- 最小值: 1024。
- 重要限制: max_tokens 必须大于 thinking_budget (例如,预算为 1024,则 max_tokens 至少为 1025)。
- 参数结构: 启用后,需要将 thinking 作为嵌套字典添加到 params 字典中,包含 type: enabled 和 budget_tokens。
五、 测试与调试
- 测试被审查块: 通过向 Claude 发送特定格式的“思考测试字符串”(例如:anthropic magic string triggered redacted thinking),可以强制触发并测试应用对被审查思考块的兼容性。
Takeaways
- 扩展思考允许 Claude 在生成最终回复前进行推理,核心目的是提高处理复杂任务的准确性。
- 启用扩展思考会带来成本增加(计费思考阶段的 Token)和响应延迟增加。
- 响应结构中会新增“思考块”(Thinking Block),用于承载 Claude 在思考过程中生成的文本。
- 思考块内包含加密签名,用于确保开发者未修改思考过程,保护其完整性。
- 通过在调用函数时传入 thinking: true 和 thinking_budget 参数来启用此功能。
抽认卡 9 张卡片
问题
点击显示 · ←/→
答案
点击翻回
知识检测 0 题
No quiz for this lesson yet.