暂不全量迁移;立即建设双协议,按模型灰度。

重新核查后,五家国内厂商中有四家提供官方 Responses 端点,但全部存在模型或能力边界。当前没有厂商公布 Chat Completions 端点的强制下线日期;产品决策应是保留 Chat 默认路径,同时为新模型和后续工具能力建立 Responses 通道。

P0:仓库仍预置已于 2026-07-24 退役的 deepseek-chat 别名,以及已被方舟标记“即将下线”的 doubao-1-5-pro-32k-250115。两者都是具体模型生命周期风险,不是 Chat 端点退役;应先升级并固定版本,再评估协议。 DeepSeek 更新日志 · 方舟模型下线公告

01 / 迁移必要性

中长期必要

新模型与 agentic 能力正向 Responses 聚合;短期没有强制截止日,不需要牺牲现有 Chat 稳定性。

OpenAI 迁移基线
02 / 工程难度

中高,需厂商适配层

不是替换 URL:除协议、TTS 与工具链改造外,还要按厂商处理模型白名单、参数、SSE、状态和工具语义差异。

查看改造范围与厂商矩阵
03 / 行业标准

形态趋同,能力未统一

4/5 已出现 /responses,但模型、参数、事件、工具、结构化输出与状态能力仍是四套兼容画像。

查看厂商证据矩阵
04 / 产品收益

接入与编排收益为主

迁移本身不会自动提高回答质量。收益来自模型接入标准化,以及后续按模型开启搜索、MCP、知识库和工具能力。

查看收益边界与指标
05 / Chat 生命周期

未见端点强制退役

截至 2026-08-06,OpenAI 与五家国内厂商均未公布 Chat Completions 端点下线日;旧自有 API 与模型退役另算。

查看官方生命周期来源
OpenAI baseline

先定义标准,再判断兼容程度

OpenAI 是本页的协议基线,不计入“4/5 国内厂商”筛选。国内厂商只有同时满足相应字段与行为,才能声明某项能力兼容。

REQUEST

POST /v1/responses

messages 改为 input / typed Items;可分离顶层 instructions,令牌上限使用 max_output_tokens

迁移指南
OUTPUT

typed output[]

输出可混合 message、reasoning、function call 等 Item;纯文本可用 SDK output_text,复杂流程按类型遍历。

Messages → Items
STREAM

语义化 SSE 事件

文本、工具参数、完成、失败与不完整状态分别发事件;不能继续只解析 Chat 的 choices[].delta[DONE]

流式响应
STATE

三种上下文策略

可完整重放 Items、使用 previous_response_id,或使用 Conversations;前一 response 的顶层 instructions 不自动继承。

会话状态
生命周期基线:OpenAI 当前明确写着 “Chat Completions remains supported”,并推荐新项目使用 Responses;官方弃用页截至调研日期未列出 /v1/chat/completions 端点的下线计划。模型快照退役不等于端点退役。 迁移说明 · 弃用清单
Vendor matrix

厂商结论必须落到模型与接口行为

“支持”只表示官方公开了 Responses 形状端点;不代表全部模型、参数、状态、工具或流事件与 OpenAI 完全一致。

