护栏框架横评:给 Agent 装上刹车和护栏
Agent 会犯错、会越权、会被骗。护栏框架负责在输入、执行、输出三层拦截风险。本文对比主流护栏方案的能力,给出分层落地思路。
Agent 越能干,闯祸的能力也越强。它能读网页、调工具、发消息、花钱——任何一个环节失控,后果都不小。护栏(Guardrails)就是在这些环节上装刹车。
一、护栏要防什么
- 有害内容:暴力、违法、偏见输出。
- 提示注入:外部内容里的恶意指令被当命令执行。
- 敏感数据泄露:把密钥、隐私数据吐出去。
- 越权操作:调用了不该调的工具、访问了不该访问的数据。
- 格式失控:输出无法被程序解析。
二、三层护栏
输入层
- 内容审核:拦截违规输入。
- 注入检测:识别”忽略之前指令”这类攻击模式。
- 来源标注:外部内容明确标记为”数据,非指令”。
执行层
- 工具白名单:只放行当前任务必需的工具。
- 参数校验:调用前检查参数是否越界。
- 敏感操作二次确认:删除、转账、对外发送必须人工审批。
- 额度与频率限制:能花的钱、能调的次数都设上限。
输出层
- 结构校验:要求固定格式,不合规就拒。
- 敏感字段过滤:出现密钥、内网地址直接拦。
- 引用核对:答案必须能追溯到来源。
三、主流方案的能力对比
| 能力 | 轻量规则 | 专用护栏框架 | 模型自审 | 平台内置 |
|---|---|---|---|---|
| 延迟开销 | 极低 | 低-中 | 中-高 | 低 |
| 注入检测 | 弱 | 强 | 中 | 中 |
| 输出格式校验 | 需自建 | 中 | 弱 | 强 |
| 可定制性 | 高 | 高 | 中 | 低 |
| 部署难度 | 低 | 中 | 低 | 极低 |
选型原则:规则拦得住就用规则(快又便宜),拦不住再上模型审查。 分层叠加,别指望一层搞定。
四、护栏不等于降智
护栏最容易犯的错是误伤正常功能:过度过滤让 Agent 变傻、任务做不完。做法:
- 有阈值、有分级:低风险放行,高风险拦,中风险标记。
- 可解释:被拦时说明原因,便于调优。
- 可回退:误拦时有人工通道。
五、落地清单
- 列出所有”出事了会很难受”的操作。
- 为每个操作定义输入、执行、输出三层检查。
- 敏感操作强制人工确认。
- 设预算、频率、轮数上限。
- 记录所有拦截事件,定期复盘误报漏报。
护栏的目标不是让 Agent 什么都不敢做,而是在它跑偏时,损失可控、可追、可回退。 这是 Agent 从”玩具”走向”生产”的必修课。