突破泛化瓶颈:阿里云智能运维 Agent 评测体系实践
如果无法正常显示,请先停止浏览器的去广告插件。
相关话题:
#AI Agent
1. 突破泛化瓶颈:阿里云智能运维
Agent 评测体系实践
李也
2. 目录
01 智能运维泛化之痛
02 高质量的评测集的重要性
03 如何构建高质量的评测集
04 阿里云智能运维评测集(持续发布)
05 基于评测集的智能运维 Agent 能力提升实践
3.
4. 01
智能运维泛化之痛
5. 智能运维的一些技术
这些技术都有难泛化的问题
大模型智能运维Agent
context engineering
+ 大模型 workflow
规则+算法的智能运维
基于规则的智能运维
6. 传统的基于规则的智能运维难泛化
为CPU/内存/磁盘/响应时间等指
标设置固定上/下限,超限即告警
泛化瓶颈:
➢ 环境变化: 如大促
➢ 跨系统迁移差:不同应用/硬件
固定阈值的时序告警
用正则模板提取日志字段,基
于关键字或模板频次设置规则 用“if-then”把事件聚合, 如“网
络断+下游告警→归为网络故障”
泛化瓶颈:
➢ 模板脆弱:日志格式/字段
轻微变更就失效
➢ 难捕获未知错误 泛化瓶颈:
➢ 系统变化会使规则失效
➢ 组合爆炸:要处理各种事件
的组合,规则数量会激增
关键词/正则 匹配的日志告警 基于If- else 规则的事件关联
7. 规则+ 算法的智能运维难泛化
算法自动挖掘出if-then规则。
随机游走/matrix-forest归因
用STL分解/n-sigma/ESD-test
等算法设置智能基线,超限告警 用spell/drain等算法挖掘出日志模
板。对模板和变量的模式做告警 泛化瓶颈:
➢ 参数难设置:如敏感度,周
期长度等 泛化瓶颈:
➢ 过度挖掘或者挖掘不充分
➢ 系统变化,概念漂移
➢ 过滤不充分: 无关日志造成误报 泛化瓶颈:
➢ 规则挖掘依赖手动标注数据
➢ 数学模型的假设不一定成立
➢ 可观测数据不完整/有噪音
基线/季节性建模的时序告警 基于日志模板挖掘的日志告警 规则挖掘, 随机游走等算法归因
8. 大模型 workflow 会遇到泛化瓶颈
➢ 数据幻觉: 编造不存在的“500”
➢ 因果幻觉: 见GC增多就断言“内
存泄漏”, 忽略了Java版本变化
➢ 工具幻觉: 伪造API或者参数
模型幻觉
workflow的限定容易过强
➢ 从指标触发的 workflow,难
泛化到日志报错的场景
➢ 3层的workflow难处理超过3
步的根因推理
➢ workflow分支过多时,节点数
爆炸 相比于确定编码的规则,大模型的
输出可能会不遵从预期
➢ prompt说“只做只读分析”,模
型也有可能执行危险命令(如
直接重启集群、删库清表)
➢ 顶尖的模型在超过200个指令
之后,也难全遵从[1]
Workflow 编排的局限性 不遵从提示词
[1] How Many Instructions Can LLMs Follow at Once? Daniel Jaroslawicz et. al.
9. 大模型 Agent 也有一些泛化问题
Demo 相对容易:接入开源的脚手架,准备好prompt 和tools ,就能在特定场景完成demo
大模型Agent继承了大模型
workflow里面的很多缺点
➢ 数据/因果/工具幻觉
➢ 不遵从提示词
还新增了更多执行流程上的缺点
➢ JSON、SQL等易出现格式和
类型错,影响自动化
➢ 难以停止,重复探索
大模型能力局限
➢
➢
➢
➢
工具不全
工具太多
工具作用重叠
工具描述不清
工具不成体系
“按下葫芦起了瓢”
➢ 强调“仅基于证据回答”,模型
过度保守,提早终止
➢ 强调“尽量只用内部知识库”
时,模型不做合理泛化
➢ 强调“严格特定schema 格
式”,模型为过度满足schema
而填充mock值
调prompt 没有掌控感
10. 02
高质量的评测集的重要性
11. 各个领域的评测集(benchmark) 推动了大模型在这些领域的进步
https://ysymyth.github.io/The-Second-Half/
12. 如果我们用一个案例的Demo 做评测
例子: 我们想要做一个下面场景的的智能运维的 Demo
现象是出现了很多慢SQL ,原因是有一次代码变更使用了长连接,把数据库的线程池打满了。
我们要把“代码变更”这个原因找到
规则
规则+算法
大模型workflow
大模型Agent
“超过1s的是慢SQL”, “ active_session 数量超过CPU 核数两倍则认为是打满”
“同时发生 代码变更+ 线程池打满+慢SQL 时认为代码变更是原因”
“将 SQL 的执行时间用STL 分解后,残差超过均值+3 倍标准差是慢SQL ”,… ,
“在因果图里面计算出代码变更是根因的概率”
“先调用工具对感兴趣的指标和日志做一遍巡检” → “对于有异常的现象用大模型进
行总结并输出”→ “将上面对根因的判断的规则写到 prompt 里面然后做根因定位”
“慢 SQL 检测工具+线程池检测工具+ 代码变更识别工具”,“案例
retrieval
知识库”,
然后把大模型workflow 里面硬编码的流程写到prompt 里面
我们可以想象,用各种方法我们都能在上面的案例上做一个成功的demo。但是可能难泛化到其他场景
13. 如果有一个更丰富benchmark
把前面提到过的例子都作为benchmark 的任务,去评测上面各种方法的Demo
方法\任务
变更导致的
数据库连接
池打满
受季节变化和大促
影响的CPU使用率
异常检测
Java版本变化导致 网络断+下游
的GC次数上涨
多告警
…
[Demo] 规则
[Demo] 规则
+算法
[Demo] 大模
型workflow
[Demo] 大模
型agent
上面的
表示有一定的概率可以做对
特定流量造
成的报错量
上涨
14. “高质量”的
benchmark 能帮我们发现AIOps 方法的局限性
我们会在下一节讨论什么是“高质量”。我们先把“高质量”理解成覆盖我们常见的方方面面问题的案例
集,而且还附有标准答案和评判标准
一个可能的“高质量”的benchmark
案例
标准答案
变更导致的数据 受季节和大促影响的 Java版本变化导 网络断+下游
库连接池打满 CPU使用率异常检测 致的GC次数上涨
多处告警
代码变更
有异常/无异常
Java版本升级
A→B 网络断开
… … …
… … …
可观测数据 系统在正常和异常时间段的所有logging/tracing/metrics/events数据,至少够人类专家找到答案
➢ 发现方法的局限性
➢ 排除不可行的方法
➢ 提前暴露问题
15. “高质量”的评测集能帮我们优化
AIOps 方法
规则 不断堆规则,直到能覆盖90% 以上的benchmark 里面的问题
规则+算法 根据benchmark 的结果,修改算法参数。根据benchmark ,自动挖掘规则
大模型workflow 根据benchmark 的结果调整workflow 的结构和prompts ,减少bad case
大模型Agent 设计更巧妙的脚手架 + 开发更多好用的工具 + 优化prompts
使用标注数据去做 监督微调/强化微调/Agentic强化学习
16. benchmark 促进循环迭代
开源
将能共享的benchmark 数据都尽量
共享,借助社区的力量
开发
开发的时候可以用benchmark 中的
少量案例来验证代码是否可以运行
上线 + 积累更多案例
正向循环
上线后会产生用户真实的反馈。这
些反馈能帮我们积累更多案例,又
可以加入到benchmark 中形成循环
评估
初步开发完之后,我们可以在全量
benchmark 上评估算法的效果
调优
对于bad cases ,我们可以拿出来
分析然后有针对性地调优算法
17. 03
如何构建高质量的评测集
18. 我们对软件系统执行要素的抽象以及对应的注入点
软软软软软软软软软软软软软软
软
软软软软软软软软软软软软软软软
/软软软软软
系统请求 workload
系统处理的请求明细及其处理时间,代表了系统的输入
对应注入点: 整体流量突增/突降,特定入参的请求突增 等
系统资源 resources 代码/config
例如 CPU/内存/线程池 等 软件/程序 及其配置。包括了代码的版本等
对应注入点: 内存不足、CPU不足、
线程池打满 等
对应注入点: 代码变更、特定输入触发
的bug、参数欠佳 等
对输出的期望 (specification)
这部分对应的是注入的故障造成的影响,没有注入点
系统历史状态
数据库/缓存/消息队列的历史状态,内存快照等
对应注入点: 复制延迟、redis大
key、DB统计信息过期 等
19. 例子
例子: 我们想要做一个下面场景的的智能运维的 Demo
现象是出现了很多慢SQL,原因是有一次代码变更使用了长连接,把数据库的线程池打满了。
我们要把“代码变更”这个原因找到
系统请求 workload
系统请求无异常现象
系统资源 resources 代码/config
“数据库线程池打满” “有代码变更”
系统历史状态
系统历史状态无异常现象
对输出的期望 (violation of specification)
“出现了很多慢 SQL ”
➢ 对每个案例, 我们都能按照这样的方
式将可观测数据和前因后果组织起
来,形成很多 根因/现象/结果 等类
型节点
➢ 如果我们的benchmark 覆盖了任何一
个工单中出现过的根因/现象/结果,
那么我们就说覆盖度是100%
20. 高质量benchmark 的几个要点
覆盖度是指要尽量各种类型的原因/现象/影响
真实度是要让系统产生的可观测数据尽可能接近真实
真实度
覆盖度
覆盖根因
覆盖我们能想到的和系统各个要素相关的根因:
如“流量暴涨”,“
CPU 利用率太高”,“内存打满”等
覆盖传播链条
系统架构真实
需要产生可观测数据的系统架构接近真实的架构,包括了
真实的组件等
流量真实
覆盖我们能想到的影响传播链路:
如“流量暴涨”
→ “数据库CPU 打满” →“请求延迟高”
如“ 网网网网网网
”→“控制平面队列积压”
→“网络丢包增多” 需要能模拟真实用户的流量
覆盖结果 各组件的可观测数据真实
覆盖我们能想到的最终影响的结果,包括“请求延迟
高” /“报错数增多”等
日志要像真实的日志,时序要像真实的时序。真实的可观测数据
在正常时段会有噪音,在异常时段会有同时出现的unknowns
21. 案例来源
基于生产环境中真实发生
的故障样本进行归纳与复
盘
- 真实可观测数据的快照
- 专家标注
真实故障收集
用混沌工程工具
以及模拟workload
在开源真实系统 (如otel-
demo) 中触发典型故障
- 实采的可观测数据
- 注入故障作为标注
开源系统故障注入
在与生产相近的预发/演
练环境中注入故障
- 实采的可观测数据
- 注入故障作为标注
演练环境故障注入
用混沌工程工具
以及模拟workload
在mock了函数输入输出
的真实运行系统中触发典
型故障
- 实采的可观测数据
- 注入故障作为标注
模拟系统故障注入
22. 不同来源的案例在几个维度上的区别
注入方式
真实 case 收集
开源系统故障注入
演练环境故障注入
模拟系统故障注入
(Mock/仿真)
覆盖度
真实度
可公开
(容易缺可观测数据/标注)
(需要投入大量的时间精力) (开源系统的架构和生产有区别)
(需要投入大量的时间精力) (workload难复现)
(模拟的成本低,易覆盖) (workload难复现)
(包含了真实的组件)
23. 统一模型(UModel )
24. 从理论角度提升覆盖度 方法论:统一模型umodel 下等价
例子: 我们想要做一个下面场景的的智能运维的 Demo
现象是出现了很多慢SQL,原因是有一次代码变更使用了长连接,把数据库的线程池打满了。
我们要把“代码变更”这个原因找到
系统请求 workload
apm.metric.apm.external.http_client 等指标无异
常
代码/config
k8s.pod_restart_count > 0 提示可能有重新部署
系统资源 resources
AliyunRds_MySQL_ActiveSessions异
常
对输出的期望 (specification)
AliyunRds_MySQL_SlowLogSize异常
用umodel 来表达案例的前因后果
➢ 等价性: 任何案例都可以用 umodel
来表达前因后果关系。如果两个案
例用umodel 写出来形式一致,那么
我们说这他们在umodel 下是等价的
➢ 完备性: 如果我们能想到的所有案
例都能在benchmark 中找到某个案
例在umodel 下等价。那么我们说
benchmark 在umodel 下是完备的
➢ 必要性: umodel里面所有的实体类
型和指标集合都必须要出现在
benchmark 中的某个案例里面
25. 04
阿里云AIOps 评测集(持续发布)
26. 阿里云AIOps 评测集的构建
实施注入/
案例收集
故障注入系
统/规划
可观测数据
采集+存储+
查询分析
接入系统
已注入2000+ cases
chaosblade
chaosmesh
经验证已收集 500+ cases
系统请求
workload 类
阿里云 云监控2.0
OpenTelemetry
demo 开源系统
阿里云内部演练环境
系统资源
resource 类
持续收集中
代码/config 类
系统历史
状态类
阿里云 日志存储 SLS/ 指标存储 SLS MetricStore
真实生产系统
模拟系统
…
27. 可以和其他benchmark 互补使用,如OpenRCA
实施注入/
案例收集
故障注入系
统/规划
335 cases
chaosblade
可观测数据
采集+存储+
查询分析
接入系统
chaosmesh
系统请求
workload 类
csv files, 68GB
Telecom
database
用SQL/SPL
Bank system
OpenRCA
系统资源
resource 类
Market system
的数据简介
代码/config 类
查询,开箱即用的可视化
系统历史
状态类
28. 第一批评测集 发布
第一批评测集随AI原生编程挑战赛一同发布
所有人可以通过自己的阿里云账号去云监控2.0 / SLS里面查询数据
后续会陆续开源新的评测集,欢迎关注“阿里云云原生”公众号
[2] https://tianchi.aliyun.com/specials/promotion/2025aicloudnativecompetition
29. 05
基于评测集的智能运维
Agent 能力提升实践
30. “高质量”的评测集能帮我们优化
AIOps 方法 – 回顾
规则 不断堆规则,直到能覆盖90% 以上的benchmark 里面的问题
规则+算法 根据benchmark ,修改算法参数。根据benchmark ,自动挖掘规则
大模型workflow 根据benchmark 的结果调整workflow 的结构和prompts ,减少bad case
大模型Agent 设计更巧妙的脚手架 + 开发更多好用的工具 + 优化prompts
使用标注数据去做 监督微调/强化微调/Agentic强化学习
31. 一些根据benchmark 调优的结果
规则 纯规则的方案就暂不调优了
规则+算法 3000+ 样本 自动挖掘规则的算法达到了 100% 准确率 和 99.27% 的召回率
大模型workflow 2000+ 样本 正则表达式生成的benchmark 。生成的正则表达式中98.48% 的
能匹配文本,95.6% 的正则可以完美解析80% 以上的字段
大模型Agent 精调过的脚手架 + 工具 在第一批评测集上达到了87.5% 的根因召回率
经过 监督微调/强化微调 的模型在RCA 根因排序任务上达到了82.0% 的准确率
32.
33. THANKS
大模型正在重新定义软件
Large Language Model Is Redefining The Software