由 AgentPulse (LX AI)
检测生产环境中的代理循环和漂移
代理循环是指代理重复执行相同的步骤或其变体而没有取得进展。漂移是指代理的行为随时间变化而没有代码或提示变化来解释它。两者都可以通过记录决策来检测,如果只记录延迟,则无法检测到。
为什么延迟仅警报无法满足代理的需求
传统的服务监控主要关注请求的开始、结束和状态码返回。然而,自主代理运行不遵循这种约定。它可以调用工具以树状结构,使用略有不同的参数重试相同的工具,在计划中途放弃或在人类停止后继续运行。即使延迟时间的p99图表显示为绿色,仍可能有一个失控的规划器在消耗令牌的同时没有取得任何进展。
OpenTelemetry的GenAI约定越来越多地将代理工作视为一流遥测:invoke_agent样式的跨度、工具执行子项以及在隐私政策允许时的可选内容捕获。这种管道有助于解决问题,但约定本身并不能告诉您哪些信号值得触发警报。您仍然需要符合代理实际行为的产品规则来检测循环和漂移。
四步骤的监控模式
- 收集事件。捕获每次运行的决策、工具调用、结果、重试和放弃原因。优先使用结构化字段而不是仅有自由文本的日志,这样您可以在不需要自然语言处理的情况下计算重复次数。 - 定义该代理的正常行为。典型的计划长度、工具混合、重试次数和持续时间范围 —— 每个代理身份,不是全局舰队平均值,它混合了聊天机器人和规划者。 - 检测异常。重复的近似步骤;运行长度远超范围;生产环境中从未见过的工具;重试次数增加后放弃;输出长度或拒绝率远离基线。
值得触发警报的信号
- 同一工具重复调用次数,使用相同或近似相同的参数。 - 除去已知长任务后,步骤计数或持续时间超过该代理的正常范围。 - 在生产流量中出现从未被调用过的工具。 - 重试次数增加后放弃,没有用户可见的答案。 - 模型或提示发布后工具混合的突然变化 —— 通常是漂移或坏发布,而不是 "用户变得更难"。
不要在每次慢速运行时触发警报。仍然能够推进的长时间运行并不是循环。警报疲劳是监控产品死亡的原因。更喜欢基于代理特定基线的变化率,然后要求有证据的跟踪,以便每个警报都可以关闭。
基线会发生变化 — 记录原因
什么是监控的局限
隐私和保留
跟踪记录通常包含用户内容。保留时间应足够长以便调查,但又要足够短以遵守向用户承诺的隐私政策。默认短期保留、按需导出以及符合GDPR第32条框架的访问控制是基本要求——而不是可以在销售资料上加注的认证徽章。
AgentPulse如何融入工具链
工作示例(合成,不是客户故事)
想象一个规划代理通常需要6-10个工具步骤。过夜后,运行步骤增加到40+,并且相同的搜索工具被调用具有几乎相同的查询。延迟仍然“良好”,因为每个工具调用都能快速返回。一个监视重复计数和计划长度的循环检测器将引发一个监视条目;仅监视延迟的仪表板将保持静默。打开跟踪将显示重复的搜索块。那就是代理可观察性和经典APM之间的区别。
现在更改提示以允许新的研究工具。工具混合发生变化。没有更改日志,那看起来像漂移。有了更改日志,那就是预期的基线重置。好的监控产品使这种区别变得枯燥和明确。
运营检查清单
- 发出每次运行的决策事件(工具,参数哈希,结果类,重试次数)。
- 为每个分页事件存储可重放的有序轨迹。
- 根据每个代理身份建立基线;在模型/提示/工具更改时重置。
- 将检测(监视)与执行(防护栏/步骤上限)分开。
- 永远不要宣传100%的检测或绝不错过的保证。
减少假阳性指标的提示
在比较之前对工具参数进行哈希处理。自由形式的JSON的确切字符串相等会在时间戳或请求ID不同时产生噪音。语义字段(查询文本、资源ID、操作名称)的稳定指纹可以在不存储完整有效负载的情况下保持循环检测的诚实性。
将用户发起的重试与Agent发起的重试分开。人类点击“再试一次”与Agent重新进入相同的规划节点不是相同的故障模式。在每个重试事件中标记发起者,以便您的监视规则可以将它们区分对待。
从默认持续时间页面中排除已知的长工作流程。批处理研究Agent可能会合理地运行数分钟。将这些Agent ID放在允许列表中,带有更高的带宽,而不是沉默整个舰队。
值班播放书草图
- 打开监视记录并确认轨迹显示真实的循环或漂移模式。 - 检查更改日志以查看过去24小时内模型、提示或工具的启用情况。 - 如果确认循环,启用或加紧该代理身份的运行步骤上限。 - 如果在发布后确认漂移,回滚或重新基准,并添加明确的说明。 - 如果轨迹不完整,修复仪表之前再引发更多页面 - 没有证据的警报会浪费信任。
记录每个页面的关闭原因。像“由于流量混合导致的假阳性”这样的模式教会下一个班次什么可以忽略。像“提示回归”这样的模式教会工程团队在发布前什么需要测试。
AgentPulse 不会发明的内容
常见问题
循环和长跑有什么区别?
长跑会带来进展,而循环会重复一个步骤或其变体,但不会接近目标。
我们如何避免报警疲劳?
在该代理的基线上监测变化率,并要求可回放的轨迹,以便快速关闭每个报警。
什么会破坏基线?
模型更改、提示更改、新的工具或流量混合的更改。记录这些更改,以免将其视为未解释的漂移。
循环是否应该停止代理?
这是一个运行时防护决定,而不是监控决定。监控告诉你它发生了;步骤上限可以停止它。
跟踪应该保留多久?
保留时间足够长以便调查,但又足够短以尊重你对用户的保留承诺。跟踪通常包含用户内容。
漂移总是坏的吗?
不。流量变化可以解释漂移。漂移是一个提示你去查看的信号,而不是一个判决。
AgentPulse 是否取代 OpenTelemetry?
不。OpenTelemetry 是管道,而 AgentPulse 是一个专注的监控报告产品,可以与 OpenTelemetry 后的管道并行使用。
这些因素可能会影响代理的开发、部署和使用,但具体影响取决于代理的设计和应用。
参考
- OpenTelemetry — GenAI 可观察性 (2026) - OTel GenAI 代理跨度 - NIST — AI 风险管理框架
尝试产品:AgentPulse
2026-09-26 · 只使用主要来源 · 不允许虚假流量指标 · 只用于决策支持 · RULESET_VERSION 2026-09-26
相关文章
- AgentPulse 与传统 APM 的比较 - 探索完整的 AI 微 SaaS 主题矩阵 →
为什么仅延迟警报无法用于代理?
经典的服务监控是围绕请求开始、结束和返回状态码而发展的。自主代理运行不遵守该合同。它可以调用工具树、用稍微不同的参数重试相同的工具、在中途放弃计划或在人类停止后继续运行。延迟的 p99 图表可以与运行掉的规划器并列,规划器在没有取得进展的情况下消耗令牌。
什么是四步监视模式?
不要在每次慢速运行时发送页面。仍然可以前进的长时间运行不是循环。警报疲劳是监控产品死亡的原因。更喜欢与特定代理基线的变化率进行比较,然后要求跟踪以便每个警报都可以通过证据关闭。
什么是值得页面的信号?
不要在每次慢速运行时发送页面。仍然可以前进的长时间运行不是循环。警报疲劳是监控产品死亡的原因。更喜欢与特定代理基线的变化率进行比较,然后要求跟踪以便每个警报都可以通过证据关闭。
什么是基线断点 —— 记录原因?
模型更改、提示更改、新的工具或流量混合的变化都会改变您的数字。如果您不记录这些事件,每次发布都会看起来像神秘的漂移。请在指标旁边保留一个简单的更改日志:哪个模型、哪个提示哈希、哪些工具已启用以及何时流量组成发生了变化。OTel 提案中生产者发出的评分(信任、漂移、扫描)的消费者已经被警告方法令牌很重要 —— 当评分方法更改时,重新锚定相关性而不是将跳转视为代理错误行为。
什么是监控的含义?
监控告诉您发生了什么。运行时步骤上限或防护栏可以阻止它。混淆两者会导致过度声明。AgentPulse 不保证警报总是会及时触发以防止用户影响。我们不声称 100% 的检测率。我们不声称您永远不会错过循环。这些诚实的线条存在的原因是 FTC 风格的营销规则惩罚虚假的确定性,并且因为操作员应得的工具是声明其限制的工具。
仅供决策支持。不是正常运行时间服务等级协议、安全审计或保证代理永远不会失败的保证。