# 2023 Wang et al.

A Survey on Large Language Model based Autonomous Agents

基于大语言模型的自主智能体综述 Lei Wang, Chen Ma , Xueyang Feng , Zeyu Zhang, Hao Yang, Jingsen Zhang, Zhi-Yuan Chen, Jiakai Tang, Xu Chen(✉), Yankai Lin(✉), Wayne Xin Zhao, Zhewei Wei, Ji-Rong Wen 中国人民大学高...

精粹译文

基于大语言模型的自主智能体综述

Lei Wang, Chen Ma*, Xueyang Feng*, Zeyu Zhang, Hao Yang, Jingsen Zhang, Zhi-Yuan Chen, Jiakai Tang, Xu Chen(✉), Yankai Lin(✉), Wayne Xin Zhao, Zhewei Wei, Ji-Rong Wen

中国人民大学高瓴人工智能学院,北京 100872,中国

© 高等教育出版社 2025


摘要

自主智能体长期以来一直是学术界和工业界的研究重点。以往的研究通常侧重于在隔离环境中训练具有有限知识的智能体,这与人类的学习过程存在显著差异,导致智能体难以实现类人的决策。近年来,通过获取海量的网络知识,大语言模型(LLMs)展现出了达到人类水平智能的潜力,从而引发了对基于 LLM 的自主智能体的研究热潮。在本文中,我们对这些研究进行了全面综述,从整体视角对基于 LLM 的自主智能体进行了系统性回顾。我们首先讨论了基于 LLM 的自主智能体的构建,提出了一个涵盖大部分先前工作的统一框架。然后,我们概述了基于 LLM 的自主智能体在社会科学、自然科学和工程领域的多元化应用。最后,我们深入探讨了常用于评估基于 LLM 的自主智能体的策略。基于先前的研究,我们还提出了该领域面临的若干挑战和未来方向。

关键词:自主智能体,大语言模型,人类水平智能


1 引言

“自主智能体是一个位于环境之中并作为环境一部分的系统,它感知该环境并随时间推移对其采取行动,以追求自身目标,从而影响其未来所感知的事物。” —— Franklin 和 Graesser (1997)

自主智能体长期以来被认为是实现通用人工智能(AGI)的一种有前途的方法,人们期望它能通过自主规划和行动来完成任务。在以往的研究中,智能体被假设基于简单且启发式的策略函数进行行动,并在隔离和受限的环境中进行学习 [1–6]。这种假设与人类的学习过程存在显著差异,因为人类思维高度复杂,个体可以从更广泛的环境中学习。由于这些差距,先前研究中获得的智能体通常远未达到复制人类水平决策过程的程度,特别是在无约束的开放域设置中。

近年来,大语言模型(LLMs)取得了显著成功,展现出实现类人智能的巨大潜力 [5–10]。这种能力源于利用全面的训练数据集以及大量的模型参数。在此基础上,一个新兴的研究领域应运而生,即利用 LLMs 作为中央控制器来构建自主智能体,以获得类人的决策能力 [11–17]。

与强化学习相比,基于 LLM 的智能体拥有更全面的内部世界知识,使它们即使在没有特定领域数据训练的情况下也能执行明智的行动。此外,基于 LLM 的智能体可以提供用于人机交互的自然语言接口,从而提供更大的灵活性和增强的可解释性。

沿着这个方向,研究人员已经开发了许多有前途的模型(概览见图 1),其核心思想是为 LLMs 配备记忆和规划等人类能力,使其表现得像人类一样并有效地完成各种任务。此前,这些模型是独立提出的,在整体总结和比较方面所做的努力有限。然而,我们认为对这个快速发展的领域进行系统性总结具有重要意义,有助于全面理解该领域并激发未来的研究。

在本文中,我们对基于 LLM 的自主智能体领域进行了全面综述。我们围绕三个关键方面组织我们的综述:基于 LLM 的自主智能体的构建、应用和评估。对于智能体构建,我们关注两个问题,即 (1) 如何设计智能体架构以更好地利用 LLMs,以及 (2) 如何激发和增强智能体完成不同任务的能力。直观地说,第一个问题旨在为智能体构建硬件基础,而第二个问题侧重于为智能体提供软件资源。对于第一个问题,我们提出了一个统一的智能体框架,它可以涵盖大部分先前的研究。对于第二个问题,我们总结了常用的智能体能力获取策略。除了讨论智能体构建外,我们还提供了基于 LLM 的自主智能体在社会科学、自然科学和工程领域应用的系统性概述。最后,我们深入探讨了评估基于 LLM 的自主智能体的策略,重点关注主观和客观策略。

总之,本综述对基于 LLM 的自主智能体这一新兴领域进行了系统性回顾,并建立了全面的分类体系。我们的重点涵盖三个主要领域:智能体的构建、应用和评估方法。借鉴丰富的先前研究,我们确定了该领域面临的各种挑战,并讨论了潜在的未来方向。我们期望我们的综述能为基于 LLM 的自主智能体的新手提供全面的背景知识,并鼓励进一步的开创性研究。


图 1 基于 LLM 的自主智能体领域增长趋势示意图。我们展示了从 2021 年 1 月到 2023 年 8 月发表的论文累计数量。我们分配不同的颜色来代表各种智能体类别。例如,游戏智能体旨在模拟游戏玩家,而工具智能体主要关注工具使用。对于每个时间段,我们提供了一份精选的具有不同智能体类别的研究列表。


2 基于 LLM 的自主智能体构建

基于 LLM 的自主智能体期望通过利用 LLMs 的类人能力有效地执行多样化的任务。为了实现这一目标,有两个重要的方面:(1) 应该设计什么样的架构来更好地使用 LLMs,以及 (2) 在给定的架构下,如何使智能体获得完成特定任务的能力。在架构设计方面,我们对现有研究进行了系统性综合,最终形成了一个全面的统一框架。至于第二个方面,我们根据是否对 LLMs 进行微调来总结智能体能力获取策略。将基于 LLM 的自主智能体与传统机器学习进行比较,架构设计类似于定义网络结构,而能力获取类似于学习网络参数的过程。在接下来的章节中,我们将更详细地探讨这两个方面。

2.1 智能体架构设计

LLMs 的最新进展证明了它们在以问答(QA)形式完成广泛任务方面的巨大潜力。然而,构建自主智能体远非 QA,因为它们需要履行特定的角色,并自主地感知和从环境中学习,从而像人类一样进化。为了弥合传统 LLMs 与自主智能体之间的差距,一个关键方面是设计合理的智能体架构,以辅助 LLMs 最大化其能力。沿着这个方向,先前的工作已经开发了许多模块来增强 LLMs。在本节中,我们提出了一个统一的框架来总结这些模块。具体而言,我们框架的整体结构如图 2 所示,它由分析模块(Profiling Module)、记忆模块(Memory Module)、规划模块(Planning Module)和行动模块(Action Module)组成。分析模块的目的是确定智能体的角色。记忆和规划模块将智能体置于动态环境中,使其能够回忆过去的经历并规划未来的行动。行动模块负责将智能体的决策转化为具体的输出。在这些模块中,分析模块影响记忆和规划模块,这三个模块共同影响行动模块。下面,我们详细介绍这些模块。


图 2 基于 LLM 的自主智能体架构设计的统一框架。


2.1.1 分析模块 (Profiling Module)

自主智能体通常通过承担特定的角色来执行任务,例如程序员、教师和领域专家 [18, 19]。分析模块旨在指明智能体角色的画像(Profile),这些画像通常被写入提示词(Prompt)中以影响 LLM 的行为。智能体画像通常包含年龄、性别和职业等基本信息 [20],以及反映智能体个性的心理信息,和详细说明智能体之间关系的社会信息 [21]。分析智能体的信息选择在很大程度上取决于具体的应用场景。例如,如果应用旨在研究人类认知过程,那么心理信息就变得至关重要。在确定了画像信息的类型后,下一个重要问题是为智能体创建具体的画像。现有文献通常采用以下三种策略。

手工制作方法 (Handcrafting Method):在这种方法中,智能体画像是手动指定的。例如,如果一个人想要设计具有不同个性的智能体,他可以使用“你是一个外向的人”或“你是一个内向的人”来为智能体画像。手工制作方法已被许多先前的工作用于指定智能体画像。例如,Generative Agent [22] 通过姓名、目标以及与其他智能体的关系等信息来描述智能体。MetaGPT [23]、ChatDev [18] 和 Self-collaboration [24] 预定义了软件开发中的各种角色及其相应的职责,手动为每个智能体分配不同的画像以促进协作。PTLLM [25] 旨在探索和量化 LLMs 生成文本中表现出的个性特征。该方法通过使用 IPIP-NEO [26] 和 BFI [27] 等个性评估工具手动定义各种智能体特征,从而引导 LLMs 生成多样化的响应。[28] 通过手动提示具有不同角色的 LLMs(如政治家、记者和商人)来研究 LLM 输出的毒性。总的来说,手工制作方法非常灵活,因为可以为智能体分配任何画像信息。然而,它也可能非常耗费人力,特别是在处理大量智能体时。

LLM 生成方法 (LLM-generation Method):在这种方法中,智能体画像是基于 LLMs 自动生成的。通常,它始于指明画像生成规则,阐明目标群体中智能体画像的组成和属性。然后,可以选择指定几个种子智能体画像作为少样本(few-shot)示例。最后,利用 LLMs 生成所有的智能体画像。例如,RecAgent [21] 首先通过手动制作年龄、性别、个人特征和电影偏好等属性,为少数智能体创建种子画像。然后,它利用 ChatGPT 根据种子信息生成更多的智能体画像。这种方法显著减少了构建智能体画像所需的时间和精力,特别是对于大规模群体。然而,它可能缺乏对生成画像的精确控制,这可能导致与预期特征的不一致或偏差。

数据集对齐方法 (Dataset Alignment Method):在这种方法中,智能体画像是从现实世界的数据集中获得的。通常,可以首先将数据集中关于真实人类的信息组织成自然语言提示词,然后利用它来为智能体画像。例如,在 [29] 中,作者根据美国国家选举研究(ANES)参与者的人口统计背景(如种族/民族、性别、年龄和居住州)为 GPT-3 分配角色。随后,他们调查 GPT-3 是否能产生与真实人类相似的结果。数据集对齐方法准确地捕捉了真实群体的属性,从而使智能体行为更有意义并反映现实世界场景。

