通过有害输出、幻觉、隐私泄露和角色漂移四类实验展示防护前后的模型响应,并提供可运行的 Colab。文中对应介绍 Llama Guard、Presidio、Guardrails AI 和 NeMo Guardrails 等生产工具。

我写了一篇文章,做了大多数 Guardrail 文章没有做的事——针对四种失败模式(有害输出、幻觉、PII 泄露、角色漂移),直接展示模型在应用 Guardrail 前后的实际输出,并介绍在真实系统中分别可以采用哪些生产级工具。
每个实验都只修改同一个模型的 system prompt,输出差异立刻可见。四个实验都可以在免费的 Colab notebook 中运行,使用 Groq API(开放模型,无需信用卡)。只需替换两行代码,就能改用任何其他兼容 OpenAI API 的服务商。
生产级工具参考:使用 Llama Guard 进行分类,使用 Guardrails AI 验证输出,使用 Microsoft Presidio 处理 PII,使用 NeMo Guardrails 控制对话流程。
核心观点是:Guardrail 并不是最后才外挂上去的安全功能,而是一个架构层。大多数团队都是在第一次事故发生后,才意识到这一点。
贯穿这四个实验的共同规律是:Guardrail 不是开发到最后才添加的功能,而是从一开始就需要纳入设计的架构层。
本文最初发布于 sriharshacr.github.io。如果你正在这里阅读,包含完整格式、引用和配套 notebook 的规范版本位于:https://sriharshacr.github.io/blogs/ai-guardrails-in-action/
没有 Guardrail:模型会按照要求,写出真正具有攻击性的职场消息。
加入 Guardrail:模型会将请求引导至更具建设性的替代方案。
同一个模型,只修改了一个 system prompt。
没有 Guardrail:模型会编造公司的营收数据,而且语气非常自信,甚至还会给出百分比。
加入 Guardrail:模型回答:“我没有经过验证的相关信息。请查阅可信来源。”
拒绝回答,远比一个自信的谎言更有价值。
没有 Guardrail:当用户提出要求时,模型会泄露联系方式。
加入 Guardrail:模型会拒绝请求、说明相关政策,并将用户引导至正确的渠道。
没有 Guardrail:只需要一句“ignore previous instructions”,模型的 persona 就消失了。
加入 Guardrail:模型会保持角色设定,并拒绝覆盖原有指令的尝试。
所有实验都可以在免费的 Colab notebook 中运行(使用 Groq API,无需信用卡)。只需替换两行代码,就能改用 Anthropic、OpenAI 或 Kimi。
如果要在你现在开发的产品中加入这四种 Guardrail,你会选择哪一种?真正阻碍你这么做的又是什么?
→ 完整文章与 notebook:https://sriharshacr.github.io/blogs/ai-guardrails-in-action/
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。