厂商 支持判断 接口性质 模型覆盖 主要差异 / 限制 Chat 生命周期与建议
阿里云百炼 支持/compatible-mode/v1/responses OpenAI Responses 兼容实现;官方明确不是参数与行为的完整等价。 北京 31 个 Qwen ID;新加坡 30、美国 21、德国 12,东京又分部署方式。百炼托管的第三方模型不自动继承。 未列参数会被忽略;不支持 background;未列 text.format;Conversations 仅北京/新加坡,response ID 7 天;工具还有二级模型白名单。 截至本日未见 Chat 端点退役公告。旧自有 Responses URL 将停止维护、无日期;Assistant API 退役也不等于 Chat 退役。
智谱 未见官方支持0 个模型确认 官方 OpenAI 兼容文档只覆盖 /chat/completions,不是 Responses。 当前 GLM 文本与视觉模型均无官方 Responses 证据。 Chat SSE 使用 choices[].delta + [DONE];思考在 reasoning_contenttool_choiceauto;结构化输出仍是 Chat 形状。 截至本日未见 Chat 端点退役公告,也无 Responses 迁移要求。继续使用 Chat;另行治理已退役的 GLM 模型版本。
MiniMax 支持子集/v1/responses 官方称 OpenAI Responses API compatible main endpoint;能力明显收敛,不能按完整标准实现。 MiniMax-M3 明确;M2.7 / 2.5 / 2.1 / M2 由 Responses 文档按 M2.x 家族覆盖,逐型号仍应烟测。 previous_response_id / conversation / 请求侧 store;仅 function + none/auto;无结构化输出;SSE 未公布事件 union;M3 迁移会改变默认 thinking 与温度上限。 截至本日未见 Chat 端点退役公告。旧原生 /text/chatcompletion_v2 已标 deprecated、无截止日。小智尚无 MiniMax LLM 预置,先做隔离试点。
火山方舟 支持/api/v3/responses 方舟原生 Responses 运行时,可用 Ark SDK 与 OpenAI SDK;仍是厂商实现而非 OpenAI 服务本身。 250615 及以后版本的大语言模型默认支持;doubao-1-5-pro-32k-character-250715 明示例外,rolling alias 不能套规则。 不支持 TPM 保障包、精调在线推理、智能路由与版本切换;结构化输出仍为 beta;缓存、tools 与 instructions 有组合限制。 截至本日未见 Chat 端点退役公告。当前预置 doubao-1-5-pro-32k-250115 不满足版本规则且“即将下线”,应先升级模型。
DeepSeek 仅一款模型POST /responses 官方称“原生支持 Responses API 格式”,但兼容表显示为明显裁剪的子集。 deepseek-v4-flash(V4-Flash-0731)支持;deepseek-v4-pro 截止本日仍不支持。 previous_response_id / conversation / store;不支持图像文件;不受支持字段多被静默忽略;SSE 无 [DONE];hosted tools 仅有限子集。 截至本日未见 Chat 端点退役公告;但 deepseek-chat / deepseek-reasoner 别名已于 7 月 24 日停用。V4-Flash 可做无状态小流量试点。

“未见官方支持”表示官方文档、API Reference 与 SDK 资源中均未找到 Responses 端点;不等同于永久不支持。家族级覆盖也不等于逐型号已经过生产验证。所有结论截止 2026-08-06。

统一生命周期结论:五家厂商均未公布 Chat Completions 端点的强制淘汰日期。应区分“协议端点退役”“旧自有 API / SDK 退役”和“具体模型 / 别名退役”。小智当前的 DeepSeek 旧别名已退役,豆包 250115 预置已进入下线风险;此外,百炼 qwen3-coder-plus 已排期 2026-10-10 下线,智谱 glm-4.5-flash 已于 2026-01-30 下线,均不能误写为 Chat 协议退役。 百炼模型下线 · 智谱模型生命周期 · 方舟模型下线
Model-level evidence

模型级支持清单

展开查看精确模型 ID、版本与限制。生产路由应使用固定模型 ID、地域、套餐和能力快照,而不是厂商布尔开关。

阿里云百炼 · 北京地域 31 个 Qwen ID

判定

可进入 Responses 试点;属于 OpenAI 格式兼容层。北京 31、新加坡 30、美国 21、德国 12 个 ID;东京按地域部署 2 个、全球部署 11 个,均需按实际部署方式复核。

不应自动纳入

Qwen-VL / Omni / Realtime / Audio / 图像 / 视频、旧 qwen-turbo / qwen-long,以及百炼托管的 DeepSeek、GLM、Kimi、MiniMax。

