1. 为什么 LLM 需要 Guardrails
大语言模型本质上是"预测下一个 token"的概率机器,其输出具有不可控性。在企业场景中,LLM 可能面临:
- 提示词注入(Prompt Injection):用户输入中嵌入恶意指令,覆盖系统提示
- Jailbreak 攻击:通过特殊构造的提示绕过安全限制
- 敏感信息泄露:模型在输出中无意暴露 PII、商业机密或内部数据
- 有害内容生成:涉及暴力、色情、政治敏感内容的输出
2. Guardrails 架构分层
2.1 输入层(Input Guardrails)
在用户输入到达 LLM 之前进行预处理和检测:
- 语法注入检测:识别提示词中可能改变系统指令的特殊标记或隐写内容
- 向量检索对抗:对 RAG 检索到的文档进行恶意内容预审
- 限流与频控:防止通过大量请求探测模型安全边界
2.2 模型层(In-Model Guardrails)
通过微调或系统提示词工程在模型层面植入安全约束:
核心原则:使用 Llama Guard、Aegis 等安全微调模型作为判断层,而非完全依赖系统提示词。
2.3 输出层(Output Guardrails)
在 LLM 输出返回用户前进行内容审核与过滤:
- 分类器审核:使用 SafeRL-AI、AEGIS 等内容分类器检测有害输出
- PII 检测与脱敏:正则 + NER 模型识别身份证号、手机号、邮箱等敏感信息
- 关键词过滤:基于规则的黑名单匹配作为快速通道
3. 主流框架对比
3.1 NVIDIA NeMo Guardrails
支持 RAIL(Regulated Action Markup Language)定义自定义安全规则,可与 LangChain 无缝集成,支持 topical rails(限制对话领域)和 safety rails(内容安全审核)。
3.2 Llama Guard(Meta)
基于 Llama 微调的安全分类器,7B 参数即可达到生产级安全审核准确率,支持 13 种有害内容类别,适合作为输入/输出的统一判断层。
3.3 LlamaGuard-2
Llama Guard 的最新版本,在多语言安全审核上有显著提升,支持中文敏感词检测,是目前开源社区最推荐的生产级安全基座。
4. 生产落地实践
4.1 RAG 场景下的 Guardrails
RAG 系统面临双重风险:检索到恶意文档 + 用户通过提示词注入操纵系统。推荐架构:
- 检索前:对用户 query 进行安全检测,阻止明显恶意请求
- 检索后:RAG 返回的文档块在送入 LLM 前经过内容分类器审核
- 生成后:对 LLM 输出进行二次审核,兜底所有上游误漏检
4.2 性能与延迟权衡
安全审核层会带来额外延迟(通常 50-200ms)。生产中推荐异步审核 + 同步截断模式:LLM 先返回,审核异步进行,发现问题时回调用户或告警。
5. 总结
企业级 LLM Guardrails 不是单一技术方案,而是多层防御的工程体系。输入过滤负责减少恶意输入,模型层提供语义级安全判断,输出审核作为最后兜底。三层配合才能在效果与安全性之间取得平衡。