Agent 护栏(Guardrails)
也叫: 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)的关系:安全是更大的目标,护栏是实现这个目标的一种具体机制——沙箱隔离、人工审核、评估同样也在为安全服务,护栏只是其中比较直接、可配置的一种。
常见误解
常见问题
AI Agent 的护栏具体是什么?
怎么给 agent 加护栏?
护栏和 agent 安全是一回事吗?
最近核实: 2026-08-28