☰
从AIOps到Agentic Operations:智能体运维落地实践与避坑指南
2026/10/16 10:46:31 网站建设 项目流程

最近一段时间,和做运维的朋友聊得最多的就是 Agentic Operations。前两年大家还在谈 AIOps,说要用算法把告警、日志、指标揉到一起去定位故障根因;今年风向一下就变了,开始讨论让“Agent”自己看监控、自己改配置、自己恢复服务。有人说这只是 AIOps 换个马甲,也有人说是大模型把运维带进了新时代。

我的观点是:两种说法都对,但都没戳到关键。AIOps 解决的是“看懂问题”,Agentic Operations 解决的是“直接把问题解决掉”。这一步从“诊断”到“执行”的跨越,才是真正需要重新理解 AI 运维的地方。这篇文章我会把 AIOps 和 Agentic Operations 的差异拆开讲,再结合我实际碰到的落地案例,给出一个最小可复用的智能体运维方案,以及我在生产环境里踩过的坑。如果你正在评估要不要往这个方向投入,或者已经被老板问过“我们能不能也做个 Agent 运维”,这篇应该能帮上忙。

1. 从 AIOps 到 Agentic Operations:这一步到底变了什么

1.1 AIOps 的老底子:压缩告警、根因定位、异常检测

想理解 Agentic Operations,先得把 AIOps 那套东西放回原处看。它们不是替代关系,而是接力关系。

AIOps 过去主要做三件事。第一件事是告警压缩,把几百条重复报警聚合成一两条,避免大家在凌晨三点被同一批抖动轰炸。第二件事是根因定位,结合指标曲线、日志关键词、链路追踪数据,给出一个“疑似问题点”。第三件事是异常检测,用时序预测或者机器学习模型判断某个指标是不是偏离了正常范围。

我见过不少团队把这三件事做得很扎实,尤其在大促、版本发布这类场景里,确实能把 MTTA(平均响应时间)从 40 分钟压到 10 分钟以内。但问题是,AIOps 的输出基本停在“结论”层面。它告诉你是数据库连接池满了,然后呢?还是得一个人爬起来,打开终端,连上跳板机,看一遍确认,再决定是扩容还是重启还是改配置。这个“然后呢”恰恰是最耗时、最依赖经验、最容易出错的一步。

更麻烦的是,AIOps 的模型通常只针对单一数据源训练。指标模型看指标,日志模型看日志,根因系统只是把它们拼在一起,并没有真正的因果推理。遇到没见过的故障模式,告警压缩得再好,也只是把一堆未知问题合成一个大问题,人该看的还是得看。

1.2 Agentic Operations 的新内核:会调用工具、自己验证、多步决策

Agentic Operations 或者说智能体运维,和 AIOps 最大的差别在于,它把“执行”也纳入到闭环里。智能体不只是告诉你“连接池满了”,它会自己去查当前连接数、看慢查询、翻内存配置,然后根据预设策略执行重启连接池或限流,再观察恢复情况,如果没恢复,还会继续换下一个方案。

这个能力听起来很玄,但拆开看就是三件事。

第一是工具调用。以前 AI 模型只负责算,不负责动手;现在通过函数调用机制,模型可以在关键节点上触发运维工具,比如调监控 API、执行只读命令、修改网关白名单。第二是自我验证。智能体执行完一个动作,会把返回值拿回来再看一眼,判断效果是否符合预期,而不是做完就交差。第三是多步决策。它不会只做一步,而是像人一样先看现象、再查日志、再改参数、再观察,形成一个循环,直到问题解决或主动放弃。

我用一句话总结这两代系统的本质区别:AIOps 是给决策者看病的机器,Agentic Operations 是能自己开药、自己复诊的“数字运维同事”。

对比维度AIOpsAgentic Operations
核心输出诊断结论、告警摘要、根因建议自主执行、验证、恢复动作
是否接入运维工具只读为主,顶多触发外部回调可直接调用执行类工具
决策方式单点模型,多为模式匹配多步推理,计划-行动-观察循环
人工参与度高,结论后必须人接手低,默认自动执行,异常兜底给人
解决未知故障能力弱,依赖历史标签较强,可结合上下文推理

要特别说明的是,Agentic Operations 并不是一上来就自动恢复一切服务。它在设计上仍然保留了大量人工确认点,只是把重复性高、模式明确的故障处理自动化了,把人和智能体的关系从“人盯着机器”变成“人管智能体”。

2. 大模型让“懂系统”这件事变成了现实

2.1 为什么以前的自动化做不到“全自动运维”

很多老运维看到“Agentic”这个词会嗤之以鼻:我们不是早就有自动化脚本了吗?监控告警触发 webhook,脚本自愈,一套流程跑了好几年,这难道不是 Agent ?

