RH
RouterHub AI API 中转站导航与平台推荐
博客

OpenAI Assistants API 将于 2026 年 8 月 26 日关闭:中转 API 迁移 Responses 的检查清单

OpenAI 已明确 Assistants API 将于 2026 年 8 月 26 日关闭。本文从中转 API 用户和 AI Agent 开发者视角,拆解 Responses API 迁移中的接口、会话状态、工具调用。

muchacha 2026-08-20 02:42:25

正文

如果你的 AI Agent、知识库问答或编程代理仍然依赖 OpenAI Assistants API,现在需要把“升级 SDK”改成一次完整的迁移排查。

OpenAI 官方文档已经给出明确时间:Assistants API 将于 2026 年 8 月 26 日关闭。这不是单纯把 URL 从 /v1/assistants 换成另一个地址,而是要同时重新确认对象模型、会话状态、工具调用、流式处理,以及你所使用的中转渠道是否真的支持这些能力。

本文不讨论哪家渠道“最好”,而是提供一套在迁移前可以逐项执行的检查清单。价格、模型列表和接口兼容性都可能随时间变化,文中动态信息以 2026 年 8 月 20 日查阅到的官方资料为准。

先说结论:迁移的核心不是换模型,而是换接口心智模型

OpenAI 的迁移文档把主要变化概括为:

  • Assistants 的配置迁移到可版本化的 Prompts;
  • Threads 迁移为可容纳多种条目的 Conversations;
  • Runs 迁移为 Responses;
  • 原来的消息和运行步骤,改为统一的 Items;
  • Responses API 原生覆盖更丰富的工具调用,包括 Web Search、File Search、Code Interpreter、Computer Use 和远程 MCP。

对使用中转 API 的开发者来说,这带来两个现实问题:

  1. 渠道是否只兼容 Chat Completions 的文本请求,还是能够正确转发 Responses 的对象和工具事件?
  2. 渠道展示的“支持某个模型”,是否等于支持你实际依赖的 Responses、MCP 或代码执行能力?

如果只用最简单的单轮文本生成,迁移风险相对可控;一旦使用持久会话、函数调用、文件搜索或 MCP,必须把能力拆开验证。

1. 先确认项目到底用了 Assistants 的哪些对象

迁移前不要直接全局替换 SDK 方法。建议先在代码和配置中搜索以下对象:

旧对象或能力 迁移时要确认的事项
Assistant 指令、模型、工具声明是否要整理成 Prompt 配置
Thread 是否需要持久化 Conversation,还是由应用自行保存上下文
Run 是否要改为处理 Response,以及多轮工具循环
Run step 是否依赖中间状态、工具调用结果或事件顺序
File Search / Vector Store 文件上传、索引生命周期和检索结果如何重新接入
Function calling function_call 输出与 function_call_output 输入是否都能被正确处理

官方迁移指南建议把迁移拆成三个相互关联的改动:请求发往 /v1/responses,读取类型化的 output 数组,并重新决定多轮会话如何携带状态。

这也是中转 API 评估时最容易漏掉的地方:一个渠道返回普通文本,并不能证明它完整支持 Responses 的所有 Item 类型。测试时应保留原始 JSON,不要只检查 SDK 是否没有抛异常。

2. Responses API 的三种状态管理方式,先选一种再迁移

Responses API 并不强迫所有项目使用同一种上下文方案。官方文档列出了几种常见路径:

方案 A:使用 Conversations API

适合需要持久会话对象的应用,例如长期客服、项目协作 Agent 或需要在多个请求间保留工具结果的系统。

迁移前需要确认:

  • Conversation ID 存在哪里;
  • 不同用户和不同租户是否严格隔离;
  • 删除、归档和数据保留策略怎么实现;
  • 中转渠道是否支持相关字段,而不是只转发一段 input 文本。

方案 B:用 previous_response_id 串联请求

适合希望让上一次 Response 与下一次请求关联的场景。它减少了应用侧手工拼接历史的工作,但会让错误重试、跨渠道切换和状态恢复更复杂。

如果你会在多个 API 渠道之间切换,不能假设不同渠道之间可以共享同一个响应 ID。更稳妥的做法是保留应用侧的可恢复上下文,并把渠道切换视为一次需要重新建立状态的操作。

方案 C:应用自己管理输入历史

适合需要更强数据控制、希望保持无状态请求,或有 Zero Data Retention 约束的项目。代价是你需要自己处理历史裁剪、工具调用结果、重试和上下文长度。

OpenAI 文档还提到加密推理条目这一无状态方向。这里不要把“支持 Responses”简单理解为“必然适合合规场景”,数据保留、日志、缓存和渠道侧处理仍需要单独核实。

3. 工具调用迁移:不要只测最终答案

Responses API 的一个关键变化,是一次请求中可能出现多种输入和输出 Item。工具调用流程通常至少包含:

  1. 模型生成工具调用;
  2. 应用或服务执行工具;
  3. 应用把工具结果作为对应的输入回传;
  4. 模型继续生成最终答案或下一次工具调用。

因此,迁移验收不应只写一个“问天气是否有答案”的测试。至少应记录:

  • response.output 中每个 Item 的 type;
  • 工具调用的名称、参数和 call_id;
  • 工具结果是否能关联到正确的调用;
  • 流式响应中事件的顺序和结束标记;
  • 失败重试后是否发生重复执行;
  • SDK、原始 HTTP 响应和中转渠道日志是否一致。

