蚂蚁开源多Agent框架——muAgent

概述

CodeFuse-muAgent [1]是蚂蚁CodeFuse团队开发的Mulit Agent框架,其核心宗旨在于简化agents的标准操作程序(SOP)编排流程。

多Agents的核心关键即Agent的交互链路,也即实现SOP的关键。其核心在于如何把上一个Agent的输出给到下一个Agent的输入,其中需要涉及到llm的输出、具体action的执行以及信息的解析处理。

架构

muagent整合了一系列丰富的工具库、代码库、知识库以及沙盒环境,可支撑用户在任何领域场景都能依托muagent迅速搭建起复杂的多Agent交互应用。通过这一框架,用户能够高效地执行和处理多层次、多维度的复杂任务。

其架构图如下:

每个技术点的描述如下:

  • Agent Base:构建了四种基本的Agent类型BaseAgent、ReactAgent、ExecutorAgent、SelectorAgent,支撑各种场景的基础活动。

  • Communication:通过Message和Parse Message 实体完成Agent间的信息传递,并与Memory Manager交互再Memory Pool完成记忆管理。

  • Prompt Manager:通过Role Handler、Doc/Tool Handler、Session Handler、Customized Handler,来自动化组装Customized 的Agent Prompt。

  • Memory Manager: 用于支撑 chat history 的存储管理、信息压缩、记忆检索等管理,最后通过Memory Pool在数据库、本地、向量数据库中完成存储。

  • Component:用于构建Agent的辅助生态组件,包括Retrieval、Tool、Action、Sandbox等。

  • Customized Model:支持私有化的LLM和Embedding的接入。

一个完整的多Agent生态,个人觉得,其所需的能力也就是如上的几点。

Agent Base

在Agent层面,提供四种基本的Agent类型,对这些Agent进行Role的基础设定,可满足多种通用场景的交互和使用。所有的Action都由Agent执行。

  • BaseAgent:基础功打得溜,问答、工具使用、代码执行样样行。

  • ReactAgent:标准React流,遇事不慌,标准反应流程轻松应对。

  • ExecutorAgent:对任务清单进行顺序执行,根据 User 或 上一个Agent编排的计划,完成相关任务,排个队,挨个干!

  • SelectorAgent:挑三拣四,根据User 或 上一个 Agent的问题选择合适的Agent,总能找到最合适的Agent回答用户需求。

Component

辅助生态组件更详尽,区别于AutoGen,Sandbox支持隔离的特性让辅助生态的支持更丰富强大。

Communication

多Agent的关键在Agent间的信息交互,因此communication的实现是必不可少的。AutoGen通过结转逻辑,支持信息流转;CodeFuse通过Communication组件独立实现该功能。从实现方式来看,CodeFuse应该支持的更强大。AutoGen是一个summary_method方法来定义的。

总结

之前没有了解过国内多Agent框架,因为本身也不多;从AutoGen入手对多Agent的了解,再结合CodeFuse的实现来看,多Agent的SOP更具体更模块化,不过其思想也是一致的,关键的组成部件还是那些。

总的来说,如何协调好LLM并来引导它们产生期望的输出,其本质就是将业务问题抽象并拆解到可执行的Prompt,让他们像处理业务问题一样精准执行;而业务的编排执行则由Agent实现,最终是落到了LLM上。

参考资料

[1]

CodeFuse-muAgent

  • 27
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值