理解大语言模型智能体的规划能力:综述

前言

随着大模型的发展,如今智能体(Agent)的应用也变得越来越广泛。这篇文章对常见大语言模型的智能体应用的规划能力进行了综述性的概括。
论文链接:Understanding the planning of LLM agents: A survey

摘要

随着大语言模型(LLM)显示出显著的智能性,利用LLM作为自主代理的规划模块的进展引起了更多的关注。这篇论文系统性的介绍了基于LLM的代理规划,涵盖了近期提高规划能力的工作。对每个方向进行了全面分析,并讨论了该研究领域面临的进一步挑战。

引言

自主代理被认为是能够通过感知环境、规划和执行行动来完成特定任务的智能实体。规划作为代理最关键的能力之一,需要复杂的理解、推理和决策过程。

传统工作主要依赖于符号方法和基于强化学习(RL)的方法,如规划域定义语言或策略学习。而这些传统方法有一些局限性,符号方法需要将灵活的自然语言描述问题转换为符号建模,这可能需要人类专家的努力。通常这种方法缺乏容错性,即使只有少量错误也会导致失败。RL算法通常与作为策略网络或奖励模型的深度模型相结合。虽然RL算法通常需要大量的样本(与环境的交互)来学习有效的策略,但在手机数据耗时或成本高昂的情况下,这可能是不切实际或者是昂贵的。

近年来,大模型的出现标志着范式的转变。LLM在各个领域内如今都取得了令人瞩目的成就,在推理、工具使用、规划和指令遵循方面也展现出了显著的智能。LLM强悍的智能性解释了使用LLM作为代理的认知核心,从而提高规划能力的可能性。为了利用LLM的潜力进行代理规划,现如今已经开发出了许多方法。虽然现有的研究已经尝试总结了LLM相关的技术、推理、工具使用、自主代理技术,但往往缺乏对文献中规划能力的详细分析。这篇论文分析了最新的研究成果,并讨论了其优点和局限性,旨在为基于LLM的代理规划能力提供一个系统的视角。将现有方法进一步分为了五个具有代表性的方向,并对每个方向进行了综合分析。此外还在四个基准上测试了几种具有代表性的方法。这是第一个从规划能力中全面分析基于LLM代理的工作。

分类

随着对基于LLM的代理规划能力的研究呈现出蓬勃发展的局面,人们提出了各种方法来挖掘规划能力的上限。论文提出了一种新颖而系统的基于现有LLM的代理规划分类法,将现有工作分为了五个重要类别,包括任务分解、多方案选择、外部模块辅助规划、反思与优化以及记忆增强规划,具体内容可参照下图。
在这里插入图片描述

任务分解

在现实世界中,环境往往具有复杂性和多变性的特点,因此想要通过一步规划来处理复杂的任务是一项艰巨的挑战。将复杂问题进行简化是一种非常杰出的能力,可以将一个复杂的任务分解为若干个简单的任务,这类似于著名的“分而治之”的算法策略。任务分解一般包括两个关键步骤:首先是分解复杂任务,称为“分解”步骤‘其次是规划子任务,称为“子计划步骤”。目前这个领域的任务分解方法一般分为两类:边分解后规划和边分解边规划,具体内容可参照下图。
在这里插入图片描述

先分解后规划

先分解后规划首先将任务分解为子目标,然后依次对每个子目标进行规划,具有代表性的方法有:HuggingGPT、Plan-and-Solve和ProgPrompt等。

  • HuggingGPT利用Huggingface Hub的各种多模态模型构建了一个用于多模态任务的智能代理。为了促进不同模型之间的协作,LLM充当了控制器的作用,负责分解人类输入的任务、选择模型并生成最终响应。最关键的阶段是初始任务分解,HuggingGPT会明确指示LLM将给定任务分解为子任务,并提供任务之间的依赖关系。
  • Plan-and-Solve改进了零样本的思维链方法,将最初的“让我们一步步地思考”转变为两步提示指令:“首先制定计划”和“执行计划”,这种零样本方法提高了数学推理、常识推理和符号推理的能力。
  • ProgPrompt将任务的自然语言描述转化为编码问题。通过代码定义代理的动作空间和环境中的变量,每个动作都明确为一个函数,每个对象都表示一个变量。因此,任务规划很自然地转化为函数生成。在执行代码时,代理首先以函数调用的方式生成计划,然后逐步执行。
