文章名为《Memory Sharing for Large Language Model based Agents》,作者是来自美国新泽西州罗格斯大学计算机科学系的Hang Gao和Yongfeng Zhang(与AIOS系列文章出自同一团队)。文章概述了大型语言模型(LLM)Agents通过自然语言提示执行任务的能力。然而,文章指出,当将上下文学习(In-context Learning)应用于开放式挑战,例如诗歌创作时,由于所提供的示例的全面性以及智能体理解问题内容的能力的限制,导致输出结果常常与预期大相径庭。
为了解决这一差距,作者提出了一个名为Memory Sharing(MS)框架,用于LLM多智能体。该框架利用实时记忆存储和检索系统来增强上下文学习过程。在这个系统中,每个“记忆”都捕获了提出的查询和基于LLM智能体的相应实时响应,将这些记忆从广泛的类似智能体中聚合起来,以丰富所有智能体共享的记忆池。该框架不仅帮助智能体识别特定任务的最相关示例,还评估它们的记忆对未来应用中其他智能体的潜在效用。
1、介绍通过精心构建的prompt和上下文清晰的提示,上下文学习在提高模型对复杂任务的性能方面非常熟练,但在涉及开放式查询的场景中,如诗歌创作或横向思维谜题,其适用性仍然有所不足。事实上,回答此类问题需要更为全面的视角,以及对各种知识的更深入理解,这是当前Agent所缺乏的方面。当知识库的内容通常是单一维度和静态的,并且不经常更新时,这种限制进一步加剧,从而增加了解决具有不断发展参考要求的开放式查询的难度。为了解决这些问题,作者引入了Agent之间的记忆共享(MS)框架,这是一个特别设计来克服确保全面示例覆盖和增强上下文学习环境中知识库动态性的障碍的新型框架。
在MS框架中,Agent的输入与其随后的输出之间的交互被概念化为“提示-答案”(PA)对,共同形成Agent的记忆池。该框架引入了一种创新的实时记忆存储和检索机制,旨在通过吸收来自多方面Agent群体的PA对来增强Agent的记忆池。在存储阶段,每个PA对都会经过专门的LLM评分员的严格评估,以评估其是否适合包含在记忆池中,从而可能在随后的参与中作为参考资产。这个过程确保了记忆池的动态扩展能力。检索阶段由一个自主学习检索系统协调,校准以确保将特别相关的内存纳入提示中,从而增强Agent对查询本质的理解。下图显示了MS框架。
作者认为,将自生成的记忆纳入提示中显著提高了Agent对预期查询含义的理解。此外,不断将新记忆纳入池中不仅丰富了记忆池,而且还不断优化了检索器,增强了其选择相关记忆的效率。通过将每次交互视为一个统一的PA对,这个框架确保每个提出的查询和生成的响应都是以一种综合的方式考虑的。我们的实证证据表明,这种方法大大帮助基于LLM的Agent生成更符合用户期望的输出。
通过三个不同的领域评估MS框架,每个领域都涉及到三个Agent,每个Agent在其领域内都有专门的任务。我们的发现表明,记忆池的增量增加导致了输出的精确度和相关性的提高。这项研究描绘了MS框架缓解上下文学习固有限制的能力,从而强调了其潜在的适用性和有效性。
2、记忆共享(Memory-Sharing)框架2.1 概述记忆共享(MS)框架是一个专门设计用于记忆存储和检索的功能套件。3.1节详细描述了记忆的含义和来源,以及最重要的记忆写入机制。这个过程包括一个独特的评分机制,使MS能够筛选出不仅与当前Agent的主题焦点相关,而且具有普遍适用性的记忆,从而便于在同一领域内的Agent之间引用。3.2节详细说明了检索机制。此操作在将最恰当的记忆整合到针对即时查询量身定制的新颖提示中时至关重要,同时利用最新、高质量的新记忆来优化模型训练。图2展示了记忆存储和检索的玩具示例。
2.2 记忆存储2.2.1 记忆生成每个记忆都被视为一个(提示,答案)对。当向Agent提出查询时,检索器—基于所采用的策略(例如,三次射击学习)—确定要从记忆池中获取的记忆数量。这些记忆与原始查询结合,形成增强的提示。然后将这个复合提示与Agent接口,以引出相应的答案。随后,这个增强的提示和产生的答案是潜在的包含在记忆池中的记忆候选项,与传统的仅由原始查询及其输出形成的配对不同。
该模型遵循实时记忆集成框架,其中Agent的最新提示和答案始终被考虑添加到记忆池中,并训练检索模型。由基于LLM的Agent生成的记忆内容包括Agent自身产生的答案以及包含其他Agent先前提供信息的提示。因此,除了最初的查询之外,仅来自Agent贡献的聚合记忆有助于增强当前Agent对全面提示的理解。此外,记忆的来源—来自与统一总体目标一致但从事不同专门任务的Agent—促进了多面的学习体验。这种方法使Agent能够从开放式查询的各个维度获得见解。进一步来说,记忆池的动态扩展确保了新信息的持续涌入,从而丰富了Agent的知识库。这样的池在解决开放式查询时至关重要,因为它为Agent提供了更广阔的视角和更深入的理解,这对于生成知情的响应至关重要。
2.2.2 记忆写入每个新出现的记忆候选项都要通过评分系统进行系统性评估。在此评估阶段之前,为每个领域建立了不同的评分标准,评分的责任委托给了LLM本身。为了便于LLM理解这些标准,这些标准由LLM自主生成,前提是它将更熟练地掌握自己构思的概念。因此,这些标准的建立先于整个框架的操作部署,以防止LLM生成评估中固有的变异性,这可能导致差异并可能影响记忆评估的公平性。因此,Agent在给定领域内产生的所有记忆都按照这套统一的标准进行评估,确保了评估过程的一致性。在正式实施之前,这些标准经过了手动审查阶段。
这个审查不仅评估潜在记忆与Agent当前重点任务的相关性,还评估它们与其他领域内Agent的相关性,以确定它们预期的效用。不将这一组成部分的评估委托给大型语言模型的原因在于手动筛选提供的增强精确度,从而完善现有标准,使其更准确地符合Agent的独特要求,特别是关于潜在使用环境的要求。大型语言模型由于其本质,可能无法同时全面考虑这些细微的要求。在确定了适当的标准后,它与新生成的记忆结合,由基于LLM的评分器进行评估。超越了由LLM确定的预定义阈值的记忆被纳入记忆池中。
2.3记忆检索在MS操作部署之前,一小部分精选实例被手动存档在记忆池中。这些实例具有双重目的:首先,它们为每个Agent提供了多样化的记忆阵列,以便在面对新查询时,Agent可以尝试新颖的提示;其次,它们构成了我们检索器的初步训练语料库。这个基础训练方案模仿了随后存档记忆实时融入我们模型的方法,从而促进了模型的持续自适应学习和优化。
2.3.1 记忆训练每当有新记忆(X,Y)要被添加到池中时,它也将被用来训练我们的检索器,这有助于检索器不断更新自己,并不断适应新记忆。基于新生成的记忆(X,Y),经典方法BM25确定了来自多样化和广泛的记忆中的最合适的前n个候选对{(xi, yi)}n i=1,标记为C。C中的每个候选者将使用LLMs的全面评分能力进行评估。所使用的评分机制由以下方程定义:
这个方程在给定C中的输入-输出对:(xi, yi)作为条件,为新记忆中的输入生成的响应与新记忆中的输出相矛盾的概率。这个评分部分是随后对每个候选示例进行标记的准备步骤。值得注意的是,将¬Y作为结果部分是试图确保检索器从其他Agent获取的记忆具有参考价值,但它不必是当前问题最相关的,这意味着它可以帮助当前Agent从新示例中学习。这种方法与简单依赖Y作为结果的方法不同,后者倾向于将检索过程限制在当前Agent先前存储的记忆中。
在定义的集合C = {(xi, yi)}n i=1中,现在每个候选者都被赋予了一个分数。我们按分数从低到高对它们进行排序,并选择v个记忆进行标记。C中得分最低的v/2个候选者被认为是对(X, Y)具有参考价值的配对,因此,它们的标签被设置为正。相反,得分最低的v/2个候选者被认为是对(X, Y)参考价值最小的,因此它们的标签被指定为负。这v个记忆被进一步区分和分类,以阐明它们与查询上下文的相关性和适用性。这种方法确保了对数据进行系统化和细腻的分析,有助于识别和标记后续使用的相关记忆。这些被标记的数据将被用来最小化以下函数:
这种方式可以提高预测的准确性,特别是在处理不平衡的记忆池时至关重要。这种战略选择强调了我们的模型从各种记忆中提取有意义见解的准备性,推进了我们开发一个健壮且适应性强的MS机制的总体目标。
2.3.2 基于记忆的Prompt构建在对原始查询和池中的记忆进行编码后,我们采用余弦相似性来浏览这些记忆。顶级记忆的选择标准取决于采用的检索策略,可能从一次性学习到多次学习不等。在识别和选择最相关的记忆之后,这些记忆被串联为提示中的上下文示例,最后将初始查询整合到序列的末尾。这样串联的序列形成了一个新的提示,随后提供给Agent进行处理。这种结构化的过程不仅简化了从记忆池中检索相关信息,还有助于生成一个内容丰富的提示,准备引出Agent更明智的响应。
整合过程采用了专门策划的记忆,以阐明手头的查询,每个记忆都是在同一领域内运作的Agent生成的。这种方法使当前Agent能够通过多面透镜处理查询,显著增强了它们的理解。此外,它促进了这样一种场景,即Agent受到其对开放式查询的内在推理的启发,对其潜在意义有了更深入的理解。这种方法不仅扩大了查询解释的范围,还通过利用特定领域的见解,丰富了Agent的响应质量。
3 实验分析实验基于GPT-3.5-Turbo。为了评估指标,实验使用BERTScore、ROGUE-2和 ROGUE来帮助评估记忆在提高Agent性能方面对平均相关性和结构相关性的影响。
表1:不同领域Agent使用不同量记忆执行开放式查询的性能。每个领域内,三个Agent共享自己的领域池(Domain-pool)
表2:Agent使用三个合适的记忆进行开放式查询时,领域池(Domain-pool)与单一池(Single-pool)的性能对比
表3:使用三个合适的记忆和定期更新的领域池评估Agent处理开放式查询的性能
3.1实验设计目标是评估 MS 框架在处理开放式查询方面的有效性,涵盖三个主要领域:文学创作、非传统逻辑问题解决和计划生成。在文学创作领域,我们委派了三个专门的Agent,分别负责生成武艳律(中国古典诗歌的一种形式,中文形式)、打油诗和十四行诗。在逻辑问题解决领域,专职Agent负责解决横向谜题、谜语和双关语。与此同时,为了计划生成,我们开发了Agent来创建学习计划、旅行计划和健身计划。对于每个Agent,我们选择了一个一致的、小的预提供完整实例子集,并将其纳入记忆池,用于检索器训练和提示优化的初始阶段。随后,对于每个Agent,引入了相同数量的查询,以增加池中实时记忆的体积。
记忆影响的评估始于实施不同的检索策略,包括零次射击、一次射击、两次射击和三次射击学习模式。在此初步阶段之后,调查分为定量分析和定性分析的评估。关于定性维度,研究描绘了两种不同类型的记忆池,领域池(Domain-pool)和单一池(Single-pool)。领域池意味着为每个领域分配了一个专用的记忆池,并由该领域的所有Agent共享,目的是增强领域特定记忆的整合。相反,第二个池将所有领域的Agent整合到一个统一的记忆池中,促进跨领域记忆利用的总体分析。在定量方面,实验被划分为五个离散阶段,每个阶段的特点是向现有记忆池中添加预定数量的新记忆。在每个阶段的节点,进行Agent性能评估,以确定改进或退步。这种双重方法使人们能够深入探索真实记忆在不同领域的影响和适用性,从而促进了对它们差异效应的全面理解。
3.2实验分析实验的主要结果在表1中呈现,它描述了在记忆共享(MS)框架内,每个Agent在不同学习策略下的性能。不同的策略将帮助Agent检索不同数量的记忆进行组合。随着使用的记忆力增加,大多数Agent的性能越来越好,这意味着在相同领域内,不同类型的记忆将帮助Agent更好地理解问题并生成更相关的答案,而不是干扰Agent的学习能力。具体来说,在文学创作领域和计划生成领域,所有Agent在利用其他Agent的记忆后表现出增强的性能,这一点通过 ROUGE 和 BERTScore 指标得到了证实。这种增强表明,共享记忆使Agent能够更好地理解文学作品的描述并产生更相关的响应。
然而,对于武艳律,性能没有太大变化,这可能是由于存储记忆时使用的语言不同。统一使用的语言,这可能有助于提高 MS 未来的性能。此外,在非传统逻辑问题解决领域,尽管与不使用记忆相比,ROUGE 分数仍然相对较低,但 BERTScore 的提高表明成功地吸收了记忆中的多样化知识,导致输出结果越来越细致且语义对齐。总之,MS 框架通过记忆共享促进了Agent的持续性能改进,强调了其潜在的效用。
表2比较了所有Agent在三次射击学习策略下使用领域池或单一池的情景,因为之前的实验表明,大多数Agent在三次射击学习下实现了最佳性能。除了双关语Agent,所有其他Agent在单一池中表现出降低的性能。数据阐明了与Agent在相同领域内使用不同的、特定领域的存储池相比,性能普遍下降的情景。这一结果意味着具有类似特征的Agent从特定领域的存储池的独占性中获得最大的好处,因为跨领域记忆的整合可能对Agent的学习效率产生不利影响。
此外,在应用三次射击学习并且每个Agent使用领域池的查询中,图3描述了由于将不同比例的新生成记忆整合到池中,各个Agent性能的变化。具体来说,对于旅行Agent,性能持续提高。相反,对于大多数Agent,当池中记忆量扩大时,最初观察到性能提高,随后出现下降。这种模式表明,无论记忆类型的同质性如何,记忆的过度积累最终可能会阻碍Agent的学习效率和输出质量。因此,确定特定领域存储池的最佳容量成为未来研究的一个相关问题。关于武艳律Agent性能的波动,这些暂时归因于语言的不同。
4 总结我们介绍了一个新颖的框架——记忆共享(Memory Sharing,简称MS),它通过记忆存储和检索处理实时记忆。研究结果表明,增加高质量记忆的数量能够提高基于大型语言模型(LLM)的Agent理解问题的细微差别,并针对开放式查询生成更贴切的响应。每个高质量记忆的产生不仅为我们的记忆库增加了容量,而且还有助于检索器的循环训练。这一系统化的过程保证了随着记忆池的动态扩展,检索器能够持续一致地识别和选择Agent使用最相关的内存。
关于未来的研究方向,我们认为通过开发确定记忆池最佳大小的方法可以提高记忆共享(MS)框架的有效性。目前,所有Agent在相同的LLM模型下使用MS的情况已被观察到。值得对在各种基础模型(例如,GPT-4、LLaMA-2、Claude-2)内部署相同Agent的影响进行全面评估。这种方法将利用从多样化的大型语言模型(LLMs)获取的记忆。此外,将此框架与微调过程的潜在整合也是另一个探索途径。对MS的这些研究代表了朝着利用实时记忆增强基于LLM的Agent能力的一步,为未来研究和人工智能领域的实际应用提供了广阔的前景。