结构化输出 / JSON Mode 入门 📅 发布时间:2026/9/4 7:59:30 👁 浏览次数: 结构化输出structured output指让模型按约定形态返回数据常见是 JSON便于程序直接解析。JSON Mode / schema 约束是各厂商实现这一目标的手段。聊天可以是散文自动化要把结果喂给代码。这时「大概是个 JSON」不够缺字段或尾随逗号都会让流水线断掉。一、先说一个具体麻烦你写请用 JSON 返回用户姓名和邮箱。模型有时返回 Markdown 代码块有时多写解释有时字段名飘成e-mail。人工能看懂JSON.parse不能。结构化输出要解决的是把「像 JSON」变成「可校验的 JSON」。二、核心思路用 schema 当合同与其用自然语言求情不如提供 JSON Schema或等价定义字段、类型、必填、枚举。宿主侧流程通常是A声明 schemaB开启 JSON / structured 模式名称因厂商而异C拿到字符串后仍做一次解析与校验D失败则重试或降级下面是一个最小 schema 直觉示意。{type:object,additionalProperties:false,required:[name,email],properties:{name:{type:string},email:{type:string}}}上面代码中required与additionalProperties减少少字段、乱字段。真实 API 字段名以文档为准。三、它解决什么不解决什么解决1程序化消费2字段稳定性3与函数参数、工作流节点对接不解决1内容事实正确2业务规则是否合理仍要你自己验3超长散文叙述结构化偏短数据JSON Mode 不是智商开关是输出形状开关。四、实践建议1字段名用稳定英文枚举写死2能在服务端校验就不要只信模型3流式场景对象可能长期不完整结束后再 parse或用支持增量的方案4错误时返回可区分的 parse_error便于重试策略五、常见误区1只靠提示「必须 JSON」偶发成功难上生产。2schema 过大过深失败率与 token 上升。3校验失败却把脏数据写入库结构化输出仍要守门。4把解释性文字和 JSON 混在同一通道能分开就分开。六、小结结构化输出让模型结果变成程序可吃的数据。用 schema 当合同再用解析校验当门禁形容词「请输出 JSON」只是弱提醒。完