Agent可观测性实战:自诊断、隐式信号与生产监控体系详解

AI Agent需要从传统测试转向生产监控,自诊断是关键突破。
Raindrop CEO Ethan Li指出,AI Agent的失败模式具有非确定性和无限输入输出空间的特点,传统Eval已无法覆盖。需构建包含显式信号(错误率、延迟、成本等)和隐式信号(正则匹配、分类器、自诊断)的完整可观测性体系。其中自诊断机制让Agent主动报告问题,实现成本极低却效果显著,配合实验驱动的迭代和轨迹可视化,可系统性地发现和解决生产环境中的Agent问题。
Agent失败与传统软件失败截然不同
Raindrop CEO Ethan Li 在近期的分享中,深入剖析了AI Agent可观测性这一关键议题。随着Agent系统在医疗、金融甚至军事领域的部署日益广泛,如何有效监控和发现生产环境中的Agent问题,正在成为当下最重要的技术挑战之一。
Agent的失败模式与传统软件有着本质区别:它们是非确定性的,输入空间和输出空间都是无限的,而且Agent可以通过工具调用影响其他系统。更关键的是,这个问题正在随时间变得越来越严峻——Agent越来越复杂,会话可以持续数小时无需用户输入,而部署场景的风险也越来越高。
为什么传统Eval已经不够用
传统的评估范式是准备一组测试输入(所谓的"黄金数据集"),然后检查Agent的输出是否符合预期。但随着Agent能力的增强,未定义的行为空间在急剧膨胀。
现代Agent可以从不断增长的工具集中选择调用,可以访问不同的记忆源,可以调用自己的子Agent——而这些子Agent又有自己的工具、记忆源,甚至可以递归地拥有自己的子Agent。这种组合爆炸式的输入空间,使得仅靠输入输出测试集已经无法覆盖所有边界情况。
Ethan将此类比为传统软件开发:单元测试固然重要,但生产环境监控的价值远远超过测试本身,它能让你更快地迭代,更好地捕获长尾问题。他甚至提出了一个颇具争议的观点:当人类不再能够监控Agent并发现其问题时,Agent就已经远远超越了我们——这可能是人类的最后一个问题。

构建可靠Agent的信号体系
要在生产环境中构建可靠的Agent并有效监控它们,需要一套完善的信号体系。Raindrop将信号分为两大类:显式信号(Explicit Signals)和隐式信号(Implicit Signals)。
显式信号:客观可验证的监控指标
显式信号处理的是客观现实——可以被验证为真或假的事物:
- 错误率:特别是工具调用的错误率,这是最直接的健康指标
- 延迟:响应时间的变化往往预示着潜在问题
- 用户重新生成率:用户点击"重新生成"本身就是一个强烈的不满信号
- 成本数据:异常的token消耗可能意味着Agent陷入了循环
当这些指标出现尖峰时,通常意味着系统出了问题;而如果它们异常平坦,同样可能隐藏着问题。
隐式信号:语义层面的深度洞察
隐式信号更加有趣,也更难捕获。主要包含三种类型:
1. 正则表达式信号
这看似简单,却极其有效。当Claude Code的源代码泄露时,人们发现了一个名为user_prompt_keywords.ts的文件,里面包含一长串正则表达式,专门检测用户不满的表达——"wtf"、"this sucks"、"horrible"等。每次匹配到这些关键词,一个is_negative布尔值就会被设为true,然后团队就能按天、按版本追踪这个挫败率。这是一种极其廉价但有效的Agent监控方式。
2. 分类器信号
最佳的隐式信号不是让LLM对输出进行1-10分的评分,而是使用二元分类器检测特定问题——拒绝服务(refusals)、任务失败、用户挫败、内容审核违规、越狱尝试等。Raindrop训练了专门的轻量级模型来完成这项工作,因为在每个输出上运行完整的LLM会使AI支出翻倍,这在规模化场景下是不可持续的。
3. 自诊断(Self-Diagnostics)
这是整个分享中最引人入胜的部分。随着模型变得越来越大、推理能力越来越强,它们在自我反省方面表现出了令人惊讶的能力。

