DOCAI · 概念 · L3
护栏(guardrails)是什么
一句话定义
围在模型输入、输出与工具调用外的检查与限制,防止有害、越权或超预算的行为真正落地。
专业更新 2026-11-13核验 2026-11-13 · docai 编辑部
它是什么
护栏是围在模型外面的一组检查点:什么内容能进、什么内容能出、能碰哪些工具、最多花多少。它不改变模型本身,而是在请求前后做判断与拦截。
把护栏理解成门禁,比理解成「让模型更听话」的提示更准确。模型负责生成,护栏负责决定生成的东西能不能被使用。
怎么工作
按位置分,护栏主要覆盖这几处:
- 输入过滤:内容审核、长度与格式限制、注入与越狱特征检测。目的是在花钱调用模型之前,挡掉明显不该处理的内容。
- 输出校验:结构校验、敏感信息检查、引用与事实抽查。模型返回的结构化数据可能字段缺失,回答里也可能带上不该出现的隐私。
- 工具权限:白名单、参数校验、读写分级。模型只能调用明确允许的工具,参数要按定义校验,写操作与读操作分开授权。参考工具调用的权限设计。
- 预算上限:按次、按用户、按天限制 token 与调用次数,超限直接停止。失控的重试循环比坏内容更容易造成实际损失。
模型层与应用层要分工。模型层通过系统提示与训练对齐,让模型「倾向于不做」;应用层用代码判定、权限系统与人工审批,保证「做不成」。只靠前者,等于把安全交给概率。
误杀与漏放
任何过滤都是在误杀与漏放之间取舍。太严,正常用户被挡住;太松,坏内容流出去。
做法是按风险分级:低风险场景允许放行并记录,高风险场景宁可误杀也要拦住,再给人工申诉通道。每一步都要记录拦截原因——命中哪条规则、原文是什么、当时用的什么阈值。没有记录的拦截无法复盘。
高风险动作要有硬兜底:转账、删除数据、对外发送消息,不要交给模型自行判断,用固定规则加人工确认或二次验证。
常见误解
什么时候用得上
当应用要处理用户自由输入、要调用外部工具、要花钱,或者输出会直接展示给用户时。能发消息、能改数据、能执行代码的 Agent 尤其需要。
常见误解
很多人以为在系统提示里写几句「不要做坏事」就够了。提示可以被绕过、被注入覆盖;真正的护栏是模型之外的代码与权限,提示只是最外面的一层。