结构化输出导读
先把 JSON 契约做对,再谈自动化、工具调用和下游解析。
结构化输出的价值不在“看起来更像 JSON”,而在 下游系统能不能稳定解析。 对大多数生产场景,真正要分清的是:你需要的只是一个 object,还是一个严格的字段契约。
两种模式怎么选
json_object
{
"model": "openai/gpt-4.1",
"messages": [{ "role": "user", "content": "返回订单摘要 JSON。" }],
"response_format": { "type": "json_object" }
}什么时候该严格
- 你的结果会直接进数据库、自动化流程或财务系统。
- 你不能接受字段丢失、额外字段或类型漂移。
- 你希望 fallback 或模型替换后,下游代码基本不用改。
和 response-healing 一起看
如果你是非流式 JSON 路径,可以配合响应修复类能力降低轻微格式缺陷导致的解析失败。 但别把它当成替代 schema 设计的借口。