备注。虽然大多数先前的工作独立利用上述画像生成策略,但我们认为结合它们可能会产生额外的好处。例如,为了通过智能体模拟预测社会发展,可以利用现实世界的数据集来为一部分智能体画像,从而准确反映当前的社会状况。随后,可以将现实世界中不存在但在未来可能出现的角色手动分配给其他智能体,从而实现对未来社会发展的预测。除了这个例子之外,还可以灵活地结合其他策略。分析模块是智能体设计的基础,对智能体的记忆、规划和行动过程产生重大影响。

2.1.2 记忆模块 (Memory Module)

记忆模块在智能体架构设计中起着非常重要的作用。它存储从环境中感知到的信息,并利用记录的记忆来促进未来的行动。记忆模块可以帮助智能体积累经验、自我进化,并以更一致、合理和有效的方式行事。本节提供了记忆模块的全面概述,重点关注其结构、格式和操作。

记忆结构 (Memory Structures):基于 LLM 的自主智能体经常从认知科学对人类记忆过程的研究中汲取灵感。人类记忆遵循从注册感知输入的感官记忆,到短暂维持信息的短期记忆,再到在较长时间内巩固信息的长期记忆的一般进程。在设计智能体记忆结构时,研究人员从人类记忆的这些方面汲取灵感。特别是,短期记忆类似于受 Transformer 架构约束的上下文窗口内的输入信息。长期记忆类似于智能体可以根据需要快速查询和检索的外部向量存储。在下文中,我们介绍两种基于短期和长期记忆的常用记忆结构。

  • 统一记忆 (Unified Memory):这种结构仅模拟人类的短期记忆,通常通过上下文学习(in-context learning)实现,记忆信息直接写入提示词中。例如,RLP [30] 是一个对话智能体,它为说话者和听者维护内部状态。在每一轮对话中,这些状态作为 LLM 提示词,充当智能体的短期记忆。SayPlan [31] 是一种专门为任务规划设计的具身智能体。在这个智能体中,场景图和环境反馈作为智能体的短期记忆,指导其行动。CALYPSO [32] 是一款为游戏《龙与地下城》设计的智能体,可以协助地下城主进行故事的创作和叙述。它的短期记忆建立在场景描述、怪物信息和先前总结的基础上。DEPS [33] 也是一款游戏智能体,为《我的世界》(Minecraft)开发。该智能体首先生成任务计划,然后利用它们来提示 LLMs,进而产生完成任务的行动。这些计划可以被视为智能体的短期记忆。在实践中,实现短期记忆是直接的,可以增强智能体感知近期或上下文敏感行为和观察的能力。然而,LLMs 有限的上下文窗口限制了将全面记忆纳入提示词,这可能会损害智能体性能。这一挑战需要具有更大上下文窗口和处理扩展上下文能力的 LLMs。因此,许多研究人员转向混合记忆系统来缓解这个问题。

  • 混合记忆 (Hybrid Memory):这种结构明确地模拟了人类的短期和长期记忆。短期记忆暂时缓冲近期的感知,而长期记忆随时间巩固重要信息。例如,Generative Agent [20] 采用混合记忆结构来促进智能体行为。短期记忆包含关于智能体当前情况的上下文信息,而长期记忆存储智能体过去的经历和想法,这些可以根据当前事件进行检索。AgentSims [34] 也实现了混合记忆架构。提示词中提供的信息可以被视为短期记忆。为了增强记忆的存储容量,作者提出了一个利用向量数据库的长期记忆系统,促进了高效的存储和检索。具体而言,智能体的日常记忆被编码为嵌入(embeddings)并存储在向量数据库中。如果智能体需要回忆其先前的记忆,长期记忆系统会使用嵌入相似度检索相关信息。这个过程可以提高智能体行为的一致性。在 GITM [16] 中,短期记忆存储当前的轨迹,长期记忆保存从成功的先前轨迹中总结出的参考计划。长期记忆提供稳定的知识,而短期记忆允许灵活的规划。Reflexion [12] 利用短期滑动窗口来捕获近期反馈,并结合持久的长期存储来保留浓缩的见解。这种结合允许利用详细的即时经验和高层抽象。SCM [35] 选择性地激活最相关的长期知识以与短期记忆相结合,从而实现对复杂上下文对话的推理。SimplyRetrieve [36] 利用用户查询作为短期记忆,并使用私有知识库存储长期记忆。这种设计在保证用户隐私的同时提高了模型准确性。MemorySandbox [37] 实现了长期和短期记忆来存储不同的对象,这些对象随后可以在各种对话中被访问。用户可以在同一画布上创建与不同智能体的多个对话,通过简单的拖放界面促进记忆对象的共享。在实践中,整合短期和长期记忆可以增强智能体在复杂环境中进行长程推理和积累宝贵经验的能力。

备注。细心的读者可能会发现,可能还存在另一种类型的记忆结构,即仅基于长期记忆。然而,我们发现这种类型的记忆在文献中很少被记录。我们的推测是,智能体总是处于连续和动态的环境中,连续的行动显示出高度的相关性。因此,短期记忆的捕获非常重要,通常不能被忽视。

记忆格式 (Memory Formats):除了记忆结构之外,分析记忆模块的另一个视角是基于记忆存储介质的格式,例如自然语言记忆或嵌入记忆。不同的记忆格式具有不同的优势,适用于各种应用。在下文中,我们介绍几种具有代表性的记忆格式。

  • 自然语言 (Natural Languages):在这种格式中,智能体行为和观察等记忆信息直接使用原始自然语言进行描述。这种格式具有几个优势。首先,记忆信息可以以灵活且易于理解的方式表达。此外,它保留了丰富的语义信息,可以提供全面的信号来指导智能体行为。在先前的工作中,Reflexion [12] 将经验反馈以自然语言存储在滑动窗口内。Voyager [38] 采用自然语言描述来表示《我的世界》游戏中的技能,这些技能直接存储在记忆中。

  • 嵌入 (Embeddings):在这种格式中,记忆信息被编码为嵌入向量,这增强了检索和读取效率。例如,MemoryBank [39] 将每个记忆片段编码为一个嵌入向量,并采用双塔密集检索模型来高效地从过去的对话中检索相关信息。

  • 数据库 (Databases):在这种格式中,记忆信息存储在数据库中,允许智能体高效且全面地操作记忆。例如,ChatDB [40] 使用数据库作为符号记忆模块。智能体可以利用 SQL 语句精确地添加、删除和修改记忆信息。

  • 结构化列表 (Structured Lists):在这种格式中,记忆信息被组织成列表,记忆的语义可以以高效且简洁的方式传达。例如,GITM [16] 在层次树结构中存储子目标的行动列表。层次结构明确地捕获了目标与相应计划之间的关系。RET-LLM [41] 最初将自然语言句子转换为三元组短语,随后将它们存储在记忆中。

备注。这里我们仅展示了几种具有代表性的记忆格式,但重要的是要注意还有许多未涵盖的格式,例如 [38] 使用的编程代码。此外,应该强调的是,这些格式并非互斥的;许多模型结合了多种格式以同时利用它们各自的优势。一个显著的例子是 GITM [16] 的记忆模块,它利用了键值列表结构。在这种结构中,键由嵌入向量表示,而值由原始自然语言组成。使用嵌入向量允许高效地检索记忆记录。通过利用自然语言,记忆内容变得高度全面,从而实现更明智的智能体行动。

以上,我们主要讨论了记忆模块的内部设计。在下文中,我们将重点转向用于与外部环境交互的记忆操作。

记忆操作 (Memory Operations):记忆模块在允许智能体通过与环境交互来获取、积累和利用重要知识方面起着关键作用。智能体与环境之间的交互通过三个关键的记忆操作来完成:记忆读取、记忆写入和记忆反思。在下文中,我们更详细地介绍这些操作。

  • 记忆读取 (Memory Reading):记忆读取的目标是从记忆中提取有意义的信息以增强智能体的行动。例如,使用先前成功的行动来实现类似的目标 [16]。记忆读取的关键在于如何从历史行动中提取有价值的信息。通常,有三个常用的信息提取标准,即近因性(recency)、相关性(relevance)和重要性(importance)[20]。更近期、更相关和更重要的记忆更有可能被提取。形式上,我们从现有文献中总结出以下用于记忆信息提取的方程:

m=argmaxmM(αsrec(q,m)+βsrel(q,m)+γsimp(m))(1)m^* = \arg \max_{m \in M} \left( \alpha s^{rec}(q, m) + \beta s^{rel}(q, m) + \gamma s^{imp}(m) \right) \quad (1)

其中 qq 是查询,例如智能体应该解决的任务或智能体所处的上下文。MM 是所有记忆的集合。srec()s^{rec}(\cdot)srel()s^{rel}(\cdot)simp()s^{imp}(\cdot) 分别是用于衡量记忆 mm 的近因性、相关性和重要性的评分函数,分数越高表示记忆越近期、越相关、越重要。这些评分函数可以使用各种方法实现,例如,srel(q,m)s^{rel}(q, m) 可以使用查询和记忆嵌入之间的向量相似度度量来计算。需要注意的是,simps^{imp} 仅反映记忆本身的特征,因此它与查询 qq 无关。α\alphaβ\betaγ\gamma 是平衡参数。通过为它们分配不同的值,可以获得各种记忆读取策略。例如,通过设置 α=γ=0\alpha = \gamma = 0,许多研究 [16, 30, 38, 41] 在记忆读取时仅考虑相关性分数 srels^{rel}。通过分配 α=β=γ=1.0\alpha = \beta = \gamma = 1.0,[20] 对上述所有三个指标进行加权以从记忆中提取信息。

  • 记忆写入 (Memory Writing):记忆写入的目的是将关于感知环境的信息存储在记忆中。在记忆中存储有价值的信息为将来检索信息性记忆提供了基础,使智能体能够更高效、更合理地行事。在记忆写入过程中,有两个潜在的问题需要仔细解决。一方面,至关重要的是解决如何存储与现有记忆相似的信息(即记忆重复)。另一方面,重要的是考虑当记忆达到存储限制时如何删除信息(即记忆溢出)。在下文中,我们更详细地讨论这些问题。(1) 记忆重复。为了整合相似的信息,人们开发了各种用于整合新记录和先前记录的方法。例如,在 [16] 中,与同一子目标相关的成功行动序列存储在一个列表中。一旦列表的大小达到 N(=5)N(=5),其中的所有序列都会使用 LLMs 浓缩成一个统一的计划解决方案。记忆中的原始序列被新生成的序列替换。Augmented LLM [42] 通过计数累积聚合重复信息,避免冗余存储。(2) 记忆溢出。为了在记忆已满时将信息写入记忆,人们设计了不同的方法来删除现有信息以继续记忆过程。例如,在 ChatDB [40] 中,记忆可以根据用户命令显式删除。RET-LLM [41] 使用固定大小的缓冲区进行记忆,以先进先出(FIFO)的方式覆盖最旧的条目。

  • 记忆反思 (Memory Reflection):记忆反思模拟了人类见证和评估自身认知、情感和行为过程的能力。当适应智能体时,目标是为智能体提供独立总结和推断更抽象、复杂和高层信息的能力。更具体地说,在 Generative Agent [20] 中,智能体有能力将其存储在记忆中的过去经历总结为更广泛和更抽象的见解。首先,智能体根据其近期的记忆生成三个关键问题。然后,这些问题被用于查询记忆以获得相关信息。基于获得的信息,智能体生成五个见解,这些见解反映了智能体的高层想法。例如,低层记忆“Klaus Mueller 正在写一篇研究论文”、“Klaus Mueller 正在与一位图书管理员接触以推进他的研究”和“Klaus Mueller 正在与 Ayesha Khan 谈论他的研究”可以诱导出高层见解“Klaus Mueller 致力于他的研究”。此外,反思过程可以分层发生,这意味着见解可以基于现有的见解生成。在 GITM [16] 中,成功完成子目标的行动存储在一个列表中。当列表包含超过五个元素时,智能体会将它们总结为一个共同且抽象的模式并替换所有元素。在 ExpeL [43] 中,引入了两种方法供智能体获取反思。首先,智能体比较同一任务内的成功或失败轨迹。其次,智能体从一系列成功轨迹中学习以获得经验。

