Responses API基本介绍!

OpenAI 在 2025 年 3 月发布了全新的 Responses API(/v1/responses) 。

根据官方基准测试,它在缓存利用率方面可以提升 40-80%。

而在 TAUBench评测中性能提升 5%,并原生支持推理状态保持和多模态交互。

为什么需要 Responses API?

状态管理开销

  • 每次请求需要重新传输完整对话历史,导致 Token 消耗呈线性增长。

推理链断裂

  • 模型的 COT 在请求间无法保持,影响多步推理任务的连贯性。

多模态集成不足

  • 文本、图像、音频等模态需要通过额外的适配层处理。

工具调用效率低

  • Function Calling 需要客户端往返处理,增加延迟和复杂度。

Responses API 最大的改进是引入状态管理,不用每次都传完整历史了。

是服务端帮你存着之前的对话,你只管传新消息就行。

多模态这块也整合得不错,图片音频文本,不用各种转换了。

推理保持:模型的思考过程可以持续,不会每次都失忆。

工具调用直接在服务端运行,大大减少了网络往返时间。

如何使用 Responses API?

1
2
3
4
5
6
7
8
9
from openai import OpenAI
client = OpenAI()

response = client.responses.create(
model="gpt-5",
input="Write a one-sentence bedtime story about a unicorn."
)

print(response.output_text)

在需要维持状态的会话中,只需要在新的 API 调用中传入上次的 response.id 和新的消息即可。

无需再像 Chat Completion 那样传入历史消息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from openai import OpenAI
client = OpenAI()

response = client.responses.create(
model="gpt-4o-mini",
input="tell me a joke",
)
print(response.output_text)

second_response = client.responses.create(
model="gpt-4o-mini",
previous_response_id=response.id,
input=[{"role": "user", "content": "explain why this is funny."}],
)
print(second_response.output_text)

如何迁移遗留代码

可以把 Responses API 的文档发给 Codex、Claude Code 这类 AI 编程工具,让 AI 帮你完成迁移,并修改或添加相关测试。

使用 OpenAI 开源的 OpenAI Completions → Responses Migration Pack,让它帮你调起 Codex 来做迁移。

1
2
3
4
git clone https://github.com/openai/completions-responses-migration-pack
cd completions-responses-migration-pack

bash scripts/completions-to-responses-upgrade.sh --repo /path/to/repo --no-interactive
API 版本 发布时期 核心特性
Completions 2020.6 文本补全
Chat Completions 2023.3 对话接口
Assistants (Beta) 2023.11 Agent 框架
Responses 2025.3 推理保持