无日期后缀
qwen3.8-maxqwen3.7-maxqwen3-maxqwen3.7-plusqwen3.6-plusqwen3.5-plusqwen3.7-flashqwen3.6-flashqwen3.5-flash
固定快照
qwen3.7-max-2026-05-20qwen3.7-max-2026-06-08qwen3-max-2026-01-23qwen3.7-plus-2026-05-26qwen3.6-plus-2026-04-02qwen3.5-plus-2026-04-20qwen3.5-plus-2026-02-15qwen3.7-flash-2026-07-15qwen3.6-flash-2026-04-16qwen3.5-flash-2026-02-23
开源尺寸版
qwen3.6-35b-a3bqwen3.5-397b-a17bqwen3.5-122b-a10bqwen3.5-27bqwen3.5-35b-a3b
通用 / Coder
qwen-plusqwen-flashqwen3-coder-plusqwen3-coder-flash
OCR / Character
qwen3.5-ocrqwen-plus-characterqwen-flash-character
状态 / 流式边界
Conversations 仅北京、新加坡;与 previous_response_id 互斥,ID 有效期 7 天,上一轮 instructions 不继承。官方事件枚举未列 function arguments delta,工具流式参数不能按 OpenAI 等价处理。
生命周期提醒
qwen3-coder-plus 虽仍在 Responses 白名单,但官方已排期 2026-10-10 下线;新接入不应选它。

创建响应(模型白名单与参数) · Conversations 地域与语义 · 模型下线计划

火山方舟 · 250615+ 大语言模型默认支持

规则覆盖

官方规定 250615 及以后版本的大语言模型,如无特殊说明默认支持。当前代表型号包括 Seed 2.1 Pro / Turbo、Seed 2.0 Pro / Lite / Mini / Code、Seed 1.6 / 1.8,以及方舟托管的 DeepSeek V4、GLM 4.7 / 5.2。

明确排除

doubao-1-5-pro-32k-character-250715 不支持;250115 的 Pro / Lite / Vision 仅 Chat。Seedream、Seedance、Embedding、3D 与语音走专用 API。

Seed 2.x 候选
doubao-seed-2-1-pro-260628doubao-seed-2-1-turbo-260628doubao-seed-2-0-pro-260215doubao-seed-2-0-lite-260215doubao-seed-2-0-lite-260428doubao-seed-2-0-mini-260215doubao-seed-2-0-mini-260428doubao-seed-2-0-code-preview-260215
Seed 1.x 候选
doubao-seed-1-8-251228doubao-seed-1-6-250615doubao-seed-1-6-251015doubao-seed-1-6-flash-250615doubao-seed-1-6-flash-250828doubao-seed-1-6-vision-250815doubao-seed-character-251128doubao-seed-character-260628doubao-seed-code-preview-251028doubao-seed-translation-250915
当前仓库预置
doubao-1-5-pro-32k-250115:不满足 250615+ 默认规则,且最新模型表标记“即将下线”。P0 是先升级模型;在此之前保持 Chat。
不可套用规则
doubao-seed-evolving 等无日期 rolling alias 必须真实调用验证;doubao-1-5-pro-32k-character-250715 明确不支持 Responses。
场景限制
Responses 不支持 TPM 保障包、精调后模型在线推理、智能模型路由、在线推理服务模型版本切换;内置工具不推荐 Seed 1.6 Flash。
扩展与组合约束
支持 store / previous response、搜索、MCP、知识库等扩展;结构化输出为 beta。缓存链、instructionstoolsjson_schema 存在互斥规则。

迁移规则 · 最新模型清单 · 模型下线公告

DeepSeek · V4-Flash 支持,V4-Pro 暂不支持
Model ID底层版本Responses小智建议
deepseek-v4-flashDeepSeek-V4-Flash-0731支持子集无状态 Responses 适配;关闭不支持能力;小流量试点。
deepseek-v4-proDeepSeek-V4-Pro不支持继续 Chat。官方“8 月初计划”不能替代已上线证据。
deepseek-chat
deepseek-reasoner
旧别名已停用P0:从仓库预置移除;不要把模型退役误写为 Chat 端点退役。

上下文与输入

  • previous_response_id、conversation、store;每轮重放完整 input。
  • 不支持图片/文件;input_image 可能静默替换为占位文本。
  • 不支持项多数被静默忽略,HTTP 200 不是能力证明。

流式与工具

  • typed SSE + sequence_number,无 [DONE];需忽略 keep-alive 注释。
  • function 与 web search 可用;file search、code interpreter、MCP 等被忽略。
  • parallel_tool_calls 被忽略且始终并行;arguments 必须客户端校验。

