SuperAPI AI 工具集

cost-anomaly

通用与其它

查看项目

更新于 10-15 22:32

技能介绍

用途:cost-anomaly 用于逐会话的异常值检测,是 cost-burn 聚合趋势信号的诊断补充。它回答“哪些具体会话是异常离群点”,而 cost-burn 回答聚合速率是否加速,cost-counterfactual 关注总量能否更省,cost-projection 预测何时触达预算。

主要能力:实现位于 scripts/anomaly.mjs,读取 cost-tracking 命名空间下全部 session-* 记录,按 --since 窗口过滤(默认全时段);计算 median(total_cost_usd) 与 MAD=median(|x-median|),用 Iglewicz-Hoaglin(1993) 修正 z 分数 z=0.6745*(x-median)/MAD,标记 |z| 超过 --threshold(默认 3.5)的会话,并输出异常会话表,含花费、偏差、修正 z 与方向(high/low)。

选用 MAD 的原因:均值加标准差会被单个高花费会话同时抬高均值与标准差,使后续异常被“正常化”,小样本下尤其严重;中位数与 MAD 可忽略最多约一半数据,异常值无法移动它们,n=10 也稳健,|z|>3.5 为经典截断值。示例中 5 个基线会话 0.08–0.12 美元加 1 个 5.00 美元离群会话,中位数 0.100000、MAD 0.010000,检出 1 个离群会话,偏差 +4.900000,修正 z 为 330.505,方向 high。

使用方式:命令为 cost anomaly 形式,可加 --since 与 --alert-on-outliers,例如 cost anomaly --alert-on-outliers 1,超过阈值时输出 ALERT 并以退出码 1 结束,未超阈值退出 0。CI 中可写 cost anomaly --since 7d --alert-on-outliers 1 || investigate-bad-session。常与 cost burn --alert-on-acceleration-pct 50 || page-oncall 并列,分别覆盖“平均值是否漂移”与“是否存在单个失控会话”。

边界情况:n<3 时提示数据不足并退出 0;MAD=0(至少一半会话花费完全相同,常见于全为 0 的 dry-run)不除零而是给出说明;low 方向通常代表崩溃、掉线或未完成,而非超支,表格会标注方向以便判断;MAD 极小时极小绝对偏差也会产生巨大 z 分数,属正常;high 方向可能源于长会话、卡在高价档位或失控循环,可结合 cost report 与 cost conversation 排查。具体收费与平台支持信息暂未提供。