国产在线观看精品免费,亚洲日本VA久久一区二区,香蕉久久99综合一区二区三区,久久精品99国产精品蜜桃小说

當運維遇上LLM:大模型 Agent 在 AIOps 運維場(chǎng)景有哪些新實(shí)踐

2024-07-04 09:11:05 Jinyu

一、為什么要用大模型Agent技術(shù)

圖片

近期,大模型的迅猛發(fā)展為 AI 行業(yè)帶來(lái)了巨大的進(jìn)步,也有力地推動(dòng)了 AIOps 的變革。大模型主要通過(guò)對話(huà)的方式實(shí)現智能賦能,Agent 借助多步對話(huà),利用規劃、反思以及工具的使用,以目標為驅動(dòng),形成能夠自治完成復雜任務(wù)的智能體。

Agent 對大模型的加持,極大地提升了大模型的智能能力,并且能對 AIOps 任務(wù)類(lèi)場(chǎng)景起到很好的智能增強作用,有助于提升運維的人效和加強自動(dòng)化程度。

大模型 Agent 在 AIOps 運維場(chǎng)景中,可以解決日常任務(wù),將 SRE 從重復的勞動(dòng)中解脫出來(lái),提高人效,如日常的巡檢,重復故障發(fā)現和處置,知識/數據查詢(xún)分析等;Agent 不再依靠 SRE 針對低級指令和流程的編輯/計劃,可完全自驅的進(jìn)行分析,規劃,最終解決問(wèn)題;而針對一些創(chuàng )新性和探索性的工作,Agent 也可以通過(guò)知識探索,流程規劃,工具使用等方式實(shí)現。

大模型 Agent 的使用方式有多種形式,包括單 Agent,多 Agent,和人機交互。
單 Agent 強調通過(guò)反思/規劃/工具使用,逐步觀(guān)察思考,解決問(wèn)題目標,針對較復雜的任務(wù),可以通過(guò)任務(wù)拆解,利用分治的思想,最終解決問(wèn)題。
多 Agent,利用多智能體的協(xié)作來(lái)共同完成任務(wù),不同的 Agent 角色,利用角色定義,知識/工具的差異,實(shí)現角色的職能和能力,并通過(guò)定義的不同的協(xié)作方式關(guān)聯(lián)各個(gè)角色實(shí)現任務(wù)目標,利用社群和分工協(xié)作提升效能和增強創(chuàng )新性的思想,可處理更加復雜的任務(wù);

人工交互,主要是針對單/多 Agent 中模型的推理能力和知識信息不足的問(wèn)題,通過(guò)人工介入進(jìn)行補充。

圖片

在 AIOps 運維中,大模型 Agent 對傳統場(chǎng)景帶來(lái)了全新的增強與提升:


  • 異常檢測:借助大模型的 Transformer 架構,能夠將不同模態(tài)的數據進(jìn)行統一向量化,然后通過(guò)預訓練的方式構建異常檢測大模型,比如可將指標數據、拓撲數據、事件數據混合起來(lái),利用大模型進(jìn)行異常檢測。除了預訓練方式,還可通過(guò) Agent,采用不同的 prompt 及規劃流程進(jìn)行分析,形成多維度多模態(tài)的綜合檢測。
  • 故障診斷:大模型 Agent 能夠在規劃與反思的作用下,設計并推動(dòng)排查流程,同時(shí)利用數據檢索、異常檢查、根因分析等工具的使用,自主對生產(chǎn)環(huán)境中的故障進(jìn)行分析與診斷。
  • 故障修復:在故障診斷分析后,大模型 Agent 能夠驅動(dòng)編程執行以及現有工具的使用,實(shí)現故障的緩解與止損,以及真實(shí)故障的修復,甚至能在一定程度上實(shí)現故障自愈。
  • 告警收斂:大模型 Agent 可依據對知識和記憶的了解,對告警進(jìn)行解析,借助解析信息通過(guò)規則和語(yǔ)義等方式對告警進(jìn)行合并總結。
  • ChatOps大模型 Agent 對 ChatOps 的支持較為直接,最直接體現在意圖識別和工具使用上,可直接借助大模型和 Agent 的能力來(lái)實(shí)現并增強,對于知識問(wèn)答,還可以充分利用 RAG 的方式,實(shí)現知識庫的引用及回答的生成。

