什么是 结构化输出(Structured Output)?
结构化输出(Structured Output)是让 LLM 以 JSON、XML、表格或受 schema 约束对象等可预测机器可读格式返回数据的做法。
工作原理
当 LLM 响应用于驱动软件,而不只是给人阅读时,结构化输出非常关键。它把自由文本答案变成可解析、验证、存储、路由或供另一个系统使用的数据。可靠结构化输出通常需要清晰 schema、示例、可用时的约束解码或 JSON 模式、验证、重试,以及对缺失或不确定字段的明确处理。没有验证时,表面合法的 JSON 仍可能包含错误类型、无效枚举或无依据声明。
主要特点
- 生成机器可读响应,而不只是自然语言文本
- 常使用 JSON、schema 约束对象、表格、XML 或键值记录
- 需要验证,因为语法正确不等于语义正确
- 改善与 API、工作流、数据库和自动化的集成
- 配合明确 schema、示例、重试和错误处理效果最好
常见用途
- 把合同字段抽取为 JSON
- 用固定标签分类客服工单
- 为 Agent 工作流返回工具参数
- 生成用于数据库写入的类型化记录
- 在触发自动化之前验证 LLM 输出
示例
loading...
Loading code...常见问题
合法 JSON 就足够了吗?
不够。输出还必须匹配预期 schema、类型、枚举值、业务规则和证据要求。
如何提升结构化输出可靠性?
使用 schema、约束解码或 JSON 模式、示例、验证、重试,并明确处理 null 或缺失字段。
什么时候应该使用结构化输出?
当 LLM 响应会被代码消费、存入数据库、路由到工具或用于自动化时,应使用结构化输出。
结构化输出能防止幻觉吗?
不能。它约束格式而不保证真实性。声明和抽取值仍需根据来源或业务规则验证。