当 AI 的行动速度超过我们纠错的速度:衡量错误的代价

Reddit r/ArtificialInteligence 新闻

摘要

# 我们在评估 AI Agent 时,算错了那道数学题 **准确率与速度从来不是唯一的风险维度。真正的分母,是错误传播的距离。** --- ## 一个被系统性忽略的指标 每当一份新的 Agent 基准测试发布,榜单上讨论的几乎总是同两件事:**准确率**和**完成时间**。这两个数字确实有用,但它们共同指向一个隐含假设——**一次失败的代价是固定的**。 这个假设在 Agent 时代已经站不住脚了。 当 Agent 只是回答一个问题时,答错的代价大致等于「重新问一遍」。但当 Agent 能够读取数据库、调用 API、发送邮件、执行转账、修改生产配置时,**一次错误的代价就不再由 Agent 自己决定,而是由它所连接的系统网络决定**。 一个幻觉出来的账号,可能导致上千封邮件外发;一段被误读的日志,可能触发一次不必要的自动扩容;一个被错误分类的工单,可能让真正的故障被静默关闭。 准确率告诉你出错的**频率**。它没有告诉你出错的**射程**。 ## 被遗漏的那个变量 我们需要把一个概念引入评估体系:**错误传播半径**(error propagation radius)。 它指的是:**在错误被检测并被拦截之前,它的影响能够扩散到多少个系统、多少条数据链路、多少次下游调用。** 同样的 99% 准确率,在两个场景下含义完全不同: - **场景 A**:Agent 在沙箱里整理文档摘要。答错了,用户看到错的摘要,重新来过。 - **场景 B**:Agent 在一个 ERP 系统里做库存同步。答错了,错误库存进入下游仓储系统,进入物流调度,进入客户对账单。 两者的准确率相同。两者的**爆炸半径**相差几个数量级。 可现有的评测基准里,几乎没有一项在测量这个变量。我们精心设计了覆盖 127 个领域的多步推理任务,却从来没有在评测报告里写上一句:「如果这一步错了,影响会传播到第几层。」 ## 为什么传播半径比准确率更值得被量化 因为它直接对应**不可逆性**和**可观测性**。 一个错误如果能在一个动作内被回滚,那么它只是一次事故;如果它需要跨三个系统、经过两次数据复制才能被发现,那么它已经是一次事件。在金融、医疗、关键基础设施等领域,这两者之间的差别,是「合规瑕疵」与「重大事故」的差别。 更重要的是,传播半径是一个**设计约束**,而不只是一个**统计结果**。一旦你开始测量它,你就不得不回答一组工程问题: - 这个动作能被撤销吗?撤销的代价是什么? - 错误在多少个下游调用之后才会被校验拦截? - 这条链路上有没有任何一处**人工确认**? - 如果整条链路全部静默失败,我们多久能知道? 这些问题的答案,比「在 MMLU 上高了 2.3 个百分点」更能决定一个 Agent 能不能被部署到高影响场景中。 ## 提议一:分阶段执行(Staged Execution) 对于高影响动作,Agent 不应该获得「一次调用直达目标」的能力,而应该被拆解成一个必须被分别批准的序列: 1. **规划阶段** —— Agent 产出完整动作计划,不产生任何副作用。 2. **模拟阶段** —— 计划在影子环境中执行,评估其影响范围与失败模式。 3. **分段执行阶段** —— 动作按影响等级分批执行,每一批次之间设检查点。 4. **验证阶段** —— 系统核对结果与预期的偏差,而非只检查「是否成功返回」。 关键原则是:**影响等级越高,阶段之间的摩擦越大。** 一个写入临时缓存的操作可以一步完成;一个影响三千个客户账户的操作,必须在每个阶段之间停下来。 这听起来会拖慢效率。是的,这正是重点。**在高影响场景中,速度本来就不应该是优化目标。** ## 提议二:交易上限(Transaction Caps) 我们需要像给交易系统限仓一样,给 Agent 设定硬性边界: - **单次调用上限**:一次动作最多能修改多少条记录、调用多少个下游服务。 - **时间窗口内累计上限**:在一个小时、一天内,Agent 在某类资源上的总影响量。 - **递增限额**:未经人工验证的操作,其额度随时间衰减,而非永久维持。 这些上限必须是**强制性的、在运行时生效的**,而不是写在提示词里的一段「请不要超过以下限制」。Agent 不会因为它「被建议不要」就越界;**它会因为越界时系统直接拒绝而越界不了。** 上限的数值应该由传播半径的测量结果来决定,而不是由工程师拍脑袋。如果我们测量到某类操作的错误在平均 4 次下游调用之后才被拦截,那么在这类操作上的累计上限就应该压在这个数字的显著更低处——**让「爆炸半径」永远追不上「可撤销窗口」。** ## 提议三:把传播距离写进评测本身 最后,也是最简单、却最被忽视的一项:**让评测直接测量传播。** 一份严肃的 Agent 评测报告,应该包含一个「影响传播」小节,至少回答: - 本次评测中,错误被**首次检测**的位置(第几步、哪个系统、多久之后)? - 错误在被检测前,触发了多少次**下游动作**? - 在最坏情况下,单个错误的最大传播深度是多少? - 评测环境中的**不可逆操作**有几类?是否被计入了准确率计算? 没有这些数字,准确率榜单只是在告诉我们谁更擅长**做对题**,而不是谁更值得被**放到生产环境里**。 ## 结语 我们正在把越来越多的系统交给 Agent,而我们衡量它们的方式,还停留在它们只负责**回答问题**的时代。 一个 agent 的可靠程度,不在于它有多不容易犯错——**没有 agent 不犯错。** 在于当它犯错时,这个世界要花多大代价来收拾残局。 **准确率衡量的是失败的频率。传播半径衡量的是失败的代价。而部署决策,应该由代价来决定。**

