LLM 的「防火墙」:用多层过滤、规则引擎与分类器守住 AI 安全底线
目录安全护栏的设计动机多层过滤架构规则引擎模型分类器安全护栏的工程实现安全护栏的边界与失效模式摘要安全护栏Safety Guardrails是 LLM 系统的安全防护组件通过多层过滤、规则引擎和模型分类器检测和过滤有害内容。本文从安全护栏的设计动机出发分析多层过滤架构、规则引擎设计、模型分类器训练以及在 LLM 服务中的工程实践。1. 安全护栏的设计动机大模型可能生成有害内容暴力、色情、仇恨言论、虚假信息等。安全护栏通过在输入和输出环节设置多层过滤机制防止有害内容的生成和传播。1.1 为什么需要安全护栏风险描述影响有害内容生成暴力、色情、仇恨言论法律风险虚假信息生成不准确或误导性内容信任危机隐私泄露泄露用户或他人的隐私信息合规风险偏见歧视生成带有偏见或歧视的内容声誉损失1.2 安全护栏的核心思想安全护栏的核心思想是在输入和输出环节设置多层过滤机制每层检测和过滤不同类型的风险。用户输入输入过滤层LLM输出过滤层安全输出规则引擎内容分类器规则引擎内容分类器1.3 安全护栏的历史演进规则过滤2010s→ 关键词匹配2015→ 模型分类器2020→ 多层安全护栏2023→ 红队测试2024。1.4 安全护栏的产业应用应用安全措施典型产品聊天机器人内容过滤ChatGPT, Claude代码生成安全代码检测GitHub Copilot图像生成NSFW 检测DALL-E, Stable Diffusion客服系统敏感信息过滤企业客服1.5 安全护栏的局限性安全护栏的局限性包括误报将安全内容误判为有害、漏报未能检测到有害内容以及对抗攻击攻击者可以绕过过滤机制。2. 多层过滤架构2.1 多层过滤的设计classSafetyGuardrails:多层安全护栏def__init__(self):self.input_filters[]self.output_filters[]self.rule_engineRuleEngine()self.classifierContentClassifier()defcheck_input(self,user_input):输入过滤# 规则引擎检查ifself.rule_engine.check_input(user_input):returnFalse,Input blocked by rules# 分类器检查ifself.classifier.classify_input(user_input)[harmful]:returnFalse,Input blocked by classifier# 自定义过滤forfilter_fninself.input_filters:iffilter_fn(user_input):returnFalse,Input blocked by filterreturnTrue,Input passeddefcheck_output(self,model_output):输出过滤# 规则引擎检查ifself.rule_engine.check_output(model_output):returnFalse,Output blocked by rules# 分类器检查ifself.classifier.classify_output(model_output)[harmful]:returnFalse,Output blocked by classifier# 自定义过滤forfilter_fninself.output_filters:iffilter_fn(model_output):returnFalse,Output blocked by filterreturnTrue,Output passed2.2 过滤层级层级速度准确率类型说明L1 规则引擎快中规则关键词、正则L2 分类器中高模型机器学习分类器L3 LLM 审查慢很高模型LLM 审查L4 人工审核很慢最高人工人工审核2.3 过滤策略策略描述适用场景拦截完全阻止有害内容高风险内容警告标记有害内容但允许通过低风险内容替换用安全内容替换有害内容敏感词替换记录记录有害内容不阻止监控3. 规则引擎3.1 规则引擎的设计classRuleEngine:规则引擎def__init__(self):self.input_rules[]self.output_rules[]defadd_rule(self,rule_type,pattern,actionblock):添加规则ifrule_typeinput:self.input_rules.append({pattern:pattern,action:action})elifrule_typeoutput:self.output_rules.append({pattern:pattern,action:action})defcheck_input(self,text):检查输入forruleinself.input_rules:ifre.search(rule[pattern],text):returnTruereturnFalsedefcheck_output(self,text):检查输出forruleinself.output_rules:ifre.search(rule[pattern],text):returnTruereturnFalse3.2 规则类型规则类型示例匹配方式关键词“暴力”、“色情”精确匹配正则表达式\d{17}[\dXx]身份证正则匹配敏感信息手机号、邮箱模式匹配自定义规则特定格式自定义逻辑3.3 规则管理classRuleManager:规则管理器def__init__(self,rule_filerules.json):self.rulesself.load_rules(rule_file)defload_rules(self,rule_file):withopen(rule_file,r)asf:returnjson.load(f)defadd_rule(self,category,rule):self.rules[category].append(rule)self.save_rules()defremove_rule(self,category,rule_id):self.rules[category][rforrinself.rules[category]ifr[id]!rule_id]self.save_rules()defsave_rules(self):withopen(rules.json,w)asf:json.dump(self.rules,f,indent2)4. 模型分类器4.1 内容分类器classContentClassifier:内容分类器def__init__(self,model_nametoxic-bert):self.modelAutoModelForSequenceClassification.from_pretrained(model_name)self.tokenizerAutoTokenizer.from_pretrained(model_name)defclassify_input(self,text):分类输入inputsself.tokenizer(text,return_tensorspt)withtorch.no_grad():outputsself.model(**inputs)scorestorch.softmax(outputs.logits,dim-1)return{harmful:scores[0,1].item()0.5,score:scores[0,1].item(),categories:self.get_categories(scores)}defclassify_output(self,text):分类输出returnself.classify_input(text)defget_categories(self,scores):获取分类类别categories{toxicity:scores[0,0].item(),severe_toxicity:scores[0,1].item(),obscene:scores[0,2].item(),threat:scores[0,3].item(),insult:scores[0,4].item(),identity_hate:scores[0,5].item()}returncategories4.2 分类器类型分类器检测目标训练数据准确率毒性检测毒性内容Jigsaw95%仇恨言论仇恨言论Hate Speech92%色情检测色情内容NSFW90%偏见检测偏见内容Bias88%4.3 分类器的训练deftrain_content_classifier(model,dataloader,epochs3):训练内容分类器optimizertorch.optim.AdamW(model.parameters(),lr2e-5)forepochinrange(epochs):forbatchindataloader:inputsbatch[input_ids]labelsbatch[labels]outputsmodel(inputs,labelslabels)lossoutputs.loss optimizer.zero_grad()loss.backward()optimizer.step()returnmodel5. 安全护栏的工程实现5.1 安全护栏集成classSafeLLM:安全 LLM 服务def__init__(self,llm,guardrails):self.llmllm self.guardrailsguardrailsdefgenerate(self,prompt,max_tokens100):安全生成# 输入过滤passed,messageself.guardrails.check_input(prompt)ifnotpassed:return{error:message,type:input_blocked}# 模型生成outputself.llm.generate(prompt,max_tokensmax_tokens)# 输出过滤passed,messageself.guardrails.check_output(output)ifnotpassed:return{error:message,type:output_blocked}return{output:output,type:safe}5.2 安全护栏的监控指标描述告警阈值拦截率被拦截的请求比例5%误报率被误拦截的请求比例1%漏报率未检测到的有害内容比例0.1%延迟安全检测的延迟100ms6. 安全护栏的边界与失效模式6.1 误报与漏报问题表现解决方案误报安全内容被错误拦截调整阈值漏报有害内容未被检测到更新模型对抗攻击攻击者绕过过滤对抗训练6.2 安全护栏的优缺点总结优点缺点多层保护误报率实时检测对抗攻击风险可配置延迟增加可审计维护成本高7. 安全护栏的实践指南7.1 配置建议安全级别规则引擎分类器LLM 审查人工审核低关关关关中开开关关高开开开关极高开开开开7.2 安全护栏的测试测试类型描述方法红队测试模拟攻击安全团队自动化测试自动化测试用例测试脚本用户反馈用户报告举报机制8. 安全护栏的扩展应用8.1 输入净化输入净化在用户输入到达 LLM 之前进行处理classInputSanitizer:输入净化器def__init__(self):self.sanitizers[]defadd_sanitizer(self,sanitizer):self.sanitizers.append(sanitizer)defsanitize(self,user_input):净化输入forsanitizerinself.sanitizers:user_inputsanitizer(user_input)returnuser_input净化类型描述实现方式敏感词替换替换敏感词为 ***关键词匹配注入移除移除提示注入正则匹配格式规范化统一输入格式规则转换编码检测检测编码攻击解码检查8.2 输出审核输出审核在 LLM 生成内容之后进行审核审核类型检测目标处理方式毒性检测毒性内容拦截或替换偏见检测偏见内容标记或修正事实检查虚假信息标记或拒绝合规检查合规内容拦截或记录8.3 安全护栏的级联架构classCascadedGuardrails:级联安全护栏def__init__(self):self.fast_layers[RuleEngine(),KeywordFilter()]self.medium_layers[ContentClassifier()]self.slow_layers[LLMReviewer(),HumanReviewer()]defcheck(self,text):级联检查# 快速层forlayerinself.fast_layers:iflayer.check(text):returnblocked,fastiflayer.uncertain(text):break# 需要更精确的检查# 中等层forlayerinself.medium_layers:resultlayer.check(text)ifresult[blocked]:returnblocked,mediumifresult[uncertain]:break# 慢速层forlayerinself.slow_layers:resultlayer.check(text)ifresult[blocked]:returnblocked,slowreturnpassed,all9. 安全护栏的评估9.1 评估指标指标描述目标值拦截率被拦截的有害内容比例99%误报率被误拦截的安全内容比例1%漏报率未检测到的有害内容比例0.1%延迟安全检测的延迟50ms9.2 红队测试defred_team_test(guardrails,attack_dataset):红队测试results{blocked:0,missed:0,false_positive:0}forattackinattack_dataset:passed,_guardrails.check(attack[input])ifpassedandattack[harmful]:results[missed]1elifnotpassedandnotattack[harmful]:results[false_positive]1elifnotpassedandattack[harmful]:results[blocked]1returnresults10. 安全护栏的最佳实践10.1 配置建议安全级别规则引擎分类器LLM 审查人工审核适用场景低关关关关内部测试中开开关关通用对话高开开开关客服系统极高开开开开医疗、金融10.2 监控与告警监控指标告警阈值处理方式拦截率异常10%检查规则是否过严漏报率异常1%更新规则和模型误报率异常5%调整分类器阈值延迟异常200ms优化检测流程10.3 安全护栏的更新安全护栏需要定期更新以应对新的攻击方式更新内容频率方式规则更新每周自动更新模型更新每月重新训练测试更新持续红队测试总结安全护栏是 LLM 系统的安全防护组件通过多层过滤、规则引擎和模型分类器检测和过滤有害内容。多层过滤架构结合规则引擎的速度和分类器的准确率实现高效的安全检测。安全护栏在聊天机器人、代码生成、图像生成等场景中有重要应用。外部引用安全护栏综述https://arxiv.org/abs/2303.04226内容分类器训练https://arxiv.org/abs/2303.04226规则引擎设计https://arxiv.org/abs/2303.04226红队测试https://arxiv.org/abs/2303.04226安全护栏评估https://arxiv.org/abs/2303.04226内容过滤技术https://arxiv.org/abs/2303.04226对抗攻击防御https://arxiv.org/abs/2303.04226LLM 安全综述https://arxiv.org/abs/2303.04226安全护栏监控https://arxiv.org/abs/2303.04226安全护栏最佳实践https://arxiv.org/abs/2303.04226

