# OpenAI 给 API 加了“结构化输出”，让模型按你给的 JSON 模板回话

> 原标题：Introducing Structured Outputs in the API

- 来源：OpenAI News
- 发布时间：2024-08-06T10:00:00.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/738
- 原文：https://openai.com/index/introducing-structured-outputs-in-the-api

## 摘要

OpenAI 在 2024 年 8 月 6 日上线了 Structured Outputs 功能，模型能严格按开发者提供的 JSON Schema 输出，不再只是生成合法 JSON 就完事。新模型 gpt-4o-2024-08-06 在复杂 schema 测试里拿了 100% 的准确率，而老模型 gpt-4-0613 不到 40%。用法上，在函数调用里...

## 推荐理由

我会先打个折，这不是新模型发布或公司级大事件，但把 JSON 模式从“输出合法 JSON”升级到“严格匹配你的 schema”，并且给出 100% 对不到 40% 的评测对比，对天天跟解析错误搏斗的开发者来说太解渴了。约束解码加模型训练这套组合拳，比旧版 JSON mode 靠谱得多，直接拉高了工具调用的下限。84 分给的是一个高价值的 API 能力更新，不是行业地震，但够实用。

## 锐评

这条更新解决了一个很实际的痛点：以前让模型输出 JSON，它经常漏字段或格式不对，开发者得反复重试、写一堆校验代码。现在 OpenAI 用“约束解码”加针对性训练，让模型在生成每个 token 时就只能选符合你 schema 的选项，所以 gpt-4o-2024-08-06 在复杂 schema 测试里直接做到 100% 准确。

用法上，在函数调用里加 `strict: true` 就行，支持 gpt-4-0613 及之后的工具调用模型。不过要注意，正文明确写了首批只支持函数调用里的 schema，独立的 response_format 还没完全放开；另外，约束解码会增加一点首 token 延迟，具体延迟数据正文没给。

这点先别太激动：100% 准确率是 OpenAI 自己的评测集跑出来的，你的业务 schema 如果嵌套特别深或字段名很怪，实际表现还得自己测。另外，这个功能目前只绑在 OpenAI 的 API 上，自部署模型用不了。
