Responses API——OpenAI 下一代智能体与多模态 API 完整开发者指南
OpenAI发布新一代Responses API,标志着AI开发从传统聊天模式转向智能体优先的新时代。该API整合了GPT-5推理、多模态支持、结构化输出和函数调用等核心功能,采用全新的请求架构和状态管理机制。开发者可通过reasoning.effort和text.verbosity等参数精细控制模型行为,并利用内置工具和结构化输出构建复杂工作流。本文详细解析了新旧API差异、状态链管理、推理参数

🧠 OpenAI 下一代智能体与多模态 API 完整开发者指南
Responses API、GPT-5 推理、函数调用、结构化输出与多模态功能深度教程
引言:从聊天到智能体的演进
在人工智能应用开发领域,一场深刻的范式转变正在发生。
我们正在从传统的“请求/响应”模式(以 Chat Completions API 为代表)迁移到一种“默认即智能体”(agentic by default)的全新框架。
这一转变的核心是 Responses API 的推出。它不仅仅是一个新的端点,而是一种全新的 API 原语(API Primitive),为未来的智能体生态奠定了基础。
Responses API 是一个统一的、“面向未来”的(future-proof)基础架构,集成了:
- GPT-5 等模型的推理能力
- 网页搜索等内置工具
- 自定义函数调用
- 有保证的结构化输出
- 原生的多模态(视觉、音频、图像生成)支持
第一部分:新基础 — 掌握 Responses API
1.1 架构变革:从 Chat 到 Responses
| 功能 | Chat Completions API(旧) | Responses API(新) |
|---|---|---|
| 端点 | /v1/chat/completions |
/v1/responses |
| 系统提示 | messages: [{"role": "system", ...}] |
instructions: "..." |
| 用户输入 | messages: [{"role": "user", ...}] |
input: "..." 或 input: [...] |
| 对话状态 | 手动管理 messages 数组 |
previous_response_id 或 context |
| 响应字段 | choices.message |
output 数组(含 output_text) |
| 结构化输出 | response_format |
text.format |
| 多模态 | 支持有限 | 原生支持文本 + 图像 |
1.2 请求结构:更清晰的职责分离
旧方法 (Chat Completions)
系统与用户提示混合在 messages 数组中。
新方法 (Responses)
- 系统提示使用
instructions - 用户输入使用
input input可为字符串或消息数组(兼容旧结构)
1.3 状态管理:对话链与缓存优化
旧模型中,开发者需手动维护整个消息历史,导致高成本与复杂性。
Responses API 新机制:
- 使用
previous_response_id引用上一个响应。 - 服务器端自动加载上下文与缓存。
- 可使用
store: true持久化状态(工具与推理上下文)。
示例:Python 状态链调用
from openai import OpenAI
client = OpenAI()
# 第一次请求
response = client.responses.create(
model="gpt-4o-mini",
input="给我讲个笑话"
)
print(response.output_text)
# 第二次请求(引用上一个响应)
second_response = client.responses.create(
model="gpt-4o-mini",
previous_response_id=response.id,
input=[{"role": "user", "content": "解释一下为什么这个笑话好笑。"}]
)
print(second_response.output_text)
优势:
- 成本下降(缓存利用率提升 40%-80%)
- 状态管理自动化
- “默认即智能体”设计理念落地
第二部分:控制新思维 — GPT-5 推理与新参数
GPT-5 引入了新的推理控制逻辑:
从“随机性”转向“计算资源分配”。
旧参数如 temperature、top_p 已不再适用,取而代之的是:
| 控制目标 | 旧参数(GPT-4) | 新参数(GPT-5) |
|---|---|---|
| 创造性 / 随机性 | temperature, top_p |
❌(不支持) |
| 思考深度 | 无 | reasoning.effort |
| 输出简洁度 | 提示控制 | text.verbosity |
| 输出长度 | max_tokens |
max_output_tokens |
2.1 推理深度:reasoning.effort
| 选项 | 说明 |
|---|---|
minimal |
极快响应,适合确定性任务 |
low |
快速、低消耗(接近 GPT-4.1) |
medium |
默认值,平衡速度与深度 |
high |
深度推理,适用于复杂任务 |
2.2 输出详略:text.verbosity
| 选项 | 输出特征 |
|---|---|
low |
简洁精炼 |
medium |
平衡默认 |
high |
详细冗长,适合教学或文档 |
可组合控制,例如:
深度推理但简短回答 →
reasoning.effort: "high",text.verbosity: "low"
第三部分:构建智能体工作流 — 工具、函数与结构化数据
3.1 三步函数调用机制
步骤 1:定义工具(Tools)
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "获取城市天气",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"}
},
"required": ["location"]
}
}
}
]
步骤 2:模型请求调用工具
模型返回 tool_calls 对象,例如:
{
"tool_calls": [
{
"id": "call_abc123",
"name": "get_current_weather",
"arguments": {"location": "San Francisco"}
}
]
}
步骤 3:执行函数并返回结果
messages.append({
"tool_call_id": "call_abc123",
"role": "tool",
"name": "get_current_weather",
"content": '{"temperature": "72", "unit": "fahrenheit"}'
})
3.2 内置工具支持
| 工具 | 功能 |
|---|---|
web_search_preview |
网页搜索 |
code_interpreter |
运行代码 |
file_search |
文件检索 |
computer_use |
计算机控制 |
3.3 结构化输出(Structured Output)
区别于旧的 JSON 格式化输出:
| 模式 | 类型 | 特性 |
|---|---|---|
| JSON 模式 | json_object |
确保有效 JSON,但不保证结构 |
| 结构化输出 | json_schema |
严格模式校验 + 完整字段验证 |
示例:使用 JSON Schema 强制结构化
"text": {
"format": {
"type": "json_schema",
"name": "research_paper_extraction",
"schema": {
"type": "object",
"properties": {
"title": {"type": "string"},
"authors": {"type": "array", "items": {"type": "string"}},
"abstract": {"type": "string"},
"keywords": {"type": "array", "items": {"type": "string"}}
},
"required": ["title", "authors", "abstract", "keywords"],
"additionalProperties": false
},
"strict": true
}
}
第四部分:多模态 API — 视觉与图像生成
4.1 视觉输入(Vision)
支持传递多张图像,三种方式:
image_url- Base64 编码
file_id(文件上传后引用)
参数:detail
| 选项 | 说明 |
|---|---|
low |
低分辨率,低成本 |
high |
高分辨率,理解更准确 |
auto |
模型自动决定 |
限制:
- 最大 50MB
- 最多 500 张图像
- 格式:PNG, JPG, WEBP, GIF(非动画)
4.2 图像生成(DALL·E 3 与 GPT-Image-1)
| 参数 | GPT-Image-1 | DALL·E 3 |
|---|---|---|
size |
1024x1024, 1536x1024 等 | 1024x1024, 1792x1024 等 |
quality |
low/medium/high |
standard / hd |
style |
不适用 | vivid / natural |
| 多张图像 | 支持 | 不支持 |
第五部分:多模态 API — 音频(语音识别与语音合成)
5.1 语音转文本(Speech-to-Text)
| 模型 | 功能 |
|---|---|
gpt-4o-transcribe |
转录音频为原语言 |
whisper-1 |
翻译成英语 |
gpt-4o-transcribe-diarize |
自动标注说话人 |
示例:
from openai import OpenAI
client = OpenAI()
audio = open("/path/to/audio.mp3", "rb")
result = client.audio.transcriptions.create(
model="gpt-4o-transcribe",
file=audio
)
print(result.text)
5.2 文本转语音(Text-to-Speech)
| 模型 | 特点 |
|---|---|
gpt-4o-mini-tts |
可提示语气、情感 |
tts-1 |
低延迟 |
tts-1-hd |
高保真 |
支持声音:alloy, ash, ballad, coral, echo, fable, nova, onyx, sage, shimmer 等。
import OpenAI from "openai";
const openai = new OpenAI();
const mp3 = await openai.audio.speech.create({
model: "gpt-4o-mini-tts",
voice: "coral",
input: "Hello, world!",
instructions: "Speak in a cheerful and positive tone."
});
语音智能体架构
| 架构 | 流程 | 特点 |
|---|---|---|
| 链式 (Chained) | 语音→文本→文本→语音 | 控制性强,延迟高 |
| 语音到语音 (Speech-to-Speech) | 单模型实时音频输入输出 | 自然流畅,低延迟 |
🧩 结论:智能体的时代已来临
一个完整的智能体应用现在可通过 单一的 Responses API 构建:
- 语音输入:
gpt-4o-transcribe转录 - 视觉理解:
gpt-4v分析图像 - 推理决策:
gpt-5高效思考 - 调用函数:
get_current_weather获取实时信息 - 状态引用:通过
previous_response_id管理上下文 - 语音输出:
gpt-4o-mini-tts输出自然语音
简单聊天机器人的时代已经结束。
智能体的时代已经到来。
现在,就开始构建吧。
更多推荐



所有评论(0)