结构化输出

  • text.format 支持 text、json_object 与 json_schema。
  • 这不代表工具、状态或多模态能力完整;仍须对 Flash 固定版本做 schema 约束烟测。

DeepSeek:Responses API 兼容说明

智谱 · 0 个 Responses 模型确认

截至 2026-08-06,以下普通对话模型只找到 Chat API 证据:glm-5.2glm-5.1glm-5-turboglm-5glm-4.7glm-4.7-flashglm-4.7-flashxglm-4.6glm-4.5-airglm-4.5-airxglm-4.5-flashglm-4-flash-250414glm-4-flashx-250414。视觉模型也应继续走 Chat / 专用接口;“未见”不是永久不支持。

glm-4.5-flash 虽仍残留在 Chat API 枚举中,官方模型页写明已于 2026-01-30 下线并自动路由至 GLM-4.7-Flash;这是模型生命周期,不是 Chat 端点退役。

OpenAI API 兼容(Chat) · GLM-4.5-Flash 生命周期

MiniMax · M3 明确;M2.x 家族覆盖、逐型号烟测

模型分级

MiniMax-M3 有明确 Responses 示例。官方 Responses 文档按“M2.x models”描述行为;当前型号包括 MiniMax-M2.7 / highspeed、M2.5 / highspeed、M2.1 / highspeed 与 M2,逐型号上线前需烟测。M2-her、M1、Text-01 及生成类模型无覆盖证据。

行为陷阱

M3 在 Chat 默认开启 thinking,在 Responses 省略 reasoning 时默认关闭;M2.x 则不能关闭。Responses 温度上限为 1,不能原样透传 Chat 中大于 1 的配置。

状态与流式

没有 previous_response_id、conversation、请求侧 store 或 retrieve / delete;响应固定 store:false,必须重放完整 Items。SSE 已支持,但官方 OpenAPI 未定义完整事件集合,上线前必须固定事件 fixture。

工具与结构化输出

只支持 function,tool_choice 仅 none / auto;无 Web Search、File Search 或 MCP;text.format 仅 text,不支持 json_object / json_schema。

中国区 Create Response · 国际区 Create Response

Product value

把接口收益与功能收益分开衡量

Responses 是能力承载方式,不是模型质量开关。回答质量仍由具体模型、提示词、上下文与工具结果决定,必须用同模型、同提示词的评测集比较。

INTERFACE VALUE

接口迁移直接带来的收益

建立统一的 Items / event / capability 契约,缩短新模型适配与回滚路径;把厂商差异收敛在 adapter,而不是扩散到 TTS 和工具链。

FEATURE VALUE

后续能力上线才产生的收益

搜索、MCP、知识库、代码解释器和服务端上下文只有在“厂商 + 模型 + 地域 + 套餐”全部通过验证后才有产品价值,不能由端点存在自动推导。

NOT GUARANTEED

不会自动改善的结果

迁移本身不保证回答质量、首字延迟、工具成功率或成本下降。首期完整历史重放甚至不会自然减少长对话输入 token。

OpenAI 声明的原生收益仅作标准基线
指标统一口径建议上线门槛验证目的
新模型接入周期从 API Key、地域和固定模型 ID 就绪,到 1% 真实流量的日历天数;记录中位数与 P90。复用 adapter 后不高于最近 Chat 接入中位数验证协议抽象是否真正减少厂商接入工作。
首字延迟用户语音结束到首段可播文本进入 TTS 队列的 P50 / P95。P95 不劣于同模型 Chat 基线 10% 以上防止 typed SSE 解析、reasoning 分流或工具等待拉长体验。
工具成功率合法 function call 最终得到可用 Action 结果的比例;单工具、并行工具分开统计。不低于同模型 Chat 基线验证 call_id、参数增量、超时和递归闭环。
空回复率既没有可播文本、也没有可执行工具,或以 failed / incomplete 非预期结束的请求比例。不高于 Chat 基线 +0.2 个百分点发现事件漏解析、静默忽略参数和异常收尾问题。
长对话成本固定 20 轮脚本的输入 / 输出 / reasoning token、缓存命中与人民币单会话成本。replay 与 provider state 分开核算,不预设必降区分接口形态、缓存和服务端状态的真实成本。
协议回退率Responses 在任何输出前因 404 / 405 / 不支持能力切回 Chat 的请求比例。预输出回退 <1%;产生文本或工具后的跨协议重试 = 0验证白名单质量并避免重复播报或重复执行工具。

