顺序问题
自主智能体以一种特定的方式失败:它们在任何人检查行动是否合理之前就采取了行动。计划看起来合理,工具调用格式正确,副作用已经落地。直到后来,在日志或对账任务中,不匹配才浮出水面。到那时,支付已经清算,删除已经传播,或者外发消息已经被读取。
本文主张一个立场:只有当执行验证位于计划与副作用之间时,它才真正有价值。这意味着验证层必须是工具调用的同步依赖,而非异步审计流。事后验证在损害发生后才产生证据,无法改变运行。路径内验证会为每次工具调用增加延迟,因此必须仅限定于不可逆操作。
顺序就是控制。其他一切都是仪表化。
两个验证位置
验证步骤只能存在于两个位置,它们具有相反的特性。
事后验证在工具调用返回后运行。它成本低、易于添加,并产生有用的产物:审计追踪、漂移报告、告警。它无法改变运行。如果检查触发,副作用已经是真实的。事后检查是团队发现智能体已经写了一周畸形记录的方式。那是有价值的发现,却是糟糕的控制。
路径内验证在计划与工具调用之间运行。在检查返回裁决之前,工具调用不会执行。这是唯一能阻止不良副作用的顺序,也是唯一会在每个受控调用上产生延迟成本的顺序。在模型驱动的循环上设置同步门控并非没有代价:它增加一次往返,可能超时,自身也可能失败。工程问题不是是否支付这个成本,而是在哪里支付。
按可逆性对操作分类
限定范围的规则是可逆性。如果撤销一个操作需要智能体不具备的配合,或者撤销本身就是一个副作用,那么该操作就是不可逆的。
可容忍采样和异步审查:

- 读取。返回过时或错误数据的读取可以通过重新读取来恢复。仅对授权和出口进行门控,而非内容。
- 草稿。从未发送的草稿是惰性的。审查可以异步进行。
- 暂存写入。写入暂存命名空间或仅追加缓冲区可容忍延迟审查,前提是提升到生产环境本身也受到门控。
需要同步检查:
- 支付和转账。资金流动是典型的不可逆操作。撤销是退款,而退款依赖于交易对手。
- 删除。硬删除以及任何级联删除都需要同步门控。软删除是另一类。
- 外发消息。电子邮件、聊天、webhook 和公开发布无法被取消读取。召回不是回滚。
- 外部写入。对信任边界之外任何系统的写入,包括第三方 API 和共享数据库,都会改变智能体并不拥有的状态。
分类应按工具声明,而非按调用推断。一个有时是读取、有时是写入的工具是两个工具。可逆性类别中的模糊本身就是缺陷。
检查实际能断言什么
同步门控的好坏取决于它评估的谓词。有四个值得构建,它们可以组合。
参数形状与声明模式的一致性。 工具的输入契约是一个模式,检查在调用前验证提议的参数是否符合它。这能捕获类型漂移、缺失必填字段,以及模型输出一个看似合理但结构错误的对象这类失败。模式验证成本低,应属于每个不可逆工具的路径内检查。
目标与出口契约的一致性。 每个工具声明它被允许将数据发送到哪里:哪个主机、哪个账户、哪个渠道。检查将解析后的目标与该契约进行比较。这是阻止智能体被说服将载荷发送到检索内容中出现的地址的控制。出口契约是静态允许列表;检查是运行时比较。
剩余预算与运行支出上限的一致性。 运行携带预算。在不可逆操作之前,检查读取剩余预算和提议成本,如果操作将超过上限则拒绝。这不是每次调用的限制;这是每次运行的限制,因此一系列单独很小的操作无法聚合成一个大操作。其机制是一个计数器,门控与操作原子性地递减它,因此并发分支无法在同一剩余预算上同时通过。
被写入值的来源。 这是最不常见也是最重要的。每个将被持久化的值都携带来源标签:源自工具结果、源自用户输入、源自模型补全。检查拒绝将来源为模型生
产生它的上下文活得更久。

来源追踪需要上游的纪律:工具结果必须在边界处打标签,规划器必须在转换过程中保留标签。这是真正的工作,也是检查形状的门控与检查含义的门控之间的区别。
成本与失败行为
门控现在位于关键路径上,因此它的失败模式就是运行的失败模式。
在验证超时时故障关闭,并将其设为默认而非配置标志。 一个超时后允许操作的门控不是门控。如果检查无法在其截止时间内返回裁决,操作就不执行,运行将超时作为一等错误暴露出来。将其设为标志会诱使在事故期间将标志设为宽松,然后留在那里。安全行为应该是唯一的行为,或者不安全的行为应该需要显式的、可审计的覆盖,而覆盖本身也被记录。
测量验证层自身的假阳性率。 阻止合法操作的门控会被禁用。假阳性率是门控拒绝的正确操作的比例。它应该按谓词追踪,因为模式检查和来源检查的失败方式不同。一个嘈杂的来源谓词将是操作员首先关闭的东西,而一旦关闭,洗白路径就再次打开。诚实的权衡是,收紧谓词会减少假阴性并提高假阳性,而门控的生存取决于将第二个数字保持在足够低的水平,以至于没有人想移除它。
还有二阶成本。每个同步检查都是一个依赖,而依赖会失败。门控必须比它所守护的工具更可用,否则它就成为故障源。这通常意味着谓词是针对缓存的契约和计数器在本地评估的,而不是在每次操作时调用远程策略服务。
这对循环意味着什么
从顺序论证中得出的架构很小。工具声明可逆性类别。不可逆工具声明模式、出口契约、预算交互和来源要求。智能体循环调用门控,门控调用工具。事后验证仍然存在,但它的工作是发现应该添加的谓词,而不是捕获已经发生的操作。
令人不安的部分是,这将验证推入系统的热路径,其延迟和假阳性被每次运行所感受到。这正是重点。一个不被运行感受到的控制不是在控制运行。替代方案,即异步审计流,是智能体所做事情的记录,而记录不是决策。
延伸阅读
封面照片:Jakub Pabis / Pexels。