这话问到点子上了。传统自动化脚本本质上是一条写死的 if-then 链路:如果 CPU 大于 90%,就扩容;如果磁盘满了,就清理日志。它能解决的故障,必须提前被预判到,并且写成规则。可生产环境的故障是“长尾”的,大部分神级故障是跨指标的,是多个系统叠加出来的,是没人会提前写规则的。

大模型给的是什么?不是更完美的规则,而是把人对系统上下文的理解能力,抽象成了一种可以被调用的能力。你让一个 Agent 去处理 CPU 飙高的问题,它不是查到一个大于 90% 就机械扩容,而是会先看是哪个进程占用,再看是不是慢 SQL 导致,然后看最近有没有发版变更,结合这些信息来决定是扩容还是回滚还是改参数。这已经不是脚本逻辑,而是接近一个有三年经验的运维在做的事。

2.2 五个关键能力:感知、记忆、推理、行动、学习

我把一个合格的运维智能体拆成五块,这五块缺一不可。

感知能力是数据入口,包括指标的实时读取、日志的语义检索、告警的主动订阅。智能体要能“看到”系统的状态,而不是靠人喂给它数据。

记忆能力分两层。短期记忆就是当前故障上下文,比如这次报警里涉及的 IP、最近 30 分钟的指标变化;长期记忆则是沉淀下来的历史故障报告、变更记录、系统架构文档。没有记忆的智能体每次都是冷启动,永远长不大。

推理能力是大脑,负责把感知到的现象和记忆里的知识串起来,形成假设。这里大模型扮演的就是“调度指挥官”的角色,它不一定直接算指标,但它知道该调用哪些工具、用什么顺序验证。

行动能力是手脚,通过函数调用对接 CMDB、监控系统、发布系统、数据库终端,执行查询、变更、重启等操作。这里的难点不是写函数,而是让智能体清楚每个工具的使用边界和参数约束。

学习能力最容易被忽视。真正的智能体运维系统,应该有反馈闭环:每次人工介入后,智能体要能总结“为什么我的方案没有被采纳”,把经验写回长期记忆。否则它就永远停留在“能跑但不能变聪明”的阶段。

2.3 从工单到自主决策:三步跃迁

顺着这个拆分,再看团队在做什么样的运维,其实能看出三个阶段。

第一阶段是“人干活,机器看”。这个阶段所有决策靠人,机器只提供报表和告警,本质还是传统运维。

第二阶段是“机器建议,人拍板”。AIOps 就落在这里,系统给出诊断,人来执行,效率和准确性吃的是人的经验。

第三阶段是“机器看、机器想、机器干、人来兜底”。这才是 Agentic Operations 真正的形态,智能体执行完整闭环,只在风险阈值高或连续失败时,把问题转给人。大多数团队目前在第二阶段,而在往第三阶段走的时候,最容易忽略的就是:这个闭环的验证机制和被授权边界到底怎么设。

我个人经验是,从第二阶段到第三阶段,最难的不是模型,而是动作。你让大模型“说”出一个解决方案很容易,让它“做”出这个方案,需要大量的工程配套。这篇文章的后半部分,我重点想讲清楚这套配套到底怎么搭。

3. 落地一套最小智能体运维,应该怎么搭

3.1 先画边界:没有“万能 Agent”,只有场景 Agent

任何一个刚开始做 Agentic Operations 的团队,最容易犯的错误是想要一个全知全能的运维 Agent,什么问题都能处理。我先泼一盆冷水:在当前阶段,别做万能 Agent,做场景 Agent 才有落地可能。

我给某电商团队搭的第一版,只围绕三个场景:应用无响应、数据库连接池打满、磁盘空间告警。每一个场景都独立封装成一个 Agent 配置,共享底层的感知和工具层,但推理模板、动作列表、审批策略完全不同。这样有几个好处:

一是风险可控。每个 Agent 能做的东西很少,它出错的范围被限制在单一场景里,出了问题人工兜底也快。

二是效果可评估。你很清楚这个 Agent 的目标是“恢复 CPU 高负载”,成功率多少可量化,不像万能 Agent 什么都干但什么都干不好。

三是迭代简单。新场景复制旧模板改一改就能上线,不用重写框架。

边界画完之后,把 Agent 能做的事分成两类:只读动作和写操作。只读动作包括查指标、看日志、查配置,这类可以默认放行;写操作包括重启实例、改配置、扩容、回滚版本,这类必须设置审批或二次确认。这个边界,必须在系统设计上强制,而不是靠模型自觉。

3.2 四个核心模块的具体配置

一个最小方案至少要包含四个模块。

第一个模块:感知层。建议直接复用你现有的监控体系,不要另起炉灶。告警事件、指标查询、日志检索都通过封装 API 暴露给智能体。关键点是:要让智能体拿到“原始上下文”,而不仅仅是一句“CPU 95%”。给它当前进程列表、最近变更记录、最近的慢查询列表,它才能做真正的推理。

