目录
Abstract
由于大语言模型(LLM)所展示的强大功能,最近人们纷纷将其与人工智能代理集成以提高其性能。本论文探讨了基于LLM的AI代理与传统AI代理之间的核心差异和特征。具体来说,论文首先比较这两类智能体的基本特征,阐明基于LLM的智能体在处理自然语言、知识存储和推理能力方面的显着优势。随后,论文对AI智能体的关键组成部分进行了深入分析,包括规划、内存和工具使用。特别是,对于记忆的关键组成部分,本文引入了一种创新的分类方案,不仅脱离了传统的分类方法,而且为人工智能代理的记忆系统的设计提供了全新的视角。论文最后为该领域的进一步研究提供了方向性建议,希望为该领域的学者和研究人员提供有价值的见解。
Introduction
深度神经网络的出现标志着人工智能领域的重大转变,利用反向传播的力量来训练深度模型。研究人员开始探索更复杂的代理行为,超越传统的基于规则的方法。在新兴的方法中,强化学习(RL)作为一种范式脱颖而出,其中代理通过与环境的交互并以奖励或惩罚的形式接收反馈来学习最佳行为。尽管 DRL 取得了令人鼓舞的进步,但某些挑战仍然存在。其中最主要的是泛化问题。许多强化学习智能体,尤其是那些在模拟环境中训练的智能体,很难将其学到的行为转移到新的或稍微改变的场景中,通常称为领域适应。训练这些代理也可能是计算密集型的,通常需要大量的交互才能获得令人满意的性能。此外,强化学习训练难以收敛,并且奖励函数的设计可能具有挑战性,特别是在现实场景中,并且可能是一项艰巨且通常不可行的任务。这阻碍了基于强化学习的代理在不同环境中的快速开发和部署。而LLM理解和生成语言的能力使它们能够充当广泛应用的基础模型。它们固有的泛化能力使它们成为通用代理基础模型的理想候选者。研究人员正在探索混合模型,将强化学习的优势与LLM的泛化能力相结合。这种共生组合有望为未来更强大、适应性更强、更高效的智能代理铺平道路。
2. LLM 与传统代理
传统代理是专门为解决某些问题而设计的。它们主要依赖于预先确定的算法或规则集,在其专门设计的任务中表现出色。然而,当面临超出其初始范围的任务时,他们常常难以概括和推理。大型语言模型(LLM)的引入给人工智能代理设计带来了重大变化。这些智能体经过广泛的语料库训练,不仅能够熟练地理解和生成自然语言,而且还表现出强大的泛化能力。此功能使它们能够轻松地与各种工具集成,从而增强其多功能性。另一方面,大型语言模型擅长推理,这可以帮助他们从错误行为中学习。以游戏探索为例,尤其是在 Minecraft 环境中,VOYAGER等基于 LLM 的智能体与传统 RL 智能体之间的差异是显而易见的。 LLM代理人凭借丰富的预训练知识,即使没有经过特定任务的培训,在决策策略上也具有优势。另一方面,传统的强化学习智能体往往需要在新环境中从头开始,严重依赖交互来学习。在这种场景下,VOYAGER 展示了更好的泛化性和数据效率。
3. AI 代理的组件
3.1 概述
由LLM驱动的AI代理系统依靠LLM作为其大脑,并由部署各种重要功能的几个关键组件支持。这些功能,包括计划、记忆和工具使用,过去已经被独立和深思熟虑地研究过,并且有着悠久的历史。在本次调查中,论文将介绍各个功能模型的研究历史、主流方法、与AI智能体的结合方法以及未来的潜在方向。
3.2 规划
规划的目标是设计一系列动作以促进状态转换并最终实现期望的任务。如图 1 左侧所示,该组件作为独立模块,已集成到各种应用中,例如机器人操作、机器人导航以及服务机器人,代表性工作例如使用规划领域描述语言(PDDL)的方法和分层规划框架。最近,随着LLM在各个领域取得的重大成功,许多研究一直在探索利用LLM来增强人工智能代理的规划和执行能力。受益于LLM强大的推理能力,基于LLM的AI代理可以有效地将复杂的任务或指令分解为一系列子任务或更简单的指令(即规划)。例如,如图 1 右上角所示,基于 LLM 的代理将复杂的指令“将香蕉放在柜台上”分解为一系列更简单的指令,这些指令更容易让代理完成。此外,仅根据智能体制定的初始计划采取行动而不考虑外部环境反馈可能会限制智能体的性能。例如,如图1右下所示,代理为指令“把球棒放在床上”创建了一个计划,初始计划的第一步是“拿起棒球棒”,这可能会失败当附近没有“蝙蝠”时执行。然而,如果智能体能够根据反馈进行自我反思,它可以将第一步细化为“走到棒球棒旁边”,然后逐步努力实现目标。因此,在执行过程中,反思和分析过去的行为和反馈,并随后调整计划,对于人工智能代理成功执行任务同样至关重要。接下来,论文将介绍利用LLM进行任务分解和自我反思的相关工作。
3.2.1.任务分解
任务分解的目的是将复杂的任务或指令分解为一系列更简单的子目标或子指令来执行任务。例如,如图 1 右上方所示,给定任务指令“将香蕉放在柜台上”,智能体会将其分为三个步骤: 1. 拿起香蕉。 2. 前往柜台。 3.放下香蕉。现有的工作主要通过思想链或树和LLM的PDDL进行任务分解。思维链可以利用一些例子或者简单的指令逐步引导LLM推理,将复杂的任务分解为一系列更简单的任务。与线性思维不同,思维树在每一步都会生成多个思维分支,以创建树状结构。随后,使用广度优先搜索或深度优先搜索等方法对该思想树进行搜索。为了评估每个状态,可以使用“价值提示”来促进推理,或者可以通过投票机制来生成评估结果。此外,一些研究工作考虑将LLM与PDDL相结合,以规划目标问题。
3.2.2.自我反思
在与环境交互的过程中,人工智能代理可以通过接收反馈来反思过去的行为,从而增强其规划能力。有许多工作尝试将基于 LLM 的代理与自我反思相结合。环境中动作的交互式执行进一步增强了智能体的规划能力。例如,辛恩shinn等人引入了一个名为 Reflexion 的框架,其中该方法首先通过 Actor 模块生成动作并评估它们。然后利用自反射模块生成反馈并将其存储在内存中。当错误发生时,该方法可以推断导致错误的操作并进行纠正,从而不断增强代理的能力。
3.3.记忆
记忆可以帮助个人将过去学到的知识和经验事件与当前状态相结合,从而帮助做出更合适的决策。一般来说,人类记忆可分为三种主要类型:感觉记忆、短期记忆和长期记忆。感觉记忆是通过触觉、听觉、视觉等感官进行的信息收集,其寿命极其短暂。短期记忆是指在短时间内处理信息的过程,通常由工作记忆来完成。相反,长期记忆是指可以长期存储的记忆,包括情景记忆和语义记忆。情景记忆是指个体对亲身经历过的事件的记忆能力,通常能够将这些事件与情境信息紧密联系起来。语义记忆是指个体所知道的事实知识,这种记忆与具体事件和个人经历无关。同样,记忆作为智能体的关键组成部分,可以帮助它们从过去的信息中学习有价值的知识,从而帮助智能体更有效地执行任务。为了充分利用记忆中存储的信息,一些研究尝试将人工智能代理与短期记忆、长期记忆,以及两者的结合进行融合。此外,由于感觉记忆可以被视为文本和图像等输入的嵌入表示,类似于感觉缓冲区,因此论文认为感觉记忆不属于人工智能代理的记忆模块的一部分。考虑到LLM的特点,如图2所示,论文进一步重新定义了AI代理的记忆类型概念,并将其分为训练记忆、短期记忆和长期记忆。训练记忆是指模型在预训练过程中学习到的知识和事实,这些信息通过模型参数来存储。现有研究表明,模型可以在于训练阶段学习世界知识、关系知识、常识知识、语义知识和句法知识。因此,通过采用LLM进行推理,AI代理可以隐式回忆这些知识来提高模型的性能。短期记忆是指AI智能体在任务执行过程中处理的临时信息,例如上下文学习过程中涉及的示例信息以及LLM推理过程中产生的中间结果。在推理过程中,LLM临时存储和处理上下文信息或中间结果,利用它们来提高模型的能力。这类似于人类工作记忆,它在短期内临时保存和处理信息以支持复杂的认知任务。一些作品利用情境学习来提高LLM的表现。他们首先将一些示例与输入信息结合起来构建提示,然后将此提示发送给LLM以利用短期记忆。例如,李等人指出,当提供与任务相关的上下文时,确保其工作记忆受上下文控制非常重要。否则,模型应该依赖于预训练过程中获得的世界知识。洛格斯瓦兰等人首先将一些示例与输入指令相结合作为提示,然后使用LLM生成多个候选子目标计划。随后,他们采用重新排序模型从这些候选方案中选择最合适的计划。有些工作促使LLM以思维链的形式输出其思维过程和结果,或者将LLM推理的中间结果反馈到LLM中进行进一步推理。例如,张等人首先引导模型通过基于给定上下文的多轮对话来生成思想链。随后,他们将上下文与生成的思维链结合起来形成样本,然后用于辅助模型在新的上下文情况下进行推理和预测。阿库雷克等人提出了一个包括两个LLM的多智能体协作系统。一个LLM负责根据输入内容生成答案,而另一个LLM则根据第一个LLM的输入和输出生成文本评论,以协助纠错。长期记忆是指存储在外部存储系统中的信息,当人工智能代理使用此记忆时,它们可以从外部存储中检索与当前上下文相关的信息。长期记忆的利用可分为三个步骤:信息存储、信息检索和信息更新。 信息存储旨在存储智能体与其环境之间交互的基本信息。例如,舒斯特等人首先生成最后一次交互的摘要。如果生成的摘要是“无角色”,则不存储它;否则,摘要信息将存储在长期存储器中。梁等人存储代理与环境之间交互的相关信息。最后一次交互的信息存储在闪存中以便快速检索。其余信息作为长期记忆存储在动作记忆中。信息检索旨在从长期记忆中检索与当前上下文相关的信息,以协助智能体执行任务。信息更新的目的是更新存储的长期记忆。例如,钟等人设计了一种基于艾宾浩斯遗忘曲线的遗忘机制来模拟人类长期记忆的更新过程。
3.4.工具使用
LLM在涉及最新信息、计算推理等的某些场景中仍然未能取得令人满意的性能。例如,当用户询问“奥本海默的全球首映在哪里?”时,ChatGPT 无法回答这个问题,因为电影“奥本海默”是最新信息,并未包含在 LLM 的训练语料中。为了弥补这些差距,许多人致力于将LLM与外部工具集成以扩展其功能。一些作品旨在将 LLM 与特定工具集成,例如网络搜索、翻译、计算器和 ChatGPT2 的一些插件。其他一些工作考虑教导LLM选择合适的工具或组合各种工具来完成任务。例如,Karpas等人实现了一个名为 MRKL 的系统,该系统主要由语言模型、适配器和多个专家(例如模型或工具)组成,其中适配器用于选择合适的专家来辅助语言处理输入请求的模型。Parisi等人设计了一种迭代自对弈算法,通过微调 LM 来帮助 LM 学习如何利用外部 API。在自我对弈中,他们首先使用一些样本对 LM 进行微调,然后利用它来生成工具输入,以调用工具 API 来生成结果,然后使用 LM 来推断答案。如果参考答案与黄金答案相似,则将任务输入和预测结果(即工具输入、工具结果和预测答案)附加到语料库集合中,以便在下一轮中进一步微调和迭代。
4.应用
随着强化学习的兴起,人工智能领域出现了许多基于强化学习和博弈策略的著名人工智能智能体,例如 DeepMind 于 2014 年推出的围棋智能体 AlphaGo。 ,OpenAI 在 2017 年推出了用于玩 Dota 2 游戏的 OpenAI Five,DeepMind 宣布推出用于玩星际争霸 II 的 AlphaStar近期,ChatGPT的出现,让AI智能体再次活跃起来。基于LLM的代理也不断涌现。本文重点关注最新的基于LLM的AI Agent应用,从聊天机器人、游戏、设计、研究、编码、协作和通用目的,如表 1 所示。
5. 基准测试
为了评估基于LLM 的人工智能代理的性能,一些工作侧重于设计更合适的基准。例如,Valmeekam 等人重点评估LLM的规划能力,这是人工智能代理的关键组成部分。Liu 等人设计了一个基于 WebShop 和 HotPotQA 环境的基准测试。他们的目标是比较配备不同 LLM 的多个代理架构的性能。Li 等人构建了一个名为 API Bank 的基准来评估LLM使用工具的能力。Fan等人 提出了一种基于 Minecraft 的模拟器来评估开放式实体代理的性能。Xu等人设计了一个名为 GentBench 的基准,由公共部分和私有部分组成,旨在综合评估智能体的表现。具体来说,GentBench 包括一系列复杂的任务,促进LLM采用外部工具来应对这些挑战。 Banerjee等人引入了一种端到端基准测试,通过将生成的答案与黄金答案进行比较来评估基于 LLM 的聊天机器人的性能。Lin等人提出了一种基于任务的评估方法,该方法根据智能体在交互环境中完成任务来评估智能体的能力。Liu等人引入了一个名为 AgentBench 的多维基准,用于评估 LLM 跨多个环境的性能。
6. 结论
论文对LLM代理人进行了全面、系统的调查。论文首先介绍了基于LLM的智能体与传统方法的区别,然后从人工智能智能体的组成和应用角度回顾了相关工作。此外,论文还探讨了一些需要解决方案和有价值的研究方向的紧迫问题。随着LLM的发展,越来越多的研究注意力转向人工智能代理领域,导致大量新技术和新方法的出现。这篇综述旨在帮助读者快速掌握人工智能代理的关键信息和应用,并为未来的研究方向提供见解。