传统 LLMs 与智能体之间的一个显著区别是,后者必须具备在动态环境中学习和完成任务的能力。如果我们认为记忆模块负责管理智能体的过去行为,那么拥有另一个可以辅助智能体规划其未来行动的重要模块就变得至关重要。在下文中,我们概述了研究人员如何设计规划模块。


图 3 单路径和多路径推理策略的比较。LMZSP 是 [44] 中提出的模型。


2.1.3 规划模块 (Planning Module)

当面对复杂任务时,人类倾向于将其分解为更简单的子任务并分别解决它们。规划模块旨在赋予智能体这种人类能力,这有望使智能体表现得更合理、强大和可靠。具体而言,我们根据智能体在规划过程中是否能接收反馈来总结现有研究,详细如下:

无反馈规划 (Planning without Feedback):在这种方法中,智能体在采取行动后不会接收到能影响其未来行为的反馈。在下文中,我们介绍几种具有代表性的策略。

  • 单路径推理 (Single-path Reasoning):在这种策略中,最终任务被分解为几个中间步骤。这些步骤以级联方式连接,每个步骤仅导致一个后续步骤。LLMs 遵循这些步骤以实现最终目标。具体而言,思维链(Chain of Thought, CoT)[45] 提出将用于解决复杂问题的推理步骤输入到提示词中。这些步骤作为示例来激发 LLMs 以逐步的方式进行规划和行动。在这种方法中,计划是基于提示词中示例的启发而创建的。Zero-shot-CoT [46] 使 LLMs 能够通过用“一步步思考”等触发句提示它们来生成任务推理过程。与 CoT 不同,这种方法不将推理步骤作为示例纳入提示词中。RePrompting [47] 涉及在生成计划之前检查每个步骤是否满足必要的先决条件。如果一个步骤未能满足先决条件,它会引入一个先决条件错误消息并提示 LLM 重新生成计划。ReWOO [48] 引入了一种将计划与外部观察分离的范式,其中智能体首先独立生成计划并获得观察,然后将它们结合起来得出最终结果。HuggingGPT [13] 首先将任务分解为许多子目标,然后基于 Huggingface 解决每一个子目标。与以一次性方式输出所有推理步骤的 CoT 和 Zero-shot-CoT 不同,ReWOO 和 HuggingGPT 通过多次访问 LLMs 来产生结果。SWIFTSAGE [49] 受人类认知双过程理论 [50] 的启发,结合了 SWIFT 和 SAGE 模块的力量,用于复杂交互任务中的规划。SWIFT 模块基于学习到的模式提供快速响应,而 SAGE 模块使用大语言模型,通过询问关键问题和生成行动序列来进行深度规划,以确保成功完成任务。

  • 多路径推理 (Multi-path Reasoning):在这种策略中,用于生成最终计划的推理步骤被组织成树状结构。每个中间步骤可能有多个后续步骤。这种方法类似于人类思维,因为个体在每个推理步骤可能有多种选择。具体而言,自洽 CoT (CoT-SC) [51] 认为每个复杂问题都有多种思考方式来推导最终答案。因此,它首先采用 CoT 来生成各种推理路径和相应的答案。随后,选择频率最高的答案作为最终输出。思维树(Tree of Thoughts, ToT)[52] 旨在利用树状推理结构生成计划。在这种方法中,树中的每个节点代表一个“思维”,对应于一个中间推理步骤。这些中间步骤的选择基于 LLMs 的评估。最终计划使用广度优先搜索(BFS)或深度优先搜索(DFS)策略生成。与一次性生成所有计划步骤的 CoT-SC 相比,ToT 需要为每个推理步骤查询 LLMs。在 RecMind [53] 中,作者设计了一种自启发机制,其中规划过程中丢弃的历史信息也被利用来推导新的推理步骤。在 GoT [54] 中,作者将 ToT 中的树状推理结构扩展为图结构,从而产生更强大的提示策略。在 AoT [55] 中,作者设计了一种新颖的方法,通过将算法示例纳入提示词来增强 LLMs 的推理过程。值得注意的是,这种方法仅需要查询 LLMs 一次或几次。在 [44] 中,LLMs 被用作零样本规划器。在每个规划步骤,它们首先生成多个可能的下一步,然后根据它们与可接受行动的距离确定最终的一个。[56] 通过在提示词中纳入与查询相似的示例进一步改进了 [44]。RAP [57] 构建了一个世界模型,基于蒙特卡洛树搜索(MCTS)模拟不同计划的潜在收益,然后通过聚合多次 MCTS 迭代生成最终计划。为了增强理解,我们在图 3 中提供了比较单路径和多路径推理策略的示意图。

  • 外部规划器 (External Planner):尽管 LLMs 在零样本规划中展现出了力量,但为特定领域问题有效生成计划仍然极具挑战性。为了应对这一挑战,研究人员转向外部规划器。这些工具发展成熟,并采用高效的搜索算法来快速识别正确甚至最优的计划。具体而言,LLM+P [58] 首先将任务描述转换为形式化的规划领域定义语言(PDDL),然后使用外部规划器来处理 PDDL。最后,生成的结论由 LLMs 转换回自然语言。类似地,LLM-DP [59] 利用 LLMs 将观察、当前世界状态和目标对象转换为 PDDL。随后,这些转换后的数据被传递给外部规划器,该规划器高效地确定最终的行动序列。CO-LLM [22] 表明 LLMs 擅长生成高层计划,但在低层控制方面存在困难。为了解决这一局限性,采用了一种启发式设计的外部低层规划器来基于高层计划有效地执行行动。

有反馈规划 (Planning with Feedback):在许多现实世界场景中,智能体需要进行长程规划以解决复杂任务。当面对这些任务时,上述无反馈的规划模块可能效果较差,原因如下:首先,从一开始就生成完美的计划极其困难,因为它需要考虑各种复杂的先决条件。因此,仅仅遵循初始计划往往会导致失败。此外,计划的执行可能会受到不可预测的转换动态的阻碍,导致初始计划无法执行。同时,在审视人类如何处理复杂任务时,我们发现个体可能会根据外部反馈迭代地制定和修改他们的计划。为了模拟这种人类能力,研究人员设计了许多规划模块,其中智能体可以在采取行动后接收反馈。反馈可以从环境、人类和模型中获得,详细如下。

  • 环境反馈 (Environmental Feedback):这种反馈是从客观世界或虚拟环境中获得的。例如,它可以是游戏的任务完成信号或智能体采取行动后做出的观察。具体而言,ReAct [60] 提出使用思维-行动-观察三元组构建提示词。思维组件旨在促进用于指导智能体行为的高层推理和规划。行动代表智能体采取的具体行动。观察对应于行动的结果,通过外部反馈(如搜索引擎结果)获得。下一个思维受到先前观察的影响,这使得生成的计划更适应环境。Voyager [38] 通过纳入三种类型的环境反馈来制定计划,包括程序执行的中间进度、执行错误和自我验证结果。这些信号可以帮助智能体为下一步行动制定更好的计划。与 Voyager 类似,Ghost [16] 也将反馈纳入推理和行动采取过程中。这种反馈涵盖了环境状态以及每个已执行行动的成功和失败信息。SayPlan [31] 利用从场景图模拟器导出的环境反馈来验证和细化其战略制定。该模拟器擅长辨别智能体行动后的结果和状态转换,促进 SayPlan 的迭代重新校准其策略,直到确定可行的计划。在 DEPS [33] 中,作者认为仅提供关于任务完成的信息通常不足以纠正规划错误。因此,他们建议告知智能体任务失败的详细原因,允许它们更有效地修改其计划。LLM-Planner [61] 引入了一种扎根的重规划算法,当在任务完成过程中遇到对象不匹配和无法实现的计划时,该算法会动态更新由 LLMs 生成的计划。Inner Monologue [62] 在智能体采取行动后提供三种类型的反馈:(1) 任务是否成功完成,(2) 被动场景描述,和 (3) 主动场景描述。前两者是从环境中生成的,这使得智能体行动更合理。

  • 人类反馈 (Human Feedback):除了从环境中获得反馈外,直接与人类交互也是增强智能体规划能力的非常直观的策略。人类反馈是一种主观信号。它可以有效地使智能体与人类价值观和偏好对齐,也有助于缓解幻觉问题。在 Inner Monologue [62] 中,智能体旨在在 3D 视觉环境中执行高层自然语言指令。它被赋予了主动向人类征求关于场景描述反馈的能力。然后,智能体将人类反馈纳入其提示词中,从而实现更明智的规划和推理。在上述案例中,我们可以看到,不同类型的反馈可以结合起来以增强智能体规划能力。例如,Inner Monologue [62] 收集环境和人类反馈以促进智能体计划。

  • 模型反馈 (Model Feedback):除了上述作为外部信号的环境和人类反馈外,研究人员还研究了利用来自智能体自身的内部反馈。这种类型的反馈通常基于预训练模型生成。具体而言,[63] 提出了一种自精炼(self-refine)机制。该机制由三个关键组件组成:输出、反馈和精炼。首先,智能体生成一个输出。然后,它利用 LLMs 对输出提供反馈并提供关于如何精炼它的指导。最后,输出通过反馈和精炼得到改进。这个输出-反馈-精炼过程迭代直到达到某些期望的条件。SelfCheck [64] 允许智能体检查和评估在不同阶段生成的推理步骤。然后,它们可以通过比较结果来纠正任何错误。InterAct [65] 使用不同的语言模型(如 ChatGPT 和 InstructGPT)作为辅助角色,如检查者和分类者,以帮助主语言模型避免错误和低效的行动。ChatCoT [66] 利用模型反馈来提高其推理过程的质量。模型反馈由监控智能体推理步骤的评估模块生成。Reflexion [12] 的开发旨在通过详细的口头反馈增强智能体的规划能力。在这个模型中,智能体首先基于其记忆产生一个行动,然后评估者通过将智能体轨迹作为输入来生成反馈。与先前研究中反馈作为标量值给出不同,该模型利用 LLMs 提供更详细的口头反馈,这可以为智能体计划提供更全面的支持。

