2026-08-01T23:20:22.828Z
监测AI代理:对实际故障的静静警政策
一个可复制的警报政策, 区分持续的代理故障,合法等待和过渡的监控噪音.
随着 AI 代理监测,只能指明正在进行的故障,显示证据,并指明下一步有限的行动时才会打断一个人. 一个工具调用,一个符号尖或一个长的痕迹可能有助于解释问题; 对于一个实际的第一政策, 单独监测三个事情: 1. 时间新鲜: 开始计划的运行,它的心跳仍然是当前的吗? 2. 有用进展: 在预期的时间内是否发生了具体任务的证据变化? 3. O 结果验证: 承诺的交货物是否存在并通过接受验证? 然后路线结果. 查找持续的用户相关故障. 创建一个票或所有者通知合法等待或缓慢的调查. 消除一个坏样本和健康的工作. 这篇文章将这个规则变成一个小事件合同和一个可执行的八个案例. 页面应该列出违反的承诺 一个代理人可以在网上做错误的工作. 它也可以保持沉默,因为它正确地等待获得批准. 这就是为什么 过程运行太弱,不能监控代理, 最近没有工具调用太噪音,不能调用页面. 谷歌的监测分布式系统章节描绘了白盒证据和黑盒症状之间的有用的界线. 内部远程测量对于诊断至关重要,但一个页面应该代表一个明显影响服务的故障. 该章节还指出,如果返回的内容是错误的,成功的协议响应仍然可能是错误的. 对于一个代理,相应的故障是写着 completed 的运行,而所需的文物是缺失或无效的. 首先,每一个工作流程要写一个监控合同: 合同领域 存储器代理的例子 为什么它存在 预期开始 周日时间为9:00 UTC,五分钟时间 检测错过的时间表 心跳 运行时间观测时间不超过10分钟 检测到无法达到或死亡的运行 进展的证据 新提交,测试结果发生变化或记录的阻塞器 单独运动与重复活动 合法的等待 批准身份证加上负责所有者 继续等待工作. 完成要求 运行时间状态是 completed 记录代理所说的信息. 结果预测 目标分支包含提交和要求的检查通过 独立检查所承诺的结果 最后一行应该是故意具体的. 生成答案可能足以进行聊天任务. 创建文件如果文件是无效的,未发布的,或附在错误的目的地,则不够用于发布任务. 监视器不能从一个跨度推断这个合同;工作流程主必须定义它. 仪器运行没有把跨度视为完成 现在,生成的AI语义公约定义了代理和工作流操作,如 invoke agent , invoke workflow , plan 和 execute tool . 目前的代理跨度文件还提供了 gen ai.agent.id , gen ai.agent.name , gen ai.agent.version 和 error.type 等领域. 这些是有用的相关性和诊断领域. 他们不是一个结果方案. 文件标记为 Development ,所以将版本粘贴是重要的. 它还警告说,捕获的输入和输出信息可能包含敏感信息. 您可以执行下面的警报政策,而不需要存储提示,响应,秘密或完整的工具. 一个紧的事件可以看起来像这样: 保持 runId 稳定在调度器,运行时间远程测量和结果检查器上. 存储低卡丁度代理或工作流名称,以便进行集成. 在警报后面放出诊断标识符,而不是其身份. 否则,每次重复尝试都会为同样的违反承诺创造新的事件. 图片上面的轨道繁忙,但圆形. 下轨改变状态,产生可检查的结果. 这种区别是政策的核心:活动是调试的证据;进展和结果决定了健康. 通过8个不方便的案例来测试政策 这篇文章附带的文物使用每次观测运行一个NDJSON记录. 它包括验证完成,错误的成功,错过的时间表,无法达到的运行时间,合法的批准等待,持续的没有进展的运行,一个暂时的坏样本和健康的活跃工作. 从文物目录中运行: 预期产量: 评价者使用固定优先级. 错误的结果胜过过过过时代的远程测量, 如果没有开始比赛,一个错过的时间表就会赢得胜利. 无法实现的运行时间胜过没有进展的诊断,因为监视器缺乏新的执行证据. 一个明确的等待规则胜过了摊位规则. 只有这样,一个老旧的进步时间标志才成为 stuck . 这使得一个记录不会出现三起事件. 它还使每一个决定都能解释:输出可以命名条件,证据的时间标签,以及被过的门. 包含的门值是例子,而不是普遍的违约值: 预期启动后5分钟; 没有心跳的10分钟; 15分钟没有有用的进展; 对页面条件的两次连续坏样本; 没有进步的门票的三次连续坏样本. 一个编码代理运行一个两个分钟的修复和一个研究代理阅读论文一个小时不应该分享这些数字. 重要的是序列和持续性要求,而不是具体的持续时间. 在升级之前增加坚持 警告规则提供了两个相关的机制. 已记录的 for 条款将一个新活跃的条件保持在等待中,直到它持续活跃一段时间. 在最后一次匹配样本后, keep firing for 可以保持警报打开,以减少由于缺失数据引起的或错误分辨率. 即使您不使用Prometheus, 要求在沉默时进行反复观察; 记录第一个违规时间与最新样本分开; 按工作流程和违反承诺而进行群组警报,而不是通过重试或追踪; 在新的证据证实恢复之前,保持事件的开放; 只有当严重程度或影响结果发生变化时重新页面. 不要把每一个条件都推迟. 一个要求的工艺品未经确定性检查的完成要求比一个错过的心跳更强有力的证据. 相反,在门附近的LLM质量分数是较弱的证据,可能属于审查队列而不是选器. 一个安静的路由表比一个长度的指标库存更有用: 观察到的情况 默认路线 清晰的状态 要求完成;经过验证后未能完成所需的结果检查 页面与用户相关时,否则是门票 结果预告通过或索赔被纠正 经过两次检查,预期的运行还没有开始. 当运行有当前义务时的页面 运行启动或调度预期明确改变 跑步时心跳已经停滞了两次检查. 当活动工作受到影响时的页面 新鲜的心跳加上新的健康样本 已被命名的批准,秘密或不可逆转的决定仍未得到批准 通知负责人或创建门票 提供依赖或取消工作 活动继续,但三次检查中,任务证据没有变化 调查的门票 记录进步证据的变化或合法的等待 一个陈旧或缺失的样本 没有人类的通知 在下一个样本上重新评估 在选择工具之前,请处理边缘案例 警报政策的错误通常在边界出现,而不是快乐的道路. 验证延迟: 出版商可以在CDN或搜索索引擎更新之前报告完成的几秒钟. 给结果预示一个记录的宽限期,然后再验证. 不要把任意的睡眠视为证据;第二次检查必须检查真正的目的地. 人类等待: 存储依赖性和其所有者. 没有负责人, waitingOn: "approval" 只是隐藏了摊位. 一个等待可以保持对代理人的健康,同时仍然创造一个迟到的人类任务. 长时间的沉默工作: 研究或编译的步骤可能是健康的,如果没有频繁的工具事件. 选择运行时间可以安全发射的进展证据:完成的碎片,改变的内容哈希,新的测试阶段或明确的有限阶段截止日期. Retries: 重试可以掩盖供应商故障,同时增加活动和成本. 在同一行程中组分它们,记录试图作为诊断背景. 如果重新尝试,只要没有有用的进展,则不应重新设置第一次违规时间. 未知信号: 缺失的远程测量不是绿色的. 报告为不可用,避免自动恢复,当监视器无法区分被停留的与断开的时. 一个不确定的诊断应该要求检查,而不是执行破坏性的修复. 恢复: 关闭事件,因为重启命令返回零,重复了错误成功问题. 用开启事件的结果或进展预测. 只有有新的证据表明工作正在进行,或者预言的结果存在,才会恢复. 这项实验证明了什么? 这种装置使得一个狭的论文可以被伪造:通过记录的优先级和门, 您可以编辑一个时间标签或违规数量, 这并不是证明你的工作负担符合门. 这些案件是合成的, 评估员阅读了已经正常化的记录. 实际的集成必须处理时钟偏差,重复交货,延迟样本,时间表政策,时区和收藏器停机. 他们还需要一个隐私界限,任何来自提示或工具调用的东西. 该政策不会取代跟踪,评估或运行时间日志. 这些信号解释了为什么结果失败了. 它也不能保证一个特定任务的预言能捕捉到每一个质量问题. 一些结果是确定性的,例如文件哈希或测试结果;其他需要采样,审查或具有明确的不确定性水平的评估过程. 最重要的是,政策不应该允许自主恢复. 一个监视器可以推一个有限的重试或准备一个修复步骤, 转换设备为接受性测试 在连接一个真正的警报目的地之前,用一个工作流程的最新例子取代合成案例: 1. 定义预期的开始和可接受的延迟. 2. 选择一个出于模型反应之外的心跳. 3. 给出有用进展的最小证据. 4. 记录合法的等待原因和所有者. 5. 在实际目的地执行结果预测. 6. 再播放已知健康,等待,困住,错过,无法达到和错误的成功案例. 7. 地运行政策, 足以检查虚假页面和错过事件. 只有经过审查后,页面路线才会被激活. 保持原始证据,决策,门版本和分辨率检查可检查,以便操作员能够理解监视器为什么说话. 据了解,Sidewisp的设计围绕着健康的第一界限:检测,解释,在需要时要求权威,并验证结果. Sidewisp 目前处于私密预览阶段。 目前,生产监测适配器和恢复发动机通常没有出货. 如果这种方法与您操作代理的方式相匹配,您可以加入私人预览并描述您需要覆盖的运行时间和故障情况.