久久久久无码精品,亚洲国产精品国语在线,国产成人精品热玖玖玖,国产福利一区二区在线观看

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

2024-07-04 09:11:05 Jinyu

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

圖片

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

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

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

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

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

圖片

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


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

二、如何建設(shè)大模型Agent來幫助AIOps場景

圖片

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

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

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

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

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

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

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

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

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




角色定義

圖片

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

三、大模型 Agent 在 AIOps 運維場景的實踐

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


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


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

圖片

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


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

針對故障診斷/修復(fù)的場景,可使用多 Agent 的方式進(jìn)行實現(xiàn),多 Agent 可根據(jù)故障依賴的組織結(jié)構(gòu)設(shè)計多個 Agent,使用主持人的方式,規(guī)劃/管理各個角色的協(xié)作,并對目標(biāo)的達(dá)成進(jìn)行判斷決策。

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


我要咨詢
青田县| 崇信县| 福贡县| 永吉县| 监利县| 池州市| 四川省| 北海市| 兰西县| 米易县| 军事| 舟山市| 太湖县| 乐安县| 正阳县| 隆回县| 阿图什市| 临桂县| 威远县| 津市市| 介休市| 长寿区| 河南省| 民和| 阿坝县| 界首市| 八宿县| 朔州市| 广河县| 松原市| 贺兰县| 临猗县| 鸡西市| 武鸣县| 灌南县| 汪清县| 左权县| 华池县| 渭源县| 澄江县| 黄梅县|