备注。总之,无反馈规划模块的实现相对直接。然而,它主要适用于仅需要少量推理步骤的简单任务。相反,有反馈的规划策略需要更仔细的设计来处理反馈。尽管如此,它相当强大,能够有效地解决涉及长程推理的复杂任务。

2.1.4 行动模块 (Action Module)

行动模块负责将智能体的决策转化为具体的结果。该模块位于最下游位置,并直接与环境交互。它受到分析、记忆和规划模块的影响。本节从四个视角介绍行动模块:(1) 行动目标:行动的预期结果是什么?(2) 行动产生:行动是如何生成的?(3) 行动空间:有哪些可用的行动?(4) 行动影响:行动的后果是什么?在这些视角中,前两个关注行动之前的方面(“行动前”方面),第三个关注行动本身(“行动中”方面),第四个强调行动的影响(“行动后”方面)。

行动目标:智能体可以执行具有各种目标的行动。在这里,我们展示几个具有代表性的例子:(1) 任务完成。在这种场景中,智能体的行动旨在完成特定任务,例如在《我的世界》中制作铁镐 [38] 或在软件开发中完成一个函数 [18]。这些行动通常有明确定义的目标,并且每个行动都有助于最终任务的完成。旨在实现这种目标的行动在现有文献中非常普遍。(2) 通信。在这种情况下,采取行动是为了与其他智能体或真实人类进行通信,以共享信息或协作。例如,ChatDev [18] 中的智能体可能会相互通信以共同完成软件开发任务。在 Inner Monologue [62] 中,智能体积极与人类进行通信,并根据人类反馈调整其行动策略。(3) 环境探索。在这个例子中,智能体旨在探索不熟悉的环境以扩展其感知,并在探索和利用之间取得平衡。例如,Voyager [38] 中的智能体可能会在任务完成过程中探索未知技能,并通过试错法根据环境反馈不断精炼技能执行代码。

行动产生:与普通 LLMs(模型输入和输出直接相关)不同,智能体可以通过不同的策略和来源采取行动。在下文中,我们介绍两种常用的行动产生策略。(1) 通过记忆回忆的行动。在这种策略中,行动是通过根据当前任务从智能体记忆中提取信息而生成的。任务和提取的记忆被用作触发智能体行动的提示词。例如,在 Generative Agents [20] 中,智能体维护一个记忆流,在采取每个行动之前,它会从记忆流中检索近期、相关和重要的信息来指导智能体行动。在 GITM [16] 中,为了实现低层子目标,智能体查询其记忆以确定是否有与该任务相关的成功经验。如果先前已完成类似的任务,智能体就会调用先前成功的行动来直接处理当前任务。在诸如 ChatDev [18] 和 MetaGPT [23] 等协作智能体中,不同的智能体可能会相互通信。在此过程中,对话中的历史记录会被记住在智能体记忆中。智能体生成的每个话语都受到其记忆的影响。(2) 通过计划遵循的行动。在这种策略中,智能体遵循其预先生成的计划采取行动。例如,在 DEPS [33] 中,对于给定的任务,智能体首先制定行动计划。如果没有迹象表明计划失败,智能体将严格遵守这些计划。在 GITM [16] 中,智能体通过将任务分解为许多子目标来制定高层计划。基于这些计划,智能体依次采取行动来解决每个子目标,从而完成最终任务。

行动空间:行动空间是指智能体可以执行的一组可能行动。通常,我们可以将这些行动大致分为两类:(1) 外部工具和 (2) LLMs 的内部知识。在下文中,我们更详细地介绍这些行动。

  • 外部工具:虽然 LLMs 已被证明在完成大量任务方面是有效的,但它们可能不适用于需要全面专家知识的领域。此外,LLMs 还可能遇到难以自行解决的幻觉问题。为了缓解上述问题,智能体被赋予了调用外部工具来执行行动的能力。在下文中,我们介绍文献中已利用的几种具有代表性的工具。

(1) APIs。利用外部 APIs 来补充和扩展行动空间是近年来的一种流行范式。例如,HuggingGPT [13] 集成了 HuggingFace 庞大的模型生态系统来处理复杂的用户任务。类似地,WebGPT [67] 提出在响应用户请求时自动生成查询以从外部网页提取相关内容。TPTU [68] 探索了 LLMs 通过战略任务规划和基于 API 的工具来解决复杂任务的潜力。Gorilla [69] 引入了一种能够为 API 调用生成精确输入参数的微调 LLM,有效地缓解了外部 API 使用过程中的幻觉问题。ToolFormer [15] 采用自监督学习来确定何时以及如何调用外部工具,使用工具 API 的演示进行训练。API-Bank [70] 提供了一个包含多种 API 工具的综合基准,用于系统地评估工具增强型 LLMs,并辅以旨在增强其集成能力的稳健训练数据集。ToolLLM [14] 提出了一个涵盖数据收集、训练和评估的工具使用框架,其产生的微调模型在广泛的 APIs 中表现出色。RestGPT [71] 将 LLMs 与遵循广泛接受的 Web 服务开发标准的 RESTful APIs 连接起来,使生成的程序与现实世界应用更兼容。TaskMatrix.AI [72] 将 LLMs 与广泛的 API 生态系统连接起来以支持任务执行。其核心是一个多模态对话基础模型,它与用户交互,理解他们的目标和上下文,然后为特定任务生成可执行代码。本质上,这些智能体战略性地利用外部 APIs 作为多功能工具,系统地扩展了它们的行动空间,并通过整合多样化的计算能力超越了传统语言模型的固有局限。

(2) 数据库与知识库。集成外部数据库或知识库使智能体能够获得特定的领域信息,从而生成更现实的行动。例如,ChatDB [40] 使用 SQL 语句查询数据库,以逻辑方式促进智能体的行动。MRKL [73] 和 OpenAGI [74] 结合了各种专家系统(如知识库和规划器)来访问特定领域的信息。

(3) 外部模型。先前研究经常利用外部模型来扩展可能行动的范围。与 APIs 相比,外部模型通常处理更复杂的任务。每个外部模型可能对应多个 APIs。例如,ViperGPT [75] 首先使用基于语言模型实现的 Codex 从文本描述中生成 Python 代码,然后执行代码以完成给定的任务。ChemCrow [76] 是一款基于 LLM 的化学智能体,旨在执行有机合成、药物发现和材料设计方面的任务。它利用十七个专家设计的模型来辅助其操作。MM-REACT [77] 集成了各种外部模型,例如用于视频摘要的 VideoBERT、用于图像生成的 X-decoder 和用于音频处理的 SpeechBERT,增强了其在多样化多模态场景中的能力。

  • 内部知识:除了利用外部工具外,许多智能体仅依赖 LLMs 的内部知识来指导它们的行动。我们现在介绍 LLMs 的几种关键能力,这些能力可以支持智能体合理且有效地行事。(1) 规划能力。先前的工作已经证明,LLMs 可以用作体面的规划器,将复杂任务分解为更简单的任务 [45]。LLMs 的这种能力甚至可以在不纳入提示词示例的情况下被触发 [46]。基于 LLMs 的规划能力,DEPS [33] 开发了一款《我的世界》智能体,它可以通过子目标分解来解决复杂任务。类似的智能体如 GITM [16] 和 Voyager [38] 也严重依赖 LLMs 的规划能力来成功完成各种任务。(2) 对话能力。LLMs 通常可以生成高质量的对话。这种能力使智能体表现得更像人类。在先前的工作中,许多智能体基于 LLMs 的强大对话能力采取行动。例如,在 ChatDev [18] 中,不同的智能体可以讨论软件开发过程并反思它们自己的行为。在 RLP [30] 中,智能体可以根据听者对其话语的潜在反馈与听者进行交流。(3) 常识理解能力。LLMs 的另一个重要能力是它们可以很好地理解人类常识。基于这种能力,许多智能体可以模拟人类日常生活并做出类人决策。例如,在 Generative Agent [20] 中,智能体可以准确理解其当前状态、周围环境,并基于基本观察总结高层想法。如果没有 LLMs 的常识理解能力,这些行为就无法可靠地模拟。类似的结论也适用于 RecAgent [21] 和 S3 [78],其中智能体专注于模拟用户社会行为。

行动影响:行动影响是指智能体行动的后果。虽然可能的后果范围很广,但我们为了清晰起见强调几个关键例子:(1) 改变环境。智能体可以通过行动直接改变环境状态,例如移动位置、收集物品、建造建筑物等。例如,在 GITM [16] 和 Voyager [38] 中,环境在智能体的任务完成过程中被智能体的行动所改变。具体而言,当智能体收集资源(例如收获三块木头)时,资源会从环境中消失。(2) 改变内部状态。智能体采取的行动也可以改变智能体本身,包括更新记忆、形成新计划、获取新知识等。例如,在 Generative Agents [20] 中,记忆流在系统内执行行动后会更新。类似地,SayCan [79] 使智能体能够采取行动来更新对环境的理解。(3) 触发新行动。在任务完成过程中,一个行动往往会导致后续行动。例如,在 Voyager [38] 中,一旦智能体收集了必要的资源,它就会触发建筑物的建造。

2.2 智能体能力获取

