Responses API 与 Chat Completions 有什么区别?Codex 接入前的协议检查
Responses 与 Chat Completions 是两种不同的 API 形式。接入 AI 中转服务时,不能因为都能生成文字,就假定它们可以互换。OuraiC 的 Codex 文档采用 Responses;普通聊天示例常采用 Chat Completions。

图:按本文操作要点制作的说明图,不是后台或调用成功截图。
两种请求的区别
| 项目 | Chat Completions | Responses |
|---|---|---|
| 常见路径 | /v1/chat/completions |
/v1/responses |
| 基础输入形式 | messages |
input |
| 输出结构 | choices 等 |
输出项与事件等 |
| 需要核对 | 消息与参数兼容 | 请求、输出、多轮与工具兼容 |
这张表用于理解基本区别,不覆盖两类接口的所有参数。开发时应查看对应接口文档,并确认站点实现范围。
为什么不能只改路径
把 messages 请求体直接发给 /responses,可能因字段不符合要求失败。反过来,客户端期待 Responses 输出,服务返回 Chat Completions 结构,也可能解析错误。
网关可以做协议转换,但转换能力必须明确验证,尤其涉及工具调用、流式事件和多轮状态。统一 Key 不代表自动实现所有转换。
用 OuraiC 时怎样选择
普通聊天客户端选择它支持的协议,并确认模型与分组。Codex 按当前官方配置和本站接入说明核对 Responses。本站公共目录中的 openai 标签,不能单独证明 Responses 全部能力可用。
旧文档的 Codex 分组与实时目录可能不同。开始配置前先确认现行分组、模型 ID 和完整工具兼容范围。
分阶段测试
先测试单轮文本,再测试流式、工具调用、多轮续接及较长输入。每一步查看客户端结果和消费日志,记录失败发生在哪一层。
不要用一次“回答 OK”证明代码 Agent 全部可用。Agent 可能在第二轮或工具回传时才触发不兼容。
迁移应用的建议
保留已经稳定的调用方式,建立小范围测试适配。明确处理每种接口的输入与输出,不让业务代码用猜测解析响应。
遇到 404 先核对路径,400 或解析错误查字段与结构,认证错误查凭据。协议选择应服务于目标工具,不通过随意切换配置值来碰运气。