# AI 系统:让工作流更快,也让错误更难被发现 一个 AI 系统可以让工作流变得更快,同时让它的错误变得更难被发现。这两件事可以同时为真。 想象一个智能体正在更新内部记录——在过去一个人需要处理十条记录的时间里,它完成了一千条更改。每一条都有日志,也可以回滚。听起来似乎可控,直到其他系统开始基于这些记录实时行动:发送发票、修改权限、通知客户。回滚原始记录,并不一定会撤销它已经在其他地方触发的操作。 除了任务是否完成之外,一个错误在被发现并控制住之前,能传播多远? 我希望智能体工作流评估除了测量准确率和任务完成时间之外,还能测量三个时间间隔: - 一个产生严重后果的错误被发现需要多长时间 - 一旦错误被发现,进一步的操作被停止需要多长时间 - 包括关联系统在内的下游影响被真正修复需要多长时间 两个系统可以拥有完全相同的错误率,但风险却截然不同。一个系统在任何操作执行之前先将更改暂存起来等待审核;另一个系统则立即跨多个服务执行操作。纸面上的准确率相同,实践中的风险暴露却完全不同。 这也让"可回滚"这个概念变得复杂。一条数据库记录可以干净地恢复,但它的后果却不能。修复一张发票,并不能撤回一封别人已经读过的邮件。恢复访问权限,并不能把某人因被锁定在账户外而损失的数小时还回去。 我理解人们反对在每个环节都加入检查点:延迟意味着成本,会让用户感到沮丧,并且造成新的问题。如果对每一个微小操作都要求审批,你可能会把审核变成走过场。 所以,我会把防护措施放在后果真正扩散的地方: - 对外沟通 - 资金转账 - 权限变更 - 任何会触发下游其他系统的操作 具体做法包括受限的权限、分阶段执行、交易限额,以及在操作到达外部系统之前的暂停——具体取决于工作流类型。 速度仍然可以让事情更安全,前提是节省下来的时间能给人们留出空间去真正地调查问题。但如果这些节省下来的每一分钟都只是被转换成了更多的吞吐量,那么这个空间就不复存在了。 **我真正希望看到被测量的是**:在错误发生到有人将其控制住之间的这个窗口期内,一个系统能产生多少有严重后果的操作。 如果你正在部署智能体,你的评估是否在测量这个窗口,以及它对下游系统的影响?这个框架在哪里失效了,或者遗漏了什么真正重要的东西?
查看原文

相似文章

AI 代理执行了操作。一旦出错,谁来负责?

Reddit r/AI_Agents

一篇关于生产环境中 AI 代理行为问责的评论文章,主张提示词不等于权限,通过强制限制、指定决策人、最小化访问权限、安全重试机制和不可篡改的审计记录,才能让代理获得更大的自主权变得可行。

关于放慢脚步的思考

Reddit r/singularity

这篇文章批判了编码代理的兴起,将其与软件质量下降和系统故障联系起来,并呼吁在开发中采用更慢、更谨慎的AI应用方式。