在上述章节中,我们主要关注如何设计智能体架构以更好地利用 LLMs 的能力,从而使它们能够完成类似于人类表现的任务。架构充当了智能体的“硬件”。然而,仅依赖硬件不足以实现有效的任务表现。这是因为智能体可能缺乏必要的特定任务能力、技能和经验,这些可以被视为“软件”资源。为了为智能体配备这些资源,已经设计了各种策略。通常,我们根据是否需要对 LLMs 进行微调将这些策略分为两类。下面,我们详细介绍每个类别。

通过微调获取能力:增强智能体任务完成能力的一种直接方法是使用特定任务数据集对模型进行微调。这些数据集可以由人类标注、LLM 生成的内容或现实世界应用构建。我们在下面详细讨论这些方法。

  • 使用人类标注数据集进行微调:利用人类标注数据集对智能体进行微调是一种可以在各种应用场景中采用的多功能方法。在这种方法中,研究人员首先设计标注任务,然后招募工作人员来完成它们。例如,在 CoH [85] 中,作者旨在使 LLMs 与人类价值观和偏好对齐。与其他模型(其中人类反馈以简单和符号化的方式利用)不同,该方法将人类反馈转换为自然语言形式的详细比较信息。LLMs 直接基于这些自然语言数据集进行微调。在 RET-LLM [41] 中,为了更好地将自然语言转换为结构化记忆信息,作者基于人类构建的数据集对 LLMs 进行了微调,其中每个样本都是一个“三元组-自然语言”对。在 WebShop [86] 中,作者从 amazon.com 收集了 118 万个现实世界产品,并将它们放在一个模拟的电子商务网站上,该网站包含几个精心设计的购物场景。基于该网站,作者招募了 13 名工作人员来收集真实人类行为数据集。最后,基于该数据集训练了三种基于启发式规则、模仿学习和强化学习的方法。虽然作者没有对基于 LLM 的智能体进行微调,但我们认为本文提出的数据集在增强网络购物领域智能体能力方面具有巨大潜力。在 EduChat [87] 中,作者旨在增强 LLMs 的教育功能,例如开放域问答、论文评估、苏格拉底式教学和情感支持。他们基于涵盖各种教育场景和任务的人类标注数据集对 LLMs 进行了微调。

  • 使用 LLM 生成数据集进行微调:构建人类标注数据集通常需要招募人员,这可能成本高昂,特别是在处理大规模标注任务时。考虑到 LLMs 可以在广泛的任务中实现类人能力,一个自然的想法是使用 LLMs 来完成标注任务。虽然通过这种方法产生的数据集可能不如人类标注的那样完美,但它便宜得多,并且可以被利用来生成更多的样本。例如,在 ToolBench [14] 中,为了增强开源 LLMs 的工具使用能力,作者从 RapidAPI Hub 收集了跨越 49 个类别的 16,464 个现实世界 APIs。他们使用这些 APIs 提示 ChatGPT 生成多样化的指令,涵盖单工具和多工具场景。基于获得的数据集,作者对 LLaMA [9] 进行了微调,并在工具使用方面获得了显著的性能提升。在 [83] 中,为了赋予智能体社会能力,作者设计了一个沙盒,并部署多个智能体相互交互。给定一个社会问题,中央智能体首先生成初始响应。然后,它将响应分享给其附近的智能体以收集它们的反馈。基于反馈及其详细解释,中央智能体修改其初始响应,使其与社会规范更加一致。在此过程中,作者收集了大量的智能体社会交互数据,这些数据随后被利用来对 LLMs 进行微调。

  • 使用现实世界数据集进行微调:除了基于人类或 LLM 标注构建数据集外,直接使用现实世界数据集对智能体进行微调也是一种常见的策略。例如,在 MIND2WEB [88] 中,作者收集了大量的现实世界数据集以增强智能体在 Web 领域的表现。与先前研究相比,本文提出的数据集涵盖了多样化的任务、现实世界场景和全面的用户交互模式。具体而言,作者从跨越 31 个领域的 137 个现实世界网站中收集了超过 2,000 个开放式任务。使用该数据集,作者对 LLMs 进行了微调,以增强它们在电影发现和订票等 Web 相关任务上的表现。类似地,在 SQL-PaLM [89] 中,研究人员使用跨领域、大规模的文本到 SQL 数据集(包括 Spider 和 BIRD)对 PaLM-2 进行了微调。生成的模型在文本到 SQL 任务上取得了显著的性能提升,证明了现实世界数据集对于特定领域应用的有效性。

无需微调的能力获取:在传统机器学习时代,模型能力主要通过从数据集中学习获得,其中知识被编码到模型参数中。在 LLMs 时代,模型能力可以通过训练/微调模型参数或设计精巧的提示词(即提示工程)来获得。在提示工程中,需要将有价值的信息写入提示词中以增强模型能力或释放现有的 LLM 能力。在智能体时代,模型能力可以基于三种策略获得:(1) 模型微调,(2) 提示工程,和 (3) 设计适当的智能体进化机制(我们称之为机制工程)。机制工程是一个广泛的概念,涉及开发专门的模块、引入新的工作规则以及其他增强智能体能力的策略。为了清楚地理解模型能力获取策略的转换,我们在图 4 中进行了说明。在下文中,我们详细介绍提示工程和机制工程。

  • 提示工程 (Prompting Engineering):由于强大的语言理解能力,人们可以直接使用自然语言与 LLMs 交互。这引入了一种增强智能体能力的新颖策略,即人们可以用自然语言描述期望的能力,然后将其用作提示词来影响 LLM 的行动。例如,在 CoT [45] 中,为了赋予智能体复杂任务推理的能力,作者将中间推理步骤作为少样本示例呈现在提示词中。类似的技术也用于 CoT-SC [51] 和 ToT [52]。在 RLP [30] 中,作者旨在通过用智能体关于自身和听者心理状态的信念来提示 LLMs,从而增强智能体在对话中的自我意识。这种方法产生了更具吸引力和适应性的言语。此外,纳入听者的目标心理状态允许智能体制定更具战略性的计划。Retroformer [90] 提出了一种回顾性模型,使智能体能够生成对其过去失败的反思。这些反思被纳入 LLMs 的提示词中以指导智能体的未来行动。此外,该模型利用强化学习来迭代改进回顾性模型,从而精炼 LLM 提示词。

  • 机制工程 (Mechanism Engineering):与模型微调和提示工程不同,机制工程是一种增强智能体能力的独特策略。在下文中,我们介绍几种具有代表性的机制工程方法。

(1) 试错法 (Trial-and-error)。在这种方法中,智能体首先执行一个行动,随后调用一个预定义的评论家(critic)来评判该行动。如果行动被认为不令人满意,那么智能体通过纳入评论家的反馈来做出反应。例如,在 RAH [91] 中,智能体在推荐系统中充当用户助手。智能体的关键角色之一是模拟人类行为并代表用户生成响应。为了实现这一目标,智能体首先生成一个预测响应,然后将其与真实人类反馈进行比较。如果预测响应与真实人类反馈不同,评论家会生成失败信息,随后将其纳入智能体的下一步行动中。类似地,在 DEPS [33] 中,智能体首先制定一个计划来完成给定的任务。在计划执行过程中,如果一个行动失败,解释器会生成解释失败原因的具体细节。这些信息随后被智能体纳入以重新设计计划。在 RoCo [92] 中,智能体首先为多机器人协作任务中的每个机器人提出一个子任务计划和一条 3D 航点路径。计划和航点随后由一组环境检查(例如碰撞检测和逆运动学)进行验证。如果任何检查失败,反馈会被附加到每个智能体的提示词中,并开始新一轮的对话。智能体使用 LLMs 讨论并改进它们的计划和航点,直到它们通过所有验证。PREFER [93] 通过在智能体表现不佳时利用 LLMs 生成详细反馈来扩展这一想法,从而实现迭代精炼和性能提升。

(2) 众包 (Crowd-sourcing)。在 [94] 中,作者设计了一种利用群体智慧来增强智能体能力的辩论机制。首先,不同的智能体对给定的问题提供单独的响应。如果它们的响应不一致,它们将被提示纳入来自其他智能体的解决方案并提供更新的响应。这个迭代过程持续进行,直到达成最终共识答案。在这种方法中,每个智能体的能力通过理解和纳入其他智能体的意见而得到增强。

(3) 经验积累 (Experience Accumulation)。在 GITM [16] 中,智能体在开始时不知道如何解决任务。然后,它进行探索,一旦成功完成了任务,该任务中使用的行动就会存储到智能体记忆中。将来,如果智能体遇到类似的任务,那么相关的记忆就会被提取出来以完成当前任务。在此过程中,改进的智能体能力来自专门设计的记忆积累和利用机制。Voyager [38] 引入了一个技能库,其中特定技能的可执行代码通过与环境的交互得到精炼,从而实现随时间推移的高效任务执行。在 AppAgent [95] 中,智能体被设计为以类似于人类用户的方式与应用程序交互,通过自主探索和观察人类演示进行学习。在此过程中,它构建了一个知识库,作为在移动电话上跨各种应用执行复杂任务的参考。在 MemPrompt [96] 中,用户被要求以自然语言提供关于智能体解决问题意图的反馈,并且该反馈存储在记忆中。当智能体遇到类似任务时,它会尝试检索相关记忆以生成更合适的响应。

(4) 自主进化 (Self-driven Evolution)。这种方法允许智能体通过自我导向的学习和反馈机制自主改进。LMA3 [97] 使智能体能够自主设定目标,并通过探索环境和接收来自奖励函数的反馈来逐渐提高其能力。遵循这种机制,智能体可以根据自己的偏好获取知识并发展能力。SALLMS [98] 将 GPT-4 等先进 LLMs 集成到一个多智能体系统中,智能体可以在与环境的交互中适应并执行复杂任务,展示了先进的通信能力,从而在与环境的交互中实现自主进化。在 CLMTWA [99] 中,通过使用大语言模型作为教师,较弱的语言模型作为学生,教师可以生成并传达自然语言解释,通过心智理论(theory of mind)提高学生的推理技能。教师还可以根据预期的干预效用,仅在必要时为学生个性化其解释并进行干预。同时,NLSOM [100] 利用智能体之间的自然语言协作,根据反馈动态调整角色、任务和关系,以解决超出单个智能体范围的问题。

备注。在比较上述智能体能力获取策略时,我们可以发现微调方法通过调整模型参数来提高智能体能力,这可以纳入大量的特定任务知识,但仅适用于开源 LLMs。无需微调的方法通常基于精巧的提示策略或机制工程来增强智能体能力。它们可以用于开源和闭源 LLMs。然而,由于 LLMs 输入上下文窗口的限制,它们无法纳入太多的任务信息。此外,提示词和机制的设计空间极大,这使得找到最优解并不容易。