边分解边规划

边分解边规划包括任务分解和子任务规划两个部分,每次分解只显示当前状态下的一两个任务。这类的代表性方法有思维链(CoT)、ReAct、PAL和思维程序(PoT)等方法。

  • 思维链(CoT)方法的引入揭示了LLM的少样本学习能力,CoT引导LLM通过一些构建的轨迹对复杂问题进行推理,利用LLM的推理能力进行任务分解。随后零样本CoT通过“让我们一步步思考“这一神奇指令,解锁了LLM的零样本推理能力。
  • 与将推理嵌入到规划过程中的CoT不同,ReAct将推理和规划分开处理,在推理(思考步骤)与规划(行动步骤)之间进行切换,显著提升了规划能力。Visual ChatGPT利用ReAct的机制,将LLM作为代理的大脑,结合一系列视觉模型,赋予代理处理图像的能力。
  • PAL利用LLM的编码能力,在推理过程中引导LLM生成代码,从而改进CoT。最后,使用代码解释器(如Python)来全面执行代码,从而获得解决方案。事实证明,这种方法有助于代理解决数学和符号推理问题。
  • 思维程序(PoT)将推理过程完全形式化为编码。作者还利用针对代码训练的CodeX模型,增强了解决数学和财务问题的性能。

利弊

先分解后规划的优势在于,子任务和原任务之间的联系更加紧密,可以降低任务遗忘和幻觉的风险。而子任务在一开始就已经被固定下来,缺乏灵活调整的机制,任何一步的失误都可能会导致整体的失败。边分解边规划的方法可以根据环境的反馈来动态调整分解策略,增强模型的容错能力。如果过程太行,则可能会导致LLM产生幻觉,让后续的子任务和子规划偏离既定目标。

此外,任务分解大大增强了LLM-Agent解决复杂任务的能力,但挑战仍然存在。将一个任务分解为多个子任务需要进行更多的推理和生成,从而产生额外的时间和计算成本。另一方面,对于一些被拆分的子任务太多的高复杂性而言,规划过程会受到LLM上下文长度的限制,从而导致规划路径偏离原有路径。

多方案选择

由于任务本身的复杂性和LLM固有的不确定性,LLM-Agent为特定任务生成的计划可能多种多样。即使LLM拥有强大的推理能力,但单独生成的计划可能并不是最优的,甚至是不可执行的。更自然的方法是采用多方案选择,该过程包括两个主要步骤:多方案生成或者最优方案挑选。

多方案生成

多方案生成包括生成多条计划路径,组成候选计划集。主流的方法是考虑在生成模型的解码过程中采用不确定性。

  • Self-consistency(自洽性)采用了一个简单的直觉:复杂问题的解决方案基本不是唯一的。以产生单一路径的CoT不同的是,自洽性在解码过程中体现的策略可以获得多个不同的推理路径,如温度采样,top-k采样。
  • 思维树(ToT)提出了两种生成计划:采样和建议,采样策略与自洽性一致,即LLM在解码过程中对多个计划进行采样。这种策略明确的提示LLM通过提示中的少样本案例生成各种不同的计划。
  • 思维图(GOT)通过添加思维转换扩展了ToT,支持任意思维的聚合。
  • LLM-MCTS和RAP利用LLM作为蒙特卡洛树搜索的启发式策略函数,通过多次调用获得多种可能的行动方案。

最优方案选择

