当多个 AI agent 协同完成一项长期工程时,「谁说了算」「做没做完」「出了事能不能查」——这三个问题如果靠人盯,规模一上来就崩。本文介绍一种把「应该做」变成「不做就办不成」的协作执行体系。
为什么需要「门禁」
多 agent 协作最常见的失败模式不是「没人干活」,而是「干了什么查不到」。文档写了一半没人收尾、变更没有记录、凭证散落在各处——这些事情在 agent 数量超过三四个之后会指数级恶化。
传统的解法是加流程规范:写一份操作手册,规定大家应该怎么做事。但操作手册的问题在于——守没守看不出来。你可以写「所有变更必须记录」,但你无法知道某次变更是不是真的记了;你可以写「收尾必须三步」但 agent 可能只做了一步就把状态标成了完成。
门禁式治理的思路是:把规则从「文档里的纪律」变成「代码里的拦截」。不是告诉你「你应该记录变更」,而是让你不记录变更就没办法进入下一步。规则不再是建议,而是物理约束。
四层结构
这套体系把治理拆成四层,每层解决一个独立的问题:
记忆层——所有状态变更写入同一个地方(知识库),没有旁路。这意味着不存在「某个 agent 自己记了一份但别人看不到」的情况。单一写入口是这一层的核心约束:任何绕过它的写入都被视为违规。
执行层——任务通过派工单流转。每个任务有明确的执行方、交付物、验收方和截止时间。派工单不是任务清单——它是一条有状态机的流水线:待领取 → 进行中 → 已交付 → 验收通过/驳回。手工交接只用于「发现问题」,不能替代正式派工。
强制层——身份验证、版本对齐、生命周期管理、收尾闸门,全部由服务端执行。关键特征是:拦不住的才算数。如果一条规则只存在于文档里但代码没有拦截它,那它就不算强制。这一层的设计原则是:先警告记分,到期自动升级为阻断;永远保留回退路径。
观测层——每日巡检、闭环指标、审计哈希链。巡检产出可以逐日比对,主张可以复算。这一层的目的不是「发现问题」,而是「证明体系在运转」——如果某项门禁的命中数长期为零,通常不是「大家都很守规矩」,而是「它根本没生效」。
四条不变式
四层结构之所以能成立,依赖四条不变式。破一条,整个体系就不成立:
单一权威——知识库只有一个写入口,不能绕过,只能申请。这意味着不存在「紧急情况下先直接改、后补手续」的通道。如果需要紧急变更,走的是加速审批流程,而不是绕过写入。
单一入口——派工只走统一通道。手工交接仅用于发现问题,且必须标注来源。这保证了所有工作都有迹可循。
不可抵赖——审计链 + 身份按请求隔离。每个 agent 有独立身份,多个 agent 绝不共用同一个身份凭证。每次写入都带有身份标识和时间戳,形成不可篡改的链。
可回退——任何强制都有开关与有效期。先警告记分,到期自动转阻断。直接通道和代理通道永远不同时拆除——如果代理通道出问题,可以直接通道回退。
核心判据
「看得见」不等于「管得住」。
这是整套体系最核心的一句话。很多治理系统看起来完备——有文档、有流程、有审计日志——但实际上机器能拦的事情很少,大部分依赖 agent 自觉。
判据很简单:只把机器能拦的算作强制。如果一条规则被违反了但系统没有拦截它,那这条规则就不是强制的,只是纪律。纪律级规则不是没用,而是守没守看不出来。
因此体系有一个持续演进的目标:每期至少把一条关键纪律级规则变成机器可执行的。这不是一步到位的事,而是一个方向。
机器化率
为了衡量「多少规则是真正在拦的」,体系引入了一个指标:机器化率 = 已被代码拦截的规则数 / 总规则数。
这个数字的价值不在于它本身有多高,而在于它诚实地暴露了体系的真实强度。一个机器化率很低的体系比自称全部机器化但实际全靠自觉的体系更可信——因为你知道那些被拦截的是真的在拦,而剩下没拦截的你承认还没做到。
闭环与留痕
「闭环」指的是:每个派工单都有明确的收尾动作,且收尾动作本身有验证。不是 agent 说「我做完了」就算完——而是系统检查:日志写了吗?索引更新了吗?注册表含本单号吗?三项齐了才允许标记完成。
「留痕」指的是:所有变更都经过单一写入口,带有身份和时间戳,形成审计链。任何状态都可以追溯到具体的写入动作。
这两者合在一起,构成了体系的可查性:你可以对任何一个已完成的任务,回溯它的全部执行轨迹——谁领的、什么时候交付的、验收结论是什么、日志在哪。
小结
这套体系的核心理念可以归结为三点:
门禁优先——能拦的就拦,不靠自觉。
闭环可验——做没做完不是 agent 说的算,是系统查的算。
留痕可查——所有变更有迹可循,主张可复算。
它不是一套完美的体系——机器化率还很低,很多规则仍然只是纪律级。但它诚实地面对了这个事实,并且有一个明确的演进方向。