在上述章节中,我们详细介绍了基于 LLM 的智能体的构建,其中我们关注包括架构设计和能力获取在内的两个方面。我们在表 1 中展示了现有工作与上述分类体系之间的对应关系。需要注意的是,为了完整性,我们还纳入了几项研究,它们没有明确提及基于 LLM 的智能体,但与该领域高度相关。

3 基于 LLM 的自主智能体应用

由于强大的语言理解、复杂任务推理和常识理解能力,基于 LLM 的自主智能体已展现出影响多个领域的巨大潜力。本节提供了先前研究的简洁总结,根据它们在三个不同领域的应用对它们进行分类:社会科学、自然科学和工程(全局概览见图 5 左侧部分)。

3.1 社会科学

社会科学是致力于研究社会以及这些社会中个体之间关系的科学分支之一。基于 LLM 的自主智能体可以通过利用其令人印象深刻的类人理解、思考和任务解决能力来促进该领域的发展。在下文中,我们讨论几个可能受到基于 LLM 的自主智能体影响的关键领域。

心理学:对于心理学领域,基于 LLM 的智能体可以被利用来进行模拟实验、提供心理健康支持等 [101–104]。例如,在 [101] 中,作者为 LLMs 分配不同的画像,并让它们完成心理学实验。从结果中,作者发现 LLMs 能够生成与涉及人类参与者的研究结果相一致的结果。此外,观察到较大的模型相比其较小的对应模型往往能提供更准确的模拟结果。一个有趣的发现是,在许多实验中,像 ChatGPT 和 GPT-4 这样的模型可以提供过于完美的估计(称为“超准确性扭曲”),这可能会影响下游应用。在 [103] 中,作者系统地分析了基于 LLM 的对话智能体在心理健康支持方面的有效性。他们从 Reddit 收集了 120 篇帖子,发现此类智能体可以按需帮助用户应对焦虑、社会孤立和抑郁。同时,他们也发现智能体有时可能会产生有害内容。

政治科学与经济学:基于 LLM 的智能体也可以被利用来研究政治科学和经济学 [29, 104, 105]。在 [29] 中,基于 LLM 的智能体被用于意识形态检测和预测投票模式。在 [104] 中,作者专注于通过基于 LLM 的智能体的辅助来理解政治演讲的语篇结构和说服性元素。在 [105] 中,基于 LLM 的智能体被赋予特定的特质,如才能、偏好和个性,以探索模拟场景中的人类经济行为。

社会模拟:此前,用人类社会进行实验往往昂贵、不道德甚至不可行。随着 LLMs 的日益繁荣,许多人探索构建带有基于 LLM 的智能体的虚拟环境来模拟社会现象,例如有害信息的传播等 [20, 34, 78, 80, 106–109]。例如,Social Simulacra [80] 模拟了一个在线社会社区,并探索了利用基于智能体的模拟来辅助决策者改进社区规则的潜力。[106, 107] 研究了基于 LLM 的智能体在社交网络中不同行为特征的潜在影响。Generative Agents [20] 和 AgentSims [34] 在虚拟城镇中构建了多个智能体来模拟人类日常生活。SocialAI School [108] 采用基于 LLM 的智能体来模拟和研究儿童发展过程中的基本社会认知技能。S3 [78] 构建了一个社交网络模拟器,专注于信息、情感和态度的传播。CGMI [110] 是一个多智能体模拟框架。CGMI 通过树结构维护智能体的个性并构建认知模型。作者使用 CGMI 模拟了一个课堂场景。

法学:基于 LLM 的智能体可以作为法律决策过程的辅助工具,促进更明智的判决 [111, 112]。Blind Judgement [112] 采用多个语言模型来模拟多位法官的决策过程。它收集不同的意见并通过投票机制巩固结果。ChatLaw [111] 是一款著名的基于 LLM 的中文法律模型。它巧妙地支持数据库和关键词搜索策略,专门设计用于缓解此类模型中普遍存在的幻觉问题。此外,该模型还采用自注意力机制,通过减轻参考不准确性的影响来增强 LLM 的能力。

研究助手:除了在专业领域的应用外,基于 LLM 的智能体在社会科学研究的广泛领域中也越来越多地被采用为多功能助手 [104, 113]。在 [104] 中,基于 LLM 的智能体提供多方面的辅助,范围从生成简洁的文章摘要和提取关键关键词到为研究制作详细的脚本,展示了它们丰富和精简研究过程的能力。同时,在 [113] 中,基于 LLM 的智能体充当写作助手,展示了它们为社会科学家识别新颖研究课题的能力,从而为该领域的探索和创新开辟了新途径。这些例子突显了基于 LLM 的智能体在增强社会科学研究的效率、创造力和广度方面的潜力。

3.2 自然科学

自然科学是关注基于观察和实验的经验证据,对自然现象进行描述、理解和预测的科学分支之一。随着 LLMs 的日益繁荣,基于 LLM 的智能体在自然科学中的应用变得越来越流行。在下文中,我们介绍许多基于 LLM 的智能体可以发挥重要作用的代表性领域。

文档与数据管理:自然科学研究通常涉及大量文献的收集、组织和综合,这需要投入大量的时间和人力资源。基于 LLM 的智能体在语言理解和利用互联网和数据库等工具进行文本处理方面展现出了强大的能力。这些能力使智能体在与文档和数据管理相关的任务中表现出色。在 [114] 中,智能体可以高效地查询和利用互联网信息来完成问答和实验规划等任务。ChatMOF [115] 利用 LLMs 从人类编写的文本描述中提取重要信息。然后,它制定一个计划来应用相关工具来预测金属有机框架的性质和结构。ChemCrow [76] 利用化学相关数据库来验证化合物表示的精确性并识别潜在的危险物质。此功能通过确保所涉及数据的准确性,增强了科学探究的可靠性和全面性。

实验助手:基于 LLM 的智能体有能力独立进行实验,使它们成为支持科学家研究项目的宝贵工具 [76, 114]。例如,[114] 介绍了一种创新的智能体系统,它利用 LLMs 实现科学实验的设计、规划和执行的自动化。该系统在提供实验目标作为输入时,访问互联网并检索相关文档以收集必要的信息。它随后利用 Python 代码进行必要的计算并执行后续实验。ChemCrow [76] 纳入了 17 个精心开发的工具,这些工具专门设计用于辅助研究人员进行化学研究。一旦收到输入目标,ChemCrow 就会提供关于实验程序的宝贵建议,同时强调与拟议实验相关的任何潜在安全风险。

自然科学教育:基于 LLM 的智能体可以流利地与人类交流,经常被利用来开发基于智能体的教育工具。例如,[114] 开发了基于智能体的教育系统,以促进学生对实验设计、方法论和分析的学习。这些系统的目标是增强学生的批判性思维和解决问题的能力,同时培养对科学原理的更深理解。Math Agents [116] 可以协助研究人员探索、发现、解决和证明数学问题。此外,它可以与人类交流,并帮助他们理解和使用数学。[117] 利用 CodeX [118] 的能力自动解决和解释大学水平的数学问题,这些问题可以用作教育工具来教导学生和研究人员。CodeHelp [119] 是一款用于编程的教育智能体。它提供了许多有用的功能,例如设置课程特定关键词、监控学生查询以及向系统提供反馈。EduChat [87] 是一款专门为教育领域设计的基于 LLM 的智能体。它通过对话为教师、学生和家长提供个性化、公平和富有同理心的教育支持。FreeText [120] 是一款利用 LLMs 自动评估学生对开放式问题的回答并提供反馈的智能体。

3.3 工程

基于 LLM 的自主智能体在辅助和增强工程研究和应用方面展现出了巨大潜力。在本节中,我们回顾并总结了基于 LLM 的智能体在几个主要工程领域中的应用。

计算机科学与软件工程:在计算机科学和软件工程领域,基于 LLM 的智能体为自动化编码、测试、调试和文档生成提供了潜力 [18, 23, 24, 126–128]。ChatDev [18] 提出了一个端到端框架,其中多个智能体角色通过自然语言对话进行交流和协作,以完成软件开发生命周期。该框架展示了可执行软件系统的高效且低成本的生成。MetaGPT [23] 抽象了多个角色,如产品经理、架构师、项目经理和工程师,以监督代码生成过程并提高最终输出代码的质量。这实现了低成本的软件开发。[24] 提出了一种使用 LLMs 进行代码生成的自协作框架。在这个框架中,多个 LLMs 被假设为特定子任务的“专家”。它们根据指定的指令进行协作和交互,形成一个促进彼此工作的虚拟团队。最终,虚拟团队在不需要人工干预的情况下协作解决代码生成任务。LLIFT [141] 利用 LLMs 辅助进行静态分析,专门用于识别潜在的代码漏洞。这种方法有效地管理了准确性和可扩展性之间的权衡。ChatEDA [123] 是一款为电子设计自动化(EDA)开发的智能体,通过集成任务规划、脚本生成和执行来精简设计过程。CodeHelp [119] 是一款旨在辅助学生和开发人员调试和测试其代码的智能体。其功能包括提供错误消息的详细解释、建议潜在的修复方法以及确保代码的准确性。Pentest [125] 是一款基于 LLMs 的渗透测试工具,可以有效地识别常见漏洞,并解释源代码以开发漏洞利用程序。D-Bot [122] 利用 LLMs 的能力系统地评估数据库中异常的潜在根本原因。通过实现思维树方法,D-Bot 使 LLMs 能够在当前步骤不成功的情况下回溯到之前的步骤,从而提高了诊断过程的准确性。

工业自动化:在工业自动化领域,基于 LLM 的智能体可用于实现生产过程的智能规划和控制。[129] 提出了一种新颖的框架,该框架将 LLMs 与数字孪生系统集成,以适应灵活的生产需求。该框架利用提示工程技术来创建能够根据数字孪生提供的信息适应特定任务的 LLM 智能体。这些智能体可以协调一系列原子功能和技能,以在不同层面完成生产任务。这项研究展示了将 LLMs 集成到工业自动化系统中的潜力,为更敏捷、灵活和自适应的生产过程提供了创新解决方案。IELLM [130] 展示了 LLMs 在石油和天然气行业中作用的案例研究,涵盖了工厂自动化和 PLC 编程等应用。