为了在候选方案中选择最优方案,采用了多种策略作为启发式搜索算法。

  • 自洽性策略通过简单的多数投票法,将得票最多的计划作为最优的选择。
  • 思维树(ToT)利用其树状结构,支持包括BFS和DFS在内的树状搜索算法,在选择节点进行扩展时,会使用LLM来评估多个操作,并选择最优操作。
  • 与思维树(ToT)类似,LLM-MCTS和RAP也采用树状结构来辅助多计划搜索,不过它们是采用蒙特卡洛树搜索算法进行搜索。
  • LLM A*利用人工智能中的经典算法来辅助LLM进行搜索,从当前位置到目标位置的切比雪夫距离作为选择最优路径的启发式代价函数。

利弊

多方案选择的可扩展性具有显著的优势,可以在广阔的搜索空间中你对潜在的解决方案进行更广阔的探索。而这一优势也伴随着固有的权衡。首先是计算需求量的增加,特别是低于具有大量token计数和额计算量的模型,带来了实际的挑战,这种成本考虑变得至关重要,尤其是在资源限制是一个重要因素的情况下,如在线服务。此外,依靠LLM评估计划也带来了新的挑战,由于LLM在排序任务重的性能仍在审查中你,因此需要进一步验证和微调其在这一特定情况下的能力。LLM的随机性增加了选择的随机性,这可能会影响所选计划的一致性和可靠性。

外部辅助模块规划

尽管大模型具有强大的推理和任务分解能力,但在面对具有复杂约束条件的环境(如数学问题结合和生成可接受的操作)时,仍会出现挑战。为了应对挑战,通常是将LLM与外部规划器结合起来。根据引入的规划器,这些方法可以分为符号规划器和神经规划器。

符号规划器

几十年来,符号规划器一直是自动规划领域的基本组成部分。这些方法是基于成熟的符号形式化模型,如PDDL模型采用符号推理来确定初始状态到期望目标状态的最优路径。

  • LLM+P通过整合基于PDDL的符号规划器,提高了LLM的规划能力。作者利用LLM的语义理解和编码能力,将问题组织成文本语言提示输入LLM。这促使LLM将环境中的操作和指定任务组织成PDDL语言的格式。随后,在获得形式化描述后,作者在规划过程中采用了Fast-Downward求解器。
  • 在LLM+P的基础上,LLM-DP专为动态交互环境而设计。接收到环境反馈后,LLM会处理信息,将其形式化为PDDL语言,然后采用BFS求解器生成计划。
  • LLM+PDDL利用PDDL语言将任务形式化,并增加了人工验证步骤,以检查LLM生成的PDDL模型是否存在潜在问题。在规划过程中,作者建议使用LLM生成的规划作为初始启发式解决方案,以加速本地搜索规划器的搜索过程,如LPG。
  • LLM+ ASP将LLM用自然语言模式的问题转化为原子事实,将任务转化为答案集编程(ASP)问题。随后使用ASP求解器CLINGO来生成计划。

神经规划器

神经规划器是利用强化学习或模仿学习技术对收集到的规划数据进行训练的深度模型,在特定领域内显示出有效的规划能力。如DRRN通过强化学习将规划过程建模为马尔科夫决策过程,训练策略网络以获得深度决策模型。决策转换器(DT)赋予转换器模型能够模仿规划数据中人类决策行为的能力。

训练有素的神经规划器在各自领域内表现出卓越的规划能力,并因其较小的参数规模而显示出优越的规划效率。而,在面对复杂且不常遇到的问题时,由于训练数据稀缺,这些小模型往往会因泛化能力不足而表现不佳。因此,一些工作探索了将LLM与轻量级的神经规划器相结合,以进一步增强规划能力。

  • CALM提出了一种将语言模型与基于强化学习的神经规划器相结合的早期方法。语言模型处理文本形式的环境信息,根据环境信息生成一组候选行动作。然后使用DRRN策略网络对这些候选行动进行重新排序,最终选出最优行动。
  • SwiftSage利用认知心理学的双重过程理论,将规划过程分为慢速思考和快速思考。慢速思考过程设计复杂的推理和理性的思考,而快速思考则类似于通过长期训练形成的本能反应。作者利用通过模仿学习训练出来的DT模型作为快速生成计划的快速思维模型。当计划执行过程中出现错误,表明存在更复杂的问题时,agent会切换到慢速思考模式,此时LLM会根据当前状态进行推理和规划。事实证明,这种快慢结合的思维方式在效率方面非常有效。