第二个模块:记忆层。简单做法是用向量数据库存历史故障报告、运维知识库、架构说明文档,每次接到触发事件时,先做相似度检索,把最相关的几条经验作为上下文塞给大模型。别小看这一步,它比任何 Prompt 技巧都管用,能让智能体少犯低级重复错误。

第三个模块:规划与决策层。推荐用 ReAct 模式,推理边看结果边调整。每轮生成时给模型定义好工具清单和参数 schema,让它“计划—行动—观察—再计划”。这个环节要特别设计“放弃条件”,比如尝试了三次仍未恢复,必须停下来转人工,不能无限循环。

第四个模块:执行与通知层。执行动作统一走一个执行代理服务,不能允许大模型直接连数据库或直接调生产命令。执行代理负责做参数校验、权限控制、操作审计。所有动作产生的事件都要发到内部的统一事件中心,方便事后追溯和做复盘。

我贴一段规划层的伪代码,帮助理解:

tools = [ {"name": "get_metric", "args": ["metric_name", "time_range"]}, {"name": "list_process", "args": ["host"]}, {"name": "query_slow_query", "args": ["db_name", "time_range"]}, {"name": "restart_service", "args": ["service", "host"]}, {"name": "scale_out", "args": ["deployment", "replicas_add"]} ] def agent_loop(alert_context): history = retrieve_similar_cases(query=alert_context.keyword) plan = llm_plan(context=alert_context, history=history, tools=tools) for step in plan: if step.action in ["restart_service", "scale_out"] and not approved(): pause_and_notify_human() break result = execute(step.action, step.params) if not verify_recovery(result): continue else: notify(f"已恢复: {alert_context.id}") return

这段代码的核心是:所有动作都经过执行代理,写操作默认卡在人工审批节点,只有明确低风险的自动恢复类动作可以配置成免审批。

3.3 一次完整的故障处理:连接池打满

讲一个我们实际跑过的案例,帮你看清整个链路是怎么走的。

某天晚上监控系统弹出警告:支付服务连接池使用率达到 98%。传统 AIOps 在这里会输出一组告警摘要和可能的根因列表,但是接下来的处理还得人来。我们的 Agent 拿到告警后,做了这样一串动作:

第一步,查询该服务最近 30 分钟的 TPS、响应时间、慢查询数量,判断是流量突增还是数据库性能恶化。

第二步,调用慢查询检索工具,发现某条新上线的 SQL 平均执行时间从 20ms 涨到了 900ms。

第三步,回查最近一次发布记录,确认该 SQL 是当天下午随新版本上线的。

第四步,形成假设:新 SQL 索引缺失导致慢查询,慢查询占住连接池,连接池被打满。方案有两个:紧急回滚该版本,或者先杀慢查询线程缓解压力。Agent 评估回滚影响面更大,于是选择杀会话,同时自动将支付服务限流到 80%,给数据库腾出恢复空间。

第五步,动作执行后继续观察 5 分钟,确认连接池使用率降到 55%,且 P99 响应时间回落。Agent 标记恢复完成,生成一份时间线报告发给值班人员。

整个过程耗时 4 分钟,没有人工介入。那晚唯一人工做的事,是第二天早会上确认了回滚新版 SQL 的修复排期。这个案例能跑通,依赖的并不是大模型多聪明,而是前面那四个模块配合得足够紧:感知层给了数据,记忆层检索到了类似案例,规划层选对了假设,执行层控制住了操作半径。

3.4 容易被忽略的参数与限流细节

搭环境的时候,有几个细节特别容易被忽略,但一旦出问题就是大事故。

第一是动作并发限制。生产环境可能同时有多个告警在触发,不能让多个 Agent 同时对同一个服务做变更。我的做法是给每个 Agent 加分布式锁,同一服务同一时刻只允许一个写操作执行,其余排队或降级为只读诊断。

第二是上下文窗口控制。大模型一次能处理的 token 有限,而日志和指标数据量很大。一定要在传入大模型之前做裁剪,只保留和当前故障相关的片段。很多团队在初期把大量日志塞给模型,结果模型反而忽略关键信息,还白白增加延迟和成本。

第三是人工审批的超时兜底。设计写操作审批等待时间,如果配置了 1 分钟内无人审批,默认取消该动作,绝不能让 Agent 在凌晨三点等审批等到天荒地老,也不能让它擅自撤回动作。

第四是账号权限收敛。所有 Agent 用的服务账号,权限只能覆盖它负责的那几个场景,配置只读优先,写操作必须走临时授权。权限越大,幻觉带来的破坏越大,这话放智能体时代依然成立。

4. 实践中的坑与取舍

4.1 五个高频问题的排查速查表

我把自己和同行在实践里遇到最多的问题整理成了一张表,大家可以对照着排查。