门槛是小智项目的建议验收线,不是厂商承诺;首次灰度前应先冻结当前 Chat 基线,再用同模型、同提示词、同工具集比较。

Xiaozhi feasibility

项目可行,但核心改造与厂商特定适配并存

当前实现不是独立“OpenAI SDK 封装”;Chat 对象形状已渗透到请求、流式增量、对话持久化与工具递归调用。同名 Responses 端点也不能共用一套无差别配置。

维度当前小智 / ChatResponses 基线需要的改造
请求根结构messages + max_tokens;provider 按域名拼接 extra_bodyinput / typed Items;instructionsmax_output_tokens请求 mapper + vendor profile;未在能力表中的参数不发送,避免静默忽略。
响应与文本choices[0].message.contentchoices[0].delta.contentoutput[] 混合 message / reasoning / function call;纯文本可聚合为 output_text按 Item 类型解析,再转为内部 TextDelta / Usage / Done 事件。
流式输出遍历 Chat chunk,直接把 content 送入 TTS;工具增量依赖 SDK 对象字段。typed SSE:response.output_text.deltafunction_call_arguments.delta、completed / failed 等。新增事件 dispatcher、序号去重、keep-alive 忽略、未完成/失败收尾;保持 TTS 首字延迟。
多轮上下文Dialogue 保存 Chat role/message,整段历史每轮重传。可重放 Items、用 previous_response_id,或 Conversations API。第一阶段继续客户端重放并显式 store=false;服务端状态仅对通过合规与到期测试的模型开启。
工具定义{type:"function", function:{...}};Chat tool_calls扁平 function 定义;独立 function_call Item。工具 schema mapper;显式 strict:false 保持旧行为,再逐步补严 schema。
工具结果assistant(tool_calls) → role=tool(tool_call_id) → 递归 chat()function_call_output 通过同一 call_id 关联。内部保持 call_id;对 Chat / Responses 分别序列化。工具一旦执行,禁止自动跨协议重试。
结构化输出主 LLM provider 未暴露统一结构化输出;各厂商多使用 response_formattext.format / JSON Schema;厂商支持差异大。作为独立 capability;阿里当前不计支持,DeepSeek 可试,火山按模型验收,Chat 保留旧字段。
错误 / 超时 / 重试provider 只配置 HTTPX 超时;连接层捕获广义异常并播放统一错误文案。还会出现 typed failed/incomplete、长工具任务、流中断和状态过期。统一错误分类、首包/空闲/总时限、幂等边界;只允许在首个 delta 与工具执行前回退。
为什么工程难度是中高:通用的 Items、事件和工具闭环可以统一,但厂商差异无法完全抹平。需要保留一套公共 ResponsesAdapter,再通过 VendorProfile / capability matrix 注入特定规则;厂商判断必须精确到 vendor + region + model + version + plan,不能在 TTS、Dialogue 或工具业务代码中散落域名判断。
厂商必须特殊处理的差异适配器责任不能放进公共逻辑的假设
阿里云百炼地域 host 与模型集合不同;未列参数会被忽略;Conversations 仅北京/新加坡且 response ID 7 天;工具另有模型白名单,官方事件枚举未列工具参数 delta。地域能力表、参数 allowlist、状态 TTL、工具事件整包/增量兼容解析。不能假设所有地域、Qwen 或百炼托管模型都支持,也不能依赖永久 response ID。
智谱截至调研日没有官方 Responses 端点,仍是 Chat SSE、reasoning_content 和 Chat 工具结构。强制路由 chat_completions;保留独立 Chat parser 与模型生命周期表。不能因“OpenAI compatible”名称直接调用 /responses
MiniMax中国/国际 host 不同;无服务端状态续接;M3 与 M2.x 的 reasoning 默认行为不同;温度上限为 1;SSE 未公布完整事件 union。host profile、reasoning/temperature 参数归一化、完整历史重放、真实事件 fixture。不能复用 OpenAI 的状态、结构化输出或完整流事件假设。
火山方舟按 250615+ 版本规则与例外判定;rolling alias 需实测;默认存储与组合限制不同;内置工具和事件类型有方舟扩展。固定版本白名单、store=false 默认值、能力组合校验、方舟扩展事件映射。不能仅按厂商或模型家族开 Responses,也不能把内置工具能力视为全模型可用。
DeepSeek目前仅 V4-Flash;无状态;不支持字段多被静默忽略;SSE 无 [DONE] 且含 keep-alive;并行工具行为不可由参数关闭。严格字段 allowlist、无状态 replay、keep-alive/完成事件解析、工具参数校验与幂等保护。不能把 HTTP 200 当作能力生效,也不能假设 V4-Pro 或旧别名可走 Responses。

