探索大模型和 Multi-Agent 在運維領(lǐng)域的實踐
本文分享自華為云社區(qū)《LLM 和 Multi-Agent 在運維領(lǐng)域的實驗探索》,作者:華為云確定性運維。
自 ChatGPT 問世以來,AI 迎來了奇點 iPhone 時刻,這一年來大模型深入影響企業(yè)辦公、金融、廣告及營銷等很多領(lǐng)域,也給運維領(lǐng)域的挑戰(zhàn)帶來新的解題思路。我們洞察發(fā)現(xiàn)大模型給 AIOps 帶來新機遇:已有云廠商利用大模型對運維事故進行根因定位并給出故障緩解措施建議,近 7 成以上運維人員對 LLM 的分析結(jié)果滿意 (>3 分)。我們認為 AIOps 面臨以下三大挑戰(zhàn):
挑戰(zhàn) 1:針對運維領(lǐng)域海量知識快速獲取、輔助診斷和故障分析能力:在大模型如火如荼的時代背景下,運維領(lǐng)域應(yīng)用 LLM 來獲取運維知識,針對故障進行分析和推薦修復(fù)方案已是勢在必行,如何將 LLM 較為廣泛的知識儲備(橫向能力)與運維領(lǐng)域的專業(yè)知識(運維垂域)相結(jié)合,對具體故障給出較為準確和可以用作參考和修復(fù)操作的指令,是本方案的第一重要能力實現(xiàn)。
挑戰(zhàn) 2:針對多模態(tài)數(shù)據(jù)進行快速高效準確的異常檢測能力:運維領(lǐng)域有豐富的多損益來源、多類型數(shù)據(jù):指標數(shù)據(jù)(metric)、日志數(shù)據(jù)(log)以及調(diào)用鏈數(shù)據(jù)(trace)等多模態(tài)運維數(shù)據(jù)。指標能夠反映業(yè)務(wù)狀態(tài)和機器性能的時間序列數(shù)據(jù);日志是一種程序打印或執(zhí)行代碼輸出的非結(jié)構(gòu)化文本;調(diào)用鏈則是在系統(tǒng)完成一次業(yè)務(wù)調(diào)用的過程中,把服務(wù)之間的調(diào)用信息連接成的一個樹狀鏈條。多模態(tài)運維數(shù)據(jù)可以反映系統(tǒng)狀態(tài)的全方位信息,針對不同模態(tài)的數(shù)據(jù),智能匹配最優(yōu)算法得到較為準確的故障檢測結(jié)果是本方案的第二重要能力實現(xiàn)。
挑戰(zhàn) 3:針對多源復(fù)雜部署的運維數(shù)據(jù)進行快速根因定位能力:多模態(tài)運維數(shù)據(jù)一方面能夠反映系統(tǒng)狀態(tài)的全方位信息,另一方面也給故障定位帶來很大的困難。針對 log、metric、trace 三方面來源的告警信息進行有效、快速、準確地分析,結(jié)合 trace 數(shù)據(jù)生成的實時拓撲結(jié)構(gòu)圖,排除故障傳播節(jié)點,給出故障根因節(jié)點推薦,是本方案的重要能力實現(xiàn)之一。
在真實的運維工作中,IT 系統(tǒng)何時發(fā)生故障、發(fā)生什么類型的故障都是未知,只能根據(jù)以往運維經(jīng)驗和故障現(xiàn)象進行推斷,所以針對這一困難,本方案利用 LLM 儲備的相關(guān)運維知識進行 few-shot tuning 后能夠給出初步的故障分類建議,起到輔助運維人員進行故障分析和根因定位的作用。
結(jié)合以上問題我們進行深度探索,并總結(jié)出一些方案,在此,分享給各位讀者。
方案詳述
本方案提出以 LLM 為中心結(jié)合多模態(tài) Agent 協(xié)同的自主決策、自動修復(fù)的運維方案,整體架構(gòu)如圖 1 所示,我們重點強調(diào)三大關(guān)鍵技術(shù):


