☰
《后端程序员的 AI 工程化 30 讲:RAG、工具调用、Agent 落地》第 08 讲 · 结构化输出:让模型返回能直接反序列化的 JSON
2026/10/7 8:04:33 网站建设 项目流程

第 08 讲 · 结构化输出:让模型返回能直接反序列化的 JSON

一、问题现场:模型返回的 JSON 是怎么翻车的

1.1 一次真实的上线事故

我们团队的工单分类接口上线第二天早上 9 点 40 分,监控群里开始刷HttpMessageNotReadableException。一天下来 1847 次调用,失败 213 次,失败率 11.5%。前端同学很委屈:“模型有时候返回得挺好,有时候就报错,是不是你们后端没做好容错?”

我们当时第一反应是"提示词写得不够狠",于是把"只返回 JSON,不要有任何其他文字"加粗、大写、重复了三遍,还在末尾加了一句"违反格式你将被惩罚"。当天失败率从 11.5% 降到了……11.9%。没降,还略升了。

后来我们把那 213 条失败样本捞出来逐条看,才发现问题根本不在"模型不听话",而在于:

  • 我们假设模型返回的是"一段 JSON",实际上它返回的是"一段以 JSON 为主要内容的自然语言文本";
  • 我们假设"格式错误"是一种错误,实际上它是八种不同的错误,每一种的成因和解法都不一样;
  • 我们假设加强提示词能提高成功率,实际上这一层有明确的天花板。

这一讲要解决的,就是怎么把模型的输出变成可以直接readValue的 Java 对象,

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询