特别要注意,OpenAI 迁移指南指出,推理模型在 Responses API 中有更丰富的工具使用体验;文档还说明从 GPT-5.4 开始,在 reasoning: none 场景下,Chat Completions 不支持工具调用。也就是说,继续停留在旧接口可能不是长期兼容方案。

4. MCP 是能力边界,不是一个模型名称

OpenAI 的 MCP 文档把连接器和远程 MCP 服务作为 Responses API 的工具能力:连接器是 OpenAI 维护的 MCP 封装,远程 MCP 则是互联网上实现 MCP 的服务。请求可以配置 server_url、服务描述、授权信息和调用审批策略。

MCP 官方规范则强调,工具代表任意代码执行能力,宿主应用应提供明确的用户同意和授权流程。由此可以得到一个实际的迁移原则:

只验证“模型能否返回文本”,无法证明 MCP 链路可用,更无法证明工具调用足够安全。

对中转 API 用户,应把 MCP 测试拆为四层:

  • 协议层:请求和响应是否保留 MCP 工具相关字段;
  • 传输层:远程服务的 HTTP/SSE 或 Streamable HTTP 是否能连通;
  • 授权层:OAuth、Bearer Token、审批策略是否被正确传递;
  • 执行层:工具参数、调用结果、错误和重试是否可审计。

Anthropic 的 MCP Connector 文档也提供了有价值的对照:其 API 可以直接连接远程 MCP 服务,并允许全量启用、白名单或黑名单配置;但当前能力有 Beta 限制,且服务需要通过 HTTP 暴露,不能直接连接本地 STDIO 服务。

这说明“支持 MCP”在不同模型 API 中可能代表不同范围。选渠道时要问清楚是支持标准文本调用,还是支持具体的远程 MCP、认证方式和工具配置。

5. 中转 API 迁移时,应该问渠道什么问题

不要只看站点首页的模型名称。建议把下面的问题发给渠道方,或者直接用最小测试请求验证:

接口兼容性

  • 是否支持 /v1/responses;
  • 是否保留 input、instructions、store、previous_response_id 等字段;
  • 是否返回完整的 output Item,而不是转成 Chat Completions 格式;
  • 是否支持流式事件,而不仅是一次性 JSON。

工具能力

  • 是否支持自定义 function calling;
  • 是否支持官方内置工具或仅支持文本生成;
  • 是否支持远程 MCP,支持哪些传输方式;
  • 是否能保留工具调用参数、调用 ID、审批和错误信息。

模型与计费

  • 目录中的模型名与实际可调用模型名是否一致;
  • 模型支持是全量能力还是只支持文本接口;
  • 输入、输出、缓存和工具相关费用如何计算;
  • 是否存在分组倍率、最低充值、并发限制或单独的工具额度;
  • 价格和模型列表的核验日期是什么时候。

这些问题没有统一的“合格答案”。如果一个渠道只提供 Chat Completions 兼容,而你的应用暂时只需要文本生成,它仍可能适合当前阶段;但不要把它当成 Assistants 到 Responses 的完整替代品。

6. 一套可回滚的迁移顺序

为了降低风险,可以按下面的顺序推进:

  1. 建立基线:保存现有 Assistants 流程的请求、响应、工具结果和错误样本。
  2. 先迁单轮文本:将最小请求改到 Responses,确认模型名、鉴权、超时和错误格式。
  3. 迁移会话:明确选择 Conversations、previous_response_id 或应用侧历史,不要三者混用。
  4. 迁移函数调用:测试多轮调用、参数校验、重复执行和失败恢复。
  5. 再接文件和 MCP:分别测试上传、检索、远程连接、授权和审批,不要把所有能力一次打开。
  6. 双渠道对照:如果依赖中转 API,至少保留一个可替换渠道,并记录能力差异;不要只比较首页倍率。
  7. 灰度切换:按项目、用户或流量比例迁移,出现异常时回到旧链路。但要注意 2026 年 8 月 26 日之后,Assistants API 本身将不再是可回退选项。
  8. 设置硬截止日期:把兼容性测试、数据迁移和正式切换安排在关闭日期之前完成。

7. RouterHub 上应该怎样比较迁移渠道

如果你正在寻找可用于 Responses API 的中转渠道,建议先按“能力覆盖”筛选,再比较价格和注册门槛:

  • 先查目标模型是否在渠道目录中出现;
  • 再确认渠道详情是否说明 Responses、工具调用或 MCP 支持;
  • 用一组固定的最小请求验证模型名、返回结构和错误码;
  • 把文本、函数调用、流式和 MCP 分开记录结果;
  • 对倍率、充值门槛、限流和活动有效期注明核验日期;
  • 不要因为一次请求成功就把渠道判断为长期稳定,也不要因为一次失败就断言一定是上游问题。

RouterHub 的平台目录和站点详情页更适合用来发现候选渠道、查看公开信息并进行横向比较。真正上线前,仍应以你自己的模型、请求体、地区、并发和工具配置完成验收。

写在最后:把 8 月 26 日当作接口兼容性截止日

Assistants API 关闭带来的最大变化,不是某个 SDK 方法被替换,而是 Agent 应用要把“状态、工具和执行结果”当成一等数据处理。

对于普通文本请求,迁移可能只是接口层改造;对于使用函数调用、文件搜索、MCP 或持久会话的应用,迁移同时涉及数据结构、权限边界、重试语义和渠道能力。越早用真实请求验证中转 API 的 Responses 兼容性,越不容易在最后一周才发现“模型能返回答案,但 Agent 跑不起来”。

相关阅读