核心要点

  • 能讲结构约束:用 JSON Schema / 函数调用 / 约束解码(grammar)从源头保证格式

  • 能讲校验+重试:解析校验失败时把错误回灌让模型修复,限定重试次数

  • 能讲安全/合规:敏感与违规内容过滤、PII 检测脱敏,必要时拦截或降级

  • 能讲事实校验:RAG 场景做引用接地检查、自一致或独立校验器抑制幻觉

标准回答

三个维度(独占一行)

LLM 输出的可靠性要从结构、安全、事实三方面用模型之外的确定性手段来保障,而不能只靠提示词「请求模型自觉」。

结构校验

优先从源头约束:用函数调用 / JSON mode / 约束解码(按 grammar/Schema 强制采样)让输出天然合法;再叠加 JSON Schema、正则、类型校验做兜底解析。失败时把校验错误信息回灌给模型让它修复,并限定重试次数,避免死循环。

安全与合规校验

对输出做敏感/违规内容过滤、越界话题拦截、PII 检测与脱敏;可用规则、分类器或审核模型,命中则拦截、改写或返回降级回复,并记录审计日志

事实校验

RAG 场景检查输出是否有检索依据、引用是否对应原文(接地检查);用自一致(多次采样取多数)或独立校验器判断是否编造,无据则拒绝或重生成(参考 结构化输出实践,框架层面可用 LangChain 的输出解析器)。

常见误区

⚠️ 常见踩坑

别只在 prompt 里写「只输出 JSON」就当校验——模型可能加解释、截断或越界;必须有程序化解析 + 失败重试,且结构、安全、事实三类校验各有侧重,不能互相替代。

追问

追问 1约束解码和「校验后重试」哪个更好?

约束解码从生成源头保证格式合法,省去重试、延迟稳定,但需后端支持且灵活性受限;校验+重试通用、易实现但有失败开销。实践常组合:能用约束解码就用,再叠加 Schema 校验兜底。

追问 2如何防止重试陷入死循环?

设置最大重试次数,每次把具体校验错误回灌帮助模型修正;超过上限则返回降级/兜底结果或转人工,并记录失败样本用于改进提示词与 Schema 设计。

追问 3安全过滤放在模型前还是后?

两侧都要:输入侧过滤越界请求、Prompt 注入与 PII;输出侧再过滤违规内容与 PII 泄露。仅靠单侧会被绕过,输入输出双向校验才完整。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。

🛠️ AI 工具

  • LangChain

    最流行的 LLM 应用开发框架,137K+ stars。提供链式编排、RAG 检索增强生成、Agent 构建等核心能力,覆盖 Python 和 JavaScript 双语言生态,是构建 LLM 应用的基础设施