结构化输出 / JSON Mode 入门

结构化输出(structured output)指让模型按约定形态返回数据,常见是 JSON,便于程序直接解析。JSON Mode / schema 约束是各厂商实现这一目标的手段。

聊天可以是散文;自动化要把结果喂给代码。这时「大概是个 JSON」不够,缺字段或尾随逗号都会让流水线断掉。

一、先说一个具体麻烦

你写:

text 复制代码
请用 JSON 返回用户姓名和邮箱。

模型有时返回 Markdown 代码块,有时多写解释,有时字段名飘成 e-mail。人工能看懂,JSON.parse 不能。

结构化输出要解决的,是把「像 JSON」变成「可校验的 JSON」。

二、核心思路:用 schema 当合同

与其用自然语言求情,不如提供 JSON Schema(或等价定义):字段、类型、必填、枚举。

宿主侧流程通常是:

(A)声明 schema

(B)开启 JSON / structured 模式(名称因厂商而异)

(C)拿到字符串后仍做一次解析与校验

(D)失败则重试或降级

下面是一个最小 schema 直觉(示意)。

json 复制代码
{
  "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」

偶发成功,难上生产。

(2)schema 过大过深

失败率与 token 上升。

(3)校验失败却把脏数据写入库

结构化输出仍要守门。

(4)把解释性文字和 JSON 混在同一通道

能分开就分开。

六、小结

结构化输出让模型结果变成程序可吃的数据。用 schema 当合同,再用解析校验当门禁;形容词「请输出 JSON」只是弱提醒。

(完)

相关推荐
强哥聊算力2 小时前
《算力江湖·英伟达传奇》第七集:ChatGPT出现前夜,英伟达发生了什么?
服务器·人工智能·算法·ai·chatgpt·gpu算力
空空dream6 小时前
03 | 离线部署 FastAPI + Ollama(qwen2:0.5b):从 Docker 联调到 Kubernetes 验收
docker·ai·kubernetes·fastapi
秋饼6 小时前
Spring AI 2.0 结构化输出企业级实战:从 BeanOutputConverter 源码到生产级解析容错
java·ai·技术分享·后端开发
goehou7 小时前
Prompt 注入实战:直接注入、间接注入和四道防线(附测试样例)
安全·ai·llm·agent·prompt注入
小七-七牛开发者9 小时前
Personal Agent 真能越用越懂你吗?AdaptArena 揭示个性化 Web Agent 的失效链路
ai·agent·web agent·personal agent·adaptarena·个性化智能体
XLYcmy9 小时前
AI 赋能后中文与英文数据库对比分析报告 上
数据库·ai·llm·prompt·检索·wos·cnki
独码侠10 小时前
第04篇·Codex Harness 审批×权限边界:4 档策略怎么选,密钥与仓库永远碰不到
ai·agent·codex
ndsc_d11 小时前
AI生成的UI如何继续修改?画布内生成与独立AI设计工具比较
人工智能·ui·ai·ui设计·ai设计·ai设计工具·ai生成ui
高频因子挖掘机11 小时前
股票分红送转后价格“断层”:前复权、后复权和不复权该怎么选?
后端·github·api
土星云SaturnCloud12 小时前
土星云边缘计算+AI视觉+视频存管:连锁汽修数字化升级实践
服务器·人工智能·ai·边缘计算