AI Agent重塑微服務治理
1.項目背景
傳統場景下,軟件的研發主要依靠人,需求溝通、開發、測試、部署等階段都需要大量人力投入。大模型優秀的代碼生成和一定的思維鏈推理能力,能夠激發微服務研發、運維等環節“智能涌現”,重塑軟件研發全生命周期。
商業產品包含效果廣告(搜索廣告,信息流廣告)和展示廣告(品牌廣告,開屏廣告)兩大類廣告產品,以及基木魚和觀星盤、電商等營銷工具。為了保障復雜系統的穩定性,業務同學需投入大量人力運維微服務,從而保證業務功能快速交付和線上高穩定性。這些工作包含兩類:
- 常規流程操作:日常上線部署、調整部署和發布 API、配置修改、路由參數更改等常規操作。
- SRE架構優化:技術棧持續升級,針對線上報警等穩定性問題,進行深層次的根因定位和故障處理、架構優化。
平臺工程團隊面向商業產品打造的 Jarvis 平臺,提供了一整套的運維工具包括自動化部署和微服務治理分析能力。但是這些治理工具存在以下問題:
圖片
- 組合操作復雜:完成單一目的需要大量的組合操作,這些操作入口深(隱藏在重重菜單中),鏈路長。
- 強依賴人工經驗:對于根因定位和故障處理、架構優化, Jarvis 平臺開發了微服務治理、性能分析、自動化監控、調用鏈分析等高階能力。但是這些工具使用門欄較高,定位問題嚴重依賴于人工經驗。如果對該業務應用無運維經驗,則需要耗費大量時間去定位止損和優化架構。
圖片
為了提升商業產品維護的效率問題,Jarvis 平臺使用 AI 原生應用思維來全新重塑產品形態,革命性提升業務研發運維效率,基于多智能體架構將專家經驗內化,大幅降低使用門檻,顯著提升微服務維護的效率(包括故障處理和根因定位、架構優化、部署操作等)。
主要有兩個關鍵環節:
- 全流程對話式交互:用戶依靠自然語言發出指令,多輪持續對話完成一項完整的升級操作,比如灰度發布、配置限流熔斷、流量錄制和回放等復雜操作。
- LLM 推理診斷處理:基于定位問題的經驗,依靠LLM的推理能力,進行根因分析,通過智能診斷、報警等機制來驅動系統故障的高效處理,實現人工運維經驗的可復制性。
2.效果演示
應用使用JarvisBot 升級到jdk17(全流程對話式交互)
- 用戶要求升級 JDK17;
- DirectorAgent解析SOP規劃執行路徑,組裝CoderAgent、OpsAgent解決該需求;
- CoderAgent自動升級代碼并發出CR;代碼負責人 CR 合入;
- OpsAgent部署上線,并將錄制流量回放保證服務正常,承接線上流量;
基于思維鏈推理的報警處理(LLM 推理診斷處理)
- 用戶要求診斷錯誤日志報警;
- DirectorAgent解析 SOP 規劃執行路徑,組裝DiagnosisAgent、OpsAgent解決該問題;
- DiagnosisAgent拉取 Metrics 日志和 Tracing 日志定位到問題實例,提出”屏蔽實例“優化建議;
- 用戶確認后,OpsAgent執行優化止損操作;
3.基于SOP的多智能體協作
3.1 業界探索
圖片
單個AI智能體=LLM+記憶+規劃+工具等,參考述上OpenAI理論基礎。
多智能體則需要由多個Agent依靠既定SOP互相進行交流,從而保證智能體能夠正確的合力完成一個復雜的長程任務。智能體的關鍵在于SOP,是不同工種技能的關鍵,能讓每一個智能體扮演一個特定角色。
SOP指的是Standard Operating Procedure,即標準操作程序,它提供了執行特定任務所需涉及的角色分工和詳細操作步驟,以確保在不同情況下都能保持作業結果的準確性和高效性。SOP 在軟件開發、系統維護和團隊協作中起著重要作用,有助于確保開發人員遵循最佳實踐、減少錯誤和提供工作效率。
為了解決項目開篇提到用戶需求,系統為了快速產出大量的能力,因此經過多次迭代,有了一系列演進:
△SOP架構演進
階段一:多智能體協作。Agent 之間需要相互調用才能完成復雜的對話目標。但是Agent 的工作存在大量重復,比如幾乎所有智能體都需要調用底層的 API agent進行數據查詢,診斷的智能體其實也需要大量的優化操作。智能體直接的邊界非常不清晰,交互的方式也比較多樣,有通過自然語言,有通過直接調用的,非常混亂。
圖片
階段二:智能體協作SOP 標準化。通過標準操作程序(SOPs)編碼作為智能體Prompt,指導大模型按照結構化流程工作并協調智能體各個環節,允許具有領域專長的智能體驗證輸出并減少復合錯誤,有效避免大模型的幻覺問題。SOPs 總結人工操作流程經驗,從而讓 agent 的職責和產出結果標準化、agent 間的協作完全符合要求。
3.2 SOP格式定義
問題場景 | SOP |
自然語言描述的場景 | 自然語言描述的操作步驟 |
舉例:
問題場景 | SOP |
錯誤日志報警診斷分析 | 1:信息收集,收集要診斷排查的所有相關數據和信息 2:分析診斷,分析診斷具體的原因 3: 止損建議,根據診斷原因給出止損建議 |
信息收集 | 1. [TOOL]查詢錯誤信息詳情,獲取結果列表中第一條數據traceId, stack_error_message, localBns 2. [TOOL]查詢錯誤日志信息,獲取traceId相關聯的所有日志信息 |
分析診斷 | 1. [TOOL]分析錯誤日志信息,根據日志信息總結錯誤根因 2. [TOOL]分析錯誤信息詳情,根據錯誤信息的描述和stack_error_message分析錯誤原因 |
止損 | 1. [TOOL]查詢止損建議,根據診斷原因查詢止損建議 |
4.多智能體架構落地實踐
JarvisBot是一個中樞神經模塊,做決策和觸發任務,不做具體的業務邏輯。它鏈接用戶(LUI層)和業務層,跟用戶進行自然語言的交互,理解自然語言描述的SOP ,指揮底層系統完成對應的任務。它的幾個重要部分包括:
- Agents(智能體集合):包含DirectorAgent(技術負責人)、CoderAgent(程序員)、OpsAgent(操作智能體)、DiagnosisAgent(診斷智能體)等一系列智能體。
智能體都基于 BaseAgent 構建,具有基礎的 SOP 理解和LLM ReAct 思維鏈規劃能力。
△Agent基座框架
不同的 Agent 具有不同的技能,比如DirectorAgent規劃智能體工作流、CoderAgent監聽PRD生成代碼,DiagnosisAgent監聽診斷類問題產生診斷結論等。
Agents之間通過消息總線進行交互,不同的 Agent 產生和訂閱不同主題的消息。
- 知識管理端:管理各種靜態數據,并提供一定的自動化手段進行更新。比如借助數據飛輪管理和優化Prompts,錄入并管理 SOP,自動化錄制知識。
- 工具集合:鏈接底層業務接口,封裝一些復雜操作,通過HTTP或者 RPC 請求獲取業務模塊的數據。
- 模型管理:對模型一些的封裝管理,包括一些重試策略、排隊算法等。
下圖是一個典型的基于 SOP解決診斷問題的流程圖:
圖片
5.數據飛輪驅動多智能體架構持續進化
既然SOP是驅動多智能體協作的關鍵,如何持續產出 SOP 是讓多智能體架構真正具有自主進化的能力關鍵。如何產出 SOP依賴于數據提煉的能力。因此:如何構建數據飛輪并且利用數據飛輪持續優化提煉SOP, 是實現多智能體持續進化的關鍵。
圖片
5.1 大小模型飛速協同進化,是智能性進化的根基
智能體架構底層依靠一系列不同尺寸的模型。其中通用大模型用于通用知識理解和復雜推理,輕量級模型用于SFT 微調。
圖片
上表看出,模型尺寸越小,成本越低、響應速度越快,但是通識能力和復雜問題推理能力就越來越差。
JarvisBot智能體的核心思路是用大模型教會小模型,借助大模型去構建小模型SFT訓練優質數據集,在不同細分場景大量的使用小模型,從而達到智能性和成本的完美平衡。
△不斷剪裁模型尺寸
△大模型教會小模型
△大小模型協同進化架構
基于離線AI 對話評估系統利用規則庫、參考歷史相似語料打分、語料聚類抽樣、多LLM(文心4、GPT4、專精SFT模型等)群體智能打分,評估線上對話語料。單日機器可自動完成評估對話條目4w+,產出大量的評估報告推動JarvisBot從產品、LUI技術解析和模型基座多個角度飛速進化。
圖片
5.2 如何實現持續進化—數據飛輪訓練專家模型,自動提煉SOP
通過自動化評估系統,可以不斷評估智能體的智能性,不斷洞察用戶的需求,包括產品功能使用情況、未滿足的功能訴求、用戶習慣操作動線等。借助數據飛輪可以不斷訓練出專家模型,自動提煉SOP,從而幫助多智能體不斷的持續進化。
圖片
6.AI Agent微服務治理平臺Jarvis總結
圖片