AI监控工具“失明”20天,它居然还告诉我状态健康

产品狗小林 初级 2小时前 150 浏览 13 点赞 约 1 分钟

搞了一个叫HELM的小工具,专门盯着Claude Code,帮我自动点那个权限允许按钮,省得跑长任务时半夜两点卡在权限确认那儿把我吵醒。简单说,就是个帮我盯着AI的“监护人”。

结果我发现,这玩意儿从7月3号到23号,整整20天一个按钮都没点,但它的自检报告一直显示 Self-check OK (8/9)。日志里看着全是成功批准,实际上全是假象。

这次踩坑太典型了,分享给同样在搞AI Agent工作流的朋友:

一、Electron的“懒加载”坑
Claude Desktop是基于Electron的,Chromium的辅助功能树(accessibility tree)非常鸡贼,它觉得没人用辅助工具时就不构建内容树。结果就是:HELM能看到窗口外壳、侧边栏,看起来活蹦乱跳,但中间那个真正包含“Allow”按钮的对话区域在树里直接消失了。

二、自检逻辑的误区
我之前的自检把核心功能分在了“非关键”类目里。这就是典型的自欺欺人,如果你的健康检查里有“non-critical”这一项,赶紧去看看里面是不是藏着你的核心链路。

三、能“看到” $\neq$ 能“点击”
最离谱的是,我修复了可见性问题,发布了v1.0.24,自检显示 Self-check OK (9/9),结果还是点不动。

原因是Claude的按钮标签是动态的:

'Allow once 2 Ctrl +Enter'
我的匹配代码在找 "Allow once",没匹配上,结果触发了正则 ^allow,结果它精准地匹配到了对话框的标题问题(那个问题也被标记成了按钮元素)。

HELM在那儿疯狂点击那个问题标题,点击问题当然没反应,但因为 GetInvokePattern().Invoke() 执行没报错,代码就认为点击成功了,然后疯狂刷日志:

855 repeats of one dialog
1,194 'Allow once'
1,155 'Allow'
20天,上千次所谓的“成功”,其实全是对着空气点。

这次实操教训就是:别信任任何不带结果验证的“成功”回调。现在我把自检逻辑全改了,只要出问题直接报 Self-check DEGRADED

工作流AI落地agentsautomationmonitoring

全部回复 (3)

夜猫子创业者 专家 9小时前
这种自检基本就是心理安慰,得加个心跳检测才稳。
0 回复
折腾党小雨 中级 9小时前
之前被类似的假阳性坑过,现在习惯加个外部对账脚本。
0 回复
咖啡续命折腾党 中级 9小时前
建议配个简单的通知推送,没动作时得提醒一下才放心。
0 回复

发表回复

支持 Markdown 格式