Responses 接口是什么
Responses 是 OpenAI 主推的新一代接口:把对话生成与智能体能力统一到一套结构里,原生支持内置工具(联网搜索、文件检索、代码执行)与会话状态,输入输出字段与 Chat Completions 不同。它的方向是减少你手写的编排逻辑,让检索、工具调用与多轮状态由服务端承担。代价是迁移需要改代码,且生态兼容度还不如老接口。
基本信息
| 定位 | 统一对话与智能体能力的新一代接口 |
|---|---|
| 请求结构 | 用输入字段承载内容,而不是消息数组 |
| 状态管理 | 支持会话状态,减少客户端拼接历史的负担 |
| 内置工具 | 联网搜索、文件检索、代码执行等由平台提供 |
| 迁移成本 | 字段与返回结构都不同,需要改代码 |
| 生态兼容 | 第三方兼容端点普遍以老接口为主 |
与 Chat Completions 的差异
| 维度 | Responses | Chat Completions |
|---|---|---|
| 输入字段 | 输入内容以专门字段承载 | 消息数组 |
| 输出结构 | 输出条目化,含多种条目类型 | 候选数组加消息内容 |
| 内置工具 | 平台提供搜索、检索、代码执行等 | 需自行实现并声明为函数 |
| 状态 | 支持会话状态,减少手工拼接 | 客户端自行维护历史 |
| 兼容性 | 新接口,兼容端点较少 | 事实标准,第三方支持最广 |
典型使用场景
- 新项目起步:直接采用新接口,避免后续再迁移一次
- 需要联网与文件检索:用平台内置工具减少自研工作
- 智能体编排:多轮工具调用与会话状态由接口承担
- 数据处理任务:内置代码执行完成计算与格式转换
- 长任务流程:会话状态让跨轮上下文管理更简单
最小请求形态
最小请求形态
curl -s https://api.openai.com/v1/responses -H "Authorization: Bearer $OPENAI_API_KEY" -H "Content-Type: application/json" -d '{"model":"gpt-4o","input":"用三句话说明什么是提示缓存"}' # 输入用专门字段
# 返回是条目化结构,需要按条目类型提取文本
# 内置工具在请求里声明后由平台执行,不需要自己实现
# 具体字段名与可用工具以官方文档当前版本为准内置工具与注意点
| 能力 | 用途 | 注意 |
|---|---|---|
| 联网搜索 | 获取模型知识之外的最新信息 | 注意来源可信度与引用方式 |
| 文件检索 | 从已上传文件里按语义查找 | 需先完成上传与索引 |
| 代码执行 | 执行计算与数据处理 | 沙箱内运行,注意输入数据 |
| 自定义函数 | 接入自有系统与接口 | 参数仍需程序侧校验 |
新接口的字段与工具名称会随版本演进:落地前以官方文档为准,并把接口版本与字段纳入回归测试。
迁移前评估生态依赖:如果靠第三方兼容端点或网关做多供应商兜底,新接口的可选供应商明显更少。