关注我们,深度学习LLM应用
本文继续为大家总结基于LLM构建的多智能体系统中的8种任务协作模式。
- 反思模式
- 顺序模式
- 层次模式
- 转交模式
- 仿神经网络模式(MoA)
- 辩论模式
- 嵌套模式
- 自定义模式
前四种模式请阅读:
5
仿神经网络模式(MoA)
【模式概述】
这种模式最初在论文《 Mixture-of-Agents Enhances Large Language Model Capabilities》中被提出,也被称为 MoA模式 。是一种模仿前馈神经网络架构的多代理设计模式。在这种协作模式中,存在多层 工作Agent(Worker Agent) 以及单个的 编排Agent(Orchestrator Agent) ,工作方式如下:
- 编排Agent接受到用户任务,将用户交给第一层工作Agent
- 第一层工作Agent任务完成后,将结果交给编排Agent
- 编排Agent对任务结果进行聚合,并更新任务交给第二层工作Agent
- 循环该过程,直至所有层次的工作Agent都完成任务
- 最后一层的工作Agent结束后,编排Agent聚合并输出任务最终结果
这种模式的优势是: 通过并行计算与分层优化,在处理复杂任务时提高效率和结果质量。
【例子】
创作一篇复杂的论文,输入是论文的主题与大纲,工作流程设计为:
- 第一层的三个工作Agent分别负责生成论文的三个不同部分
- 第二层的三个工作Agent对论文的三个不同部分进行润色(第一层的任务输出作为输入)
- 第三层的三个工作Agent接收第二层的任务输出,从三个不同方面做检查与完善,如结构、语义与语言风格
- 最后由编排Agent对第三层的结果进行聚合,并将最终结果输出
其他的一些典型场景如:
- 代码生成:分层生成多模块代码,后续层做调试优化
- 机器翻译:逐层翻译优化结果,最终输出流畅的表达
Mixture-of-Agents (MoA) 架构本质上也是一种分布式的任务解决方案,将输入分配给多个代理,逐层优化并整合输出。
6
辩论模式
【模式概述】
在这种模式中,Agent分为多个 求解Agent(Solver Agent) 与一个 聚合Agent(Aggregator Agent) ,多个求解Agent之间通过交换“意见”来完善自身的任务结果,最后由聚合Agent负责聚合与决策输出最终结果:
- 用户向聚合Agent输入任务
- 聚合Agent将任务分发给所有求解Agent
- 每个求解Agent处理任务,并向其邻居发布一个自己的结果
- 每个求解Agent利用来自邻居的结果,优化自己的响应结果
- 重复多次迭代过程后每个求解Agent发布自己的最终结果
- 聚合Agent使用决策机制(如多数投票),将所有求解Agent的最终回答汇总评判,得出最终答案
【例子】
-
数学问题求解
-
复杂的逻辑推理任务,比如:
-
律师团队Agent对法律案例做分析与交换意见,形成最后结果
-
医疗专家Agent对医学病例做诊断并交换意见,形成最终意见
辩论模式通过多个Agent之间的相互交流,迭代改进答案,最后由聚合Agent汇总并通过投票或其他决策机制输出结果,以提供更可信更准确的任务结果。
在实际使用这种模式时,会涉及到两个设计点:
- 多个求解Agent间的拓扑结构 ,可以参考论文 《Improving Multi-Agent Debate with Sparse Communication Topology》 中介绍的稀疏通信拓扑。
- 聚合Agent最后的决策机制 ,比如多数投票或加权投票等。
7
嵌套模式
【模式概述】
顾名思义,嵌套模式就是把前面介绍的基础模式中的Agent工作流打包成一个有输入输出的单个Agent,然后参与到另外的协同模式与工作流中,这可以大大延伸与扩展现有基础模式在更复杂场景中的应用。此外,嵌套模式在工程上的意义体现在:
更有利于复杂系统的模块化设计与实施,提高模块可重用性,降低模块间的耦合度。 在一个高度复杂的多Agent系统中,可以针对单个业务功能设计独立的、不同模式的多Agent系统,最后再用“搭积木”方式去构建更大的工作流程。
【例子】
以一个多层次的AI客户服务系统为例,由于业务的复杂性,客户问题可能需要通过多层分类,最后交给具体服务的Agent来完成。比如:售后服务->产品A问题->故障报修类问题。在这个场景中,可以将一个负责产品A问题处理的转交模式的多Agent系统打包成一个Agent,然后参与到一个更大的层次模式的多Agent系统中。
显然的一个好处是:你可以让不同团队负责不同产品问题的多Agent服务系统的设计、开发、与调试评估,并发布成具有单一接口的Agent;而另一个团队则负责把这些Agent“组装”成更大的多Agent智能服务系统。
再比如,你可以让你组建的多Agent软件开发团队中的每个编码人员其实都是一个“双人结对编程小组”。
8
自定义模式
【模式概述】
如果说以上所有的模式都是可以直接描述、有固定规则的协作流程,那么最后这种模式则是一种完全自由发挥的协作模式。简单的说,就是 完全根据自身需要定义的多个Agent协作的工作流程 。有点类似于有着固定流程的经典RAG与可以自己选择模块并设计工作流的模块化RAG的区别。
【例子】
理论上适合所有的多Agent应用场景。
当然,自定义模式的好处是足够灵活,完全按需定制协作工作流。缺点是实现上相对复杂,所以选择成熟的框架以降低工作量是必要的,比如基于Graph定义工作流的LangGraph,或者事件驱动的LlamaIndex Workflows。
以上介绍了基于LLM的多智能体系统(MAS)中可能的任务协作模式,这些模式基于当前主流的多Agent开发框架或特性而整理。需要注意的是:不同的开发框架对这些模式的支持能力与方式并不相同。比如相对更底层的框架LangGraph/LlamaIndex Workflows功能更强大灵活,但也需要较大的开发工作量;而CrewAI与AutoGen这样天然的MAS框架则对这些模式的支持更直接与简单,但在一些场景上则缺乏一定的适应能力。
实际应用中建议根据自身需求来选择,必要时可以配合使用多个框架。
关于多智能体框架比较,敬请翻阅(更新中):
福利时间
为了帮助LLM开发人员更好的、更系统性的学习RAG应用,特别是企业级的RAG应用场景下,当前主流的优化方法与技术实现,我们编写了 《基于大模型的RAG应用开发与优化 — 构建企业级LLM应用》 这本 500页 的指南,与大家一起来深入到LLM应用开发的全新世界。
现在购,享 50%折扣
更多细节,点击如下链接了解
END
交流请识别以下名片