标准回答
总体思路(独占一行)
护栏是包裹在 LLM 调用前后的一层校验与过滤管线,分输入护栏与输出护栏两侧,独立于模型本身,确保系统行为可控、合规、安全。
输入护栏
在请求进入模型前:做话题/范围过滤(拒绝越界请求)、安全与敏感词过滤、Prompt 注入 与越狱检测、PII 脱敏。可用规则、分类器或小模型实现。
输出护栏
在模型生成后、返回用户前:用 JSON Schema / 正则 / 类型约束做结构化校验;做安全与合规过滤;对 RAG 场景做事实接地检查(输出是否有检索依据,抑制幻觉);再次做 PII 检测防泄露。
失败处理
校验不通过时按严重度处理:轻则触发自动重试或让模型按错误信息修复输出,重则拦截并返回降级/兜底回复或转人工。全程记录 trace 与拦截原因,用于审计和持续优化(参考 状态机与护栏模式)。
常见误区
⚠️ 常见踩坑
别只靠 system prompt「叮嘱模型别越界」当护栏——提示词可被注入绕过;护栏必须是模型之外、确定性的校验层,且输入和输出两侧都要做,不能只防一边。
追问
追问 1:如何保证 LLM 输出严格符合 JSON Schema?
优先用模型的结构化输出/约束解码(function calling、JSON mode、grammar)从源头保证格式;再叠加 Schema 校验做兜底,失败时把校验错误回灌让模型修复,限定重试次数。
追问 2:护栏会增加延迟,如何平衡?
轻量规则/正则前置快速过滤,分类器或 LLM 审核仅对高风险路径启用;输出校验尽量与流式生成并行;对低风险场景放宽,按风险分级配置护栏强度。
追问 3:如何防止 Prompt 注入绕过护栏?
隔离不可信输入(明确标注用户/检索内容边界)、对工具调用做权限与参数白名单、用独立检测模型识别注入意图,并对高危操作要求二次确认或人工审批,而非只靠提示词防御。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
🛠️ AI 工具