二、如何建設大模型Agent來(lái)幫助AIOps場(chǎng)景

圖片

Agent 的建設有比較常見(jiàn)架構,包括了重要的組成部分:行動(dòng),計劃,記憶,工具,同時(shí)依賴(lài)大模型LLM的能力,角色和環(huán)境。各個(gè)組成部分根據功能分工,利用sop進(jìn)行合理編排,形成不同領(lǐng)域或者特性的智能體,在線(xiàn)上環(huán)境中通過(guò)Agent的制定或者意圖的識別,實(shí)現調用和執行。如下簡(jiǎn)單介紹一下各個(gè)組件常用的構建方法和落地時(shí)間。

大模型是整個(gè)Agent的大腦,Agent的運行都需要大腦的反思能力和規劃能力來(lái)自驅Agent的思考和運行,針對目前商用和開(kāi)源的大模型的能力上看,在不同的場(chǎng)景和專(zhuān)業(yè)領(lǐng)域各有差異,在使用中可根據不同場(chǎng)景進(jìn)行比對分析選擇合適的模型和參數,并需要建立統一的適配器接口,達到方便進(jìn)行模型調試比對的能力。同時(shí),依賴(lài)LLMOps的功能實(shí)現模型的訓練/微調,實(shí)現模型能力的調整和優(yōu)化。

計劃規劃,Agent一般對需要多次大模型的交互和工具調用來(lái)達到任務(wù)目標,整個(gè)過(guò)程需要通過(guò)大模型能力等方式來(lái)進(jìn)行規劃計劃,其中最常用的方法是反思,通過(guò)大模型的批判和思考能力,對于問(wèn)題,中間回答等進(jìn)行反思來(lái)確定下一步工作,常見(jiàn)的方法如 ReAct,Self-Ask,ReWoo 等。

這里的實(shí)踐落地中,需要考慮運維的 SOP(Standard Operating Procedures)如何引入規劃中,針對重復的有規范的任務(wù),可通過(guò)專(zhuān)家經(jīng)驗生成流程驅動(dòng)規劃,針對無(wú)法匹配的任務(wù),嘗試推理生成規劃,并能通過(guò)自學(xué)習來(lái)完善和豐富經(jīng)驗流程。

另外,如在根因定位和故障排查等場(chǎng)景中,可通過(guò)啟發(fā)式算法,搜索問(wèn)題空間,如 ToT(Tree of Thought),GoT(Graph of Thought) 等。

記憶管理,Agent 的記憶,最常見(jiàn)的是分長(cháng)記憶和短記憶,長(cháng)記憶最常用的方法是通過(guò) RAG 的方式從外掛的知識庫來(lái)獲取知識,整個(gè) RAG的過(guò)程可以使用固定的流程,更好的方式也使用Agent的規劃和反思的能力,選擇和調整檢索的策略,來(lái)提升檢索知識的有效性。

短記憶,一般是通過(guò) prompt 的方式,將會(huì )話(huà)的歷史,指令,例子,要求等信息放入,讓大模型進(jìn)行回答,有很多相關(guān)的策略和方法,重要的是要控制token數,從生成大模型的主要機制上,整體的 token 數量一般是有限制的,根據注意力機制,prompt 中過(guò)多的語(yǔ)義也是會(huì )被遺忘的,可通過(guò) chatGPT 等對 prompt 進(jìn)行生成和壓縮,將重要信息放到 prompt 的開(kāi)頭和結尾,通過(guò)引號等方式加重關(guān)鍵信息。

工具執行,工具執行是大模型拓展到 Agent 的關(guān)鍵基礎能力,很多大模型都通過(guò)針對性的預訓練和微調將 function calling 的能力加入到模型本身中,通過(guò)模型的調用來(lái)實(shí)現工具調用的決策,當然通過(guò) ReAct 的方式,調用通用大模型也是可行的。在運維領(lǐng)域,相關(guān)工具和能力不會(huì )在通用的訓練數據中,因為領(lǐng)域知識的缺乏導致很多工具決策不夠精準,可通過(guò)模型的微調,或者訓練中小模型來(lái)達到精準的工具調用。