现象可能原因排查路径缓解方案
Agent 反复尝试同一错误动作缺少验证反馈,或者上下文里没有“上次失败记录”查看决策日志里的上一步观察结果是否被正确回传在 ReAct 循环里强制保留最近两轮的观察摘要
大模型把参数填错工具 schema 描述不清晰看 Prompt 里工具描述是否包含了参数单位、范围、示例给每个参数加最小最大范围和默认值,并让执行代理二次校验
处理速度太慢上下文过长、模型推理轮次太多统计单次故障处理的 token 消耗限定最多推理轮次,超时转人工
误判为紧急故障历史相似案例误导检查记忆层检索到的案例相关度是否足够高给案例加时间权重,旧案例降权
写操作被错误放行权限策略配置过宽松复核执行代理的权限白名单默认拒绝,显式放行,放行需二级审批

这里我最想强调的一排是“Agent 反复尝试同一错误动作”。这个问题的根源往往不是模型笨,而是你的循环设计里没有把“动作结果”当成下一次决策的输入。很多初版代码写成了模型一次性生成整个动作序列,后面所有步骤都照着第一个计划执行,完全不看结果。改成真正的观察—反馈循环之后,成功率能提升一大截。

4.2 安全边界:自动执行不等于放开执行

关于安全边界,我的一些想法可能要泼一点冷水。圈内对 Agentic Operations 的热情很高,但冷静看,目前最适合自动执行的动作,两类就够了:

一类是“影响范围小、容易回滚”的动作,比如重启某个无状态实例、清理临时文件、切换某个非核心开关。

另一类是“紧急止血类”动作,比如断流、限流、将部分流量摘除。

风险高、影响面大的动作,比如全量回滚、大版本变更、数据库结构修改,现阶段必须保留人工决策环节。不管大模型的 reasoning 能力多强,都不用急着把最终决策权交给它。不是因为不相信模型,而是因为生产环境的责任主体仍然是人。一旦出了问题,对外解释的是人,不是模型。

我建议从架构上做三层兜底:执行代理层做权限校验,Agent 引擎层做开销削峰和动作频控,人工调度层保留一键“熔断”所有 Agent 动作的能力。这三层缺一不可。尤其是“一键熔断”,我见过不少团队上线 Agent 时完全没做这个开关,等发现 Agent 在循环重启一批节点的时候,只能人肉去改数据库,那个慌字就不提了。

4.3 怎么判断你的团队适不适合上

实话说,不是所有团队现在都适合上 Agentic Operations。我给出三条判断标准。

第一,你现有的运维流程是不是已经标准化了。自动化程度很低、全靠老师傅带徒弟的团队,先别上 Agent。机器连标准操作都没有,你拿什么教 Agent ?

第二,你的监控数据质量够不够。告警不准确、指标缺失、日志没法检索,这种基础数据喂给大模型,只会让它一本正经地胡说八道。智能体的表现上限,不会超过你数据质量的上限。

第三,你的团队有没有人力承接“兜底”工作。上线第一周,必须有人盯着 Agent 的动作,随时准备插手中断。如果团队人少到连值班都转不开,那别给自己制造更多负担。

我还遇到过一个更有意思的情况:有些团队操作流程没有统一,每个运维都有自己的“小操作手册”。这种情况先别急着搞智能体,而是先把这些手册整理成标准操作规范,哪怕只是写成文档,也是值得的投入。因为 Agent 吃的就是你的组织知识的沉淀,你喂给它的文档越混乱,它的行为就越漂移。

5. 写在最后:运维人不用焦虑,但要换一副手柄操作

聊了这么多,最后一个话题绕不开:Agentic Operations 兴起了,运维人会不会失业。我的看法很明确:不会,但岗位的工作内容会变。

我有个很直观的感受,智能化程度越高的系统,出问题时越离谱,越需要懂底层原理的人去兜底。智能体可以把连接池打满这种常规问题很快处理掉,但一旦碰到跨系统全局故障、数据不一致、网络分裂这种复合问题,最终还是要靠人来定方向。你要做的不再是手动敲命令,而是给 Agent 定策略、审它的方案、处理它碰不到的死角。

所以我的建议是:平时多训练自己“对系统的解释能力”。你能不能把一次故障讲成一个完整的故事?能不能把变更的影响面说得清清楚楚?能不能判断一个自动恢复动作的风险边界?这些能力在 Agent 时代反而更值钱。智能体能写代码、能调工具,但它不知道“为什么这个系统要这么设计”,只有人知道。

如果你已经在规划自己的 Agentic Operations 方案,我的建议是:从一个小场景做起,先把故障恢复闭环跑通,再慢慢扩大权动范围。不要一上来就追求全自动,先把 10% 的高频故障自动掉,你就已经跑赢了绝大多数团队。这一步走稳了,后面路就顺了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询