护栏的作用与部署策略是什么?
- 定义: 护栏(Guardrails)是保障 Agent 行为安全可控的分层防线;
- 防护目标: 数据隐私风险(如系统提示泄露)与声誉风险(如模型行为与品牌形象不一致);
- 策略: 先针对已识别的风险设置护栏,再在发现新漏洞时逐步添加;
- 组合原则: 单个护栏不可能提供足够保护,多个专门的护栏组合才能构建有韧性的系统;
- 展开位置: 上下文层防护见第二章,执行层权限控制见第四章,代码执行安全见第五章;
三层护栏各管什么?
- 排序依据: 三层不是按请求处理先后排,而是按被绕过的难度排——越靠下的层越不依赖模型自己的判断,越难被一次成功的攻击穿透;
- 上下文层(模型能看到什么): 在内容进入上下文之前拦截;
- 执行层(模型能做什么): 在动作真正生效之前验证;
- 数据层(世界最终能被改成什么样): 由稳定的、经人类审查的机制强制执行;
上下文层护栏包含哪些机制?
- 相关性分类器: 标记偏离主题的查询;
- 安全分类器: 检测越狱(Jailbreak)与提示注入(Prompt Injection);
- 二者区别: 越狱是用户自己试图绕过模型安全限制;提示注入是攻击者通过外部数据(网页、文档)间接操纵模型行为;
- 内容审核: 标记暴力、歧视性等有害或不当输入;
- 基于规则的保护: 黑名单、输入长度限制、正则过滤器,防范 SQL 注入等已知威胁;
- 来源标注与“指令 / 数据”分离: 也属于这一层;
- 工业实践(Anthropic Constitutional Classifiers): ① 规则驱动——用自然语言的允许/禁止规则生成合成训练数据;② 上下文联合判断——把提问与回答放在一起检查(“如何使用食品调味料”只有对照提问才能发现是化学试剂暗语);③ 两级筛查——轻量探针读取模型内部激活检查所有对话,可疑才交强分类器复审;
- 结构性上限: 处在同一个上下文里的 Agent 很难判断自己是否已被注入——上下文层只能降低攻击成功率,给不出保证;
执行层护栏的核心机制是什么?
- 工具风险评级: 按操作是否可逆、权限等级、财务影响标注风险等级(低/中/高),高风险需额外审查或人工确认;
- 关键要求: 复核必须由上下文之外的机制完成——独立审查进程、最小权限凭证、沙盒隔离、人在回路;否则会与被注入的 Agent 一起沦陷;
- 输出检查: 回复本身也是一次动作(第四章归为用户沟通工具)——PII 过滤器审查个人身份信息,输出验证确保内容与品牌价值一致;
数据层护栏为什么是最后一道防线?
- 职责: 把“谁能对哪条数据做什么”交给一层稳定的、经人类审查的机制强制执行;
- 手段: 数据库行级安全策略、约束与校验器、受控视图与存储过程、由受信任运行时绑定且无法伪造的访问上下文;
- 价值: 不依赖上两层是否正确——即使提示注入得手、生成的代码漏写权限判断,越权操作仍会在数据层被拒绝;
- 展开位置: 第五章以动态生成软件为例展开;
人工干预在什么时候触发?
- 名称: Human in the loop,又称人在回路;
- 作用: 让 Agent 在不损害用户体验的情况下提升实际性能;部署早期尤为重要,有助于识别失败模式、发现边缘情况、建立评估周期;
- 目标: 让 Agent 在无法完成任务时平稳移交控制权——客服升级到人工客服,Coding Agent 交还开发者;
- 触发条件一(超过失败阈值): 为重试次数或操作次数设上限,超过就升级到人工;
- 触发条件二(高风险操作): 涉及敏感、不可逆或高风险操作时触发人工监督,例如授权大额退款或付款;
护栏的误拒绝为什么也要评估?
- 现象: 为降低危险请求被放行概率,模型可能同时拒绝一部分合法但形式敏感的任务,例如经授权的安全测试、模型蒸馏研究;
- 要求: 护栏评估不能只测“应当拒绝的请求是否被拦截”,还要测“明确允许的请求是否能够正常完成”;