上一篇讲了评测信号的第一个下游执行器:Router——把「谁能答好」蒸馏成在线选模型的预测器。这一篇讲第二个,也是更古老的那个:Gate(门禁)——判定「这个输入/输出/动作放不放行」。两者是同一评测信号的两种用法:Router 做优化(选最优),Gate 做约束(拦不合格)。业界把门禁做得七零八落的根源,是把它当成一堆孤立的安全插件在堆;而它其实有一个统一的骨架,而且这个骨架不是 AI 时代发明的——访问控制领域四十年前就把它拆干净了。这篇是决策地图系列第六篇,照旧六个决策点、「论文→产品」传导链判收敛,先把第一性分解摆在最前面。
先换一个表示:门禁到底是什么
安全工程对「门禁」有一个冻结了几十年的分解,NIST 零信任架构(SP 800-207)把它写成标准:判定点(Policy Decision Point)负责回答「该不该放行」,执法点(Policy Enforcement Point)负责在流量必经之路上真正拦截。判定和执法分离,是因为它们的工程性质完全不同——判定是个「怎么算对」的问题,执法是个「设在哪里」的问题。
AI 门禁完整继承这个分解,但在两半上各加了一个新难题:
- 判定器一侧:传统门禁的判定器是确定性规则(端口号、证书、权限位),AI 门禁的判定器大多是概率分类器——它自己有假阳率和假阴率。这意味着每道门禁都要交代两笔账:误拦的代价(好流量被挡,用户体验损失)和漏放的代价(坏流量通过,事故损失)。门禁工程从规则工程变成了统计工程。而这些概率判定器从哪来?全是评测信号的蒸馏——没有评测集,就训不出判定器,这是两篇文章共享的地基。
- 执法点一侧:AI 系统的边界比网络系统多——不只有「请求进来、响应出去」,还有 agent 调工具、AI 产物合入代码库、模型版本上线。执法点该设在哪?本篇的定律先亮出来:设在不可逆性跃迁的边界上。读一段文本是可逆的(不满意可以扔),执行一次转账是不可逆的——门禁的合理位置,就是系统里「可逆→不可逆」发生跳变的地方。
沿 AI 系统的生命周期从内到外走一遍,这样的跃迁边界恰好有六个,每个对应一道闸门。判收敛的标准与系列前五篇相同:存在论文讲清原理 + 多家生产系统落成默认组件。
闸门一:输入闸——谁能对模型说话
根本问题:进入模型的 prompt 可能携带越狱和注入。为什么不靠模型自身的对齐训练解决?因为拒绝训练可以被绕过(这是闸门六那篇论文的出发点),而测试篇讲过的独立验证原则在这里同样成立:判定器必须独立于被判定的系统——所以业界的答案是在主模型之外,另立一个独立的门卫模型。
源头论文:Llama Guard(arXiv 2312.06674,Meta)把这个模式定型:一个 Llama2-7b 指令微调成输入/输出双向分类器,自带安全风险分类法(taxonomy),关键设计是判定标准可定制——换一套 taxonomy 做少样本提示或微调即可适配自家政策,直击「现成审核 API 只能执行固定政策」的痛点。Constitutional Classifiers(arXiv 2501.18837,Anthropic)把判定器的生产管线走通了:用自然语言宪法(什么允许、什么禁止)提示 LLM 生成合成训练数据,训出输入+输出分类器。数字值得记住,因为它是门禁成本的行业标尺:估计超过 3,000 小时的红队攻击(悬赏累计付出 9.5 万美元)没有找到通用越狱;自动评估中越狱成功率从裸模型的 86% 降到 4.4%;代价是生产流量的过度拒绝率仅上升 0.38%、推理开销 23.7%。
落地技术代表:Meta 的 Llama Guard 家族(已迭代到第三代含 1B 量化版),各大云厂商把同类闸门做成 API(Azure AI Content Safety、AWS Bedrock Guardrails),Anthropic 把 Constitutional Classifiers 部署在生产模型前。
收敛度:✅ 「独立门卫模型」已是默认形态。每家主流供应商都出货一个 guard 模型或等价 API;判定标准(宪法/taxonomy)可换,骨架不变。
闸门二:输出闸——模型能说什么
根本问题:输出侧的「合格」是三层叠加,形式化程度依次递减:结构合格(JSON schema 对不对——机器可判)、内容合格(有没有违规内容——分类器可判)、事实合格(说的对不对——最难判)。三层的收敛速度截然不同,把它们混为一谈是输出闸设计的头号错误。
源头论文:NeMo Guardrails(arXiv 2310.10501,NVIDIA,EMNLP 2023)给了输出闸的架构范式:一个坐在用户和 LLM 之间的可编程运行时,用类 Python 的 Colang 语言声明规则,支持五类 rails——输入、输出、对话流、检索(RAG 场景下拒绝或改写检索块)、执行(工具调用的出入参检查)。它的第一性贡献是把「门禁逻辑」从提示词和应用代码里剥出来,变成独立于底层模型、可解释、可版本化的声明式资产。
落地技术代表:NVIDIA NeMo Guardrails(开源,Apache 2.0)、Guardrails AI(schema 校验一侧)、各云审核 API(内容一侧)。事实合格一层至今没有公认方案——RAG 溯源核查、自洽性检验都在用,但没有一个像 guard 模型那样成为默认件。
收敛度:⚠️ 分层收敛。结构层 ✅(schema 校验是免费 oracle)、内容层 ✅(分类器成熟)、事实层 ❌。这正是测试篇 Oracle 梯度定律的又一次显形:判定标准能形式化到什么程度,闸门就收敛到什么程度。
闸门三:行动闸——Agent 能做什么
根本问题:前两道闸拦的是「话」,这道闸拦的是「事」。Agent 调工具是整个生命周期里不可逆性跃迁最陡的一级台阶——读文件可逆,发邮件、转账、删库不可逆。而且威胁模型在这里反转了:闸门一防的是恶意用户,这里要防的往往是善意用户 + 被注入/被误导的 agent。
源头论文(风险识别与运行时执法各一篇):ToolEmu(arXiv 2309.15817,ICLR 2024)先把风险测出来:用 LM 模拟工具执行环境(不必真实装配 36 个高风险工具包),配 LM 自动安全评估器,在 144 个测试用例上量化——当时最安全的 agent 也有 23.9% 的失败率,且人工复核确认 68.8% 的失败在真实世界成立;它的威胁模型专门选了「指令善意但欠明确」这个最日常的场景。Progent(arXiv 2504.11703,Berkeley)给出执法答案:一个针对工具调用的最小权限控制层——用 DSL 声明「哪些工具名+参数组合允许/禁止」,每次调用确定性地过一遍策略;策略可由 LLM 从任务自动生成,但新版本加了形式保证(「单调收窄」:未经显式批准,agent 的有效行动空间只能缩小不能扩大),在 AgentDojo 上只有 6% 的策略更新需要人工批准。
落地技术代表:agent harness 的权限系统——Claude Code 的 permission modes 与 hooks、各家 computer-use 产品在敏感操作前的人工确认,都是「确定性策略层 + 超出策略升级到人」的同构实现(我在 agent harness 一文里拆过 harness 的这层职责)。
收敛度:⚠️ 形态收敛,标准未立。「符号规则管确定性、人管例外」的形态各家一致;但策略语言没有标准化,「策略从哪来」(人写、LLM 生成、从评测数据学)仍在分化。注意这道闸的一个铁律:判定器可以是概率的,执法必须是确定性的——Progent 用符号规则而非再问一次 LLM,正是为了让「拦住」这个动作本身不可被注入。
闸门四:合入闸——AI 产物能进代码库吗
根本问题:AI 生成的代码、测试、prompt 变更要进主干。这道闸的特殊性在于它守的不可逆性是组织性的——错误代码合入后会被信任、被依赖、被复制(《独立验证真空》讲的就是这个失效模式),回滚的成本随时间指数增长。
源头论文:Meta TestGen-LLM(arXiv 2402.09171,FSE 2024)的「Assured LLM-based Software Engineering」是合入闸的原型(测试篇详细拆过):LLM 只提案,提案必须连续通过机械闸门——能编译、稳定通过、可度量地提升覆盖——才见得到人,最终 73% 的推荐被工程师接受进生产。它的可迁移结论是:不信任生成器没关系,把信任建在闸门上。
落地技术代表:eval 工具链已把这个模式产品化成 CI 组件——promptfoo 在 CI 里跑评测集、通过率低于阈值就让构建失败;Braintrust 的 GitHub Action 在每个 PR 上跑评测、分数跌破阈值就阻止合并,且支持把生产 trace 一键转成回归用例(线上翻过的车,变成合入闸里永久的杆)。prompt 和 agent 行为由此获得与代码同等的待遇:有测试集、有断言、有挡合并的闸。
收敛度:✅ 范式收敛。「机械闸门 + eval 阈值挡合并」对判据完全形式化(编译、红绿、通过率),是六道闸里 oracle 最硬的一道,所以收敛最快——工程上它就是单元测试文化对 AI 产物的自然延伸。
闸门五:发布闸——这个版本能上线吗
根本问题:合入闸看单个变更,发布闸看整体版本:模型换代、prompt 大改、agent 能力扩容之后,整个系统还能不能放到真实用户面前?它和合入闸的本质区别是判据从「回归不回归」升级为「能力越没越界」。
源头论文/文件:这道闸最成型的样本在前沿实验室的尺度上。OpenAI Preparedness Framework(2025 年 4 月 v2)和 Anthropic Responsible Scaling Policy 结构同源,都是「if-then 承诺」:预先定义能力阈值(Preparedness 划 High/Critical 两档;RSP 用 Capability Thresholds),模型在发布前跑能力评测,触到阈值就必须启用对应等级的 Required Safeguards,安全措施做不到就不发布。METR 对各家前沿安全政策的共性分析提炼出的公共骨架正是四件套:能力阈值 + 危险能力评测承诺 + 触发后的安全协议 + 做不到就暂停的承诺。应用层团队不做 CBRN 评测,但这个骨架直接可抄:把「能力阈值」换成「pass^k 可靠性阈值、关键场景回归集、成本预算」,就是一份应用级发布闸(τ-bench 的 pass^k 正是为此设计的判据)。
落地技术代表:前沿尺度是 OpenAI/Anthropic/DeepMind 的三份框架文件;应用尺度是「发布前全量评测 + 灰度/影子流量 + 与固定基线 A/B」的组合,上一篇引过的 Microsoft 官方建议(把生产流量交给 Model Router 前先对基线跑对比)就是平台方给用户的发布闸模板。
收敛度:⚠️ 结构收敛,阈值分歧。「if-then:评测触阈值→强制安全措施」的结构三家一致、被 METR 确认为公共骨架;但阈值怎么定、评测能不能测出真实能力上限,争议正酣——发布闸的判据是六道闸里最难形式化的第二名。
闸门六:熔断闸——运行时出事怎么停
根本问题:前五道闸都是事前的;但概率系统的长尾保证了总有漏网之鱼,最后一道防线是事中打断——发现正在出错时立刻停下。难点在于「正在出错」的判定要在生成/执行的过程中完成,留给判定器的时间窗最短。
源头论文:Circuit Breakers(arXiv 2406.04313,NeurIPS 2024)把熔断做进了模型内部:不在输出后面加分类器,而是用表征工程直接改写模型内部与有害输出相关的表征(Representation Rerouting)——模型开始生成有害内容时,其内部表征被重路由,生成当场中断。论文给出的强攻击下有害输出降低约两个数量级,且对未见过的攻击有泛化。它与闸门一的关系是纵深防御的两层:分类器拦「进门前」,熔断器拦「已经进门、正在作案」。
落地技术代表与一课:模型内熔断还在从论文走向产品(Gray Swan 的 Cygnet 是首个集成样本);工程侧的熔断更朴素——在线打分抽样监控、异常率触发降级、kill switch。这一格最值钱的实录来自 Constitutional Classifiers 的红队报告:唯一一次「疑似通用越狱」最终查明不是分类器被攻破,而是部署管线的缺陷——输出分类器已经报警,但基础设施仍把最多 128 个 token 流给了用户。判定器满分,执法点漏水。红队要红整条管线,不只红判定器。
收敛度:❌ 未收敛。模型内熔断是研究前沿,运维熔断各家自建,两层怎么拼没有标准答案——整张地图上最该投人盯的 explore 区。
合成:地图、定律,和一张门禁设计表
| 闸门 | 守护的不可逆跃迁 | 默认答案 | 技术代表 | 源头论文/来源 | 收敛度 |
|---|---|---|---|---|---|
| 输入闸 | 恶意指令进入模型 | 独立门卫模型 | Llama Guard 系 / Constitutional Classifiers | 2312.06674;2501.18837 | ✅ |
| 输出闸 | 违规/错误内容触达用户 | 结构+内容+事实三层分治 | NeMo Guardrails / 云审核 API | 2310.10501 | ⚠️ 分层收敛 |
| 行动闸 | 工具调用产生真实世界副作用 | 确定性策略层+人管例外 | Progent / harness 权限系统 | 2309.15817;2504.11703 | ⚠️ 形态收敛 |
| 合入闸 | AI 产物进入主干被信任 | 机械闸门+eval 阈值挡合并 | Meta TestGen-LLM / promptfoo / Braintrust | 2402.09171 | ✅ |
| 发布闸 | 新版本触达全量用户 | if-then:评测触阈值→强制措施 | Preparedness Framework / RSP | 官方框架 + METR 分析 | ⚠️ 结构收敛 |
| 熔断闸 | 正在发生的错误继续扩大 | 模型内重路由+运维熔断 | Circuit Breakers / Cygnet | 2406.04313 | ❌ |
六道闸的收敛度又一次沿着判据可形式化程度排队(合入闸的编译红绿最硬 → 熔断闸的「生成中途判有害」最软),Oracle 梯度定律第三次应验。但门禁篇自己的定律回答的是另一个问题——闸门该设在哪、设多强:
不可逆边界定律:门禁的位置 = 不可逆性发生跃迁的边界;门禁的强度预算 = 跃迁幅度 × 影响半径;门禁的失效模式 = 边界之后可逆则 fail-open,不可逆则 fail-closed。
第三句是最容易踩坑的:输出闸挡错一条回复,用户重问一次就恢复——可以 fail-open(判定器超时就放行,保可用性);行动闸放错一次转账无法撤销——必须 fail-closed(判定器超时就拦截,保安全性)。128-token 事故的本质就是把应该 fail-closed 的执法点做成了 fail-open。
体系化落地是四步,每步产出一张表里的一列:
- 盘点边界:沿六道闸问自己的系统哪里有不可逆跃迁。最实用的动作是给 agent 的工具清单做三级分级——只读 / 可恢复 / 不可逆。
- 每道闸配判定器:判据能形式化的用规则(schema、工具+参数白名单),不能的蒸馏分类器(guard 模型、LLM 裁判)。记住判定器 = 评测的蒸馏——没有评测集的门禁只是一个愿望。
- 给每道闸记账:误拦率 × 误拦代价、漏放率 × 漏放代价、延迟/算力开销。行业参考价:Anthropic 为「挡住通用越狱」支付了 0.38% 过度拒绝 + 23.7% 推理开销——你的每道闸也要能报出自己的这两个数。
- 定失效模式与放行权:每道闸声明 fail-open 还是 fail-closed;谁有权人工 override;红队演练打整条管线(判定器 + 执法点 + 降级路径),不只打分类器。
和上一篇合起来,评测团队的完整版图现在闭合了:评测产出判定信号,信号的一路蒸馏成 Router 做优化(选谁来答),另一路蒸馏成 Gate 做约束(放不放行)——Evals 是新的 PRD,而 Router 和 Gate 是这份 PRD 的两个运行时。
照例的诚实提醒 + 亲手实验:本文所有数字(86%→4.4%、0.38%、23.7%、3,000 小时、$95k、23.9%、68.8%、6%、73%、128 token、两个数量级)都有来源,无一亲手复现。这一篇的最小实验半天可完成:把自己 agent 的工具清单拉出来做三级不可逆性分级,数一数过去一周的调用日志里有多少比例落在「不可逆」档;然后给这一档写一条最小白名单策略(工具名+参数模式),挂进 harness 的调用前钩子,跑一周记录两个数:拦截数和误拦数。 这两个数就是你的第一份门禁账本,也是判断值不值得上 Progent 式完整策略层的依据。排进实验队列。
参考来源
arXiv 论文
- Inan et al. (Meta), Llama Guard: LLM-based Input-Output Safeguard for Human-AI Conversations(2312.06674)
- Sharma, Tong et al. (Anthropic), Constitutional Classifiers: Defending against Universal Jailbreaks across Thousands of Hours of Red Teaming(2501.18837)
- Rebedea et al. (NVIDIA), NeMo Guardrails: A Toolkit for Controllable and Safe LLM Applications with Programmable Rails(2310.10501,EMNLP 2023)
- Ruan et al., Identifying the Risks of LM Agents with an LM-Emulated Sandbox(2309.15817,ICLR 2024)
- Shi et al. (Berkeley), Progent: Securing AI Agents with Privilege Control(2504.11703)
- Alshahwan, Harman et al. (Meta), Automated Unit Test Improvement using Large Language Models at Meta(2402.09171,FSE 2024)
- Zou et al., Improving Alignment and Robustness with Circuit Breakers(2406.04313,NeurIPS 2024)
框架与工程实录
- NIST SP 800-207, Zero Trust Architecture(PDP/PEP 分解)
- OpenAI, Updating our Preparedness Framework(2025-04 v2)
- Anthropic, Responsible Scaling Policy
- METR, Common Elements of Frontier AI Safety Policies
- promptfoo, CI/CD Integration 文档
- NVIDIA NeMo Guardrails 开源仓库
系列前篇与本站相关文章