重要提示
⚠️ 部分模型引入了新的「交错思考(Interleaved Thinking)」行为。在 SiliconFlow 上,通过 Serverless 模型 API 使用 DeepSeek V3.2 和 GLM-4.7 时,模型可能会输出与交错思考相关的结构化内容——最常见于 工具调用(tool-calling) 流程。
为确保正确性、稳定性与最佳性能,请遵循以下指南。
概览
在 SiliconFlow 上,目前支持 交错思考(Interleaved Thinking) 的模型包括:- DeepSeek V3.2
- GLM-4.7
- Agent 式编排
- 工具调用场景
- 编码与调试
- 需要利用工具中间结果推进的多步骤任务
1. 什么是交错思考(Interleaved Thinking)?
在 交错思考 模式下,模型可以:- 判断是否需要调用工具
- 调用工具
- 接收工具返回结果
- 基于中间输出继续推进
- 决定下一步(继续调用工具或输出最终答案)
示意图:包含工具结果的 Turn/Step 结构
下图展示了单个 Turn 如何包含多个 Step,以及模型在收到工具结果之后(即你发送role="tool" 消息后)仍可能继续生成 reasoning_content。为保证工具调用行为正确,必须在整个链路中按原样保留并回放模型返回的
reasoning_content。

2. 工具调用:必须遵守的规则(不可妥协)
在 DeepSeek V3.2 或 GLM-4.7 的 工具调用(tool calling) 场景中,API 可能会在专用字段中返回额外的结构化输出:reasoning_content
reasoning_content 按原样保留,并在后续请求中不做任何修改地回传。
必须保留的内容(包括工具结果之后)
需要明确:必须保留的不仅是 用户消息之后 产生的reasoning_content,还包括 工具结果之后 产生的 reasoning_content。
在启用工具的流程中,模型可能在以下阶段产生推理内容:
- 在任何工具调用之前
- 在多次工具调用之间
- 在接收工具结果之后(即你发送
role="tool"消息后,模型继续生成)
reasoning_content 做到按生成结果原样保留并回放。
包括但不限于:
- 工具调用前输出的内容
- 工具调用之间输出的内容(多步骤工具链)
- 工具结果之后输出的内容
- 跨多个轮次产生的所有
reasoning_content片段(必须保持原始顺序)
禁止行为
❌ 不要:- 修改文本
- “清理”或做任何后处理
- 合并或拆分片段
- 调整片段顺序
- 丢弃
reasoning_content,只保留普通 assistant 文本
- 与工具相关的多步骤行为被破坏
- 跨工具调用表现不稳定
- 缓存效率下降、输出质量劣化
3. 客户端处理清单(推荐)
接收响应时:- 从
content(或流式场景下的delta.content)累积普通 assistant 文本 - 从
reasoning_content(或流式场景下的delta.reasoning_content)累积交错思考文本 - 从
tool_calls(或流式场景下的delta.tool_calls)收集工具调用请求
contentreasoning_content(原样、完整,且顺序与生成一致)tool_calls(按返回结果回传)
delta.*),不影响必须保留与回传的内容要求。
4. 示例:交错思考 + 工具调用(DeepSeek V3.2)
该示例演示在 SiliconFlow 上使用 DeepSeek V3.2。同样的处理模式也适用于 GLM-4.7。
5. 改用 GLM-4.7
若要将示例切换为 GLM-4.7,将:reasoning_content。
总结
在 SiliconFlow 上使用 DeepSeek V3.2 与 GLM-4.7 时:- 交错思考支持多步骤、面向工具的执行
- 在 工具调用 场景下,必须 按原样保留并回放
reasoning_content——包括 工具结果之后 产生的推理内容 - 严禁对
reasoning_content进行修改、丢弃、合并/拆分或重排