江西冬酿科技有限公司 · 南昌市 · 服务江西及全国咨询热线 400-873-2750

AI 工作流上线后怎么监控?四个指标与告警阈值思路

企业 AI 工作流自动化示意
把重复流程交给自动化,关键节点保留人工审批

跑完不等于跑对:静默失败长什么样

我们做过一条「客户表单 → 模型抽字段 → 写 CRM」的工作流。上线后监控面板一片绿,第三周销售说这个月新线索是零。翻日志才发现,上游表单改版把字段名从 company_name 换成了 corp,模型取不到值,返回空 JSON;写入环节对空值做了容错,于是老老实实写进去一条只有 ID 的空记录。整条链路没抛过一个异常。

这就是静默失败。技术上每一步都返回 200,业务上产出为零。只盯「有没有报错」的监控,对这类问题基本失明。下面四个指标,是我们做 AI 工作流自动化 时会默认上的最小集合。

先把常见的静默失败列一列,对照你手上的流程看中了几条:

  • 调度没触发。容器重启后定时器没起来,任务根本没跑,日志里连报错都没有。
  • 接口返回 200,body 里是错误信息或空数组,客户端按成功处理了。
  • 模型输出被 max_tokens 截断,JSON 解析失败后悄悄走了默认分支。
  • 重试三次都失败,异常被 catch 住写了一条 warn 日志,主流程继续往下走。
  • 知识库检索命中 0 条,Agent 硬着头皮编了一个答案,语气还很笃定。

指标一:执行成功率,拆成技术成功率和业务成功率

技术成功率好算:无异常退出的执行数 ÷ 总执行数。业务成功率得你自己定义「合格产出」——字段是否齐全、答案有没有引用到文档、写库条数是否大于零。

两个数字放一起看,差异会告诉你问题在哪:技术成功率 99%、业务成功率 82%,八成是数据或模型环节在悄悄掉链子;两个一起掉,多半是对端系统或网络。还要防一个陷阱——定时任务没触发时,分母是零,面板上的成功率看起来是满分,实际上什么都没跑。所以并行加一条「应执行次数 vs 实际执行次数」的对账。

指标二:平均耗时看 P95,别看平均值

平均值会被大量快速成功的执行拉平,真正难受的是那 5% 的长尾。我们一般同时记 P50 和 P95:P50 稳着、P95 从 40 秒涨到 3 分钟,基本能定位到模型接口变慢、重试变多,或者知识库变胖导致检索变慢。

耗时还是成本的前哨。同一流程耗时翻倍,往往意味着 token 用量或重试次数也在翻倍,可以直接和 模型 API 与成本管理 放在一张表里看。

指标三:异常类型分布,看结构变化比看数量有用

把错误打上三个维度:模型层(超时、限流、输出格式不符)、集成层(鉴权失效、外部系统 5xx、字段缺失)、业务层(校验不通过、检索无命中)。单看每天 30 条报错没什么信息量,看占比才有——JSON 解析失败从 5% 涨到 40%,通常是换了模型版本或有人改了提示词;鉴权失败突然冒出来,多半是密钥到期。

指标四:人工兜底次数,很难被美化的质量信号

兜底率 = 人工介入的执行数 ÷ 总执行数。这个数字往上走,说明自动化在「假装工作」,把难处理的都推给人了。我们的习惯是兜底率超过 10% 就回头查两件事:提示词里的边界条件写没写清,业务校验节点是不是漏了。反过来也要防兜底被滥用——某条流程天天靠人补,那就不是自动化,是给人多加了一道工序。

指标 计算口径 优先看什么 告警思路
执行成功率 技术成功数 ÷ 应执行数;业务合格数 ÷ 应执行数 两个值之间的差值 连续 3 次技术失败,或业务成功率低于基线 5 个百分点
耗时 P50 / P95 P95 的漂移速度 P95 超过基线 1.5 倍并持续 30 分钟
异常类型分布 按模型层、集成层、业务层打标计数 各类型占比变化 单一类型占比超过基线 2 倍
人工兜底 人工介入数 ÷ 总执行数 周趋势而非日数据 周兜底率超过 10%,或环比翻倍

表里的倍数是起步值,不是标准答案,最终阈值要以你自己跑出来的基线为准。

阈值怎么定:先观察两周,再分层

不要一上线就配告警,会把自己淹了。先只记录不告警,跑一到两周拿基线——注意覆盖工作日和周末,很多企业流程周六的量只有工作日的三成,拿工作日的基线去卡周末必然误报。

阈值取基线的倍数,而不是拍一个固定值,因为不同流程的量级差太多。然后分三层:只记录不打扰的、发企业微信群的、打电话的。真正值得打电话的通常就两类——核心流程连续失败、每日对账出现缺口。

抑制规则也得有:同一错误 30 分钟内合并成一条;连续失败 N 次才升级,别让一次网络抖动把群里刷屏;发布窗口留白。告警内容要带够上下文:流程名、执行 ID、失败节点、输入摘要(脱敏)、上次成功时间,否则值班的人还得自己去翻日志。

埋点埋在哪儿

每个节点进出各写一条结构化日志,字段固定:trace_id、节点名、耗时、状态、错误码、输入输出摘要。摘要要脱敏,手机号、身份证号这类别直接落盘。

业务校验建议做成独立节点,别藏在代码里。校验不过就显式失败并打标,让它在异常分布里占一格,而不是被 try/catch 吞掉。

再加一个每日对账任务:应产出条数 vs 实际产出条数,差值为零才通过。这一条比看板上任何一条曲线都管用,静默失败基本都会被它捞出来。跑智能体类流程时,对账还得覆盖「答案有没有引用到知识库文档」——我们在 企业知识库 的落地里踩过这个坑:检索为空但模型照样输出,看上去毫无破绽。

看板别做太复杂

四个数字加一条趋势线就够了。实时曲线好看,但没人盯;真正起作用的是每天固定扫一眼趋势——兜底率是不是在爬,业务成功率是不是在缓慢下滑。缓慢下滑比突然报错更麻烦,因为它不会触发任何告警。

私有化部署的场景,日志和看板尽量跟业务数据放在同一侧,别为了监控把敏感字段传到外部服务,本地日志加单点看板就够用。

下一步做什么

挑一条跑得久、影响面大的流程,先加两样东西:业务校验节点和每日对账任务。跑两周,把四个指标的基线记下来,再谈告警阈值。做完这一步,你至少知道自己在不在「静默地坏着」。要一起看监控设计或埋点方案,可以走 联系我们,或者直接打 400-873-2750。

Leave a Reply

Your email address will not be published. Required fields are marked *

拨打 400-873-2750免费咨询