利弊

对于那些需要额外规划人员协助的策略,LLM主要发挥辅助作用。主要的功能包括解析文本反馈和提供额外的推理信息,以协助规划,尤其是在解决复杂问题时。具体来说,LLM代码生成能力的增强,使其有可能处理更多的符号人工智能任务。事实上,传统符号人工智能系统的一个重要缺点在于构建符号模型的复杂性和对人类专家的严重依赖,而LLM则可以加速这一过程,促进更快、更优化的建立符号模型。符号系统带来的优势包括理论完整性、稳定性和可解释性。统计人工智能与LLM的结合将成为未来人工智能发展的一大趋势。

反思与优化

反思和优化是规划过程中不可或缺的组成部分,它们增强了LLM-Agent规划的容错和纠错能力。由于存在幻觉问题以及对复杂问题的退了能力不足,LLM-Agent在规划过程中可能会因为反馈有限而出错或陷入“思维循环”。对失败进行反思和总结有助于agent纠正错误,并在随后的尝试中打破这种循环。

  • Self-refine利用了生成、反馈和完善的迭代过程。在每一代之后,LLM都会为计划生成反馈,以便根据反馈进行调整。
  • Reflexion对ReAct进行了扩展,加入了一个评估器来评估轨迹。LLM在检测到错误时会产生自我反思,从而帮助纠错。
  • CRITIC使用知识库和搜索引擎等外部工具来验证LLM生成的操作,然后使用外部知识进行自我修正,大大减少了事实错误。
  • InteRecAgent采用一种名为ReChain的机制进行自我修正,LLM用于评估交互式推荐代理生成的响应和工具使用计划,总结错误反馈,并决定是否重新启动计划。
  • LEMA首先收集错误的规划样本,然后使用功能更强大的GPT-4进行修正。然后利用这些经过纠正的样本对LLM-Agent进行微调,从而显著提高LLaMA模型各种规模的性能。

特别是,自我反思策略与强化学习原理相似,在强化学习中,Agent扮演决策者的角色,如政策网络。环境反馈会触发政策网络的更新。然而,与通过修改模型参数实现更新的深度强化学习不同,在LLM-Agent中,这种更新是通过LLM自身的自我反思实现的,最终能形成文字语言反馈。这些文字反馈既可以作为长期记忆,也可以作为短期记忆,通过提示影响Agent后续的规划输出。然而,这种文本形式的更新的收敛目前还缺乏有保证的证明,这表明无法证明持续的反思能最终引导LLM代理达到指定的目标。

记忆增强规划

对于Agent而言,记忆是增强规划能力和发展潜力的重要途径。关于LLM-Agent代理的记忆机制,目前主要有两种方法可以通过记忆来增强规划能力:基于检索增强生成(RAG)的记忆和嵌入式记忆。

基于RAG的记忆

RAG的技术被提出来利用检索信息辅助文本生成,能够利用最新的知识增强LLM。对于LLM-Agent来说,过去的经验可以存储在内存中,并在需要时进行检索。这些方法的核心思想是在任务规划期间从记忆中检索于任务相关的经验。在这些方法中,记忆通常存储在附加存储器中,形式也多种多样,如文本、表格、知识图谱等。

