指南目录/ 文档自动化

让大模型稳定输出 JSON 的方法

很多人让模型“返回 JSON”时只写一句话,结果不是少字段,就是多解释文字。结构化输出不稳,通常不是模型太弱,而是输入边界不够清晰。

先看结论

从字段定义、示例约束到失败兜底,降低结构化输出跑偏和解析失败概率。

适合谁看

适合要做发票识别、合同总结、表格清洗、报销自动化的业务团队和实施方。

这篇会回答

字段定义要像写接口文档一样明确

示例比抽象要求更能约束输出

线上一定要有解析失败兜底

让大模型稳定输出 JSON 的方法 文章配图
1

字段定义要像写接口文档一样明确

如果字段含义、类型和是否必填没有写清楚,模型就会自行脑补,结果自然不稳定。

最有效的方式是把每个字段的名称、类型、约束和允许为空的条件写清楚,让模型没有太多自由发挥空间。

2

示例比抽象要求更能约束输出

相比单纯写“请返回合法 JSON”,给一个正例通常更有效,模型会更容易照着目标结构输出。

如果你的字段里容易混入自然语言,还可以再补一个反例,明确告诉模型哪些内容不要出现。

3

线上一定要有解析失败兜底

即使 Prompt 已经写得很好,线上也依然会出现偶发格式漂移,所以不能把解析成功当成默认前提。

工程上要准备二次修复、失败重试或回退到人工检查的路径,别把整个工作流压在一次输出上。

FAQ

常见问题

只写“请返回 JSON”够吗?

通常不够。你至少要说明字段、类型、输出边界以及不要输出额外解释,否则模型很容易夹带自然语言。

要不要一开始就上 JSON Schema?

如果你的业务已经依赖稳定结构,尽早加 Schema 或等价约束是值得的;如果只是验证阶段,也可以先用清晰字段说明加示例过渡。

Continue Reading

继续沿着这条主线看

这部分不再重新给你一堆大卡片,而是直接把下一步阅读顺序列出来,方便继续往下走。