上礼拜三又翻了一次车。有个订单同步任务在白天固定时段延迟,用户投诉了两天,我让 agent 跑一轮排查。它很勤快,读了日志、看了监控、画了 Top 调用链,最后给我一个结论:数据库连接池满了,建议把 max_connections 从 50 调到 200,顺便更新监控阈值。
diff 长这样:
- max_connections = 50
+ max_connections = 200
connection_timeout = 30_000
- alert_if_avg_wait_ms > 100
+ alert_if_avg_wait_ms > 300
看,连告警阈值都贴心地帮你放松了。画外音:改完就不报警了,真是完美的闭环。
我差点就 apply 了。因为一切都很合理——连接池确实有等待,监控确实有尖峰,日志里确实有超时。合理到让你觉得不需要再看第二眼。
结果并没有。我手贱翻了翻消息队列的消费端日志,发现那时间段根本不是在等数据库连接——是消费端在重试风暴,每条消息都超时后重试,重试又加剧了数据库压力,从外面看就是连接池被打满。把连接池调大,短期症状确实会消失,然后呢?三天后重试风暴把另一张表拖进去,给你个更复杂的并发症。
agent 给出的不是诊断,是故事。听起来自洽、有开头有结尾、每一处都说得通——但没有任何一条证据链指向真正的根因。
这不是我第一次遇到这事了。所以我看到 CTBench 那个结果的时候,几乎是带着一种复仇的快感往下读的。8 月 12 号挂到 arXiv 上的那篇 2608.12002,电信网络运维故障排查的基准,我懒得讲它多专业,就说最扎心的那条实验结果:现有先进 AI agent,在根因分析上整体表现欠佳。
欠佳是学术措辞。翻译成人话:跟我的经历一模一样——它们很擅长"看起来在诊断",其实在表演诊断。
而且 CTBench 的评估设计里有一条我很欣赏:它不只是看你最终答案对不对,而是连诊断证据一起评,要求代理给出基于证据的步骤链。说白了,基准本身被设计成"要证据不要结论"。结果就很有趣——路径恢复任务里,代理识别"该对哪个设备做什么操作"表现相当好;一到根因分析,全线拉胯。
这俩放在一块,恰好点破了我对这批工具最大的不满:它们天生是模式补全的机器,不是因果推断的机器。路径恢复本质是局部匹配——现象和操作之间的映射,训练数据里见得多,自然猜得准;根因分析要求的是从现象出发反推一条因果链,中间每一步都得有证据撑着,还要判断"哪些观测缺失了"。后者恰恰是语言模型的死穴,因为缺失的证据是不会出现在文本里的,而模型最擅长的事情是补全。
接口状态、链路层、服务管理、运维类故障,CTBench 里这些场景尤其差。我看着这串列表直点头——链路层,懂的人都懂。症状跟根因隔着三层设备,你在 A 设备上看到超时,根子在 Z 设备的 MTU 配置,中间每层日志看起来都正常,正常的定义还是"日志里没报错"。这种故障,人肉排查都得靠对变更记录的经验直觉,你让一个靠 token 续写的 agent 做?它只会把最显眼的那个怪——"接口 up/down 抖动"——拖出来当凶手。
CTBench 还有个发现:路径恢复任务通常消耗更多资源,但更大的资源消耗并不等于更好的诊断效果。这句话我看着已经想笑了。更长的探索、更多的工具调用、更大的上下文,产出的还是同样的一堆故事经济学——资源换不来证据链,只能换来自信的措辞。像极了实习生写周报,字数越多越安全,工作内容有没有不关键。
我不是反对用 agent 做运维。相反,我是重度用户。但用了一年半,我的结论已经变得很僵化:在诊断类任务里,agent 最多是个带路党,不该有一点主导权。它擅长的是"帮你排除那些明显不对的方向""把日志里的异常粒度缩小",这些活它比人快。但"为什么这个指标会抖""为什么这段日志里没有那段时间的记录"——这类需要主动怀疑数据源、甚至承认我观测不到的问题,它做不到,因为它没有"不知道"这个纪律。
现在我给自己定了一条死规则,不夸张地讲,是用差点上线的教训换来的:任何 agent 给的故障结论,必须回到证据链层面——你说连接池满了,那好,连接池在高峰期有没有接近硬上限?被拒绝的连接在服务端有没有对应日志?消费端重试队列的数量曲线和它有没有重叠?只要有一条对不上,那这个"答案"我就当它是新同事喝多了说的梦话,听完接着自己查。
我知道有人会嫌我严格。但你看 CTBench 里那些 agent,最终答案答对了的那种情况,诊断证据往往是空的——这里就该有这个感受:一个基准终于开始问"你是怎么得出这个结论的",而不是"你的结论和标准答案一不一样",这已经是这个领域目前最不现实也最珍贵的要求了。😂 啊不对,我没有感叹号额度了。
总之,我的本期缴税:永远不要被 agent 的叙述说服,只被它的证据链说服。如果它给不出证据链,那它至少应该说一句"我不知道",而不是给我讲一个流畅的故事。
下次见。