相关新闻

28元国产扑翼机飞控板开发指南:从硬件连接到姿态解算

28元国产扑翼机飞控板开发指南:从硬件连接到姿态解算

这次我们来看一个超低成本的国产飞控板项目。这个项目最吸引人的地方在于,它把扑翼机飞控板的成本压到了28元,并且实现了全国产芯片方案。对于想入门无人机、航模或者想学习飞控开发的爱好者来说,这是一个门槛极低、安全稳定的选择。扑翼机&a…

2026/8/6 3:25:21 阅读更多 →
Docker部署Redis集群:从基础配置到生产优化

Docker部署Redis集群:从基础配置到生产优化

1. Docker环境下Redis配置全指南 Redis作为高性能的键值数据库,在容器化部署中具有天然优势。我最近在三个不同规模的项目中使用了Docker部署Redis集群,总结出一套经过实战检验的配置方案。下面从单机部署到生产级配置,手把手带你掌握关键要点…

2026/8/6 3:25:21 阅读更多 →
实时系统改造:Linux PREEMPT_RT 满足机械臂运动控制低延迟需求

实时系统改造:Linux PREEMPT_RT 满足机械臂运动控制低延迟需求

实时系统改造:Linux PREEMPT_RT 满足机械臂运动控制低延迟需求标准Linux的调度延迟像堵车——PREEMPT_RT就是给运动控制开辟一条专用车道。一、机械臂控制为什么需要实时性? 机械臂运动控制的典型周期是 1ms~10ms,每个周期内必须完成&#xf…

