返回全部文章
智能应用开发

让模型输出可靠的结构化数据

模型输出不可靠时,问题往往不在模型,而在没有把输出约束成结构。

2026-07-233 分钟阅读结构化输出JSON工程实践

自由文本会毁掉流程

当 AI 结果要进入数据库、触发下一步动作或驱动界面时,必须是结构化数据。让模型直接输出自由文本再靠正则解析,是错误率的主要来源。

正确做法是从第一版就要求模型输出 JSON,并在应用层做严格校验。

约束输出的四层防线

第一层,在提示词里给出明确的 JSON 结构和示例。第二层,使用模型的 JSON 模式或函数调用能力。第三层,应用层解析并校验字段。第四层,校验失败时自动重试或降级。

四层都做,结构化输出的成功率可以稳定在 99% 以上。

  • 示例先行:给一个完整 JSON 示例,而不是只描述字段
  • 字段约束:说明每个字段的类型、枚举和可选性
  • 解析兜底:解析失败时自动修复常见错误
  • 降级策略:重试两次仍失败时返回安全默认值

设计 schema 的注意事项

字段名用稳定的英文标识,展示层再映射中文。枚举值要覆盖「未知」和「其他」。数值字段要定义单位,否则模型可能在百分比和绝对值之间摇摆。

Schema 本身也要版本化,方便模型升级后回滚对比。

把校验结果反馈给评测

每次结构化解析失败的样本都应该进入评测集,成为下一次提示词或模型升级的回归用例。

可靠的结构化输出,是 AI 从演示走向生产的第一步。

从 JSON 到业务对象

拿到合法 JSON 只是开始,还要把它映射成业务对象:枚举映射、日期解析、数值单位、缺失字段默认值,都要在应用层完成。

映射逻辑要独立于提示词,这样模型升级或提示词调整时,业务代码不需要跟着改。

模型突然改格式怎么办

即使开启了 JSON 模式,模型升级后仍可能出现字段名变化、多余字段、类型漂移。应用层要把「解析失败」当成一等事件处理,而不是默默吞掉。

做法是:解析失败时先尝试一次自动修复,仍失败就降级返回默认值,并记录样本供评测。连续失败率超过阈值时自动告警,而不是等用户投诉。

把格式变化当成常态设计,模型升级就不会变成线上事故。

schema 评审

结构化输出前,先和业务方一起评审字段:每个字段的含义、枚举值、必填性、兼容策略。业务方确认过的 schema,比工程师单方面定义更不容易返工。

schema 变化要遵循兼容规则:只加字段不删字段,枚举只加不减,废弃字段保留一段时间再移除。

把 schema 当成接口来管理,模型输出才能像普通 API 一样稳定演进。

参考资料

NEXT

有类似的项目想法?

从一次免费的想法梳理开始,把 AI 想法变成可验证、可上线的产品。

预约沟通看看作品
KEEP READING

继续阅读

2026-08-05智能应用开发

Web AI 应用的技术选型:稳定优先于炫技

AI 应用的技术栈没有标准答案,但有一条原则:让团队最容易长期维护的组合,才是最好的组合。

阅读全文
2026-07-29智能应用开发

流式输出的用户体验:从打字机到渐进式结果

流式输出不只是视觉特效,它决定了用户能否理解 AI 正在做什么、还要等多久。

阅读全文
2026-07-16智能应用开发

AI 应用的质量评测怎么做

没有评测集就上线,等于蒙着眼睛发布。评测不是加分项,是 AI 应用的工程底线。

阅读全文