我们的AI代理在生产环境中的链断了。以下是我们的修复方案,以及为什么说这次断裂正是关键所在。

Reddit r/AI_Agents 工具

摘要

一篇博客文章,描述了作者的生产级AI代理(PiQ)在服务器重启后遇到哈希链断裂的问题,以及他们如何构建了一套工作流,用于检测、人工审核解决和持久化审计追踪,将失败转化为功能。

几周前,我发布了关于PiQ的文章——我们的自主代理,它用Ed25519签名每次交互,并将每个事件通过哈希链连接。当时我提到,在服务器重启后,第一个事件被孤立,导致链断裂。以下是后续进展。我们没有仅仅修复断开的链接。我们围绕生产级AI代理中任何链断裂问题构建了应有的工作流程:**检测**:每次服务器启动和每次运行时新标记时(O(1)检查),系统会立即检测到断链。不仅是分叉,还有连续事件之间的实际哈希不匹配。**标记断链本身**:检测事件本身被签名并存储为一个chain_break_detected AISS标记。断链成为审计追踪的一部分,而非被掩盖。**人机协作**:管理员会收到Telegram和电子邮件提醒,附带仪表板的直接链接。三个选项:验证(断链有解释且可接受)、忽略(确认后继续)、或拒绝(确认异常,链保持标记状态)。每个决策会产生一个签名的chain_break_resolution标记。**72小时超时**:如果管理员未响应,系统会自动标记timeout_no_action。链继续运行,但保持标记为broken_declared。没有静默失败。**跨重启持久性**:链事件和断链解决状态都备份到公共GitHub仓库。下一次冷启动时,在完整性检查运行之前恢复已解决状态。管理员不会因为已经验证的断链而再次收到警报。结果:我们的生产链从broken_declared -> 管理员点击验证 -> chain_valid: true。这是真实世界中第一次在实时链上完成人机协作解决方案。让我惊讶的是:这次断链让系统更可信,而非更不可信。一个能够检测、记录并解决自身连续性失败、且有人参与的代理,比一个从不失败的代理更具可审计性。你的代理是否需要这种级别的可审计性?我很好奇,链完整性和人机协作断链解决方案是否是团队在生产环境中真正关心的问题,还是对于大多数用例来说过于复杂。
查看原文

相似文章