机器人与具身人工智能:最近的工作推动了更高效的机器人和具身人工智能强化学习智能体的开发 [16, 38, 79, 132–135, 137–140]。这些努力专注于增强自主智能体在具身环境中的规划、推理和协作能力。例如,[138] 提出了用于具身推理和任务规划的规划者-行动者-报告者(Planner-Actor-Reporter)范式。DECKARD [139] 引入了规划者-行动者-报告者范式,通过解耦智能体的规划、执行和报告过程,促进了具身推理和任务规划。TaPA [137] 构建了一个包含室内场景多视图 RGB 图像、人类指令和相应计划的多模态数据集,用于对 LLMs 进行微调。微调后的模型将视觉感知与任务规划对齐,使它们能够生成更可执行的计划,并显著提高了它们在视觉扎根任务中的表现。

为了克服物理限制,智能体可以通过利用多种技能生成可执行计划并完成长程任务。在控制策略方面,SayCan [79] 专注于利用移动操纵机器人研究广泛的操纵和导航技能。从厨房环境中遇到的典型任务中汲取灵感,它提出了涵盖七个技能家族和 17 个对象的 551 种技能的综合集。这些技能涵盖了各种行动,例如拾取、放置、抓取和操纵对象等。TidyBot [136] 是一款旨在个性化家庭清理任务的具身智能体。它可以通过文本示例学习用户在对象放置和操纵方法上的偏好。

为了促进基于 LLM 的自主智能体的应用,研究人员还引入了许多开源库,开发人员可以基于这些库根据其定制需求快速实现和评估智能体 [19, 82, 127, 142–155]。例如,LangChain [147] 是一个自动化编码、测试、调试和文档生成任务的开源框架。通过将语言模型与数据源集成并促进与环境的交互,LangChain 通过多个智能体角色之间的自然语言通信和协作实现了高效且低成本的软件开发。基于 LangChain,XLang [145] 提供了一套全面的工具和一个完全集成的用户界面。它专注于可执行语言扎根,实现了将自然语言指令转换为与各种环境(包括数据库、Web 应用和物理机器人)无缝交互的代码或行动序列。AutoGPT [82] 是一款完全自动化的智能体。它设定一个或多个目标,将它们分解为相应的任务,并循环执行这些任务直到目标实现。WorkGPT [148] 是一款类似于 AutoGPT 和 LangChain 的智能体框架。通过为其提供指令和一组 APIs,它与 AI 进行来回对话,直到指令完成。GPT-Engineer [128] 和 DemoGPT [127] 是专注于通过提示词自动化代码生成以完成开发任务的开源项目。SmolModels [126] 提供了一系列适用于各种任务的紧凑型语言模型。AGiXT [144] 是一个动态 AI 自动化平台,可以高效地管理指令并跨各种 AI 提供商执行复杂任务,集成了自适应记忆、智能功能和一个多功能的插件系统。AgentVerse [156] 是一个多功能框架,促进研究人员高效地创建定制的基于 LLM 的智能体模拟。GPT Researcher [150] 是一款利用 LLMs 高效开发研究问题、触发网络爬虫以收集信息、总结来源并聚合摘要的实验性应用。BMTools [151] 提供了一个用于社区驱动的工具构建和共享的平台。它支持各种类型的工具,实现了使用多种工具的同步任务执行,并提供了一个通过 URL 加载插件的简单界面,促进了对 BMTools 生态系统的轻松开发和贡献。

备注。利用基于 LLM 的智能体支持上述应用也可能带来风险和挑战。一方面,LLMs 本身可能容易受到幻觉和其他问题的影响,偶尔提供错误的答案,导致错误的结论、实验失败,甚至在危险实验中对人类安全构成风险。因此,在实验过程中,用户必须具备必要的专业知识和知识以行使适当的谨慎。另一方面,基于 LLM 的智能体可能被利用于恶意目的,例如化学武器的开发,这就需要实施安全措施,例如人类对齐,以确保负责任和合乎道德的使用。

总之,在上述章节中,我们介绍了基于 LLM 的自主智能体在三个重要领域中的典型应用。为了促进更清晰的理解,我们在表 2 中总结了先前研究与它们各自应用之间的关系。

4 基于 LLM 的自主智能体评估

与 LLMs 本身一样,评估基于 LLM 的自主智能体的有效性是一项具有挑战性的任务。本节概述了两种流行的评估方法:主观和客观方法。有关全面概述,请参阅图 5 的右侧部分。

4.1 主观评估

主观评估基于人类判断来衡量智能体能力 [20, 22, 29, 80, 157]。它适用于没有评估数据集或很难设计定量指标的场景,例如评估智能体的智能或用户友好性。在下文中,我们介绍两种常用的主观评估策略。

人类标注 (Human Annotation):这种评估方法涉及人类评估者直接对各种智能体生成的输出进行评分或排名 [22, 29, 104]。例如,在 [20] 中,作者通过询问 25 个探索其在与智能体能力直接相关的五个关键领域中能力的各种问题来聘请大量标注者。在 [80] 中,标注者被要求确定专门设计的模型是否能显著增强在线社区内规则的制定。

图灵测试 (Turing Test):这种评估策略要求人类评估者区分智能体产生的输出和人类创造的输出。如果,在给定的任务中,评估者无法区分智能体和人类的结果,则证明智能体可以在该任务上实现类人表现。例如,[29] 中的研究人员对自由形式的党派文本进行了实验,并要求人类评估者猜测响应是来自人类还是基于 LLM 的智能体。

备注。基于 LLM 的智能体通常被设计为服务于人类。因此,主观智能体评估起着关键作用,因为它反映了人类标准。然而,这种策略也面临高成本、低效率和人口偏差等问题。为了解决这些问题,越来越多的研究人员正在研究使用 LLMs 本身作为中介来进行这些主观评估。例如,在 ChemCrow [76] 中,研究人员使用 GPT 评估实验结果。他们同时考虑任务的完成情况和底层过程的准确性。类似地,ChatEval [158] 引入了一种新颖的方法,通过聘请多个智能体以结构化的辩论格式批评和评估各种候选模型生成的结果。这种利用 LLMs 进行评估的创新用途有望在未来增强主观评估的可信度和适用性。随着 LLM 技术的不断发展,预计这些方法将变得越来越可靠并找到更广泛的应用,从而克服直接人类评估的当前局限性。

4.2 客观评估

客观评估是指使用可以计算、比较和随时间跟踪的定量指标来评估基于 LLM 的自主智能体的能力。与主观评估相比,客观指标旨在提供关于智能体性能的具体、可衡量的见解。为了进行客观评估,有三个重要的方面,即评估指标、协议和基准。在下文中,我们更详细地介绍这些方面。

指标:为了客观地评估智能体的有效性,设计适当的指标非常重要,这可能会影响评估的准确性和全面性。理想的评估指标应该精确反映智能体的质量,并在现实世界场景中使用时与人类感受保持一致。在现有工作中,我们可以总结出以下具有代表性的评估指标。(1) 任务成功指标:这些指标衡量智能体完成任务和实现目标的效果。常见指标包括成功率 [12, 22, 58, 60]、奖励/分数 [22, 60, 161]、覆盖率 [16] 以及准确率/错误率 [18, 40, 80, 101]。根据场景的不同,准确率可能反映程序可执行性 [18] 或任务有效性 [101] 等方面。在这些任务成功指标上更高的值表示更强的任务完成能力。(2) 人类相似度指标:这些指标量化了智能体行为通过强调与人类特征相关的各个方面(如连贯性 [104]、流畅性 [104]、与人类的对话相似度 [80] 和人类接受率 [101])而与人类行为紧密相似的程度。更高的相似度意味着更好的人类模拟表现。(3) 效率指标:与上述用于评估智能体有效性的指标相比,这些指标旨在评估智能体的效率。通常考虑的指标包括与开发相关的成本 [18] 和训练效率 [16, 38]。

协议:除了评估指标外,客观评估的另一个重要方面是如何利用这些指标。在先前的工作中,我们可以确定以下常用的评估协议:(1) 现实世界模拟:在这种方法中,智能体在游戏和交互式模拟器等沉浸式环境中进行评估。智能体被要求自主执行任务,然后利用任务成功率和人类相似度等指标,根据它们的轨迹和完成的目标来评估智能体的能力 [12, 16, 22, 33, 38, 60, 86, 161, 164, 168]。通过模拟现实世界场景,这种方法旨在提供对智能体实际能力的全面评估。(2) 社会评估:这种方法利用指标来评估基于模拟社会中智能体交互的社会智能。已经采用了各种方法,例如协作任务以评估团队合作技能、辩论以分析论证推理,以及人类研究以衡量社会适应能力 [34, 80, 101, 163]。这些方法分析连贯性、心智理论和社会智商等品质,以评估智能体在包括合作、通信、同理心和模仿人类社会行为在内的领域中的能力。通过将智能体置于复杂的交互设置中,社会评估为智能体的更高层社会认知提供了宝贵的见解。(3) 多任务评估:在这种方法中,人们使用来自不同领域的一组多样化任务来评估智能体,这可以有效地衡量智能体在开放域环境中的泛化能力 [12, 29, 86, 151, 162–164, 169, 170]。(4) 软件测试:在这种方法中,研究人员通过让智能体执行诸如软件测试任务(例如生成测试用例、重现错误、调试代码以及与开发人员和外部工具交互)来评估智能体 [159, 160, 167]。然后,可以使用测试覆盖率和错误检测率等指标来衡量基于 LLM 的智能体的有效性。

