赞
踩
作者:李皓辰,百度人工智能高级算法工程师
声明:本文只做分享,版权归原作者,侵权私信删除!
原文:https://zhuanlan.zhihu.com/p/704354580编辑:青稞AI
该工作主要梳理了LLM-based Agent 中的规划(planning)能力。
- Paper:Understanding the planning of LLM agents: A survey
- ArXiv:https://arxiv.org/abs/2402.02716
文章中,作者将planning能力进一步细分为了五个维度:
• 任务分解(Task Decomposition)
• 规划选择(Plan Selection)
• 外部辅助规划(External Planner)
• 反馈和改进(Reflection and Refinement)
• 记忆(Memory)
• 自主智能代理:被定义为能够完成特定任务的智能实体。它们通过感知环境、规划和执行动作来实现目标。
• 规划的重要性:规划是代理最关键的能力之一,它要求代理进行复杂的理解、推理和决策过程。
• 规划任务的一般表述:在给定的时间步 ,环境表示为 ,动作空间为 ,任务目标为 ,以及在时间步 的动作为 ,规划过程可以被表达为生成一系列动作的序列:。其中, 和 分别代表LLM的参数和任务的提示。
• 传统方法的局限性:以往的工作主要依赖于符号方法或基于强化学习的方法,如规划领域定义语言(PDDL)或策略学习。这些传统方法有其局限性,例如符号方法需要将自然语言描述的问题转换为符号建模,这可能需要人类专家的努力,而且缺乏容错性。强化学习方法通常需要与环境的大量样本(交互)来学习有效策略,这在数据收集耗时或成本高昂的场景中可能不切实际。
• LLM的潜力:近年来,大型语言模型(LLM)的出现标志着一个范式的转变。LLM在多个领域取得了显著的成功,展示了在推理、工具使用、规划和指令跟随方面的重要智能。这种智能为将LLM作为代理的认知核心提供了可能性,从而有潜力提高规划能力。
• 本文工作:尽管已有调查尝试总结LLM的技术,但文献中往往缺乏对规划能力的详细分析。本调查旨在分析最新的研究工作,讨论优势和局限性,并提供对基于LLM的代理规划能力的系统性视角。
现实世界中的任务通常是复杂和多步骤的,直接通过单步规划过程来解决复杂任务是一项巨大挑战。任务分解通过将复杂任务分解为多个简单子任务,使得规划过程更加可行。
• 分解优先方法(Decomposition-First Methods):首先将任务分解为子目标,然后依次为每个子目标制定规。
• 交错分解方法(Interleaved Decomposition Methods):在任务分解和子任务规划之间进行交错,每次只揭示当前状态的一个或两个子任务。
• HuggingGPT:LLM作为控制器,负责将人类输入的任务分解为子任务,选择模型,并生成最终响应。
• Plan-and-Solve:将原始的“让我们逐步思考”转变为两步提示指令:“我们首先制定计划”和“我们执行计划”。
• ProgPrompt:将自然语言描述的任务转化为编码问题,将每个动作形式化为函数,每个对象表示为变量。
• **Chain-of-Thought (CoT)**:通过构建的轨迹指导LLM对复杂问题进行推理,利用LLM的推理能力进行任务分解。
• Zero-shot CoT:使用“让我们逐步思考”的指令,解锁LLM的零样本推理能力。
• ReAct:将推理和规划解耦,交替进行推理(思考步骤)和规划(行动步骤)。
• 分解优先方法的优势在于创建了子任务与原始任务之间的强关联,降低了任务遗忘和幻觉的风险。但需要额外的调整机制,以避免某个步骤的错误导致整体失败。
• 交错分解方法可以根据环境反馈动态调整分解,提高了容错性。但对于复杂任务,过长的轨迹可能导致LLM产生幻觉,偏离原始目标。
• 挑战:尽管任务分解显著提高了LLM代理解决复杂任务的能力,但仍存在挑战,包括任务分解引入的额外开销、时间成本和计算成本,以及LLM的上下文长度限制。
由于任务的复杂性和LLM固有的不确定性,对于给定任务,LLM代理可能会生成多种不同的规划。多规划生成涉及利用生成模型解码过程中的不确定性,通过不同的采样策略来产生多个候选规划。
• Self-consistency:采用简单的直觉,即复杂问题的解决方案很少是唯一的。通过温度采样、top-k采样等策略,获得多个不同的推理路径。
• Tree-of-Thought (ToT) :提出“采样”和“提议”两种策略来生成规划。LLM在解码过程中会采样多个规划,并通过少量示例提示生成各种规划。
• Graph-of-Thought (GoT) :在ToT的基础上增加了思想的转换,支持任意思想的聚合。- LLM-MCTS 和 RAP:利用LLM作为启发式策略函数,通过蒙特卡洛树搜索(MCTS)算法来获取多个潜在动作。
• Self-consistency:使用简单的多数投票策略,将得票最多的规划视为最优选择。
• Tree-of-Thought (ToT) :支持树搜索算法,如广度优先搜索(BFS)和深度优先搜索(DFS),使用LLM评估多个动作并选择最优动作。
• LLM-MCTS 和 RAP:也使用树结构辅助多规划搜索,但它们采用MCTS算法进行搜索。
• LLM A:利用经典的A算法协助LLM搜索,使用当前位置到目标位置的切比雪夫距离作为启发式成本函数来选择最优路径。
• 多规划选择的可扩展性显著优势在于提供了在广阔搜索空间中更广泛探索潜在解决方案的能力。
• 然而,这种优势伴随着计算需求的增加,尤其是对于具有大量token计数或计算的模型,这在资源受限的情况下尤为重要。
• LLM在规划评估中的作用引入了新的挑战,因为LLM在任务排名方面的表现仍在审查中,需要进一步验证和微调其在此特定情境下的能力。
• LLM的随机性质为选择过程增加了随机性,可能影响所选规划的一致性和可靠性。
尽管LLM在推理和任务分解方面展现出了强大的能力,但在面对具有复杂约束的环境时,例如数学问题求解或生成可执行动作,仍然面临挑战。
• 符号规划器(Symbolic Planner):基于形式化模型,如PDDL,使用符号推理来找到从初始状态到目标状态的最优路径。
• 神经规划器(Neural Planner):通过强化学习或模仿学习技术训练的深度模型,针对特定领域展现出有效的规划能力。
• LLM+P:通过结合基于PDDL的符号规划器,使用LLM将问题组织成PDDL语言格式,并利用Fast Downward solver进行规划。
• LLM-DP:特别为动态交互环境设计,将环境反馈信息形式化为PDDL语言,并使用BFS solver生成规划。
• LLM+PDDL:在LLM生成的PDDL模型中增加手动验证步骤,并提出使用LLM生成的规划作为局部搜索规划器的初始启发式解。
• LLM+ASP:将自然语言描述的任务转换为ASP问题,然后使用ASP求解器CLINGO生成规划。
• CALM:结合了语言模型和基于RL的神经规划器,使用语言模型生成候选动作,然后通过DRRN策略网络重新排序以选择最优动作。
• SwiftSage:将规划过程分为快速思考和慢速思考,快速思考通过模仿学习训练的DT模型实现,慢速思考则涉及LLM基于当前状态的推理和规划。
• 在这些策略中,LLM主要扮演支持角色,其主要功能包括解析文本反馈并提供额外的推理信息以协助规划,特别是在解决复杂问题时。
• 传统的符号AI系统在构建符号模型时复杂且依赖于人类专家,而LLM可以加速这一过程,有助于更快更优地建立符号模型。
• 符号系统的优势包括理论完备性、稳定性和可解释性。将统计AI与LLM结合,有望成为未来人工智能发展的主要趋势。
反馈和改进是规划过程中不可或缺的组成部分,它们增强了LLM代理规划的容错能力和错误纠正能力。由于LLM在规划过程中可能产生幻觉或在复杂问题上推理能力不足,导致错误或陷入“思维循环”,反思和总结失败有助于代理纠正错误并在后续尝试中打破循环。
• Self-refine:利用迭代过程,包括生成、反馈和精炼。在每次生成后,LLM为计划产生反馈,促进基于反馈的调整。
• Reflexion:扩展了ReAct方法,通过引入评估器来评估轨迹。LLM在检测到错误时生成自我反思,帮助纠正错误。
• CRITIC:使用外部工具,如知识库和搜索引擎,来验证LLM生成的动作。然后利用外部知识进行自我纠正,显著减少事实错误。
• InteRecAgent:使用称为ReChain的自我纠正机制。LLM用于评估由交互推荐代理生成的响应和工具使用计划,总结错误反馈,并决定是否重新规划。
• LEMA:首先收集错误的规划样本,然后使用更强大的GPT-4进行纠正。这些纠正后的样本随后用于微调LLM代理,从而在各种规模的LLaMA模型上实现显著的性能提升。
• 自我反思策略类似于强化学习的原则,其中代理作为决策者,环境反馈触发策略网络的更新。然而,与深度强化学习通过修改模型参数来更新不同,在LLM代理中,这种更新是通过LLM自身的自我反思来实现的,最终形成文本形式的反馈。
• 这些文本反馈可以作为长期和短期记忆,通过提示影响代理后续的规划输出。然而,目前还没有确凿的证据证明这种文本形式的更新最终能够使LLM代理达到特定目标。
记忆是提升代理规划能力的关键途径,可以帮助代理从经验中学习并适应新的情境。
• 概念:使用检索增强生成(Retrieval-Augmented Generation, RAG)技术,将记忆以文本形式存储,并在需要时检索出来辅助规划。
• 方法:如MemoryBank、TiM 和 RecMind,这些方法通过文本编码模型将记忆编码为向量,并建立索引结构,以便在规划时检索与当前任务相关的经验。
• 概念:通过微调(fine-tuning)LLM,将代理的历史经验样本嵌入到模型参数中,从而增强记忆能力。
• 方法:如CALM 和 TDT,这些方法使用从代理与环境交互中收集的数据来微调模型,使其能够记住与规划相关的信息,并在规划任务中表现更好。
• RAG-based:提供了实时、低成本的外部记忆更新,但依赖于检索算法的准确性。
• Finetuning:提供了更大的记忆容量,但记忆更新成本较高,并且在保留细节方面存在挑战。
• 记忆增强的LLM代理在规划中表现出更强的增长潜力和容错能力,但记忆生成在很大程度上依赖于LLM自身的生成能力。
• 通过自我生成的记忆来提升较弱LLM代理的能力仍然是一个具有挑战性的领域。
尽管记忆增强LLM代理在规划方面表现出优势,但它们在记忆生成上仍然面临挑战,特别是在自我生成记忆方面。
评估代理的规划能力是研究领域中的一个关键问题。作者调查了几种主流的基准测试方法,并将它们分为以下几类:
• 提供基于代理动作的实时多模态反馈,如文本和视觉反馈。
• 例如Minecraft,代理需要收集材料制作工具以获得更多奖励,常用评价指标是代理创建的工具数量。
• 代理位于用自然语言描述的环境中,动作和位置有限。
• 常用评价指标是成功率或获得的奖励,例如ALFWorld和ScienceWorld。
• 模拟人类在现实生活信息检索和推理的过程。
• 代理可以与搜索引擎和其他网络服务交互,通过搜索关键词或执行点击、前进、后退操作来获取更多信息,完成问答任务或信息检索任务。
• 模拟程序员与计算机之间的交互,测试代理解决计算机相关问题的规划能力。
• 代理需要与计算机交互,通过编写代码或指令来解决问题。
• 作者在四个基准测试上进行了实验,以验证代表性方法的性能。这些基准测试包括ALFWorld、ScienceWorld、HotPotQA和FEVER,涵盖了交互式游戏和问答基准测试。
• 实验结果显示,性能随着成本的增加而提高,表明更详细的思考(即消耗更多的token)可以带来性能上的提升。
• 另外,对于复杂任务,示例(例如Zero-shot CoT和Few-shot CoT)对于LLM进一步理解任务至关重要。
• 反思(Reflexion)在提高成功率方面发挥了关键作用,尤其是在复杂任务中,显示了LLM具备错误纠正能力。
• 现有的基准测试大多依赖于任务的最终完成状态,缺乏细粒度的逐步评估。
• 环境反馈通常是规则化的、简化的,并且与现实世界场景有距离。
• 未来的发展方向可能包括利用高智能模型如LLM来设计更现实的评估环境。
• 进展总结:自LLM展现出智能以来,使用LLM增强代理规划能力的研究受到了越来越多的关注。作者概述了主要的研究方向,并在前文中对各种方法进行了详细比较和分析。
• 实验结果:作者在四个基准测试上进行了实验,比较了几种代表性方法的有效性,并指出随着投入成本的增加,性能也随之提高。
• 挑战:尽管这些研究在规划能力上取得了增强,但仍存在一些重大挑战:
• 幻觉问题(Hallucinations):LLM在规划过程中可能会产生幻觉,导致非理性的计划或无法遵循复杂指令。
• 生成计划的可行性:与基于符号的人工智能相比,LLM在优化过程中可能难以遵守复杂约束,导致生成的计划缺乏可行性。
• 计划的效率:现有LLM代理的规划过程可能没有考虑生成计划的效率,未来的发展可能需要引入额外的效率评估模块。
• 多模态环境反馈:考虑集成多模态大型模型的发展,并重新审视相关的规划策略,以处理包括图像、音频等在内的多模态反馈。
• 细粒度评估:利用高智能模型如LLM设计更现实的评估环境,提供更细致的逐步评估,以更好地模拟现实世界场景。
备注:昵称-学校/公司-方向/会议(eg.ACL),进入技术/投稿群
id:DLNLPer,记得备注呦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。