超越 JSON 模式:在生产环境中获取可靠的 LLM 结构化输出
· 阅读需 12 分钟
你部署了一个从支持工单中提取客户意图的流水线。你已经对其进行了广泛测试。它运行良好。发布三天后,一个警报被触发:下游服务因 KeyError: 'category' 而崩溃。模型开始返回 ticket_category 而不是 category —— 提示词(prompt)没有改动,只是你的提供商悄悄推行了一次模型更新。
这就是结构化输出问题。而 JSON 模式并不能解决它。
你部署了一个从支持工单中提取客户意图的流水线。你已经对其进行了广泛测试。它运行良好。发布三天后,一个警报被触发:下游服务因 KeyError: 'category' 而崩溃。模型开始返回 ticket_category 而不是 category —— 提示词(prompt)没有改动,只是你的提供商悄悄推行了一次模型更新。
这就是结构化输出问题。而 JSON 模式并不能解决它。
你的 Datadog 仪表板显示 99.4% 的在线率,低于 500ms 的 P95 延迟,以及 0.1% 的错误率。一切都是绿色的。与此同时,你的支持队列却充满了抱怨 AI 给出了完全错误答案的用户。你毫无头绪,因为每个请求都返回了 HTTP 200。
这是传统可观测性与你在 LLM 系统中真正需要的可观测性之间的本质区别。语言模型可能会以标准 APM 工具无法留下痕迹的方式发生故障:幻觉事实、从错误的产品版本中检索文档、在代码更改修改了系统提示词后将其忽略,或者在模型更新后对特定查询类型静默降级。在你的延迟图表上,这些看起来都一切正常。