環(huán)境交互,在 AIOps 的運維場(chǎng)景中,環(huán)境主要是通過(guò)工具來(lái)定義,通過(guò)工具的使用來(lái)實(shí)現 Agent 的對環(huán)境的感知,控制以及互動(dòng)。在建設實(shí)踐中,原有 AIOps 和運維平臺中的相關(guān)平臺和工具都是可以打包成工具,作為感知和操作的工具,如異常檢測的模型,根因分析的工具,運維可觀(guān)測的數據,日志,告警的信息等,Agent 智能體需要通過(guò)這些工具。




角色定義

圖片

在 Agent 的協(xié)作中,有個(gè)比較困難的障礙,就是多 Agent 的協(xié)作,多 Agent 的協(xié)作有很多的困境需要解決,目前比較明顯的問(wèn)題是角色區分和協(xié)作設計控制。角色,需要大模型能深刻理解角色,并在協(xié)作交互中,通過(guò)角色定義進(jìn)行交互,在通用場(chǎng)景中,大模型對于角色的理解尚且可以,在運維場(chǎng)景中,相關(guān)角色界線(xiàn)相對模糊,如 SRE 中的一線(xiàn)運維,二線(xiàn)運維,我們經(jīng)常說(shuō)的業(yè)務(wù)運維,技術(shù)運維,理解有一定的難度,容易理解錯誤;另外,Agent 之間的協(xié)作也很復雜,通過(guò)大模型去規劃和控制比較困難,容易進(jìn)入死循環(huán),容易偏離大目標,實(shí)踐中常用的方法就是減少 Agent 的數量,使用主持人默認進(jìn)行統一管理協(xié)作,并設定協(xié)作最大輪數,盡量使用簡(jiǎn)單的協(xié)作策略來(lái)提升協(xié)作效率、降低協(xié)作的復雜度。

三、大模型 Agent 在 AIOps 運維場(chǎng)景的實(shí)踐

大模型的 Agent 可以幫助很多復雜任務(wù)類(lèi)場(chǎng)景的落地,比較常見(jiàn)的故障排查/診斷,故障處置等,還有一些通過(guò) Agent 的反思和工具調用等能力,增強單大模型的場(chǎng)景,比如運維知識咨詢(xún),信息檢索等。
圖片
故障排查的場(chǎng)景,是通過(guò)單 Agent 進(jìn)行故障排查/診斷,幫助通過(guò)表象現象進(jìn)行下鉆,收集更多的異常信息,進(jìn)行綜合的根因推斷和總結,最終生成故障的診斷定位。Agent 的主要流程大致上分三個(gè)步驟:


  • 范圍定界:首先通過(guò)問(wèn)題來(lái)提取故障的實(shí)體和時(shí)間,已經(jīng)故障的類(lèi)型,通過(guò)反思發(fā)現故障信息缺失,通過(guò)人工介入的方式要求用戶(hù)進(jìn)行故障信息補全。然后根據故障信息進(jìn)行排查計劃,這里使用 ReWoo 的方式,先制定一個(gè)固定的流程和步驟,在生成該流程的時(shí)候,可使用歷史相似故障的計劃,或根據歷史相似故障的計劃進(jìn)行重新生成。由于一般故障都有深層次的原因,如果使用 ReAct 的方式進(jìn)行排查,容易在表象問(wèn)題上終止信息收集和異常判別,而使用完整計劃生成的方式有助于排查過(guò)程無(wú)遺漏,盡最大可能的發(fā)現故障根因
  • 故障排查:故障排查階段會(huì )通過(guò)排查計劃進(jìn)行信息收集和異常檢測,并逐步分析檢測結果多步迭代的分析檢測,在信息收集和檢測中,結合檢索可觀(guān)測的數據并調用規則/異常檢測算法等進(jìn)行巡檢和告警/事件等事件數據進(jìn)行異常判別,部分場(chǎng)景會(huì )調用已有的診斷工具(如專(zhuān)家系統,智能根因分析等)進(jìn)行一定范圍的根因判別,最終將排查結果進(jìn)行總結壓縮,提交到步驟結論中。故障的排查階段需要充分利用現有工具和數據,最大范圍的感知和分析系統情況,為下一步的根因判斷提供充足的信息。整個(gè)過(guò)程中為了提升效率,需要使用并行的方法,通過(guò) ReAct,ToT,GoT 等方式,加快排查速度,減少排查點(diǎn),提升排查效率。
  • 故障總結:根據排查計劃和排查結果,進(jìn)行故障的總結,總結包括故障現象,故障分析過(guò)程,故障根因,推薦止損措施,推薦修復措施。相關(guān)的總結信息,需要通過(guò) RAG(Retrieval-Augmented Generation) 的方式,檢索內部故障庫,知識庫,以及利用搜索引擎進(jìn)行知識搜集后,通過(guò)大模型進(jìn)行總結回答,回答后的結果,進(jìn)行格式整理存入故障庫中,在人工審核后形成新的故障知識,為之后的故障排查使用。