自诊断机制:让Agent主动报告问题
自诊断的灵感来源于OpenAI在2023年12月发布的一篇关于训练模型"自我坦白"对齐问题的论文。研究发现,模型在被适当引导后,能够诚实地报告自己的不当行为——包括不诚实、欺骗、幻觉和走捷径。
一个生动的自诊断案例
在演示中,Raindrop的Danny展示了一个编码Agent的案例:当写文件工具被故意设置为返回权限错误时,Agent会本能地切换到使用bash的heredoc语法来绕过限制完成任务。设置了自诊断报告工具后,Agent会主动报告:"我通过bash创建了publicip.py,因为write_file工具失败了。"
自诊断能捕获哪些问题
- 工具失败:Agent能感知到工具反复失败,并在推理轨迹中"抱怨"这一点
- 用户挫败:Agent知道用户不满,会以外交辞令回应
- 能力缺口:当用户请求Agent不具备的功能时,Agent能识别这一点——这本质上是一个内置的伪功能请求系统
- 自我纠正行为:Agent绕过限制完成任务的行为,既可能是好事(任务完成),也可能是安全隐患
自诊断的实现方法出奇简单
设置自诊断只需要两步:
- 添加一个报告工具:描述为"向你的创造者发送简短报告"——将其框架化为Agent给创造者的反馈
- 在系统提示中鼓励使用:在给出最终答案前,使用报告工具反映任何值得注意的行为
一个关键发现是:模型通常不愿意自我归罪。如果你把工具命名为"unsafe_bash_use"之类的名字,模型会拒绝使用,因为在它看来任务已经完成了。但如果框架化为"给创造者的反馈报告",效果就好得多。

实验驱动的迭代:从监控信号到产品改进
有了完善的信号体系后,下一步是利用这些信号驱动产品改进。Raindrop提供了类似A/B测试的实验功能,但使用的是语义信号而非传统指标。
实验流程
- 确定要改进的方面(模型、提示词、工具配置等)
- 将变更部署给一部分用户
- 对比实验组和控制组的信号变化
例如,当部署新版本提示词(prompt 2.4)后,用户挫败率从37%大幅下降到9%,关于美学和部署相关问题的投诉也显著减少。同时观察到平均工具使用次数大幅增加——这不一定是问题,但是一个值得关注的数据点。
自动化问题发现
Raindrop还提供了一个"分诊Agent"(Triage Agent),它每天自动审查所有已设置的信号,当发现异常尖峰时会主动展开调查,利用一整套工具查看轨迹数据,帮助发现团队自己都不知道的问题。

轨迹可视化与根因分析
Raindrop提供了一个独特的轨迹(Trajectories)可视化功能,允许用户用自然语言描述想要查找的轨迹类型——比如"包含三次不同工具调用失败的轨迹"。系统会展示工具调用的顺序、哪些出现了错误、每个工具的具体输入输出,帮助开发者快速理解问题的拓扑结构。
此外,通过对用户意图进行聚类分析,团队可以了解用户实际在用Agent做什么——构建React应用、Python开发、调试复杂系统还是从零开始的Vibe Coding。更重要的是,可以看到每种使用场景下的问题率和用户挫败率,从而有针对性地优化。
核心启示:Agent可观测性的三个关键认知
从这次分享中,可以提炼出几个关于Agent可观测性的核心认知:
从测试范式转向监控范式是不可逆的趋势。Eval仍然有价值,但生产环境监控才是捕获长尾问题的关键。
模糊失败比显式失败更值得关注。工具调用报错容易发现,但用户的隐性挫败、Agent的能力缺口、微妙的行为偏差——这些"模糊"的失败模式往往造成更大的产品损害。
自诊断是成本最低的可观测性手段。只需一个工具和一行系统提示,就能获得有价值的Agent行为洞察。
当Agent系统变得越来越复杂、越来越自主时,可观测性不再是锦上添花,而是确保AI系统可靠运行的基础设施。正如Ethan所说,这可能是我们这个时代最重要的问题之一。
相关推荐
观点碰撞Windsurf CEO深度访谈:速度是唯一的护城河
Windsurf CEO Varun Mohan深度访谈,分享AI编程IDE的创业pivot经验、产品构建方法论、异步Agent挑战,以及与Cursor竞争的差异化策略。速度才是创业公司唯一的护城河。
观点碰撞被低估即自由:AI时代的逆向竞争哲学
探讨AI行业中"被低估即自由"的逆向竞争策略。从OpenAI、DeepSeek到Cursor,解析为何低调积蓄力量比站在风口浪尖更具战略优势,以及这一哲学对AI创业者和从业者的深刻启示。
观点碰撞新教工作伦理如何被劫持:从保护工人到压迫工人的演变
哲学家Elizabeth Anderson揭示新教工作伦理如何从保护工人的理想被扭曲为压迫工具。从清教徒的公平商业伦理到新自由主义的复活,深度解析工作伦理的历史演变及其对AI时代劳动关系的启示。