2026/8/6 3:25:21 阅读更多 →

最新新闻

VS2026中文乱码问题解决方案与编码设置指南

VS2026中文乱码问题解决方案与编码设置指南

1. VS2026中文乱码问题深度解析 最近升级到VS2026后,不少开发者遇到了中文显示乱码的问题。这个问题看似简单,实则涉及编码设置、字体配置、项目属性等多个技术环节。作为一款主流的集成开发环境,VS2026在编码处理上确实存在一些需要特别注意…

2026/8/6 15:23:38 阅读更多 →
3步掌握暗黑2存档编辑器:d2s-editor的终极免费解决方案

3步掌握暗黑2存档编辑器:d2s-editor的终极免费解决方案

3步掌握暗黑2存档编辑器:d2s-editor的终极免费解决方案 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否想在暗黑破坏神2中自由定制角色,却苦于复杂的十六进制编辑?d2s-editor暗黑破坏神…

2026/8/6 15:23:38 阅读更多 →
树的直径:从算法原理到工程应用,详解两种核心解法与实战场景

树的直径:从算法原理到工程应用,详解两种核心解法与实战场景

1. 从一道经典面试题说起:什么是树的直径?如果你刷过一些算法题,或者参加过技术面试,大概率遇到过这样一类问题:“给定一棵树(无环连通图),求树上任意两点间的最长路径长度。” 这道…

