多智能体系统(Multi-Agent System,MAS)已经成为AI Agent领域广受认可的一种重要设计范式,其具有比单个智能体更高的适应性与可扩展能力,以适应复杂的业务领域变化的需求。如果把智能体看作是一个数字化的智慧人,那么就必然面临一个问题:“人”与“人”之间应该如何协作来回答问题或完成任务?参考一些多智能体框架的设计,这里为大家总结8种多智能体之间的任务协作模式:
一、反思模式
【模式概述】
这是一种双Agent协作的典型模式:
- A智能体接受输入任务,进行输出
- B智能体对A输出进行反思或审核并反馈给A
- 重复,直到达到最大迭代次数或B审核通过
【例子】
- 代码生成: 一个负责编码,一个负责审核并反馈意见
- 代码解释器: 一个负责编码,一个负责执行并反馈结果
反思模式可以泛化成更通用的**“二人对话”**模式,只是给两者设定的角色不同而已,都是通过二人对话协作来解决问题。
二、顺序模式
【模式概述】
顺序模式是一种多个Agent以确定的顺序工作的模式,如果你了解CrewAI,应该熟悉这种模式:一个团队(Crew)内部多个Agent会被分配确定的子任务(Task),按照固定的顺序调度执行,并把子任务结果传递给下一个Agent,直到流程结束。
【例子】
- 营销文案创作:idea生成–>目录结构–>文章创作–>润色审核
- 市场调查分析: 网络搜索–>调查报告起草–>PPT制作
- HR简历筛选: 简历下载–>简历筛选–>邮件起草与发送
顺序模式适合具有确定性工作流的任务,也是最常见的一种协作模式。
三、层次模式
【模式概述】
层次也是一种常见的协作模式,其对应着人类工作中常见的一种管理架构,即由一个管理者带领多个工作人员一起完成任务。与顺序模式不一样的是,这里的工作人员由于并没有明确固定的任务流程,因此也就需要一个管理者Agent(Manager Agent)来负责分配任务给工作Agent(Worker Agent):
管理者在分配任务时,又会涉及到不同的决策模式,比如在CrewAI中,通常为借助LLM与上下文自动判断;而在AutoGen中,则存在随机、顺序、自动、自定义等多种决策模式。
在这种模式中,如果一个任务只拆分给一个工作Agent来完成,可以认为其退化成了“路由”模式。
【例子】
- 团队讨论: 由Manager带领团队围绕话题展开头脑风暴。
- 分布式研究: Manager负责将复杂的研究任务拆分给不同的工作Agent来协同完成,Manager负责任务的检查、汇总与整理。
- 智能RAG: 在多数据源的Agentic RAG中,由管理Agent协调多个工作Agent来共同完成不同数据源的检索任务,以回答跨数据源的复杂问题。
四、转交模式
【模式概述】
转交模式是OpenAI 最新的轻量级框架Swam采用的一种多Agent协作模式。这种模式的核心思想是:任何一个Agent可以借助自己的一个工具将任务转交给其他的Agent。它与顺序模式及层次模式的区别在于:
- 它没有固定的工作流程。
- 它没有明确的管理Agent负责分配任务,每一个智能体都可以定义多个“转交”工具,由LLM判断是否需要转交任务给其他智能体。
当然,在实际应用中,你不一定需要定义任意两个Agent之间的转交方法。比如在一个典型的客户服务场景,你可以会让一个接入客户的分类Agent来负责转交请求给另外两个负责产品咨询与售后服务的Agent,而这两个Agent在处理完收到的任务后可以再转交回分类Agent。你甚至可以定义负责产品咨询的Agent如果错误的收到了售后服务的请求,也可以再转交给售后服务Agent。
【例子】
- 客户服务分类:在线客户服务中,由一个负责分类的Agent接入客户,并负责根据客户请求转交给销售Agent、服务Agent、甚至人类Agent来完成;复杂具体工作的Agent也可以相互转交任务。