导读
随着技术架构的发展,微服务系统的复杂性不断增加,对运维提出了更高的要求。为了应对这一挑战,一种AI驱动的微服务治理方案被提出。该方案采用多智能体架构,将运维专家经验整合,并通过自然语言交互和智能推理,简化了灰度发布和配置限流熔断等操作。利用大型语言模型(LLM)的推理能力,方案能够进行深入的故障诊断和处理,实现运维经验的自动化。每个智能体都能承担特定角色,高效完成复杂任务,并通过持续的数据训练和SOP提炼,不断优化功能,满足用户需求。在数字时代,AI为微服务治理开辟了新的可能性。
01 项目背景
传统场景下,软件的研发主要依靠人,需求沟通、开发、测试、部署等阶段都需要大量人力投入。大模型优秀的代码生成和一定的思维链推理能力,能够激发微服务研发、运维等环节“智能涌现”,重塑软件研发全生命周期。
商业产品包含效果广告(搜索广告,信息流广告)和展示广告(品牌广告,开屏广告)两大类广告产品,以及基木鱼和观星盘、电商等营销工具。为了保障复杂系统的稳定性,业务同学需投入大量人力运维微服务,从而保证业务功能快速交付和线上高稳定性。这些工作包含两类:
- 常规流程操作:日常上线部署、调整部署和发布 API、配置修改、路由参数更改等常规操作。
- SRE架构优化:技术栈持续升级,针对线上报警等稳定性问题,进行深层次的根因定位和故障处理、架构优
平台工程团队面向商业产品打造的 Jarvis 平台,提供了一整套的运维工具包括自动化部署和微服务治理分析能力。但是这些治理工具存在以下问题:
- 组合操作复杂:完成单一目的需要大量的组合操作,这些操作入口深(隐藏在重重菜单中),链路长。
- 强依赖人工经验:对于根因定位和故障处理、架构优化, Jarvis 平台开发了微服务治理、性能分析、自动化监控、调用链分析等高阶能力。但是这些工具使用门栏较高,定位问题严重依赖于人工经验。如果对该业务应用无运维经验,则需要耗费大量时间去定位止损和优化架构。
为了提升商业产品维护的效率问题,Jarvis 平台使用 AI 原生应用思维来全新重塑产品形态,革命性提升业务研发运维效率,基于多智能体架构将专家经验内化,大幅降低使用门槛,显著提升微服务维护的效率(包括故障处理和根因定位、架构优化、部署操作等)。
主要有两个关键环节:
- 全流程对话式交互:用户依靠自然语言发出指令,多轮持续对话完成一项完整的升级操作,比如灰度发布、配置限流熔断、流量录制和回放等复杂操作。
- LLM 推理诊断处理:基于定位问题的经验,依靠LLM的推理能力,进行根因分析,通过智能诊断、报警等机制来驱动系统故障的高效处理,实现人工运维经验的可复制性。
02 效果演示
应用使用JarvisBot 升级到jdk17(全流程对话式交互)
- 用户要求升级 JDK17;
- DirectorAgent解析SOP规划执行路径,组装CoderAgent、OpsAgent解决该需求;
- CoderAgent自动升级代码并发出CR;代码负责人 CR 合入;
- OpsAgent部署上线,并将录制流量回放保证服务正常,承接线上流量;
基于思维链推理的报警处理(LLM 推理诊断处理)
- 用户要求诊断错误日志报警;
- DirectorAgent解析 SOP 规划执行路径,组装DiagnosisAgent、OpsAgent解决该问题;
- DiagnosisAgent拉取 Metrics 日志和 Tracing 日志定位到问题实例,提出”屏蔽实例“优化建议;
- 用户确认后,OpsAgent执行优化止损操作;
03 基于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格式定义
举例:
04 多智能体架构落地实践
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解决诊断问题的流程图:
05 数据飞轮驱动多智能体架构持续进化
既然SOP是驱动多智能体协作的关键,如何持续产出 SOP 是让多智能体架构真正具有自主进化的能力关键。如何产出 SOP依赖于数据提炼的能力。因此:如何构建数据飞轮并且利用数据飞轮持续优化提炼SOP, 是实现多智能体持续进化的关键。
5.1 大小模型飞速协同进化,是智能性进化的根基
智能体架构底层依靠一系列不同尺寸的模型。其中通用大模型用于通用知识理解和复杂推理,轻量级模型用于SFT 微调。
上表看出,模型尺寸越小,成本越低、响应速度越快,但是通识能力和复杂问题推理能力就越来越差。
JarvisBot智能体的核心思路是用大模型教会小模型,借助大模型去构建小模型SFT训练优质数据集,在不同细分场景大量的使用小模型,从而达到智能性和成本的完美平衡。
△不断剪裁模型尺寸
△大模型教会小模型
△大小模型协同进化架构
基于离线AI 对话评估系统利用规则库、参考历史相似语料打分、语料聚类抽样、多LLM(文心4、GPT4、专精SFT模型等)群体智能打分,评估线上对话语料。单日机器可自动完成评估对话条目4w+,产出大量的评估报告推动JarvisBot从产品、LUI技术解析和模型基座多个角度飞速进化。
5.2 如何实现持续进化—数据飞轮训练专家模型,自动提炼SOP
通过自动化评估系统,可以不断评估智能体的智能性,不断洞察用户的需求,包括产品功能使用情况、未满足的功能诉求、用户习惯操作动线等。借助数据飞轮可以不断训练出专家模型,自动提炼SOP,从而帮助多智能体不断的持续进化。
06 AI Agent微服务治理平台Jarvis总结
————END————
推荐阅读
轻松搞定平稳运行,数据库平台 DBStack 帮助 DBA 运维不同基础设施上的各类数据库
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。