结构化输出(Structured Output)指让大模型严格按照预定义的格式(通常是 JSON Schema)返回结果,而不是自由发挥的散文。AI 应用要把模型输出交给程序处理(存数据库、触发流程、渲染界面),格式不稳一切免谈——它是应用级 AI 开发的基础设施。
实现方式
- 提示词约束:在提示里写“必须输出如下 JSON”——简单但偶尔失守
- JSON Mode / 响应格式参数:主流 API 提供开关,强制语法合法 JSON
- Schema 约束(Structured Outputs):把 JSON Schema 传给 API,模型输出被约束到严格匹配字段与类型(OpenAI、Gemini 等已支持),原理是在解码阶段只允许生成符合 Schema 的词元
- 函数调用(Function Calling):本质也是结构化输出,字段即函数参数
工程要点
字段设计要明确(枚举值、必填项);复杂嵌套会增加失守率,能扁平就扁平;即使有强制约束,也建议解析后做一层业务校验;对不合法输出按“拒收+重试”处理,别静默兜底。
典型场景
信息抽取(简历→字段)、分类打标、Agent 的工具参数、批量评估打分。