基准:鉴于指标和协议,评估的一个关键方面是选择适当的基准。随着时间的推移,已经引入了各种基准来评估基于 LLM 的智能体在不同领域和场景中的能力。许多研究采用 ALFWorld [60]、IGLU [161] 和《我的世界》[16, 33, 38] 等环境来评估智能体在交互式和任务导向模拟中的能力。Tachikuma [168] 通过 TRPG 游戏日志评估 LLMs 推理和理解涉及多个角色和新颖对象的复杂交互的能力。AgentBench [169] 提供了一个全面的框架,用于评估 LLMs 作为跨不同环境的自主智能体。它代表了对 LLMs 作为跨不同领域现实世界挑战的智能体的首次系统性评估。SocKET [163] 是一个综合基准,用于评估 LLMs 在 58 个任务中的社会能力,涵盖了幽默和讽刺、情感和感受、可信度等五类社会信息。AgentSims [34] 是一个用于评估基于 LLM 的智能体的多功能框架,用户可以在其中灵活设计智能体规划、记忆和行动策略,并衡量不同智能体模块在交互环境中的有效性。ToolBench [151] 专注于评估和增强语言模型使用工具的能力,具有 16,464 个现实世界的 RESTful APIs 和为单工具和多工具场景量身定制的多样化指令。WebShop [86] 开发了一个基准,用于评估基于 LLM 的智能体在产品搜索和检索方面的能力,该基准是使用 118 万个现实世界项目构建的。Mobile-Env [164] 作为一个可扩展的交互式平台,旨在评估基于 LLM 的智能体的多步交互能力。WebArena [173] 提供了一个跨越多个领域的综合网站环境。其目的是以端到端的方式评估智能体并确定其完成任务的准确性。GentBench [171] 旨在评估智能体在利用工具完成复杂任务时的能力,包括其推理、安全性和效率。RocoBench [92] 包含六个任务,用于评估跨不同场景的多智能体协作,强调通信和协调策略以评估协作机器人中的适应性和泛化能力。EmotionBench [172] 评估 LLMs 的情感评估能力,即当呈现特定情况时它们的感觉如何变化。它收集了 400 多个引发八种负面情绪的情况,并使用自我报告量表衡量 LLMs 和人类受试者的情绪状态。PEB [125] 专为评估渗透测试场景中的基于 LLM 的智能体而量身定制,包含来自领先平台的 13 个不同目标。它提供了跨不同难度级别的结构化评估,反映了智能体面临的现实世界挑战。ClemBench [165] 包含五个对话游戏,用于评估 LLMs 作为玩家的能力。E2E [174] 作为一个端到端基准,用于测试聊天机器人的准确性和有用性。

备注。客观评估通过各种指标促进了对基于 LLM 的智能体能力的定量分析。虽然当前技术无法完美衡量所有类型的智能体能力,但客观评估提供了补充主观评估的重要见解。客观评估基准和方法的持续进步将进一步增强对基于 LLM 的自主智能体的开发和理解。

在上述章节中,我们介绍了基于 LLM 的自主智能体评估的主观和客观策略。智能体的评估在该领域发挥着重要作用。然而,主观和客观评估都有各自的优势和劣势。也许,在实践中,它们应该结合起来以全面评估智能体。我们在表 3 中总结了先前工作与这些评估策略之间的对应关系。

5 相关综述

随着大语言模型的蓬勃发展,各种综合综述相继涌现,为各个方面提供了详细的见解。[175] 广泛介绍了 LLMs 的背景、主要发现和主流技术,涵盖了大量的现有工作。另一方面,[176] 主要关注 LLMs 在各种下游任务中的应用以及与其部署相关的挑战。使 LLMs 与人类智能对齐是解决偏见和幻觉等问题的一个活跃研究领域。[177] 汇编了现有的人类对齐技术,包括数据收集和模型训练方法。推理是智能的一个关键方面,影响决策、问题解决和其他认知能力。[178] 展示了 LLMs 推理能力的当前研究状态,探索了改进和评估其推理技能的方法。[179] 提出语言模型可以通过推理能力和使用工具的能力得到增强,称为增强语言模型(ALMs)。他们对 ALMs 的最新进展进行了全面回顾。随着大规模模型的使用变得越来越普遍,评估它们的性能变得越来越关键。[180] 阐明了评估 LLMs 的问题,解决了评估什么、在哪里评估以及如何评估它们在下游任务和社会影响中的表现。 [181] 也讨论了 LLMs 在各种下游任务中的能力和局限性。上述研究涵盖了大模型的各个方面,包括训练、应用和评估。然而,在本文之前,没有工作专门关注快速兴起且极具前景的基于 LLM 的智能体领域。在本研究中,我们汇编了 100 篇关于基于 LLM 的智能体的相关著作,涵盖了它们的构建、应用和评估过程。

6 挑战

虽然先前关于基于 LLM 的自主智能体的工作已经取得了许多显著的成功,但该领域仍处于初始阶段,其发展中仍有几个重大挑战需要解决。在下文中,我们提出许多具有代表性的挑战。

6.1 角色扮演能力

与传统 LLMs 不同,自主智能体通常必须扮演特定角色(例如程序编码员、研究员和化学家)来完成不同的任务。因此,智能体的角色扮演能力非常重要。虽然 LLMs 可以有效地模拟许多常见角色(如电影评论家),但仍有各种角色和方面是它们难以准确捕捉的。首先,LLMs 通常基于网络语料库进行训练,因此对于网络上很少讨论的角色或新出现的角色,LLMs 可能无法很好地模拟它们。此外,先前研究 [30] 表明,现有的 LLMs 可能无法很好地模拟人类认知心理特征,导致在对话场景中缺乏自我意识。解决这些问题的潜在方案可能包括微调 LLMs 或仔细设计智能体提示词/架构 [182]。例如,可以首先收集不常见角色或心理特征的真实人类数据,然后利用它来微调 LLMs。然而,如何确保微调后的模型在常见角色上仍然表现良好可能会带来进一步的挑战。除了微调之外,还可以设计定制的智能体提示词/架构来增强 LLM 的角色扮演能力。然而,找到最优的提示词/架构并不容易,因为它们的设计空间太大。

6.2 广义人类对齐

人类对齐在传统 LLMs 中已被广泛讨论。在基于 LLM 的自主智能体领域,特别是当智能体被用于模拟时,我们认为这个概念应该更深入地讨论。为了更好地服务于人类,传统 LLMs 通常经过微调以与正确的人类价值观对齐,例如,智能体不应该计划制造炸弹来报复社会。然而,当智能体被用于现实世界模拟时,理想的模拟器应该能够诚实地描绘多样化的人类特征,包括那些具有不正确价值观的特征。实际上,模拟人类的负面方面可能更为重要,因为模拟的一个重要目标是发现和解决问题,而没有负面方面意味着没有问题需要解决。例如,为了模拟现实世界社会,我们可能不得不允许智能体计划制造炸弹,并观察它将如何采取行动来执行该计划以及其行为的影响。基于这些观察,人们可以采取更好的行动来阻止现实世界社会中的类似行为。受上述案例的启发,也许智能体模拟的一个重要问题是如何进行广义人类对齐,即对于不同的目的和应用,智能体应该能够与多样化的人类价值观对齐。然而,现有的强大 LLMs(包括 ChatGPT 和 GPT-4)大多与统一的人类价值观对齐。因此,一个有趣的方向是如何通过设计适当的提示策略来“重新对齐”这些模型。

6.3 提示词鲁棒性

为了确保智能体的合理行为,设计者将补充模块(如记忆和规划模块)嵌入到 LLMs 中是一种常见做法。然而,这些模块的包含需要开发更复杂的提示词,以促进一致的操作和有效的通信。先前研究 [183, 184] 强调了 LLMs 提示词缺乏鲁棒性,因为即使是微小的改动也可能产生截然不同的结果。当构建自主智能体时,这个问题变得更加突出,因为它们包含的不是单个提示词,而是考虑所有模块的提示词框架,其中一个模块的提示词有可能影响其他模块。此外,提示词框架在不同的 LLMs 之间可能会有很大差异。开发一个适用于不同 LLMs 的统一且有弹性的提示词框架仍然是一个关键且未解决的挑战。解决上述问题有两个潜在的方案:(1) 通过试错法手动制作必要的提示词元素,或 (2) 使用 GPT 自动生成提示词。

6.4 幻觉

幻觉构成了 LLMs 的一个根本性挑战,其特征是模型倾向于以高置信度产生虚假信息。这一挑战不仅限于 LLMs,也是自主智能体领域的一个重大关切。例如,在 [185] 中,观察到当在代码生成任务中面对简单的指令时,智能体可能会表现出幻觉行为。幻觉可能导致严重的后果,例如错误或误导性的代码、安全风险和伦理问题 [185]。为了缓解这个问题,将人类纠正反馈直接纳入人机交互的迭代过程中提供了一种可行的方案 [23]。关于幻觉问题的更多讨论可以在 [175] 中看到。

6.5 知识边界

基于 LLM 的自主智能体的一个关键应用在于模拟多样化的现实世界人类行为 [20]。人类模拟的研究有着悠久的历史,最近兴趣的激增可以归功于 LLMs 取得的显著进展,这些进展证明了在模拟人类行为方面的重大能力。然而,重要的是要认识到 LLMs 的力量可能并不总是优势。具体而言,理想的模拟应该准确复制人类知识。在这种背景下,LLMs 可能会显示出压倒性的能力,因为它们是在远超普通个体可能知道的海量网络知识语料库上训练的。LLMs 的巨大能力可能会显著影响模拟的有效性。例如,当试图模拟各种电影的用户选择行为时,确保 LLMs 处于对这些电影没有先验知识的位置至关重要。然而,LLMs 有可能已经获得了关于这些电影的信息。如果不实施适当的策略,LLMs 可能会基于其广泛的知识做出决定,即使现实世界用户事先无法访问这些电影的内容。基于上述例子,我们可以得出结论,对于构建可信的智能体模拟环境,一个重要的问题是如何限制 LLM 对用户未知知识的利用。

6.6 效率

由于其自回归架构,LLMs 通常具有较慢的推理速度。然而,智能体可能需要多次查询 LLMs 以执行每个行动,例如从记忆中提取信息、在采取行动前制定计划等。因此,智能体行动的效率受到 LLM 推理速度的极大影响。

7 结论

在本综述中,我们系统地总结了基于 LLM 的自主智能体领域的现有研究。我们从包括智能体的构建、应用和评估在内的三个方面展示和回顾了这些研究。对于这些方面中的每一个,我们都提供了详细的分类体系来建立现有研究之间的联系,总结了主要技术及其发展历史。除了回顾先前的工作外,我们还提出了该领域面临的若干挑战,这些挑战有望指导潜在的未来方向。

致谢

本工作部分由国家自然科学基金(No. 62102420)、北京杰出青年科学家计划(NO. BJJWZYJH012019100020098)、中国人民大学“双一流”倡议重大创新与规划跨学科平台、中国人民大学公共计算云、中国人民大学世界一流大学(学科)建设基金、智能社会治理平台资助。

硬核测试

正确率:0 / 5
1

根据论文引言,基于LLM的自主智能体与传统强化学习智能体相比,其主要优势是什么?

2

在基于LLM的自主智能体架构中,分析模块(Profiling Module)的主要功能是什么?

3

关于智能体画像的构建方法,下列哪项描述是正确的?

4

在记忆模块中,混合记忆(Hybrid Memory)结构的主要特点是什么?

5

根据文中提到的记忆读取标准,衡量记忆提取价值的三个常用维度是?