大模型Agent在AIOps运维场景的实践 任志强字节跳动智能运维架构师 请替换您的照片 任志强 字节跳动智能运维架构师 多年专注AIOps的实施和建设,帮助企业运维数字化建设和转型在字节主要负责AIOps解决方案的设计和实施参与信通院AIOps和可观测性等多个工具成熟度标准编写 01Agent的背景 目02Agent的建设实践co en nt03Agent的场景建设实践 录 ts 04Agent未来展望 PART01 Agent的背景 大模型下的Agent 设想一个由智能代理构成的和谐社会,人类也可以参与其中。场景取材自 《原神》中的海灯节。 LLMbaseAgent •LLM:通用人工智能-语料->互联网-NLP->多模态 •Agent=LLM+Planning+Feedback+Tooluse •在LLM语境下,Agent可以理解为某种能自主理解、规划决策、执行复杂任务的智能体。 •Agent并非ChatGPT升级版,它不仅告诉你“如何做”,更会帮你去做。如果CoPilot是副驾驶,那么Agent就是主驾驶。 Agent的一个框架 感知 指标/tracing 文本/日志 环境 图片/图谱 控制端 感知/行动的环境空间 Agent LLM-语言能力 LLM-知识 +RAG 记忆-memory 推理&计划 迁移性&泛化 性 文本输出 使用工具 具身行动 信息收集知识检索运维操作搜索引擎 ... 1.帮助用户从日常任务、重复劳动中解脱出来,减轻人类的工作压力,提高解决任务的效率; 2.不再需要用户提出显式的低级指令,就可以完全自主的分析、规划、解决问题; 3.在解放用户的双手以后,尝试解放大脑:在前沿科学领域充分发挥潜能,完成创新性的、探索性的工作。 常见的Agent分类 单Agent 多Agent 任务导向 有序合作型互动 生成式LLM->单Agent->多Agent •自治的任务Agent->反思/拆解/规划+自动工具执行- >Agent 人机交互 •思考的快与慢:sys1sys2->复杂任务->Agent 人工指导 •人类简史:穴居人vs智人->量变引质变,多样性,社会性->Multi-Agent •记忆脑:工作记忆、笔记:短/长memory;做梦->FT 创新导向 无序合作型互动 平等合作 生命周期导向 对抗型互动 混合型 常见的Agent的类型,分为单Agent,多Agent,和人机交互。其中单/多Agent类型是完全自治 Agent的通用框架 •AutoGPT •BabyAGI •Langfuse •HuggingGPT •XAgent:“双循环”结合;plan,dispatch,act •AutoGen •MetaGPT •ChatDev •... 比传统AIOps的优势 1.流程:使用Agent的planning的能力,实现分析/执行等任务的自动化执行。 2.整合:工具和数据的整合,可以利用反思和工具调用,实现传统工具的调用,不同类型数据自动分析。 3.知识:利用LLM和RAG的方式,充分利用公域和私域的知识,能更好的优化运维相关的分析和操作场景 4.交互:从web页面的交互方式,向“对话”的交互方式转变,降低交互复杂度。 5.编程:通过编程能力,可以实现故障自愈,性能优化等场景。 带给AIOps的新的机遇 异常检测 过去 依赖定制分析,难于利用多模态的数据 现在 利用Transformer架构,使用多模态数据 MetricFMLogFM..... 故障诊断 依赖专家经验,人工调试观察,固定流程 大模型自动诊断Agent FT/RAG工具的使用单/多Agent 故障修复 依赖人工处理,自动化程度低 大模型自动修复-自治,计划/反思 FT/RAG工具的使用单/多Agentcoding自治规划 告警收敛 依赖规则,自适应度低 利用大模型的语义相似+KG进行收敛 多模态规划/反思 ChatOps 依赖编排,智能程度不高 利用大模型实现辅助+自治意图/计划工具的使用 PART02 AIAgent的建设实践 LLMAgent基础架构 运维场景 智能问答-oncall 故障诊断 数据检索 变更辅助 性能优化 ...... LLM/Agent引擎 事后反思 事前规划(流程) LLMadapter 计划 Reflection/Self-citics/Cot/Subgoaldecomposition LLM 行动 Agent 记忆管理 短:prompt工程长:RAG 参数:FT 工具执行工具的编排/管理 FineTunning ToolServer 插件工具的开发插件工具的部署插件工具的管理插件工具的调试插件工具的运维 AIOps算法平台 算法场景的编排 算法场景任务部署 算法场景的运维 算法场景的分享 运维平台 可观测平台变更管理平台 LLMOps 大模型基座 运维操作平台..... 大模型微调 LLMAgent的常用范式/方法 多智能体协作(Multi-Agent) 多个AI智能体一起工作,分配任务并讨论和辩论 想法,以提出比单个智能体更好的解决方案。 反思(Reflection) 规划计划(Planning) LLM提出并执行一个多步骤计划来实现目标。可以先规划后执行,也可以逐步反思和任务拆解来规划任务。 LLM检查自己的工作,以提出改进方法。通过反思提升单次回答的效果。与CoT相似 记忆管理(RAG/prompt) LLM通过检索等方式补充知识,方式回答的幻觉,更新最新的知识。prompt给予短期的记忆,给予指令。 环境互动/人工介入 通过感知和工具的使用,实现对于环境感知和互动,并通过工具的学习,实现工具库。 通过人工介入实现半自治。 基于可编排的平台,使用常用的范式和工具,根据具体的运维场景进行定制化的编排。 工具使用(ToolUse) LLM拥有网络搜索、代码执行或任何其他功能来帮助其收集信息、采取行动或处理数据。可使用ReAct和functioncall的方式 协作方式:对话+工具+反思->角色+协作方式+规划/流程+具身 创新性:知识要补充+更新,生成式的模型的Temperature要合理,prompt要引导 自学习:要格式化总结知识和问答突破token限制:attention重构,RAG+compress,大模型重构 多Agent协作 User chat Supervisor Agent1 Agent2 Agent3 chat User Supervisor User start end chat&router 多Agent的主要困境 •角色多样性、区分度:LLM理解和区分难 •网络式协作策略难:流程/主持人vs 自治/社群网络vs对抗 •协作方式多样/复杂,难于控制:计划->执行,竞争,共同,补充,否定, plan&route Team DataTeamExecutor Agent1 chat&router router call Agent2 指派/驳回,结对,委托,辩论,决策, 投票/会签...... •通讯方式多变,记忆长:主动对话 route&call RAGSerch nl2sql 主持人模式 多层主持人模式 多Agent协作模式 Runner Coder message call_tool message vs监听/订阅,角色记忆vs共享记忆 •具身行动:环境互动,需大量工具,难于做到具身行动 •容易进入无限循环:多角色复杂任 务容易导致进入多层梦境,无法完结 •人机交互策略僵化:人工介入策略通用性不强,难于判断交互时机,交互目标,协作策略选择等 大模型Agent在运维的应用 运维咨询 UserProxyRAG-Assisant LLM 运维操作 UserProxy LLM Assistant 单Agent 运维咨询(知识/信息/数据) 运维可视化-指标/日志/告警查询解析 异常风险分析 ..... 多Agent 故障诊断/根因分析 故障修复 ..... 故障诊断 Manager Boradcast Speak LLM 故障修复Commander 编排者审查者 LLMLLM PART03 Agent的场景实践 故障排查 故障提出问题:近日应用app001发现应用响应迟钝,部分响应超过了7秒,请帮忙定位故障 ReAct 实体提取+时间提取+范围查询) app001 04-02~04-05 工具:时间获取,配置查询..... ip1,ip2,....... 规划+计划( 范围定界 先使用单Agent,充分利用tool调用 异常检测: 告警,机器学习/深度学习,基于LLM多模态 根因分析: 流程+规则,算法,流程+规则 +算法,LLM规划反思+工具 故障排查 故障定位总结 ReAct RAG+ 反思 故障的排查+异常检测 工具:指标异常检测,日志异常检测,事件异常检测..... 故障总结+根因分析 工具:历史故障检索,根因分析工具,故障总结 ipxxxx指标在xxx发生了突变主机xxxx在xxx发生了告警xxx app001因为主机宕机,导致... 规划计划: zero-shot,one-shot,few-shot cot,tot,got ReAct,self-ask,plan-and-execute 智能问答的场景 LLM 插件框架 调用->Agent固有流程->Agent反思检索前: LLM 问题LLM-Engine问题重写 LLM 拆分-从小到大/格式拆分/语义合并多模态-图片/表格/KG 人工反馈 多路插件调用 反思 LLM 检索中: 问题重写-HyDE,重写-检索-读取, RAG插件 技术文档/FAQ 历史会话 LLM 总结/整理/拆分向量化 向量库 合并上下文/答案生成 embedding Index(向量,搜索,关键词,图) 补充检索 LLM 通过假设回答进行上下文评分 LLM Filter/Compress/Rerank Prompt生成 外部知识库搜索引擎/ES Step-Back,Query2doc 多路检索-向量,关键词,搜索引擎,图搜索,数据检索,元数据 Embedding-动态,可微调 检索后: 重排-相似性重排/LLM的重排 过滤-相似过滤/交叉编码/LLM过滤压缩-LLM总结,stuff/mapreduce/refine 生成-cot,incontext,..... 反思评估: Self-ReflectiveRAG,CRAG,AdaptiveRAG Metric评价ragas,trueLens 多Agent故障修复 使用多Agent的方式来实现故障的会诊,通过主持人计划/反思,驱动不同的角色使用工具,进行诊断,并通过工具使用和编码能力完成故障处置和修 复的操作,最终实现故障的诊断和修复 主持人 故障修复Agent 故障库检索 异常分析Agent 故障分类Agent 故障诊断Agent 故障处置Agent故障总结Agent 指标异常检测 事件异常分析日志异常检测 ........ 多维指标定位宕机诊断工具 ........ 故障预案Agent .... 多Agent的计划与协同 1.根据不同领域的配置不同角色的Agent,专注角色特点,领域知识/工具,解决领域问题 2.使用“主持人”模式,实现计划的编排,角色之间的调度,可减少利用“协作”和“对抗/反思” Agent下的知识、工具与环境 1.通过FT和RAG讲知识进行增强,如故障库 2.利用传统工具+模型建立工具箱,形成“环境” 3.引入KG,如:动态拓扑 基于大模型的多模态异常检测 1.基于Transformer架构,引入多模态信息进行异常检测 AgentTeamAgent .... 智能问答-oncall-整体场景 问题拦截:针对知识咨询和信息检索的需求,在于机器人单聊中,通过RAG和text2sql等