生成式Agent以文本形式存储类人代理的日常经验,并根据与当前情况的相关性和与当前情况相关性的综合分数检索记忆。同样,MemoryBank、TIM和RecMind使用文本编码模型将每段记忆编码成向量,并建立索引结构,如FAISS库。在检索过程中,对当前状态的描述被用作从记忆库中检索记忆的查询,三者的区别在于记忆更新的方式。MemGPT利用计算机架构中的多级存储概念,将LLM的上下文抽象为RAM,并将附加存储结构视为磁盘,LLM可以自发决定是检索历史信息还是将当前上下文保存到存储中。REMEMBER以Q值表的形式存储历史记忆,其中每条积累都是(environment、task、action、Q-value)元组。在检索过程中,会同时检索正面和负面记忆,以便LLM根据环境和任务的相似性生成计划。

嵌入式记忆

嵌入式记忆是指利用Agent的历史经验样本对LLM进行微调,将记忆嵌入模型参数中。经验样本通常是从agent与环境的交互中收集到的,其中可能包括关于环境的常识性知识、与任务相关的先验以及成功或失败的经验。虽然训练一个拥有几十亿参数的语言模型成本巨大,但参数高效微调(PEFT)技术只需训练一小部分参数就能降低成本并加快速度,如LoRA、QLoRA、P-tuning等。

  • CALM通过对GPT-2进行微调,使其能完成一些规划任务,同时还具有比较好的泛化能力。
  • TDT利用收集到的马尔科夫决策过程数据对文本决策Transformer(TDT)进行微调,在更具挑战性的ScienceWorld任务中取得了更好的成功率。
  • AgentTuning将来自不同任务的计划轨迹组织成对话形式,对LLaMA模型进行微调,结果显示在没有见过的计划任务上也取得了显著提高。

利弊

基于RAG和基于微调的方法虽然都可增强LLM-Agent的规划能力,这两种方法各有其独特的优势和局限性。基于RAG的方法主要通过自然语言文本提供实时、低成本的外部记忆更新。但依赖于检索算法的准确性。基于微调的方法通过修改参数提供了更大的记忆容量,但记忆更新成本较高,而且难以保存细粒度细节。

内存增强型LLM-Agent在规划中表现出更强的增长和容错性,但内存的生成在很大程度上取决于LLM的生成能力。通过自生成内存来改进较弱的LLM-Agent仍然是一个具有挑战性的探索领域。

Agent评估

Agent规划能力的评估也是该研究领域内的一个关键问题,作者调查了几种主流的基准测试方法,并将它们分为以下类型:

  • 交互式游戏环境(Interactive Gaming Environments):游戏环境可以根据agent的行动提供实时多模态反馈,包括文字和视觉反馈。如目前使用最广泛的游戏Minecraft,Agent需要收集材料来制作工具,以获得更多的奖励。由Agent创建的工具数量通常被用来作为评估指标。
  • 基于文本的交互环境(text-based interactive environments):其中Agent在自然语言描述的环境中进行定位,行动和位置有限。成功率或获得的奖励通常被用作评价指标。这些基于文本的交互环境通常较为简单,反馈直接,可行的操作较少
  • 交互式检索环境(Interactive Retrieval Environments):交互式检索环境模拟了人类在现实生活中的信息检索和推理过程。在这些环境中,agent通常被允许与搜索引擎和其他web服务进行交互,使用搜索关键字或执行点击、向前或向后操作等操作来获取更多信息,从而获得问题的答案或完成信息检索任务。常见的检索环境包括基于维基百科引擎的问答任务,Fever,以及查询特定信息的网页浏览任务,包括WebShop、Mind2Web。任务成功率通常被用作衡量指标。
  • 交互式编程环境(Interactive Programming Environments):交互式编码环境模拟程序员与计算机之间的交互,测试Agent在解决计算机相关问题时的规划能力。在这些环境中,Agent需要与计算机进行交互,通过编写代码或指令来解决问题。它们会收到各种反馈,包括编译和运行时的错误信息以及执行结果,流行的交互式编程环境涉及操作系统、数据库等相关问题,如Agent Bench、MiniWob++。

