指南
OpenAI DevDay 2026 开发者指南:Responses API、Structured Outputs、Tool Calling 与 MCP 可能有哪些新变化?
主题演讲不会替你改仓库。能提前做的,是把最终输出、工具入参、MCP inputSchema 和会话 item 收成同一套可校验契约。
OpenAI DevDay 2026 定在 9 月 29 日旧金山 Fort Mason。官方活动页只承诺 API 与开发者工具技术场:上午主题演讲直播(含 Sam Altman),下午 Breakout,会后补录像。申请已在 7 月关闭。9 月 2 日那篇按 changelog 列了 10 条预测——Completions 时间表、Ultrafast、企业身份、Realtime 打通,见 DevDay 2026 API 预测。本篇换成开发者手册:只盯四条会改你代码形状的线——Responses API、Structured Outputs、Tool Calling、MCP——以及你现在就能冻结的 Schema 文件。预测会错;拆开的契约不会错。已落地事实仍以 OpenAI API Changelog 为准:Assistants 已于 8 月 26 日永久下线;GPT-5.6 把 Programmatic Tool Calling 和多 Agent 编排放进 Responses;远程 MCP、Skills、Computer Use、Tool Search 几乎只出现在 Responses,而不是 Chat Completions。
这篇指南怎么用:和预测文的分工
预测文回答「舞台上可能讲什么」。本篇回答「你这周该把哪些 JSON 写进仓库」。两篇共用同一条 2026 轨迹,但读者动作不同:前者用来对照主题演讲;后者用来冻结 schemas/ 目录。不要为了预测重写产品。DevDay 很少从零发明一条 API,更多是把预览、Beta、企业白名单收成默认产品。
先把「已经是事实」和「可能宣布」分开。已经是事实的:Responses 是 Agent 能力的主路径;Structured Outputs 用 text.format.json_schema + strict 锁最终对象;函数工具与远程 MCP 可以挂在同一次 responses.create;MCP 默认会先要审批(mcp_approval_request),也可用 require_approval / allowed_tools 收窄。这些不是预测。可能宣布的,是关停日期、GA 摘牌、自助开关和「两份 Schema 允许声明同源」。
有用的读法不是「会不会出 GPT-5.7」,而是:哪条请求面会被宣布为唯一推荐路径?哪份 JSON Schema 会从模型建议变成平台强制?哪层会话状态会从你自己的数据库,迁到官方 Conversations?对照如下。
| 文档 | 回答什么 | 你现在做什么 |
|---|---|---|
| DevDay 预测文(9 月 2 日) | 10 个 API 方向的概率与证据 | 对照主题演讲,不改仓库结构 |
| 本指南(9 月 15 日) | 四条线 + 该冻结的 Schema 文件 | 本周拆 schemas/tools、output、mcp、session |
| Assistants 迁移文 | Thread / Run 怎么搬到 Responses | 清掉 beta.threads,会话 item 当契约 |
| Changelog / 官方文档 | 已 GA、已弃用、已预览 | 事实以文档为准,不以社交媒体摘要为准 |
Responses API:可能收口的请求面
Assistants 已经死了。Chat Completions 还活着,但 2026 年的新能力几乎不再往那里加:远程 MCP、Tool Search、Computer Use、Skills、hosted shell、WebSocket Responses、phase(commentary / final_answer)都挂在 Responses。可复用 Prompt 从未进入 Chat Completions。这不是口味问题,是平台在把「能做 Agent 的面」收成一条。对象怎么从 Assistant / Thread / Run 迁过来,见 Assistants → Responses 迁移。
DevDay 最可能动刀的不是「再多一个 Responses 参数」,而是三件事里的若干件:给 Chat Completions 一个明确冻结或关停日期;把 Conversations 收成跨文本 Responses 与 Realtime 的统一会话原语;把图像、转录、视频更多以内置 tool 的形式写进同一条 output item 时间线。对你意味着:新封装只认 input / output item、tools[]、text.format、previous_response_id 或 conversation。不要再维护两套 tools[] 形状。
请求元数据也会被收口。Fast 已替 Priority,Ultrafast 仍是有限预览;service_tier、prompt_cache_retention、safety_identifier 现在就该写成显式字段,而不是埋在 SDK 默认值里。主题演讲后你要对得上账单、缓存命中和安全拦截,靠的是这些键,不是模型名字。下面这份骨架今天合法,DevDay 后大概率仍合法:函数工具、远程 MCP 与 Structured Output 走同一条 responses.create。
{
"model": "gpt-5.6-sol",
"input": "Extract the paid invoice and call billing tools",
"tools": [
{
"type": "function",
"name": "searchInvoices",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"invoiceId": { "type": "string" },
"status": {
"type": "string",
"enum": ["draft", "sent", "paid", "void"]
}
},
"required": ["invoiceId", "status"],
"additionalProperties": false
}
},
{
"type": "mcp",
"server_label": "billing",
"server_url": "https://mcp.example.com",
"allowed_tools": ["searchInvoices", "createCreditNote"],
"require_approval": "never"
}
],
"text": {
"format": {
"type": "json_schema",
"name": "invoice_result",
"strict": true,
"schema": {
"type": "object",
"properties": {
"invoiceId": { "type": "string" },
"total": { "type": "number" },
"currency": { "type": "string", "enum": ["USD", "CNY", "EUR"] },
"status": { "type": "string", "enum": ["paid", "open"] }
},
"required": ["invoiceId", "total", "currency", "status"],
"additionalProperties": false
}
}
},
"service_tier": "fast",
"safety_identifier": "billing-user-42"
}
Structured Outputs:形状、流式与同源 Schema
今天的 Structured Outputs 能锁最终对象:Responses 里放在 text.format,规则与 Chat Completions 的 response_format 相同,只是外壳字段名不同。官方卖点是类型安全、可检测的拒绝、少靠「请一定输出 JSON」这种提示词。它不卖的是语义:锁形状不等于锁业务含义。半截流式字符串、$ref 被静默丢掉、超大 Schema、动态枚举,仍是 2026 年联调里最常见的坑。站内 Structured Output 教程 与 AI 生成 JSON 错误指南 写过同一句话:平台保证括号匹配,不保证发票总额算对。
DevDay 最「像会讲」的开发者痛点,是这三件套:① 流式 Structured Output,增量是合法部分对象或 JSON Patch,而不是残缺字符串;② Tool Schema 与 Output Schema 允许声明同源,不再手维护两份几乎一样的文件;③ 更完整的 JSON Schema 子集,oneOf / $ref 少一些 silent drop。概率低于「Completions 收口」,但一旦宣布,你的流式解析器和 Schema 目录会立刻被点名。
你现在能做的与舞台无关:把 schemas/output/ 和 schemas/tools/ 分开;每份输出 Schema 用 Draft 2020-12,strict + additionalProperties: false,required 写全;用同一份文件喂平台和本地校验器。平台报错和本地报错对不上,先 Diff 两份 Schema,再怀疑模型。最终给用户或下游系统的答案,不要和 checkpoint、不要和 MCP arguments 共用一个文件——见 AI Agent State。
Tool Calling:可编程调用与多 Agent
2026 年的工具调用已经不是「模型选一个函数、你跑一次、把字符串塞回去」。7 月 9 日 GPT-5.6 把 Programmatic Tool Calling、显式 Prompt Cache、persisted reasoning,以及 Multi-agent orchestration(Beta)写进 Responses。意思是:模型可以按程序结构连续调工具,也可以把子 Agent 当一等对象。Beta 的典型命运是 DevDay 摘免责声明、补 SLA 与限额。
若转 GA,你的编排器要重新划边界:哪些 hop 交给平台 orchestration,哪些仍留在自建循环。JSON 会多出一类——子 Agent 的中间 artifact。不要把它和最终 Structured Output、MCP arguments 塞进同一个 schema 文件。每条工具日志现在就该打 correlationId / runId / callId,GA 之后才好对账。函数工具的 arguments 仍常是 JSON 字符串:执行前必须 JSON.parse + Schema,与 MCP tools/call 是同一类问题。
Tool Search、Skills、hosted shell 已经只挂在 Responses。DevDay 若把「先搜工具再调用」收成默认,你会后悔把 80 个函数一次性塞进 tools[]。先按领域拆工具包,allowed_tools 式白名单在函数工具侧也先用起来。参数 Schema 保持小、枚举短、禁止 additionalProperties。细节对照 MCP 与 JSON Schema。
MCP:远程工具、审批与 Connector
GPT-5.5 起 Responses 就能挂远程 MCP:模型先 mcp_list_tools,再决定调哪一个。控制台有 OpenAI 维护的 Connector;5 月 19 日的 Secure MCP Tunnel 让 ChatGPT、Codex、Responses、AgentKit 经客户侧 tunnel-client 打到内网,但目前偏企业开通。默认行为值得记:平台会在数据交给远端之前要你审批,输出里出现 mcp_approval_request;信任之后可把 require_approval 设成部分工具或 never。工具太多时用 allowed_tools,否则光是 list 就会烧上下文。
缺口很清楚:普通项目仍难「一键挂私有 MCP」,Connector 目录也不够覆盖自建工具。预测文把「Hosted MCP / Connector 自助化、Tunnel 下沉到项目开关」标成高概率。本指南只要求你做一件与概率无关的事:MCP Tool.inputSchema 与模型 tools[].parameters 同源。外壳字段名可以不同,属性、必填、枚举必须同一份源文件生成。平台不会替 Server 做执行期校验。校验链仍然是 parse → Schema → 业务规则。远程 MCP 本身是无状态 JSON-RPC,业务机位不在 Server 上——见 Stateless MCP。
和 A2A 不要混。MCP 是模型调工具;A2A 是 Agent 横向委托,任务有自己的生命周期和 artifacts。OpenAI 已经在模型层吃 MCP,横向委托仍是空档。DevDay 若点一句 AAIF / A2A,也只是互操作,不是让你把 Agent Card 和 inputSchema 写成一个对象。对照 A2A vs MCP。私有工具的 arguments 与 MCP params.arguments 对不上时,用 Diff 看的是生成链路,不是模型「抽风」。
提前冻结的 6 份 JSON Schema
不要做一个巨大 json 走天下。按消费者拆文件:模型看输出形状,运行时看工具入参,MCP Server 看 inputSchema,编排器看会话 item 和子 Agent 产物,账本看用量。六份就够覆盖 DevDay 最可能碰的面。源文件用 Draft 2020-12;生成 OpenAI 外壳(text.format / parameters)时只加包装,不改属性。
| 文件 | 锁什么 | 谁读 | 舞台多一个参数会不会作废 |
|---|---|---|---|
| schemas/output/invoice_result.json | 最终 Structured Output 对象 | Responses text.format / 本地校验 | 不会。strict + additionalProperties:false 仍然对 |
| schemas/tools/searchInvoices.json | 函数工具 parameters | Responses tools[] / 执行层 parse | 不会。GA 编排也不改入参形状 |
| schemas/mcp/searchInvoices.json | MCP Tool.inputSchema(与上一份同源) | MCP Server 与 tools/call | 不会。自助 Hosted MCP 只改开通方式 |
| schemas/session/conversation-item.json | Conversations / output item 联合类型 | 你的导出、回放、合规 | 字段可能增多;type 枚举先冻结 |
| schemas/agent/child-artifact.json | 子 Agent 中间产物信封 | 多 Agent 编排器 | 不会。Beta→GA 更需要独立文件 |
| schemas/obs/usage-record.json | usage + cache + safety + request_id | 账本与对账 | 不会。新仪表盘要能对上你已有的键 |
建议在仓库里放一份索引,声明哪两份同源、哪一份只做包装。索引本身也是普通 JSON,方便评审和 Diff:
{
"schemaVersion": "1.0",
"pack": "devday-2026-prep",
"files": [
{
"id": "so.invoice_result",
"path": "schemas/output/invoice_result.json"
},
{
"id": "fn.searchInvoices.parameters",
"path": "schemas/tools/searchInvoices.json"
},
{
"id": "mcp.searchInvoices.inputSchema",
"path": "schemas/mcp/searchInvoices.json",
"sameOriginAs": "fn.searchInvoices.parameters"
},
{
"id": "conv.item",
"path": "schemas/session/conversation-item.json"
},
{
"id": "agent.artifact",
"path": "schemas/agent/child-artifact.json"
},
{
"id": "obs.usage",
"path": "schemas/obs/usage-record.json"
}
]
}
联调顺序固定三步,和模型是否在 DevDay 上「更聪明」无关:parse → Schema → 业务规则。半截 JSON、Schema 报错、MCP arguments 漂移,各留一条真实失败样本。演讲当天用来对照新行为,而不是对着社交媒体摘要猜字段。
浏览器里即可完成:JSON 格式化看 parse;JSON Schema 校验对 output 与 tools;JSON Diff对比模型 arguments 和 MCP params.arguments。数据不离开本机。
延伸阅读:DevDay 10 条预测、Assistants → Responses 迁移、Structured Output、MCP 与 JSON Schema、Stateless MCP、A2A vs MCP。
常见问题 FAQ
这些是官方议程吗?
不是。官方目前只公布日期、地点和「API / 开发者工具」技术场。四条线上的「可能变化」是按 2026 changelog 做的工程判断,现场可能只兑现其中几条,也可能把时间花在模型和 Codex。Schema 清单不依赖议程。
和 9 月 2 日那篇预测有什么不同?
预测文覆盖 10 个方向(含层级、身份、可观测性、多模态)。本篇只展开会改 JSON 形状的四条线,并给出六份该冻结的文件。两篇对照着读:预测用来盯舞台,指南用来改仓库。
还没迁出 Chat Completions,来得及吗?
来得及,而且现在迁的成本低于「宣布弃用日之后一周」。先迁工具调用和 Structured Output,会话层再接 Conversations。不要等主题演讲才建封装。迁移步骤见 Assistants 文——Completions 封装可以按同一套 item 模型改。
预测错了,提前准备的 Schema 会不会白做?
不会。把 output、tools、MCP、session、artifact、usage 分文件,是 Responses、MCP、Realtime 今天就需要的卫生习惯。舞台上多一个参数,不会让 additionalProperties:false 变成错的。
总结与下一步
DevDay 2026 对开发者真正重要的,不是再记一个模型名字,而是平台会不会把 Responses、Structured Outputs、Tool Calling、MCP 收成默认栈。四条线指向同一件事:少几条平行 API,多一份必须遵守的 JSON 契约。
9 月 29 日前,把 Completions 新代码停掉,把六份 Schema 拆开,把失败样本留好。演讲当天对照 changelog,而不是对照摘要帖。需要核对应答形状时,打开 JSONVue 即可。