在 Agent 落地过程中,最容易被低估的往往不是模型能力,而是「输出是否可被程序可靠消费」。当你的下游是一段确定性代码、一个 JSON 解析器、一条数据库写入链路时,模型的「文笔好」「理解到位」统统要让位于一个朴素的标准:这次输出能不能被无脑解析。本文不讨论怎么写「更聪明的提示词」,而是从工程视角拆解一条可落地的管线:指令设计 → few-shot 示范 → 约束解码兜底 → JSON Schema 强制结构化输出。所有结论都来自真实生产环境里踩过的坑。
一、为什么「让模型返回 JSON」这件事天然不可靠
先说一个反直觉的事实:在绝大多数通用模型上,「请返回 JSON」只是一个概率性的软约束。模型不是为你生成 JSON,而是生成「看起来像 JSON 的文本序列」,其中每一个 token 都是在整个词表上的概率分布中采样出来的。这意味着两个问题:
2026/3/14大约 10 分钟