特殊适配应是“声明式 profile + 少量厂商 parser”,而不是复制五套完整 provider。公共层只暴露 TextDeltaToolCallUsageDoneError 等归一化事件。

当前耦合点

  • core/providers/llm/openai/openai.py:94–115 构造 Chat 请求并固定调用 chat.completions.create;当前锁定 openai==2.8.1
  • openai.py:119–176 直接解析 choices[].delta、Chat tool_calls 与 usage。
  • core/utils/dialogue.py:34–48 只序列化 Chat 消息 / tool role。

语音与工具风险

  • core/connection.py:1135–1200 边收 token 边推 TTS。
  • :1154–1175 还会把 direct_answer 工具参数安全缓冲后直接送 TTS;不能把 reasoning 或重复 delta 混入。
  • :1306–1351 并行执行工具,已有 30 秒工具超时。
  • :1057–1086 把工具递归深度限制为 5;:1402–1482 写回 Chat 工具链并递归调用。
  • :1805–1831 按 Chat 的稠密数值 index 合并工具增量;Responses 需按 item_id / call_id 归一化。

现有配置现实

  • 百炼当前 qwen-flash、智谱 glm-4-flash、豆包 doubao-1-5-pro-32k-250115、DeepSeek deepseek-chat;后三者预置都复用 type:"openai" 的 Chat provider。
  • 百炼 AliBL 是 Application API,且 function call 退化为纯文本,不等同于模型 Responses。
  • MiniMax 只有 TTS 预置,没有 LLM 预置。
  • OpenAIStyleLLMServiceImpl.java:139–155 / 233–249 / 385–401 的总结、历史总结、标题三条调用都硬编码 /chat/completions 与 Chat 解析;其 RestTemplate 也未见项目级超时配置。
Dialogue内部 canonical turn / tool call
不绑定外部协议
Protocol Router显式 model capability
Chat / Responses 双路由
Vendor Adapter + Profilecapability / request mapper
SSE / output parser
Normalized eventsTextDelta · ToolCall
Usage · Done · Error
推荐状态策略:首期坚持本地 canonical history 为真源并完整重放 Items,显式关闭服务端存储。这样兼容无状态的 DeepSeek / MiniMax,也保留跨厂商切换、上下文裁剪和数据治理能力。previous_response_id 或 Conversations 只作为百炼(Conversations 仅北京/新加坡)与方舟的可选优化,不作为核心正确性依赖;同一会话保持协议粘性。
PHASE 0

基线与 P0

3–5 天
  • 修复 DeepSeek 旧别名
  • 升级即将下线的豆包 250115 预置
  • 冻结当前 Chat 行为基线
  • 落模型能力表并采集 TTFT / 工具率
PHASE 1

协议抽象

1–2 周
  • 定义 normalized event
  • 保留 ChatAdapter
  • 新增 ResponsesAdapter + VendorProfile
  • 纯文本 + 流式 fixture
PHASE 2

工具与上下文