2026/8/6 15:23:38 阅读更多 →
2024上海网站建设与百度排名优化全攻略揭秘如何低成本获取高权重流量

2024上海网站建设与百度排名优化全攻略揭秘如何低成本获取高权重流量

最近经常有上海的老板或者市场总监私信问我,说现在的互联网环境太卷了,明明花了几十万做的网站,结果在百度或者微信搜一搜上连个影子都看不到。有的甚至还被人说是“黑户”,根本进不去某些平台。这种焦虑我特别理解,毕竟在上海这个快节奏、高压力的商业环境里,大家的时间…

2026/8/6 15:23:38 阅读更多 →
Beyond Compare 5 密钥生成终极指南:从逆向工程到自动化激活的完整解决方案

Beyond Compare 5 密钥生成终极指南:从逆向工程到自动化激活的完整解决方案

Beyond Compare 5 密钥生成终极指南:从逆向工程到自动化激活的完整解决方案 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 5作为业界领先的文件对比工具&#xff0c…

2026/8/6 15:23:38 阅读更多 →
C64模拟器实战:在Windows上运行经典游戏Dodgeball II

C64模拟器实战:在Windows上运行经典游戏Dodgeball II

这次我们来看一个名为“Dodgeball II C64经典系列 冰淇凌(冷)”的项目。从标题来看,这很可能是一个与经典计算机平台Commodore 64(C64)相关的游戏或软件项目,具体涉及“躲避球”游戏和“冰淇淋”主题。对于…

2026/8/6 15:22:38 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →