如何及早发现Agent的错误丨Agent可观测性设计

同样一个错误,发生在聊天里和发生在Agent执行链里,代价可以差十倍。
聊天里:AI说错了,你看到,发现不对,重新问一遍。代价是几分钟。
Agent执行链里:错误发生在第三步。第四步用了错误的输出继续跑,第五步基于第四步的结果调用了外部工具,第六步把处理结果写进了数据库,第七步触发了对外发送。你在最终结果里感受到有什么不对——但这时候,错误已经走了四步。
追溯要多久?修复代价是多少?有多少已经不可逆?
这不是极端场景,这是Agent执行链的日常结构。错误的代价,不由错误本身决定,由错误被发现的时机决定。 发现得越晚,走得越远,代价越大。
发现时机不是随机的。它是被系统设计决定的。
NotebookLM的音视频概览,解读的比较通俗易懂,对于时间比较紧张的读者朋友,可以听听,会有启发。
为什么Agent的错误总是"最后才被发现"
聊天场景里,人在回路里。每一次输出都经过人眼,错误是终点——你看到了,代价止于此。
Agent执行场景里,人在回路外。执行链线性推进,Agent不会在中间停下来问你"这一步对不对"——除非你提前设计了让它停下来的结构。错误发生之后,它带着错误的输出继续往下执行,每一步都在错误的基础上再往前走一步。
有一类错误尤其难发现,叫沉默失败:Agent把任务跑完了,没有任何报警,输出看起来完整,但结果是错的。它不会告诉你"我在第三步出了问题",它只会把一个看起来像完成了的结果交给你。
这是最危险的错误形态——不是因为它最严重,而是因为它以"完成"的面目出现。你不去仔细核查,根本不会知道。
没有可观测性设计的Agent系统,人只能在最终结果上感受到错误,而不能在错误刚发生的时候发现它。等感受到了,往往已经是出现后果之后。
可观测性的三个层次
第一层:结果可观测。
任务结束后,能看到输出,能判断对不对。这是最基础的层次,也是大多数人的可观测性止步于此的地方。
问题有两个。第一,结果对不对,有时候本身就不容易判断——尤其是任务复杂、验收标准模糊的情况下,错误藏在细节里,粗看没问题,细看才发现偏了。第二,即使发现了问题,也只能知道"结果有问题",不知道是哪一步出了问题,追溯成本很高。
第二层:过程可观测。
能看到Agent在执行过程中做了什么——调用了哪些工具、用了什么参数、每一步的中间输出是什么。有了这层,出了问题能追溯,能定位是哪一步断了,不用从头猜。
这一层的价值,在出错之后体现得最明显。同样是发现结果有问题,有执行日志和没有执行日志,排查时间可以差出一个数量级。
第三层:异常可观测。
不需要等任务完成,执行过程中出现异常信号就能被发现。Token消耗突然翻倍、某个工具调用连续失败、中间输出格式开始偏移、执行时间远超预期——这些都是早期信号,在任务还在跑的时候就能触发提醒。
这一层是主动的。不需要人一直盯着屏幕,是系统在帮你盯,有异常才报告。这是发现错误最早的时机,也是代价最小的时机。
三个发现时机,代价差距有多大
错误被发现的时机,决定了你能做什么。
执行中发现。 异常信号触发,任务还在跑。可以中止,可以回滚到上一个检查点,可以修正方向重新来。这时候的错误,还只是错误,没有变成后果。代价最小。
任务结束后发现。 结果出来,人来验收,发现不对。需要追溯是哪一步出了问题,需要判断哪些步骤需要重跑,需要评估中间有没有触发过不可逆的操作。代价中等,但还有机会修复。
后果发生后发现。 错误结果触发了下游动作——邮件发出去了,数据库写进去了,客户通知了,订单提交了。这时候发现,要面对的不只是重跑任务的成本,还有已经发生的外部后果。有些能撤回,有些撤不回。这是代价最大的时机,也是最难受的时机——因为那时候你能做的已经很有限了。
这三个时机不是运气决定的。 设计了执行中可观测,就有机会在执行中发现。没有设计,只能等到后果发生后才感受到。
让错误更早暴露的四种设计
第一种:分段验证节点。
长执行链里,不要让Agent一口气从头跑到尾。在关键步骤之后设验证点——检查中间结果是否符合预期,不符合就停下来,不要带着错误继续往下走。
验证点不需要很复杂,有时候只是一个简单的格式检查、范围检查、逻辑一致性检查。关键是:在错误还没传播之前,把它拦住。
第二种:异常信号监控。
为每个任务设定正常范围:Token消耗应该在多少以内,执行时间应该多长,工具调用成功率应该在什么水平。超出这个范围,触发提醒。
不需要人一直盯着,让系统来盯。这是实现"执行中发现"最实用的方式——大多数时候任务在正常推进,只有异常出现时你才需要介入。
第三种:不可逆操作前强制暂停。
发送、写入、删除、支付——这类操作一旦触发,后果往往无法完全撤回。在这些节点之前设卡口,人来确认,再继续。
这一种设计,拦截的不是最常见的错误,是代价最大的错误。用一次人工确认,换掉一个不可逆后果的风险,是性价比最高的可观测性投入。
第四种:执行日志结构化。
每一步的输入是什么、调用了什么工具、用了什么参数、输出是什么——这些都有记录,格式统一,可以检索。
结构化日志的价值,在出错之后才完全体现。没有日志,排查靠猜;有了日志,排查靠查。同样的问题,有日志和没有日志,处理时间可以差出一个数量级。即使任务跑对了,日志也是下次优化的原材料。
可观测性的实用起点
不需要一上来就把三层都做齐。
最小可行的可观测性设计,只有三件事:
在任务开始前,定义"什么结果是对的"——不要等结果出来再想怎么判断,验收标准提前写清楚,结果出来对照标准核查。
在不可逆操作前,设暂停点——发送前看一眼,写入前确认一下,这一步的成本很低,拦住的代价可以很高。
在任务结束后,留执行日志——哪怕只是简单的步骤记录,出了问题追溯起来也比没有强得多。
这三件事做完,你就从"只能在后果发生后感受到错误",升级到了"任务结束后能发现并能追溯"。
之后随着任务复杂度增加,再逐步加入异常信号监控和分段验证节点,把发现时机往前移,把代价往下压。
写在最后
Agent跑完了,不等于跑对了。
让你知道"跑对了没有",不是靠运气,是靠设计。可观测性不是Agent自带的功能,是使用者在部署之前需要主动设计的结构。
错误不会因为没有被设计进可观测系统就消失——它只会以"完成"的面目出现,等你在感受到代价的时候,才悄悄露出来。
设计好可观测性,发现越早,代价越小。
感谢你看到最后,如果你觉得有启发,随手点个赞、在看、转发吧,如果想第一时间收到推送,也可以给我加个星标⭐我们下期见。
我是「AioGeoLab」主理人塔迪Tardi,AioGeoLab是深度洞察AI第一性原理和应用实践的前瞻性研究实验室,目前有两个主要研究方向:
「塔迪GEO判断工程」是基于GEO的价值SEO化,在AI从“说”到“做”的重要跃迁阶段,试图回答,如何让AI敢于行动、不因为责任问题而畏手畏脚,而做的一个前沿研究项目。
「塔迪硅基禅心」是传统东方智慧、未来AI前沿、当下应用实践,深层共鸣的探索。不是用AI解读经典,也不是用经典指导AI。 这是一场跨越2500年的对话,在算法与古老智慧之间,照见意识、智能与存在的本质。
塔迪的微信 - tardyai2025。