圖 1:基于 LLM 和多模態(tài) Agent 協(xié)同的自主決策、自動修復(fù)運維方案
關(guān)鍵技術(shù) 1:具備運維領(lǐng)域知識經(jīng)驗的 LLM
① 梳理異常檢測告警信息和運維故障模式,形成運維領(lǐng)域高質(zhì)量數(shù)據(jù)集,使用 finetuning+ 外掛企業(yè)運維知識庫的方案,使得 LLM 具備運維領(lǐng)域故障分析定位能力。
② 使用主管 LLM 對異常問題與子領(lǐng)域 Agent 進行橋接,多個子領(lǐng)域 Agent 協(xié)同工作,提升運維效率。
關(guān)鍵技術(shù) 2:更全能的多模態(tài)數(shù)據(jù)異常檢測基礎(chǔ)模型
① 針對成百上千條不同采用頻率的 metric 序列采取一定維度聚合的方法,化繁為簡,一旦檢測出異常,再細化分析關(guān)鍵指標的關(guān)鍵表現(xiàn)。
② 針對半結(jié)構(gòu)化和非結(jié)構(gòu)化日志采取針對性的解析方式:前者注重模板提取,后使用 uADR/sADR 進行異常檢測,后者注重語義理解,使用 BigLog 預(yù)訓練模型結(jié)合 Deep SVDD+SAD 進行異常檢測。
③ 針對結(jié)構(gòu)化明顯的 trace 數(shù)據(jù),抽取分離調(diào)用關(guān)系并定義節(jié)點關(guān)鍵數(shù)據(jù),通過轉(zhuǎn)化時間序列有效識別異常節(jié)點,并通過拓撲關(guān)系分析幫助推測可能根因節(jié)點及故障傳播方向。
關(guān)鍵技術(shù) 3:基于知識圖譜的根因定位
① 利用 DBSCAN 從時間維度聚類,形成異常事件。
② 利用 Trace 數(shù)據(jù)實時生成拓撲結(jié)構(gòu)圖。
③ 根據(jù)故障模式知識庫分析故障傳播鏈路。
針對 Log, Metric, Trace 三類運維數(shù)據(jù)我們分別構(gòu)建了異常檢測基礎(chǔ)模型,一但系統(tǒng)接受到異常即會通知 LLM 主管 Agent,主管 Agent 對異常問題進行決策與子領(lǐng)域 Agent 進行橋接,多個子領(lǐng)域 Agent 協(xié)同工作,實現(xiàn)運維故障自動診斷和多個任務(wù)模型的編排,提升運維效率。


圖 2 多模態(tài)異常檢測 -Metric 基礎(chǔ)模型
我們針對不同的數(shù)據(jù)源分別打造了三個基礎(chǔ)模型,首先是 metric 異常檢測,我們對不同對象不同采集頻率的運維數(shù)據(jù)進行分組,然后根據(jù)指標變化曲線提取不同窗口的差分特征,第三步是將同類型的指標時序進行融合后利用多個異常檢測器進行異常檢測和時間聚類,一旦發(fā)現(xiàn)異常則通知 LLM 主管 Agent 進行決策,檢測 Agent 收到詳細檢測的指令則進一步利用多個異常檢測器進行細致的異常檢測。


圖 3 多模態(tài)異常檢測 -Log 基礎(chǔ)模型
其次是 Log 異常檢測,今年的 Log 類型可以分為兩大類: Redis GC 和 Access 日志,針對 Redis GC 日志首先使用結(jié)構(gòu)分類模型檢測是否需要語義信息,如果需要語義信息,那么則會使用運維領(lǐng)域的預(yù)訓練語言模型,如 BigLog 等;之后是由 Deep SVDD 進行半監(jiān)督異常檢測,檢測出不需要語義信息的部分則使用 DRAIN 進行模板提取后,使用 sADR 進行半監(jiān)督異常檢測;最終對時間進行聚類后輸出故障發(fā)生的時段和關(guān)鍵異常日志文本信息, 針對 Access 日志我們使用結(jié)構(gòu)化提取成時間序列后進行異常檢測,對時間聚類后最終輸出故障發(fā)生的時段和狀態(tài)碼信息。


圖 4 多模態(tài)異常檢測 -Trace 基礎(chǔ)模型
針對 Trace 數(shù)據(jù)有兩部分輸出,一部分是根據(jù) Trace 信息實時生成動態(tài)拓撲作為根因定位的輸入,另一部分針對調(diào)用鏈節(jié)點之間的時長構(gòu)成調(diào)用鏈時間序列進行異常檢測。


圖 5 多 Agent 協(xié)同框架:基于企業(yè)組織管理方法的高效協(xié)同診斷
結(jié)合大模型的技術(shù)演進趨勢,從 zero-shot->one-shot->few-shot,從 Chain of thought->Tree of thought->Graph of thought,從 Single-Agent 增強到 Multi-Agent 協(xié)同,Multi-Agent 在激發(fā)大模型能力的同時也帶來了新的技術(shù)挑戰(zhàn),近期業(yè)界實踐已發(fā)現(xiàn),Multi-Agent 架構(gòu)如果缺少合理的組織管理與協(xié)同溝通方法時,Multi-Agent 的效果可能會比 Single-Agent 更差,我們認為在通過大模型通往 AGI 的道路上,需要將 Agent 當作平等的人類非工具來看待,因此多 Agent 的組織管理與協(xié)同需要借鑒管理 “人” 的方法,我們希望在基于 Agents 組織架構(gòu)上,探索一套基于企業(yè)組織管理方法的多 Agent 協(xié)同框架,例如通過 KPI 樹方法分解任務(wù),通過 PDCA 方法反饋循環(huán)提高 Agent 工作效率,通過企業(yè)高效會議管理方法來合理組織運維 War Room 的 Agent 進入和退出,實現(xiàn)多 Agent 的高效協(xié)同診斷。