现有的交互环境大多缺乏精细的评估,主要通过最终的成功率来评估性能。此外,与现实世界场景不同,通常有多条路径来完成任务,由于标注成本较高,在大多数模拟环境中通常只有一条“黄金”路径。

实验

作者在四个基准上进行了实验,并验证了代表性作品的性能。在实验过程中主要采用了六种基于提示的方法,包括任务分解、多路径选择和反思,具体的结果如下表。
在这里插入图片描述
在基准测试方面,采用了ALFWorld、ScienceWorld、HotPotQA和FEVER,涉及互动游戏和问答基准测试。由于ALFWorld和ScienceWorld涉及较大的动作空间,因此ZeroShot-CoT由于不了解动作空间而不适用。SayCan通过将输出操作置于具有值函数的操作空间来改进CoT,但这不适用于质量保证任务,因为只有两个操作:搜索[关键字]和查找[关键字]。作者将值函数设置为文本嵌入模型bge-small-en-v1.5。对于CoT-SC的游戏任务和质量保证任务,每一步分别获得3个操作和5个答案,Reflexion中的重试次数设为1。使用OpenAI中的text-davinci-003的API作为LLM。

  1. 性能随着费用的增加而提高:由于CoTSC、ReAct和Reflexion分别涉及多个计划、额外的思考和反思,因此它们的费用超过了它们的主干方法。直观地说,更多的tokens代表了更详细的思考,从而提高了性能。
  2. 对于复杂的任务,建议使用少量案例:尽管“让我们一步步思考”能够带来更多的推理,但ZeroShot-CoT在两个QA基准测试中表现出严重的性能下降,这表明LLM有必要通过示例来进一步理解任务。
  3. 对于复杂的任务,反思在提高成功率方面起着至关重要的作用:尽管Reflexion比ReAct消耗了大约两倍的tokens,但在ALFWorld和ScienceWorld等复杂任务中的改进还是很有希望的,这表明LLM具有纠错能力。

讨论和未来方向

由于LLM限制了智能时代的到来,人们现在越来越关注利用LLM增强Agent的规划能力。作者在四个基准上进行了实验,比较了几种代表性方法的有效性,结果表明性能会随着费用的增加而增加。尽管这些工作在规划能力方面得到了改进,但仍存在一些重大的挑战。

  • 幻觉:在规划过程中,LLM经常出现幻觉,导致规划不合理、不遵守任务提示或无法遵循复杂指令。例如,计划可能包括与环境中不存在的项目交互的操作。虽然这些问题可以通过仔细的提示工程得到缓解,但还是反映了LLM的根本缺陷。
  • 生成计划的可行性:LLM本质上是基于统计学习,通过海量数据优化下一个词的概率。与符号人工智能相比,这种方法很难服从复杂的约束条件,尤其是在处理LLM训练过程中碰到的不太常见的约束条件时。因此如果不考虑充分的前提条件,LLM生成的计划可能缺乏可行性。在不改变LLM本身的情况下,将LLM与符号规划模型链接起来是一个很有前景的未来方向。
  • 生成计划的效率:生成高效计划是规划中的一个关键问题。然而,在现有的LLM Agent中,规划都是基于LLM输出生成的计划,而不考虑生成计划的效率。因此,未来的发展可能需要引入额外的效率评估模块,与LLM结合使用,以制定更高效的计划。
  • 多模态环境反馈:LLM最初是为处理文本输入而设计的,但现实世界中的环境反馈通常是多模态的,包括图像、音频等,用自然语言描述这些反馈具有挑战性。因此LLM Agent在处理此类场景时面临限制。未来的考虑可能包括整合多模态大模型的开发和重新审视相关的规划策略。
  • 细粒度评价:现有的基准测试主要依赖于任务的最终完成状态,缺乏细粒度的分布评估。此外,环境反馈通常是基于规则的、简单化的,与真实世界的场景想去甚远。未来的一个潜在方向是利用LLM这样的高智能模型来设计更真实的评估环境。
  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nlp_xiaogui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值