在智能体系统中,最严重的生产故障似乎发生在边界处,而非智能体内部。

Reddit r/AI_Agents 新闻

摘要

本文讨论了多智能体系统中常见的生产故障,重点介绍了边界处的问题,如状态管理、审批流程以及智能体、人类和外部系统之间的交接。

我最近询问了多智能体工作流在演示阶段之后在哪里会出问题:状态、审批、评估、部署、回滚等。这些回复改变了我对这个问题的思考方式。有几个生产模式反复出现,它们似乎更像是智能体、人类和外部系统之间边界处的故障,而非孤立的错误。以下是我的收获。 1. “完成”不能是智能体自说自话。有人明确指出:首先坏掉的是“完成”这个词。智能体会说任务完成,但唯一证据是智能体自己的陈述。这似乎是个根本错误。对于外部动作:智能体声称成功 ≠ 真正成功。完成应需要对端的证据:提供者确认返回的对象/状态、外部验证、持久回执。如果系统发送请求后丢失了响应,这不一定是失败,而是未知。而未知不应自动转为重试,因为外部效应可能已经发生。这对于支付、邮件、删除、部署或任何不可逆操作尤其危险。 2. 仅用布尔值表示审批是不够的。另一个生产教训是,事件发生几周后,没人能回答:人类具体看到了什么、批准了什么精确动作、当时有哪些证据可用、执行的有效载荷是否与批准时一致。批准 = true 证明不了什么。审批似乎需要绑定到不可变的执行意图:精确动作、版本、证据快照、批准者、时间戳、有效载荷/意图哈希、授权范围。然后执行必须证明:执行的意图 == 批准的意图。否则就会出现审批/执行差距。 3. 但即使完美的审批溯源也无法解决盖章批准问题。这是最令人不安的反馈。一个清晰的决策卡显示:建议、风险、预期影响、置信度、证据,实际上可能让审批更容易变成盖章批准。在处理了二十个类似决策后,审核者会停止独立评估证据,变成一个缓慢的确认API。因此,可能存在两个独立的审批问题:审批完整性能否证明批准了什么?判断完整性是否有真正有意义的人工审核发生?这引出了更难的问题:审批工作负载是否应限流?是否应抽样部分审批进行独立二次审核?高风险决策是否应使用盲审,即人类先看事实再看智能体建议?是否应衡量审核者分歧?99.9%的批准率实际上是警告信号吗?“人在环中”何时变成“人在环中盖章”?我对处理过审批疲劳的生产团队特别感兴趣。 4. 自动评估存在同样的独立性问题。另一个有用的观察:构建智能体的同一批人往往也构建评估。这意味着他们可能有相同的假设和盲点。一个特别有趣的指标是:机器通过/人类拒绝。这种分歧可能比机器通过率本身更有价值。如果自动评估器说95%成功,但独立人工审核只接受78%,那么有趣的数字可能是17个百分点的虚假置信度差距。我开始认为分歧应被视为一流的生产信号:机器 vs 人工审核者A vs 审核者B、智能体 vs 验证器、预期效果 vs 观察到的外部结果。不应被平均成一个分数而忽视。 5. 多智能体链似乎在交接处失败。另一个人描述交接本身是断裂点。智能体A可能产生好的建议,但智能体B只收到:内容本身。可能丢失了:事实、假设、被拒的替代方案、不确定性、证据、决策标准、授权、未解决问题。因此,真正的失败可能是:智能体输出 ≠ 可转移状态。每次交接都成为信息丢失的边界。生产交接可能需要是结构化契约,而不仅仅是插入下一个提示的文本。更接近于:来源/目的地、目标、事实、假设、主张、证据、参考文献、未解决问题、决策、授予的权威、预期的下一个动作。一个团队还提到让智能体在建议到达人类之前互相挑战假设。这听起来有用,但只有当“挑战”意味着可验证的内容时——例如,挑战特定主张并提供反证或识别证据缺口——而不是仅仅增加另一个智能体意见。 6. 恢复可能需要针对效果而非运行进行。这是另一个昂贵的生产教训。想象:创建支付记录 ✓ 发送$500支付 ✓ 记录提供者响应 ✗ 工作进程崩溃。重试工作流可能发送另一个$500。一旦存在外部副作用,运行级重试就是错误的恢复抽象。每个外部效果都需要自己的身份和恢复状态。类似这样:计划中 → 已授权 → 已发送 → 已确认,以及异常状态如:未知 → 对账中 → 已确认/未提交/人工审核。因此,幂等性似乎需要按效果而非每次工作流运行来实现。 7. 重启测试可能比另一个幸福路径基准更有用。有人提到的一个生产测试是简单地在预定工作流中间杀死系统。重启后:批准的指令保持不变、相同的作业身份存活、之前的回执仍然有效、从持久状态继续执行。这让我意识到存储检查点和保持语义连续性之间存在差异。持久的智能体系统在重启后可能需要证明:相同的意图、相同的授权、相同的效果身份、相同的证据、相同的计划、相同的回执、相同的因果历史。如果恢复后意义改变,仅持久性是不够的。 我目前考虑的模型:这些评论推动我将生产智能体系统视为一组完整性边界:智能体 → 智能体:下一个智能体能否验证其继承的内容?智能体 → 人类:人类能否独立判断而非盖章批准?人类 → 执行:能否证明执行的内容正是批准的内容?执行 → 外部系统:是否有外部证据表明实际发生了什么?失败 → 恢复:我们知道哪些效果可以安全重试吗?机器评估 → 人工评估:能否检测到自动置信度错误的时候?运行时 → 重启:身份、授权和证据是否在重启后存活? 我正在围绕这些问题构建Neura,所以显然有产品构建者的偏见。我更感兴趣的是发现这个模型哪里错了,而不是验证它。对于在生产中运行智能体的人:这些边界中哪个引发了最严重的事故?更重要的是:你最终引入了哪些不变式或控制措施来防止再次发生?真实的故障案例、丑陋的变通方法,或在实践中听起来好但失败的控制措施,将特别有用。
查看原文

相似文章