圖 6 多 Agent 協(xié)同故障診斷
這里我們用一張流程圖詳細闡述多 Agent 是如何協(xié)同工作的。系統(tǒng)發(fā)現(xiàn) Weblogic16 和 17 發(fā)現(xiàn)異常,主管 Agent 收到異常通知后,從企業(yè)內(nèi)源的知識庫中獲取到這兩個節(jié)點是關(guān)鍵節(jié)點,組織檢測 Agent、根因定位 Agent、故障分析 Agent 等開始工作。檢測 Agent 此時根據(jù)故障知識樹首先執(zhí)行磁盤檢測發(fā)現(xiàn)異常程度高,得到高優(yōu)先級結(jié)論,不用進一步檢查 CPU 指標,檢測 Agent 會輸出詳細的針對這兩個節(jié)點的所有異常指標、異常發(fā)生時間及異常程度等。根因 Agent 根據(jù)詳細檢測的結(jié)果分析出根因節(jié)點為 Weblogic 16,故障分類 Agent 根據(jù)根因節(jié)點信息及異常指標的描述異常程度判斷為磁盤故障,故障分析 Agent 這時會給出針對此故障的詳細分析報告,包含故障爆炸半徑以及修復(fù)建議等。
方案創(chuàng)新性、通用性及實用性


最后,我們方案創(chuàng)新地提出基于企業(yè)組織管理方法的多 Agent 協(xié)同框架,讓復(fù)雜運維任務(wù)處理更高效;使用多 Agent 協(xié)同完成運維主流程:異常檢測 -> 根因定位 -> 故障分類 -> 故障分析 -> 修復(fù)建議;構(gòu)建的多模態(tài)異常檢測基礎(chǔ)模型,包含 Trace、Metric、Log 數(shù)據(jù)處理能力,開箱即用;框架與算法不依賴具體特定應(yīng)用場景,結(jié)合大模型實現(xiàn)較強的泛化能力;故障診斷報告體現(xiàn)可解釋的故障爆炸半徑,為實際生產(chǎn)運維故障快速恢復(fù)提供有力依據(jù);各模塊松耦合可插拔,可以全面應(yīng)用于各類場景故障快速恢復(fù)需求,已在一些多場景落地實踐。
【參考文獻】
_1.Zhang S, Pan Z, Liu H, et al. Efficient and Robust Trace Anomaly Detection for Large-Scale Microservice Systems. ISSRE, 2023. _
_2.Li D, Zhang S, Sun Y, et al. An Empirical Analysis of Anomaly Detection Methods for Multivariate Time Series. ISSRE, 2023. _
_3.Wang Z, Liu Z, Zhang Y, et al. RCAgent: Cloud Root Cause Analysis by Autonomous Agents with Tool-Augmented Large Language Models. arXiv, 2023. _
_4.Jin P, Zhang S, Ma M, et al. Assess and Summarize: Improve Outage Understanding with Large Language Models. ESEC/FSE, 2023. _
_5.Chen Y, Xie H, Ma M, et al. Empowering Practical Root Cause Analysis by Large Language Models for Cloud Incidents. arXiv, 2023. _
_6.Zhou X, Li G, Sun Z, et al. D-Bot: Database Diagnosis System using Large Language Models. arXiv, 2023. _
_7.Zhou X, Li G, Liu Z. Llm as dba. arXiv, 2023. _
_8.Wen Q, Gao J, Song X, et al. RobustSTL: A robust seasonal-trend decomposition algorithm for long time series. AAAI, 2019. _
_9.Liu Y, Tao S, Meng W, et al. LogPrompt: Prompt Engineering Towards Zero-Shot and Interpretable Log Analysis. arXiv, 2023. _
_10.Tao S, Liu Y, Meng W, et al. Biglog: Unsupervised large-scale pre-training for a unified log representation. IWQoS, 2023. _
_11.Ma L, Yang W, Xu B, et al. KnowLog: Knowledge Enhanced Pre-trained Language Model for Log Understanding. ICSE, 2023. _
_12.Zhong Z, Fan Q, Zhang J, et al. A Survey of Time Series Anomaly Detection Methods in the AIOps Domain. arXiv, 2023. _
_13.Wu H, Hu T, Liu Y, et al. Timesnet: Temporal 2d-variation modeling for general time series analysis. ICLR, 2023. _
14.Yu G, Chen P, Li P, et al. Logreducer: Identify and reduce log hotspots in kernel on the fly. ICSE, 2023.
浙公網(wǎng)安備 33010602011771號