總體上來(lái)說(shuō),故障排查通過(guò)固定流程(范圍界定->故障排查->故障總結)的生成降低了可能的排查遺漏,復用了歷史故障排查,提升了排查效率;通過(guò)并發(fā)的逐步反思排查的步驟執行,盡可能的分析相關(guān)事件,指標,日志等的異常,代替SRE進(jìn)行故障下鉆分析;通過(guò)故障總結,自動(dòng)化利用歷史知識和外部知識,進(jìn)行故障的根因分析和修復推薦,輔助SRE進(jìn)行相關(guān)故障分析,幫助場(chǎng)景實(shí)現自學(xué)習。

圖片

在 Oncall 運維場(chǎng)景中,期望通過(guò)智能問(wèn)答實(shí)現一線(xiàn)攔截,提升一線(xiàn)人效的同時(shí),減少二線(xiàn)的介入量,提升 SRE 的人效。知識問(wèn)答目前主要的實(shí)現方法就是通過(guò) RAG 的技術(shù),實(shí)現外掛知識庫的檢索,通過(guò)大模型進(jìn)行回答,其中有些比較有效的實(shí)踐如下:


  • 多路檢索:?jiǎn)我坏闹R庫很難滿(mǎn)足運維場(chǎng)景的需要??赏ㄟ^(guò)大模型的規劃能力,在檢索前,針對檢索進(jìn)行規劃,選擇相關(guān)的知識庫或檢索器進(jìn)行檢索,檢索文本,可根據檢索器需要進(jìn)行重寫(xiě)或改寫(xiě)。
  • 使用可微調 Embedding 的模型:在運維知識域相關(guān)的專(zhuān)有名字比較多,最要使用可微調的 embedding 模型進(jìn)行微調后適應私域的語(yǔ)料。
  • 使用反思優(yōu)化檢索結果:利用大模型的反思能力,對檢索的結果進(jìn)行批判/反思,根據反思的結果進(jìn)行進(jìn)一步的檢索規劃,或針對結果進(jìn)行重排/過(guò)濾/壓縮后發(fā)給大模型進(jìn)行回答
  • 解析多模態(tài)的知識:在運維領(lǐng)域中,有大量的圖片和表格,針對圖片和表格設計相關(guān)的解析,向量化和生成上下文的策略,可嘗試使用多模態(tài)的模型。
  • 數據的檢索:針對意圖進(jìn)行分離出數據檢索的問(wèn)題,利用 nl2sql 的方法,將數據檢索并生成回答。在可觀(guān)測數據檢索,配置/資源信息查詢(xún)等場(chǎng)景中有比較重要的作用,也有助于復雜任務(wù)的數據信息/知識的補充。
其他的方法有很多優(yōu)化 RAG 的方式,如交叉編碼的重排,問(wèn)題的重寫(xiě),按照語(yǔ)義進(jìn)行拆分合并文本塊等等,可根據具體場(chǎng)景選擇合適的方式進(jìn)行檢索優(yōu)化。
圖片

針對故障診斷/修復的場(chǎng)景,可使用多 Agent 的方式進(jìn)行實(shí)現,多 Agent 可根據故障依賴(lài)的組織結構設計多個(gè) Agent,使用主持人的方式,規劃/管理各個(gè)角色的協(xié)作,并對目標的達成進(jìn)行判斷決策。

針對使用的知識,工具和環(huán)境交互,可利用工具箱進(jìn)行劃分,分配給不同的角色,減少一個(gè)角色的使用的工具,精簡(jiǎn)一個(gè)角色的職能,提升多 Agent 的協(xié)作效率。


我要咨詢(xún)