评测与安全

Agent 护栏(Guardrails)

也叫: Agent 护栏

护栏,是加在 agent 的输入或即将执行的动作上的一条规则、过滤器或检查,独立于 agent 自身的推理运行,用来限制它能做什么。

Agent 提出行动方案护栏检查通过后执行
护栏在行动方案真正执行之前,先按策略检查一遍。

护栏具体是什么样子?举几个例子:拦截某些高风险的工具调用、在 agent 的输出被使用前先校验它是否符合预期的格式(schema)、要求某类操作在执行前必须经过人工批准。这些做法的共同点是——检查是独立运行的,不依赖"模型自己判断该不该这么做"。

之所以需要这样一层独立机制,是因为只指望模型靠自己的推理"决定"要安全,是不牢靠的:模型会出错,可能被读到的内容误导(参见 agent-safety 里提到的提示词注入),也可能单纯是理解错了任务边界。护栏在 agent 的推理和真正执行之间加了一道独立检查,这样即使推理这一步出了问题,也不会自动变成一次真实的错误动作。

现在不少 agent 平台和编排框架都内置了护栏相关的功能——比如工具调用白名单、输出格式校验、风险动作审批流程——做成可配置的规则或策略,而不是完全指望团队自己从零手写。

怎么运作

具体运行时,护栏检查通常插在"agent 提出一个动作方案"和"这个动作真正执行"之间:先对照一套策略去检查——比如这个工具调用在不在允许列表里、输出是否符合预期格式、是不是属于需要人工审批的高风险类别——检查通过才放行执行,没通过就拦截、退回修改,或者转给人工确认。

举个例子

rule: deny tool_call "send_email"
  unless recipient_domain in allowlist

rule: require_approval
  when action.risk_level == "high"

和相关概念的区别

护栏和安全(agent-safety)的关系:安全是更大的目标,护栏是实现这个目标的一种具体机制——沙箱隔离、人工审核、评估同样也在为安全服务,护栏只是其中比较直接、可配置的一种。

常见误解

常被以为: 护栏就是让 agent 自己更小心一点。
实际上: 真正有效的护栏往往运行在 agent 自身推理之外——比如单独的校验步骤或策略引擎——这样即使 agent 这一次判断错了,护栏依然能拦下来。
常被以为: 护栏的作用就是直接拦截危险操作。
实际上: 很多护栏做的是格式校验,或者把边界情况转入人工审批,而不是直接拒绝——动作最终还是会执行,只是多了一道把关或修正。

常见问题

AI Agent 的护栏具体是什么?
是加在 agent 输入或将要执行的动作上的规则、过滤器或检查,独立于模型自身的推理运行,用来限制它能做什么,比如工具调用白名单、输出格式校验、高风险操作需人工审批。
怎么给 agent 加护栏?
通常是在 agent 提出动作方案和真正执行之间插入一道独立的策略检查,很多 agent 平台或编排框架已经内置了可配置的护栏功能,也可以自己写校验逻辑。
护栏和 agent 安全是一回事吗?
不完全是,安全是更大的目标和实践领域,护栏只是实现安全目标的一种具体技术手段,通常还会搭配沙箱、人工审核等其他方式。

最近核实: 2026-08-28

相关术语