LLMs Multi-agent 概述
单一模型处理所有事情的日子已经一去不复返了。现在使用一系列专业LLM Agent,每个代理都专注于它最擅长的领域。
比如这个例子:假设一个代理专门收集所有必要的数据,而另一个代理分析这些信息以检测模式和见解。同时,第三个代理使用这些见解来制定策略并确定最佳行动方案。它们一起像一台运转良好的机器一样运行,可以解决不同复杂程度的规划问题。
这种协作模型为语言模型的功能开辟了新的可能性。例如,在需要持续更新的情况下,例如监测气候变化或管理城市交通,这些多代理LLMs可以持续交换新数据和策略,从而保持系统的有效性和最新性。
在本文中,我们将探讨多代理 LLMs,它们是如何工作的,它们相对于单代理系统的优势,以及一些广受欢迎的多代理框架。
什么是多代理 LLMs?
多智能体LLMs是协同工作和解决复杂任务的语言模型,每个智能体都扮演着自己擅长的独特角色。它们比传统的单代理模型做得更好,尤其是在复杂的任务和实际用途中。让他们脱颖而出的是他们的团队合作,汇集了不同专业经纪人的优势。
这些代理可以作为一个团队或独立工作,具体取决于任务,从而顺利地协同工作。尽管他们大部分时间都独立运营,但他们仍然需要人工来监督他们的决策并审查他们的工作。对于他们的任务,代理使用各种工具来执行搜索 Web 或处理文档等作,所有这些都由它们所基于的强大语言模型提供支持。
多智能体LLMs现在是趋势[1],下图清楚地说明了原因。它显示每三个月发表的各种类别的论文数量。每个叶节点的计数揭示了正在写入的论文数。这些令人印象深刻的数字是在短短几个月内收集的,清楚地表明多代理 LLMs 的发展变化。
通过这个 multi-agent LLMs的快速概述 ,让我们看一个易于遵循的示例,看看这样的系统在实际应用中是什么样子的。
通过示例了解多代理LLMs
让我们看看如何在现实生活中使用多代理应用程序。想象一下,有一个私人助理可以从头到尾规划您的整个旅程。以下是多代理系统为旅行爱好者行程的规划。
1. 旅行规划多代理团队
用于旅行计划的多代理系统由几个专门的代理组成,每个代理都专注于您旅行的特定方面:
-
• Flight agent(飞机代理): 查找和预订航空公司航班,访问航班搜索引擎和航空公司预订工具,最佳路线、时间和价格方面的专业知识
-
• Hotel agent(酒店代理): 搜索和预订住宿,使用酒店搜索引擎和预订平台,了解评级、便利设施和位置
-
• Transportation agent(出行代理): 处理租车、班车、火车等、访问各种交通预订工具、定价、车辆类型和接送地点方面的专家
-
• Activity agent(活动代理): 预订活动、旅游、事件和餐厅、使用活动预订平台和本地指南、了解热门景点、评论和时间表
通过将复杂的旅行计划任务分解为由专业代理处理的子任务,整个系统变得比任何试图弄清楚旅行各个方面的单个代理都更有效。座席通过管理器进行协作、共享信息并排序他们的工作,以获得集成解决方案。
多代理LLMs的工作原理
以下是多代理LLM系统中的典型工作流:它从提供高级任务或查询的用户开始。然后,系统会将任务分解为更小的子任务,并根据其角色和功能将它们分配给相应的专业代理。
每个代理都使用其LLM来推理其分配的子任务,制定计划,并使用其可用的工具和内存执行该计划。在此过程中,代理根据需要进行通信和共享信息,以完成相互依赖的子任务。最终输出是通过组合所有相关代理的结果来组装的。
单代理 vs 多代理LLMs
多代理LLMs通常更适合复杂的任务,因为它们可以协同工作且高效。以下是使用这些系统的人认为它们是一个不错的选择的原因:
-
• 准确性和LLM幻觉: 单一 Agent LLMs 的一个大问题是他们有时会产生幻觉,这意味着他们会产生不正确的信息。这在医学或法律等领域以及准确性至关重要的任何领域都是一个严重的问题。多代理系统通过让代理相互检查彼此的工作来帮助解决这个问题,这大大减少了错误并提高了可靠性。对这些代理使用LLM微调技术也可能显著提高其性能。研究表明[2],使用多个智能体可以使响应更加准确和可靠,这使得多智能体系统在关键环境中特别有价值。
-
• 处理扩展上下文: 单代理LLMs有一个缺点:它们的上下文窗口有限,只允许它们一次考虑少量文本。在处理长文档或长时间对话时,这是有问题的。多代理系统通过在几个代理之间分配工作来更好地处理这个问题。每个代理都专注于文本的一个片段,并共同努力以保持对整个讨论的清晰和持续的理解。这种团队合作扩展了他们有效管理和处理信息的能力。
-
• 效率和多任务处理: 单代理LLMs在单个线程上运行,这意味着它们一次处理一个任务。这可能会导致延迟,尤其是在需要快速响应多个查询的情况下。多代理系统通过并行处理提高效率,其中多个代理同时处理不同的任务。这种设置不仅可以缩短响应时间,还可以提高生产力,使其成为分秒必争的业务环境的理想选择。
-
• 协作功能: 多智能体系统在团队合作是关键的情况下大放异彩。与只有一个代理的设置不同,这些系统汇集了不同代理的优势和专业知识。这种协作对于需要混合技能和观点的复杂问题至关重要。它在科学研究或战略规划等领域很有价值,在这些领域中,汇集不同的知识和想法会带来更好的结果。
单代理系统擅长认知任务,并且可以独立工作。相比之下,多代理系统结合了一起协作和做出决策的不同代理。此设置可帮助他们处理更复杂和动态的任务。多智能体系统中的每个智能体都有独特的解决问题的方法,并与他人沟通以实现共同的目标。
多代理LLM框架
多代理LLM框架使多个 AI 代理能够协同工作或以结构化方式工作,以处理复杂任务、改进工作流程并以无缝方式集成 AI。
以下是一些最好的多代理LLM框架的列表:
-
• AutoGen[3]:Microsoft 的 AutoGen 就像 AI 代理的游乐场。它允许您创建健谈的 AI 助手,这些助手可以协同工作、使用工具,并在需要时让人类循环。它非常灵活,允许各种对话模式。它有一个非常活跃且不断壮大的社区,这对于需要支持和协作的开发人员来说非常有用。
-
• LangChain[4]:将 LangChain 视为 AI 应用程序的乐高积木。它为您提供构建块来连接不同的 AI 组件,从而更轻松地创建复杂的 AI 驱动的应用程序。它非常适合想要混合和匹配各种 AI 功能的开发人员。
-
• LangGraph[5]:这个新成员是 LangChain 家族的一员。LangGraph 旨在更好地创建包含周期的LLM工作流,这是大多数代理运行时的关键组成部分。它旨在创建 AI 工作流,这些工作流不仅是线性的,而且可以分支和循环。这就像给 AI 代理一个路线图,其中包含通往目的地的多条路线。LangGraph 使用图形表示进行代理连接,提供了一种清晰且可扩展的方法来管理多代理交互
-
• CrewAI[6]:这个框架也是关于团队合作的。它允许您创建一个 AI 代理团队,每个代理都有自己的角色和专业知识。CrewAI 对于生产就绪型应用程序特别有用,具有干净的代码并专注于实际应用程序。CrewAI 的首席执行官 João Moura 还提供了一门课程[7],该课程通过使用 CrewAI 框架的实际示例来解释多智能体系统的关键组件。
-
• AutoGPT:[8]AutoGPT 就像给 AI 代理一个待办事项清单,然后看着它去。它特别擅长记住事物和理解上下文,这使得它非常适合需要更多持久性的任务。它还具有一些很酷的视觉工具,用于设置 AI 系统,对于希望将多代理系统用于视觉设计工具的开发人员来说,它是一个不错的选择。
-
• 分层多智能体强化学习 (RL):分层多智能体强化学习 (RL) 框架允许智能体同时在多个层次结构级别进行学习。该框架的主要优势在于它能够使用任务的层次结构来更有效地学习协调策略。它将已建立的单代理 HRL 方法,如抽象机 (HAM)、[9]选项和 MAXQ[10] 的层次结构,特别是 MAXQ 值函数分解,扩展到协作的多代理环境中。
-
• Haystack(草垛)[11]如果您想使用 AI 来挖掘自己的数据,Haystack 是您的首选。它以稳定和拥有出色的文档而闻名,这始终是一个加分项。它对于涉及问答或语义搜索的项目特别有用。
多代理LLM应用参考
GPT-newspaper
GPT-newspaper[12] 根据用户偏好创建个性化报纸。它有 6 个主要代理在后台工作,两个主要代理是“计划者”和“执行”代理。Planner 生成要研究的问题,执行根据每个生成的研究问题寻找最相关的信息。最后,规划者过滤和聚合相关信息并创建研究报告。
CrewAI、LanchChain 和 LangGraph 示例
例子[13],展示了如何将 CrewAI 与 LangChain 和 LangGraph 结合使用,以自动化检查电子邮件和起草回复的过程。CrewAI 管理自主 AI 代理,这些代理协同工作以高效解决任务。
多代理LLM挑战和限制
多代理LLMs在分配角色和任务、管理内存和时间等方面面临挑战[14],更详细地说:
-
• 任务分配: 在不同的代理之间有效地划分复杂的任务是很棘手的。这就像在团队项目中分配角色,但用于 AI。
-
• 协调推理: 让代理人有效地一起辩论和推理并不简单。想象一下,试图让一群人协作解决一个难题 - 这类似于 AI 代理。
-
• 管理上下文: 跟踪代理之间的所有信息和对话可能会让人不知所措。这就像试图记住在长时间的群聊中所说的一切。
-
• 时间和成本: 让多个代理交互需要更多的时间和计算资源,这可能很昂贵。