扩展思维(Extended Thinking)
概述
扩展思维是 Claude 模型的一种能力,允许模型在生成回复前进行深度推理。思考 token 计入上下文窗口和输出计费,但在多轮对话中会被自动剥离以节省容量。
关键内容
基本机制
- 思考预算 token 是
max_tokens参数的子集 - 按输出 token 计费,计入速率限制
- 所有输入和输出 token(包括思考 token)都计入上下文窗口限制
多轮对话中的思考块剥离
关键设计:Claude API 自动从上下文窗口计算中剔除之前轮次的思考块:
- 思考块在每轮输出阶段生成,但不会作为后续轮次的输入 token 继续传递
- 用户无需自行剥离思考块,API 自动处理
- 思考 token 仅在生成时计费一次
- 有效上下文窗口计算:context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens
与工具使用结合
结合工具使用时,思考块的处理有特殊规则:
- 首轮:工具配置 + 用户消息 → 扩展思考 + 文本回复 + 工具使用请求
- 工具结果回传:必须附带完整未修改的思考块(包括签名部分),这是唯一必须返回思考块的场景
- 第三轮起:思考块可舍弃(API 自动剥离或手动移除),Claude 收到新
user轮次后生成新的思考块
重要:系统使用加密签名验证思考块真实性。修改思考块会导致 API 返回错误。
交错式思考
Claude-Mythos-Preview、Claude-Opus-4-6 和 Claude-Sonnet-4-6 支持交错式思考(交错式思考),允许 Claude 在工具调用之间进行思考。Claude-Sonnet-3-7 不支持此功能。
来源
- raw/articles/ai-engineering/anthropic-developer/Context windows.md — Anthropic 官方文档