1. 什么是多智能体大语言模型
今年来,生成式人工智能取得重大突破,单个大语言模型应用在问答、创意写作、代码生成等任务中取得不俗的效果。但单LLM应用仍然存在诸多问题,比如:偏差、对非事实性陈述过度自信、可解释性问题,以及无法提供解决更复杂任务所需的多维度推理。
受社会选择理论启发,考虑运用多个LLMs来减轻单个模型的局限性,以解决更复杂的任务。这些LLMs被称作智能体,在协作讨论或交流中模拟人类互动。多个智能体可配备不同的专业知识或偏好,从而强化讨论效果以及系统相对于单个LLM的响应。在规定轮流发言的固定通信模式下,智能体可被提示探讨问题的潜在解决方案。决策机制会检查智能体之间的一致性,生成优于单个模型的最终输出。
总体而言,多智能体LLM(Multi-Agent LLM,MALLM)是一个考虑智能体、讨论和决策来解决对话问题的概念。
上图展示了MALLM(多智能体大型语言模型)与单个模型的思维链对比。
MALLM包含三个主要部分:自动角色分配、协作讨论和决策制定。
多智能体LLM用户模拟社会互动,能在对话场景中提升解决问题的能力,其优势包括:
• 首先,智能体在推理任务上能提升系统相对于单个LLM的响应。
• 其次,每个智能体的不同观点能减轻响应中的偏差。
• 第三,基于反馈的交流促成一种自我反思机制,减少幻觉内容。
• 第四,多智能体讨论通过提供智能体之间有价值的讨论日志来解决LLMs的黑箱问题。
• 最后,新颖的多智能体系统为解决像心理理论这类单个模型无法处理的固有多智能体任务奠定了基础。
2. 多智能体任务的分类
本文作者提出了构成多智能体 LLM 的三个主要支柱:智能体(Agent)、讨论(Discussion)和决策(Decision)。
2.1 智能体(Agent)
如下图,作者将智能体分为两类:
• 1.参与讨论的智能体称为参与者(Participants):以特定的风格或格式交流,这往往会塑造出一种角色形象。比如,角色形象可以是领域专家,以便更有效地利用训练数据中的知识,或者是某种个性,让讨论更具活力。
• 2.另外一些称为支持人(Moderator):比如提出解决方案、控制轮流发言或者确保智能体在讨论中维持其角色形象。
2.1.1 主持人(Moderator)
一些应用/研究引入了一个中心智能体(Moderator)。这个中心智能体的目的在不同研究中有所不同。通常,主持人通过提示或架构设计保持中立,不给讨论带来主观性。
2.1.1.1 草案提议者(Draft Proposer)
对于某些决策机制,需要反复起草。在这种情况下,可以利用主持人在考虑其他代理的反馈时提出新的解决方案。草案提议者不影响决策,在交流过程中保持客观。因此,它会被提示将已提出的想法总结成旨在满足最多代理的草案。
2.1.1.2 顺序管理者(Turn Manager)
定义智能体的轮流顺序无需预先设定。受脱口秀或商务会议等人类互动的启发,采用了一个主持人拥有权力决定就某个问题咨询哪个专业代理。必要时,它还能让额外的专家代理参与解决问题。这种方式让讨论充满动态,不遵循通常采用的定义轮流发言的方案。
2.1.1.3 政策反馈(Policy Feedback)
智能体在讨论中可能难以找到共识或遵守预定义的准则。此时,政策反馈机制能够鼓励智能体的某些行为。
• 采用监督智能体来检查讨论中的智能体在讨论时是否忘记了其被塑造的个性。
• 在谈判游戏中使用观察智能体向个别智能体提供关于如何改进谈判策略的书面反馈。
2.1.1.4 任务指定者(Task Specifier)
用户输入和相应的任务可能非常详细且难以被多智能体系统理解(例如在软件开发中)。
比如,不直接把用户输入传递给智能体。而是在执行前,进一步明确用户给定的任务。这个步骤能够提供一个计划,指示代理如何解决更复杂的任务,比如开发应用程序。
2.1.1.5 状态分类器(State Classifier)
多智能体的一个关键挑战是决定何时结束交流。比如,采用话语状态分类器来判断讨论是正在进行、已完成还是代理之间达成一致的可能性不大。虽然将此分类器用于相对简单的谈判游戏,但话语状态分类器的概念也能应用于其他任务,有可能在似乎难以达成共识的讨论中节省计算资源。
2.1.2 参与者(Participant)
参与者是通过提供反馈和改进当前方案为讨论做出贡献的智能体。通常,参与者有独特的偏好和信念,并基于这些偏好为讨论贡献力量。
2.1.2.1. LLM
每个参与者都配备了一个 LLM 作为核心,生成思维过程并为讨论出力。LLM 为其他智能体生成建设性的反馈,改进当前草案,并能通过提示提出新想法。
像 GPT-4 这样具有高推理能力的模型,能够为讨论提供更优的贡献,从而在需要强大协作的任务中获得更高分数。
2.1.2.2 角色形象(Persona)
参与讨论的每个智能体都可以被提示代表一种个性、专家角色或类似的属性。这些属性被称为智能体的角色形象。角色形象通过提供更独特的想法和有主见的反馈来强化讨论。它们能够提升推理和知识密集型任务的表现,比如解谜、创意故事写作和数学推理。选择正确的角色形象还能产生偏差较小的结果[69]。
2.1.2.3 记忆(Memory)
为了遵循更类似人类的互动,P采用了一个存储每个代理讨论日志的记忆模块。
根据讨论格式或要解决的任务,不同的智能体可以有不同的讨论日志可用,无法获取全部信息。这些动态还有待进一步探索,因为智能体之间信息差异的影响在多代理问题解决的背景下尚未得到研究。
2.1.2.4 工具(Tools)
由于复杂性或模块性,某些问题对于 LLM 代理可能颇具挑战或无法解决。对于此类情况,为智能体配备了外部工具。
理想情况下,参与者能够根据情况从一组工具中选择正确的工具。虽然当前的 LLM 代理往往在正确评估情况方面存在问题,但数据集 ToolQA 可用于微调 LLM 代理在正确情况下使用哪些工具。
2.2 讨论
智能体之间的交互需要遵循一些准则。这些准则明确了轮到哪个智能体参与讨论,以及谁能获取哪些信息。
2.2.1 范式(Paradigm)
范式:要明确讨论的结构,就得确定智能体是以何种概念进行交流。这往往涉及架构的修改以及讨论顺序处理的实现。
概述了四种不同的范式,在轮次顺序和信息可见性方面存在差异。这些范式分别被称为记忆(memory)、接力(relay)、报告(report)、和辩论(debate)。
2.2.1.1 轮次顺序(Turn Order)
每个范式的关键方面之一是讨论中各个智能体的轮次顺序。讨论可以简单地进行,即每个智能体都有机会依次参与。更复杂的范式会打乱轮次顺序,从而影响信息流向各个代理的速度。
2.2.1.2 可见性(Visibility)
可以对范式进行调整,以限制各个智能体的信息访问权限。范式中智能体之间的消息可见性可能不同。
例如,一种范式可能允许所有智能体之间交换的消息完全可见,而另一种范式可能将其限制为仅直接交换消息的智能体可见。
2.2.1.3 总结器(Summarizer)
在考虑多轮的讨论时,输入给智能体的提示词会变得越来越大。即便是最新的LLM也难以有效地利用长上下文信息。可以使用了一个总结模块,将冗长的初步讨论浓缩为关键要点。与长上下文输入相比,对讨论记忆进行总结能提高性能。
2.2.1.4 智能体数量(Agent Number)
参与讨论的智能体数量对讨论的展开方式有重要影响。
增加讨论中的参与者数量,推理任务的性能会更好,这可能是由于产生了更多的推理步骤。
将他们的角色分配器与固定和灵活数量的生成角色进行了比较。使用灵活数量的角色优于固定方法,表明 LLM 能够自行决定一些讨论参数。
2.2.2 提示(Prompt)
大多数多智能体系统将指令调整后的 LLM 用作讨论的智能体。将这些模型置于推理模式后,会用一般讨论设置、任务指令、先前的讨论日志以及其他信息(如分配的角色)对其进行提示。提示技术在不同的成果中差异很大,且取决于系统应用。
2.2.2.1 上下文长度
为让 LLM 参与讨论,每个提示中都包含初步讨论。较长的提示会导致正确答案的收敛速度变慢。然而,最终共识的质量表现会更好。表面模型性能和效率之间的权衡。
2.2.2.2 角色分配器
使用 LLM 的多智能体系统不使用或仅使用单个角色。不同的任务可能需要或受益于专门的角色,而这些角色的手动定义是劳动密集型的。
LLM 能够自行找到合适的角色。因此,可以有效地提示 LLM 为任务和示例生成一系列合适的角色。
2.3 决策制定(Decision Making)
决策制定可以分为三种:投票、共识和树搜索。
• 投票对类似分类或标注(如多项选择问答)这类任务颇有用处。若智能体预先给出可能的解决方案,投票机制也能应对生成任务。
• 共识主要用于生成任务,比如创意故事创作。通过迭代反馈循环,所有智能体都对最新草案加以改进。一旦每个智能体都认同最新草案且无需再作修改,便达成了共识。
• 树搜索有助于遍历讨论中的多种可能路径以寻得最优解。在将多智能体系统应用于多步骤任务时也能发挥作用。
2.3.1 投票
智能体在讨论期间可提出自身草案作为解决生成任务的方案。其他任务可能本身就提供了一组可选标签(多项选择)。基于投票的决策制定,代理各自对青睐的解决方案进行投票。
• 排名:每个智能体能将可能的解决方案从优至劣进行排序。允许权衡优选方案。通过排名投票,能找到一个在合理程度上满足众多智能体的折衷办法。在先前的工作中,排名投票对人类集体行为的估量颇为有力。
• 累积:采用累积投票,每个代理有固定数量的点数可分配给提出的解决方案。获点数最多的解决方案当选为最终决策。对于 LLMs,若期望代理间高度一致,累积投票相较排名投票是更优选择。这是因为累积分配一定数量的点数能通过表明每个代理的(不)同意强度产生一致结果。
• 批准。每个智能体可选择固定数量的解决方案予以批准。迫使智能体批准固定数量的解决方案或许能减少 LLMs 在决策时的执拗,利于在更开放的任务上更快收敛。批准投票的变体可以宽松些,允许智能体批准较少或不批准解决方案。更具动态性的批准机制在有明确参照的任务上可能展现出更优的情境表现。
2.3.2 共识
生成任务可通过协作创建草案来解决。其直觉在于通过考虑多个智能体的想法来创建草案以生成更优解。共识与投票的不同在于,不是从一组草案中挑选最佳方案,而是对当前草案进行完善,直至满足共识要求。
• 一致性(Consistency):当反复向一个或多个智能体提示相同任务时,能获取一组可能的解决方案。Self-Consistency获取可能的解决方案并检查其一致性。选取与其他所有解决方案最相似的最一致的方案作为最终答案。Self-Consistency最初是基于单智能体 LLM 提出的,但该机制也能应用于多智能体系统。
• 迭代(Iterative):迭代共识并非一次性生成多个解决方案,而是接连提出新方案。通过持续讨论来优化输出,直至一定数量的智能体满意。这一理念在诸如 Solo Performance Prompting的提示技术和 PEER等协作模型中得到运用。
2.3.3 树搜索
智能体针对一个问题给出若干解决方案。从集合中选出最佳方案并非易事。讨论过程中提出的各种解决方案可绘制成决策树,且存在多种遍历此树以获取最优解的方法。多智能体 LLMs 中树搜索方法带来的效率问题。探索率过高时,最终解决方案的生成可能会慢许多倍,阻碍其在现实中的应用。因此,搜索树的方法对效率和性能至关重要。
• 评论家:利用循环中的评论家来挑选被认为是最佳的草案。在每一轮中,智能体制定一组可能的解决方案。评论家(可以是经提示的 LLM 或人类)随后选出最优解。树规划器在执行前生成若干任务计划。若任务规划器在遍历决策树时出错,它会在前一个分叉节点继续遍历。这两种变体都不同于蒙特卡罗树搜索等启发式方法,因为评论家的选择标准基于提示工程或人类偏好。
• 启发式。多智能体对话的决策树也能以启发式进行探索。运用启发式方法,无需额外模型来遍历此树。比如,将蒙特卡罗树搜索适配到多智能体场景中,并通过开发与探索率来把控问题解决流程。依次执行六个步骤(选择、扩展、评估、模拟、反向传播和反思),直至任务完成或达到限制。在借助已知的树搜索算法用于多智能体交互方面,还有诸如波束搜索或最佳优先树搜索等其他尝试。虽然这些算法在性能和速度上存在差异,但由于总体概念仍是对树的启发式探索,所以它们仍归为此类。
3. MALLM 框架
本篇论文作者提出了一个名为 MALLM(MultiAgent LLM)的开源框架,用于处理多智能体。MALLM 提供了一个可定制且模块化的接口,便于研究多智能体 LLM 的特性与组件。通过调整简单参数或定义自定义子类,能测试新的构想。提示模板设计得只要有指令就能支持众多任务。同时,该框架抗错性强,因并行化的 API 调用而高效,还自带集成评估管道。
作者使用MALLM框架,对多智能体系统的范式等内容进行深入评估。
3.1 范式的性能是否取决于任务?多智能体系统与思维链提示相比如何?
上标展示了单个智能体(COT)相比的结果:多智能体 LLM 比具有 CoT 的单个 LLM 展现出更强的推理能力,但由于问题漂移,无法完成像翻译这样的基本任务。
上图对简单伦理问题和 StrategyQA 数据集的讨论范式性能进行了比较。对于战略 QA 和伦理 QA 等复杂任务,多智能体系统比 CoT 基线有改进。所有范式都将战略推理能力比 CoT 提高了高达 4.0%的准确率,表面智能体对解决方案的迭代改进的优势。
按照任务要求,多智能体系统显示出逐步规划的能力,优于常用的 CoT 方法。这与之前的工作一致,表明多智能体系统的表现与 CoT 提示相当或更优[5, 60, 71]。
对于基本任务,如抽取式 QA、总结、翻译和释义类型生成,并未观察到多智能体讨论相对于基线有显著改进。
3.2 内部通信结构有多重要?
集中式讨论范式能够提高多智能体 LLM 的伦理一致性。
多智能体讨论还使简单伦理问题数据集的准确率提高了高达 6.6%。表明多智能体系统通常可以改善伦理决策。
报告范式显著促进了性能提升。在智能体之间的信息可见性方面与其他范式不同。使用报告范式,一个智能体可以查看正在交换的所有消息,而另外两个智能体彼此从不交互。
使用其他范式(记忆、中继、辩论),个体智能体的偏好可能在讨论期间更多地影响其他智能体的信念。
因此,一个更集中的会话结构,将其他智能体视为顾问,可以鼓励更一致的决策过程。
3.3 多智能体LLM在识别无法回答的问题上会比单个LLM更有效吗?
上图展示了在抽取式问答数据集 SQuAD 2.0 中回答能力的评估得分。表明系统对于源文档不支持的无法回答问题的能力。
确定问题的回答能力对于系统减轻或明确不合格答案中的幻觉十分关键。然而,在识别无法回答的问题方面,多智能体讨论与 CoT 提示相比,表现既没有明显更差,也没有明显更好。最佳范式(中继)仅将回答能力检测的准确率提高了 0.5%。
3.3 长度对任务性能有影响吗?
因任务而异。推理任务得益于更多的讨论轮次,而长时间的讨论则会导致伦理一致性崩塌。
上图展示了智能体都同意解决方案(即达成共识)之前交换的消息数量。棕色虚线报告了基于交换消息数量的所有范式的平均表现。
对于所有范式和数据集,讨论都迅速收敛,在得出最终解决方案之前仅交换了少量消息。通常,智能体对第一个智能体提出的第一个草案感到满意。
对于记忆、接力和报告范式,讨论在三条消息后结束(每个智能体一条消息)。
辩论范式在再次检查是否达成一致之前强制两个智能体进行两轮辩论。因此,这里的辩论范式在五条和十条消息后(分别为 1 轮和 2 轮,每轮五条消息)提前结束。大多数其他讨论在前三轮内结束。
表明专家角色的智能体彼此高度一致。
发现对于大多数任务(总结、翻译、释义类型生成、抽取式问答),评估分数不会因讨论的长度而提升,与基线性能相比还略有下降。似乎是基本任务的常见特征。或许,多智能体系统在几条消息后就能很快达到可能的最佳结果。然而,个体智能体的偏好却不必要地拉长了讨论,
3.4 内部通信结构有多重要?
所有智能体的全面信息获取有助于更快达成共识。
上图展示了每个范式在达成共识之前按轮数和交换消息数量计算的讨论平均长度。
最右侧的列表明了范式的轮次顺序以及智能体之间的信息获取情况,范式影响信息吞吐量。
在记忆范式下,智能体交换 4.79 条消息后能最快达成共识。
辩论范式需要交换最多的消息(7.58),因为它要求每个轮次两个智能体各进行两轮内部辩论。
与具有相同轮次顺序的记忆范式相比,中继范式的信息吞吐量明显更差,平均要交换 7 条消息后中继讨论才结束。
表明智能体对讨论日志的可见性受限会致使达成共识的速度变慢。同时,记忆和中继的表现相近。所以,如果响应速度至关重要,讨论应采用智能体之间完全透明的范式。
3.5 角色如何影响讨论和结果?
角色有益于像战略QA 或道德QA 这类复杂任务。
但在像翻译这样的简单任务中,可能会使设置过于复杂,损害性能。
上图对比了使用三个人物角色和使用两个人物角色与一个中立草案提议者智能体时的任务表现。
专家角色的影响因任务而异。
当用草案提议者替换一位专家时,像简单道德问题或 StrategyQA 这样的复杂任务的性能会受影响。
来源 | 大语言模型论文跟踪