《張翔-SRE-Copilot大語言模型與aiops結合的探索.pdf》由會員分享,可在線閱讀,更多相關《張翔-SRE-Copilot大語言模型與aiops結合的探索.pdf(31頁珍藏版)》請在三個皮匠報告上搜索。
1、SRE-Copilot:大語言模型與aiops結合的探索張翔 字節跳動演講嘉賓張翔字節跳動SRE-Copilot負責人中科院計算所博士畢業,字節跳動基礎架構SRE數據化方向負責人,聚焦成本、穩定性、效率、服務四條主線,為SRE提供數據化與智能化支持。加入字節后,主導了異常檢測、智能變更、故障診斷、智能限流、運籌優化、大語言模型應用、資源交付數據化運營、運維數倉等多個數智化運維項目的上線與推廣。目 錄CONTENTS1.SRE-Copilot整體架構2.期望解決的運維痛點3.框架實現的技術細節4.在字節跳動的應用場景5.一些探索中的經驗教訓SRE-Copilot整體架構PART 01AI-Age
2、nt相關概念:Tool callingFunction calling是可靠地將LLMs連接到外部工具以實現有效的工具使用和與外部API的交互的能力?!敖裉焯鞖庠趺礃??”再智能的大模型對這個問題也束手無策AI-Agent相關概念:RAG檢索增強生成(Retrieval-Augmented Generation,又稱RAG)通過檢索LLMs之外的數據源來支持其生成答案。RAG=搜索+LLM提示,根據用戶的查詢要求,LLMs會使用搜索算法從外部數據源獲取上下文信息,最后,查詢和檢索到的上下文合成后送入到LLM的提示中。私域知識“公司服務器的數量,線上的利用率是多少”“當前工單狀態是什么”新知識問題
3、“今天有哪些故障?”“最新電影的主演是誰”長尾問題“使用XX語言在某環境如何連接XX數據庫”AI-Agent相關概念:Reason+ActReAct是一種LLM提示和結果處理方法,它結合了推理、行動規劃和知識來源的整合,使LLM超越其語言模型,在其預測中使用來自現實世界的信息。ReAct是推理和行動的結合。當任務是多步,或者任務復雜結果充滿不確定時,react表現更好AI-Agent相關概念Agent智能體AI代理的整體框架由三個關鍵部分組成:大腦、感知和行動。大腦:大腦主要由一個大型語言模型組成,不僅存儲知識和記憶,還承擔信息處理和決策功能,并能呈現推理和規劃過程以處理未知任務。感知:感知模
4、塊的核心目的是將代理的感知空間從純文本領域擴展到包括文本、聽覺和視覺模態。行動:在代理的構建中,行動模塊接收大腦模塊發送的行動序列,并執行與環境交互的行動。代理(Agent)指能自主感知環境并采取行動實現目標的智能體。SRE-Copilot整體架構SRE-Copilot是基于LLM的多場景智能運維框架,支持Multi-Agent協作與動態編排,具備計劃、記憶、反思、推理與ReAct等能力,為SRE提供智能化服務。參考GPT的思想,通過集成學習多個專業的LLM的agent組成強大的混合專家(MoE,Mixture of Experts)系統。CopilotRCAAgent多源數據Agent:對各
5、種數據源進行異常檢測,返回故障描述功能型Agent:知識庫問答,工作流規劃,寫報告,寫代碼等功能意圖識別,參數提取,將任務調度分配給合適的子AgentLogAgentTraceAgentTradeAgentMonitorAgentCMDBAgentQAAgentWorkflowAgentReportAgentCodeAgent效果展示點期望解決的運維痛PART 02SRE-Copilot優勢系統復雜,依賴繁多,海量數據痛點SRE-Copilot傳統AIOPS數據無標注 訓練成本高接入/維護成本新的故障推理交互使用成本單個運維專家,甚至單個團隊難以掌握上下游全部知識和技術細節,也難以處理全部告警
6、/異常大部分異常檢測算法依賴標注,無監督算法能力一般,根因診斷算法更加依賴標注。專家經驗很難編碼成算法模型要完全理解每一個復雜模型,維護門檻高;客戶的數據和系統都是私域的,需為客戶現場定制與優化,增加了接入成本。調整或接入新數據要重新訓練無法推理未知故障 交互復雜,需要嚴格傳遞參數等 大模型幾乎能學習人類全部知識,通過Multi-Agent以及知識庫可以無限擴展把專家經驗經驗轉化為故障表現,讓模型推斷,無需訓練通過“混合專家模型”的集成學習概念,只需關注組件與模型,客戶自己的模型/邏輯也可以像樂高積木一樣輕松接入,靈活調整,甚至框架自己可以動態編排 LLM已經出現了涌現和推理能力,基于自己的通
7、用知識,并且可以不斷學習領域知識進行推理,似乎是解決新故障根因定位的最佳選擇自然語言交互,更加智能,可以開放給更多用戶框架實現的技術細節PART 03角色定義Copilot主持人:解析用戶需求,制定運維Plan,安排不同Agent工作(如根因定位交給RCA)多數據源Agent:分別負責不同模態的數據,選擇合適的算法進行異常檢測與檢索RCAAgent:收集其他Agent檢測到的異常信息與鏈路、配置信息,進行根因定位Multi-Agent編排ReAct包括推理Reasoning和行動Action,推理幫助模型生成、追蹤和更新計劃并處理異常,行動允許模型與外部環境交互以獲取更多信息Observati
8、on,提升準確率與適應性每個Agent均根據檢測到的異常動態編排,RCAAgent負責收斂協作輪次,并根據其他Agent反饋決定下一步分析與下鉆的方向優勢擬解決真實云平臺跨組件協同定位問題,可以采用多個agent模擬多個組件運維團隊異常檢測基于ReAct框架與思維鏈CoT的Multi-Agent編排根因定位基于RAG增強的推理與反思本次故障持續10分鐘,CPU飆升,內存打滿,接口出現大量失敗專家經驗:內存打滿后服務一般不可用,此時應重啟專家經驗:歷史故障:2023年11月5日,xx接口不可用,持續半小時,CPU飆升向量數據庫歷史故障:根因:內存打滿建議:重啟Knowledge 本次故障專家經驗
9、:專家經驗:歷史故障:Question大語言模型應用專家經驗 RAG檢索增強:檢索相關/支撐文檔,作為上下文和原始提示詞組合,再提交給LLM使用。LLM的知識是靜態的,且會有“幻覺”現象,RAG讓LLM不用重新訓練就能獲取最新相關信息或者私域知識我們用RAG檢索最符合本次故障的Top N專家經驗,交由LLM進行根因定位學習新的故障每次診斷結果會加入模型記憶,再次診斷時對最相近專家經驗與診斷結果進行推理,讓模型獲得持續學習的能力 反思 Reflexion:通過讓模型進行自我評估和自我反省,能夠進一步提升模型推理根因的準確率30%以上 推理未知故障對于未發生過的,也沒有專家經驗的新故障,SRE-C
10、opilot也會根據自己的知識,嘗試推理故障根因我們在一些新故障上發現模型的推理能力,比如在沒有經驗和歷史的情況下,正確診斷出磁盤寫滿/GC等故障知識庫問答基于function-call的多功能實現故障報告故障分類故障自愈+代碼生成工作流生成(運維計劃)運維可視化LLM優勢:收斂模型統一入口,理解、拆分用戶意圖,編排調用不同工具,實現多場景復雜智能運維,并持續學習迭代在字節跳動的應用場景PART 04基于LLM的RCA-Agent構建我們優先在根因診斷的場景探索Agent的模式01知識庫的構建02基礎工具的構建03核心工具:LLM根因推理04工作流的構建05Agent的使用場景知識庫的構建知識
11、庫當前包含以下三個部分,后續我們還會持續引入用戶文檔,歷史oncall等數據分塊的數據1.排障的專家經驗這里是只針對根因定位場景,業務同學可以將他們的經驗積累&管理起來我們定義專家經驗是一組故障根因+故障表現+故障止損措施的組合,以便大模型去推理故障2.故障場景的SOP文檔通過sop文檔的形式,希望能提供給組件同學更加靈活的知識管理方式。當前由于大模型的能力局限,我們通過這種半規范的文檔,將指標/診斷項、診斷流程等內容管理維護起來3.歷史的故障信息每一次的歷史故障,會被記錄下來,用來給組件同學“訓練”/打標模型基礎工具的構建參考openai的tools/gpts的接入方式,我們將運維場景的指標
12、和其他基礎工具管理起來?;A工具包含幾類,例如指標通用的異常檢測、變更事件查詢、組件自定義的檢測項等。用戶實際部署的工具包含通用指標的異常檢測、變更事件查詢、自然語言的意圖理解、大語言模型的根因推理1.一些集群診斷場景的指標 2.自定義的檢測項核心工具:LLM根因推理相較于傳統的根因定位/故障分類 -將異常時刻的時序信息等進行編碼聚類,在向量空間里面求距離和相似度進行分類我們嘗試對異常時刻的信息映射到自然語言描述,利用大語言模型的能力進行分類用戶可以調整專家經驗、結果、prompt模板等,對模型進行測試展示了一個將診斷記錄和專家經驗整合的例子工作流的構建目前仍然依賴用戶自己配置同時在探索讓模型
13、自己從用戶的SOP文檔中生成工作流,并利用ReAct的思路動態編排這些診斷項根據上述提到的基礎工具,用戶可以自由組合這個工作流Agent的應用與調試在群里/私聊機器人,用自然語言提問,會匹配你想要的工作流當前的一些使用場景1事故拉群等場景自動匹配工作流,對聊天記錄里的關鍵信息提取,進行診斷當前的一些使用場景2引入LLM,改變了傳統的交互方式,可以通過模糊地提問,識別意圖和參數,并將結果優化展示后返回Agent的應用與調試統一運維平臺的各運維分站的診斷服務,后端也是SRE-Copilot實現的告警綁定診斷&頁面輸入診斷可設置自愈措施Agent的應用與調試診斷項是否準確,以及輸出是否符合預期,都可以由用戶標注和修改Agent的應用與調試專家經驗、診斷項輸出、推理的Prompt,都支持由用戶調試和修改一些探索中的經驗教訓PART 05我們想做什么樣的SRE-CopilotLLM最吸引人的地方,在于可能會跨組件“通用”解析用戶意圖生成/調整工作流調用插件知識庫/模型記憶推理結果/回答問題1.自動生成工作流?2.更靈活的Agent框架?3.RAG通過KG增強?4.算法和業務如何合作?THANKS