什么是 结构化输出(Structured Output)?

结构化输出(Structured Output)是让 LLM 以 JSON、XML、表格或受 schema 约束对象等可预测机器可读格式返回数据的做法。

工作原理

当 LLM 响应用于驱动软件,而不只是给人阅读时,结构化输出非常关键。它把自由文本答案变成可解析、验证、存储、路由或供另一个系统使用的数据。可靠结构化输出通常需要清晰 schema、示例、可用时的约束解码或 JSON 模式、验证、重试,以及对缺失或不确定字段的明确处理。没有验证时,表面合法的 JSON 仍可能包含错误类型、无效枚举或无依据声明。

主要特点

  • 生成机器可读响应,而不只是自然语言文本
  • 常使用 JSON、schema 约束对象、表格、XML 或键值记录
  • 需要验证,因为语法正确不等于语义正确
  • 改善与 API、工作流、数据库和自动化的集成
  • 配合明确 schema、示例、重试和错误处理效果最好

常见用途

  1. 把合同字段抽取为 JSON
  2. 用固定标签分类客服工单
  3. 为 Agent 工作流返回工具参数
  4. 生成用于数据库写入的类型化记录
  5. 在触发自动化之前验证 LLM 输出

示例

loading...
Loading code...

常见问题

合法 JSON 就足够了吗?

不够。输出还必须匹配预期 schema、类型、枚举值、业务规则和证据要求。

如何提升结构化输出可靠性?

使用 schema、约束解码或 JSON 模式、示例、验证、重试,并明确处理 null 或缺失字段。

什么时候应该使用结构化输出?

当 LLM 响应会被代码消费、存入数据库、路由到工具或用于自动化时,应使用结构化输出。

结构化输出能防止幻觉吗?

不能。它约束格式而不保证真实性。声明和抽取值仍需根据来源或业务规则验证。

相关工具

相关术语

相关文章