1–2 周
  • function schema 转换
  • call_id 工具闭环
  • reasoning / text 分流
  • 中断、超时、并行工具测试
PHASE 3

厂商试点

2 周
  • 百炼固定 Qwen 快照
  • 方舟 Seed 2.1 固定版本
  • MiniMax M3 / DeepSeek Flash 各 1%
  • 影子对比与成本核算
PHASE 4

按模型推广

持续
  • 逐模型 1% → 10% → 50%
  • 智谱与不支持版本继续 Chat
  • 可选启用服务端状态
  • 季度复核官方能力表
Risk & rollback

风险、门禁与回滚

回滚必须是配置级、会话级且无副作用。已经播报文本或执行工具后,不能在同一轮自动切协议重放。

风险级别触发方式前置门禁 / 缓解回滚
厂商支持 ≠ 模型支持HIGH未列模型返回 404 / 400,或参数被静默忽略。精确 model ID + region + plan + capability 快照;上线前真实探针,不以 HTTP 200 代替功能验证。按模型将 api_mode 切回 chat_completions
具体模型生命周期HIGHDeepSeek 旧别名已退役;豆包 250115 预置即将下线;滚动别名或兼容路由掩盖真实版本。生产固定版本并记录官方退役日;P0 升级现有两个预置,再做协议灰度。切换到已验证的新模型;这不是协议回滚。
工具重复执行HIGH流中断后自动重试或从 Responses 回退 Chat。工具 dispatch 前建立幂等键;任何 tool call / text delta 发生后禁止跨协议自动回退。会话固定原协议;人工重试新一轮。
TTS 重复或断句漂移HIGHdone 事件与 delta 双计;reasoning 被误播;序号重复。只消费 output_text.delta;按 event / sequence 去重;reasoning 单独丢弃或记录。该模型流量归零,恢复 Chat chunk parser。
上下文丢失 / 到期MEDprevious response 过期、store 关闭或厂商无状态。首期以本地 canonical history 为真源;服务端 ID 只是缓存优化。切到 replay 模式,无需迁移会话数据。
参数静默降级HIGH阿里 / DeepSeek 忽略不支持字段,但仍返回 200。adapter 只发送白名单参数;用负向契约测试验证“应该失败 / 应该生效”。关闭该 capability,不必关闭整个模型。
隐私与存储差异MEDResponses 默认 store 或响应 ID 可跨轮检索。默认 store=false;服务端状态需合规审批、保留期与删除测试。立即切回本地重放并清理可检索 ID。
文档 / 行为漂移MED滚动别名变更、灰度能力、SDK 对象变化。生产优先固定快照;记录 verified_at;季度复核并运行最小实测集。冻结上一版能力表与适配器。

上线门禁

  • 纯文本、中文、emoji、长输出
  • 首包 / 空闲 / 总超时与主动中断
  • 单工具、并行工具、畸形 JSON、工具超时
  • 多轮重放、上下文裁剪、模型切换
  • 429 / 5xx / 404 / failed / incomplete

灰度指标

  • 成功率与分类错误率
  • 首 token 延迟与端到端语音延迟
  • 重复播报率、空回复率、工具成功率
  • 输入 / 输出 / reasoning token 与单轮成本
  • 协议回退率与回退前是否已产生副作用

回滚开关

  • api_mode=chat_completions|responses 按模型配置
  • state_mode=replay|provider 独立开关
  • responses_traffic_percent 灰度权重
  • 会话内 sticky routing,不中途换协议
  • ChatAdapter 在全量稳定前不删除
Official sources

官方资料

只使用厂商官方开发文档、API Reference、更新日志与官方 SDK 仓库;未用聚合网关或社区转述支撑支持结论。

证据边界:本次未使用五家厂商的生产 API Key,因此“支持”来自官方 B/C 级证据,不等于已通过小智真实端到端回归。上线前仍需对具体账号、地域、套餐与模型做 A 级实测。

判定口径:只有官方明确给出 /responsesclient.responses.create() 才计支持;“OpenAI compatible”、Chat Completions、Anthropic Messages、AI SDK provider 或自有 Agent API 均不能替代 Responses 证据。