跳到正文
SGSteven Guan

原子概念 / Structured Output

结构化输出

让模型输出符合规定结构,再由应用校验语义。

要解决的问题怎样设计结构化输出,并验证其对任务质量与可靠性的影响?

检索别名:JSON Schema · 结构化生成

BLUEPRINT局部蓝图

01 输入

  1. 输出字段与业务含义
  2. 模型schema能力
  3. 事实与权限验证器
→

02 处理机制

  1. 生成完整对象
  2. 校验schema和缺失状态
  3. 复算并检查证据
  4. 提交或限次修复
→

03 输出与证据

  1. 类型化产物
  2. 字段级验证结果
  3. 明确拒绝和未知

让模型输出符合规定结构,再由应用校验语义。

结构化输出把回答组织成应用能够处理的字段,但格式正确并不等于业务正确。JSON能解析、符合schema和符合事实,是三个层次。企业应决定每个字段的类型、含义、缺失行为和验证方式,而不是只要求模型“返回JSON”。

供应商对严格schema的支持范围可能不同,一些关键字、联合类型、可选字段或原生工具组合需要独立验证。Pydantic等类型系统可帮助构建合同,但类型强制转换也可能掩盖输入错误。金额、日期、单位和枚举应有明确口径,不让字符串被宽松解释后悄悄改变含义。

输出合同应容纳拒绝、证据不足、部分完成和截断,不能逼模型在未知时填看似合法的值。法律研究的citation字段要带原文定位与适用边界,财报指标带期间币种和公式,教学观察带证据与不确定性。一个字段叫confidence,并不意味着数值经过校准。

应用先验证结构,再做确定性和语义检查。计算结果复算、资源存在、引用支持和权限检查可以独立执行;解释质量需校准judge或专家。修复schema错误要限次数,若修复改变了已批准的动作,应重新审批。不能为了通过parser而删除重要未知或错误状态。

流式界面可逐步展示候选字段,但提交业务结果需要完整对象校验。模型输出到一半被中断,不能把缺少后半部分的对象当最终报告。保存原输出和修复轨迹,有助区分模型问题、adapter问题与schema设计问题。

测试覆盖中文、时区、小数、极值、空列表、未知枚举、refusal和输出上限,并添加“结构合格但语义错”的反例。最终验收结合任务成功与严重错误,不能用schema通过率替代Agent质量。

面向用户的最终展示应保留不确定性,不能在排版时删掉结构中的unknown或证据不足字段。

实践重点:区分JSON可解析、schema合规与业务正确;拒绝和截断是独立状态。

验证抓手:测试中文、日期、数值、enum、refusal与不完整输出。

常见误区:格式正确就默认金额、引用或学生评分正确。

OpenAI Agents SDK:模型与provider;Pydantic AI:Harness能力边界。

RELATIONSHIP MAP

与其他节点的关系

箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。

哪些节点指向本页 · 2
  • Pydantic AI — 实现 → 结构化输出

    公开能力或可见源码体现结构化输出的具体产品路线。

  • Dify — 实现 → 结构化输出

    公开能力或可见源码体现结构化输出的具体产品路线。

PRIMARY SOURCES

来源与阅读边界

来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。

  1. OpenAI Agents SDK:模型与provider ↗官方文档 / 声明

    观察基线:2026-10-15;具体模型、版本和部署能力需分别核验。

  2. Pydantic AI:Harness能力边界 ↗官方文档 / 声明

    观察基线:2026-10-15;具体模型、版本和部署能力需分别核验。