OpenAI Stateful Reasoning
支持 stateful reasoning 的推理模型可跨轮复用思考状态 —— 通过
tags: ["stateful"]+rs_id让后续轮次直接基于上一轮的内部推理继续,避免重复 reasoning 计费。
适用接口与模型
- 接口:
v1/responses(OpenAI Responses API,不支持 Chat Completions) - 适用模型:以 Response 模型清单 中支持 stateful reasoning 的推理型号为准。
- 不需要:
gpt-5.1-chat等非思考模型(普通多轮处理即可) - 注意:本页示例为 stateful 能力限定示例,不是通用模型推荐;普通推理优先从
gpt-5.5/gpt-5.4系列选择。
触发参数
tags ["stateful"] 必传,告知平台启用 stateful 模式
rs_id string(可选) 上一轮响应返回的 response id;新会话首次不传
工作机制
- 第一次调用时不传
rs_id,响应里返回id(即rs_id)与本次思考状态。 - 第二次调用带上
tags: ["stateful"]+ 第一次返回的rs_id,模型会直接复用上一轮的内部推理,不再从头思考。 - 状态由平台内存中保留,有效期有限,长时间不调用后失效。
示例
Turn 1(开新会话)
curl $TURING_BASE_URL/responses \
-H "Authorization: Bearer $TURING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "turing/gpt-5.2",
"input": "请帮我分析量子计算的发展趋势",
"reasoning": {"effort": "high"},
"tags": ["stateful"]
}'
# 响应里返回 id: "rs_abc123..."
Turn 2(基于上一轮状态继续)
curl $TURING_BASE_URL/responses \
-H "Authorization: Bearer $TURING_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "turing/gpt-5.2",
"input": "基于刚才的分析,给出投资建议",
"rs_id": "rs_abc123...",
"tags": ["stateful"]
}'
与 Chat Completions 的对比
| 维度 | Chat Completions(无 stateful) | Responses + stateful |
|---|---|---|
| 多轮思考 | 每轮重新执行 reasoning,token 重复计费 | Turn 2+ 复用 Turn 1 的思考状态 |
| 协议支持 | 全协议 | 仅 v1/responses |
| 模型范围 | 所有思考模型 | 以 Response 模型清单中支持 stateful reasoning 的型号为准 |
| 状态持有方 | 客户端通过 messages 管理 | 平台暂存(rs_id) |
| 适合场景 | 普通多轮 chat | 长链复杂推理(数学证明、代码 debug、分析报告) |
注意事项
rs_id不能跨用户复用,每个 API key 维度独立。- 状态有效期受平台限制,长时间空闲后会被清理 —— 失效后请求需要重新从 Turn 1 开始。
- 不能与
v1/chat/completions协议混用 —— Chat Completions 协议下 OpenAI 推理模型本身的思考也不可控、不可见(详见 思考与推理 → OpenAI/Azure)。
相关文档
- Responses API → 有状态思考 —— Responses 协议下的完整字段说明
- 思考与推理 → OpenAI/Azure —— OpenAI 推理模型矩阵
- OpenAI 官方:Reasoning