链载Ai

标题: Agent技术解读:Planning(规划)模块 [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: Agent技术解读:Planning(规划)模块
引言

继续介绍Agent系统中另一个核心组件:规划,Planning


去年的Agent综述文章《大模型智能体 LLMAgent》提到了:

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">重要性不言而喻。

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);">

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);">

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">Agent系统由多个组件构成,规划、记忆和工具使用等

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">Agent=LLM+ Planning + Feedback + Tool use

上次,文章《Agent技术解读:Memory记忆模块》中介绍了Memory记忆模块的基本构成、原理和实现方法,这次介绍下更核心的规划Planning模块。


(1)什么是Planning?

Planning 指

任务分解的典型实现方案是 CoT(Chain of thought)和 ToT(Tree of thoughts)。

一项复杂任务包括多个子步骤,智能体需要提前将任务分解,并进行规划。

规划模块分类


上面的解析简单,不够全面,有没有更加详细的分析?

【2024-2-5】中科大对Agent的Planning方法做了深入分析、归类和总结:


下面简要介绍下论文要点。


(2)Planning 古今对比

传统Planning工作主要依赖符号方法或强化学习方法, 比如 领域定义语言PDDL(Planning Domain Definition Language)

这类方法存在若干不足:


大型语言模型(LLM)标志着一个范式转变。LLM在多个领域取得了显著成功,在推理、工具使用、规划和指令跟随方面表现突出。

这种智能为将LLM作为代理的认知核心提供了另一种可能性,有潜力提高规划能力。

(3)LLM Planning方法

论文提出新颖的分类法,将现有 LLM-智能体规划方法分成了五大类:任务分解多计划选择外部模块辅助规划反思与细化以及记忆增强规划

这些方法并不孤立,相互交织,共同提升智能体的规划能力。

表格对比各种方法


(3.1) 任务分解


任务分解 (Task Decomposition) 两个关键步骤:


任务分解方法分为两类:



① 分解优先

“分解优先” 把所有拼图碎片按颜色或形状分类,然后再逐个拼起来。


案例

② 交错分解

“交错分解”: 一边分解任务,一边制定计划,边拼图边调整拼图碎片位置。


案例: 类似于ReAct, COT, POT都可以归类到这个范畴中。

CoT

思维链(Chain of Thought, CoT) 是一种 prompt 方法,通过编写每步推理逻辑(推理链),解决复杂问题。

COT 已然成为「诱导模型推理」的标准提示技术,可以增强解决复杂任务时的模型性能。

具体可用 Zero-shot 和 Few-shot 的 COT

Zero-shot COT 的实现分为两步:


总结


尽管任务分解显著提高了智能体解决复杂任务能力,但挑战依然存在。

所以,任务分解给智能体的一本“任务攻略”,教它如何一步步解决问题。

未来的研究,或许能找到更高效、更可靠的任务分解方法,让智能体在面对复杂任务时更加游刃有余。


(3.2) 多计划选择


多规划选择 (Multi-Plan Selection)

由于任务复杂性和 LLM固有的不确定性,给定任务,LLM代理可能会生成多种不同的规划。

如何让机器像人类一样,面对复杂任务时,能够生成多种可能解决方案,并从中选择最优的计划呢?

这正是“多计划选择”(Multi-Plan Selection)要解决的问题。

智能Agent面对复杂问题,可能会生成多个计划。但是,这些计划可能各不相同,甚至有些可能根本不可行。

怎么办?多计划选择, 两个主要步骤:多计划生成最优计划选择

多计划选择理论上很美,却面临着一些挑战。

多计划生成

头脑风暴阶段尽可能多地提出解决方案。

主流方法利用生成模型在解码过程中的不确定性,比如通过温度采样top-k采样获得多个不同推理路径。

多规划生成涉及利用生成模型解码过程中的不确定性,通过不同采样策略来产生多个候选规划。

最优计划选择

最优计划选择阶段,Agent 从多个候选计划中选择一个最好。

候选规划中选择最优规划时,采用了多种启发式搜索算法, 比如 简单的多数投票策略,或者利用树结构来辅助多计划搜索

案例

思考


(3.3) 外部规划器


外部规划器辅助规划 (External Planner-Aided Planning)

语音助手解决问题时,常常面临一些复杂环境约束, 单纯的LLM可能就会有点力不从心

尽管LLM在推理和任务分解方面展现出了强大的能力,但在面对具有复杂约束的环境时,例如数学问题求解或生成可执行动作,仍然面临挑战。

根据引入的规划器类型,分为两类:

External Planner-Aided Planning,整体略复杂,很少会用到

虽然, LLM 在推理和任务分解方面展现出了强大的能力,但在面对复杂约束的环境时,借助外部规划器的规划方法显得尤为重要。LLM在这里主要扮演辅助角色,其主要功能包括解析文本反馈,为规划提供额外的推理信息,特别是解决复杂问题时。

这种结合统计AI和LLM的方法,有望成为未来人工智能发展的主要趋势。

① 基于符号

符号规划器一直是自动规划领域的基石

基于明确的符号化模型

符号规划器代表工作:

规划过程中,提出的计划可作为局部搜索规划器的初始启发式解,加快搜索进程。

② 基于神经网络

神经规划器是深度模型,通过强化学习模仿学习技术在收集的规划数据上训练,表现出在特定领域内有效的规划能力。

问题复杂且少见时,这些小模型可能因训练数据不足而表现不佳。

有些研究将LLM与轻量级神经网络规划器结合起来,以进一步提升规划能力。

神经规划器代表工作:

思考


(3.4) 自我反思


自我反思自我修正(Reflection and Refinemen)

为什么要反思和修正?

自我反思让自主智能体改进过去的行动决策、纠正之前的错误来迭代改进,在可以试错的现实任务中非常有用。

反馈和改进是规划过程中不可或缺的组成部分,增强了LLM Agent 规划的容错能力和错误纠正能力。

如何反思、修正?

案例

挑战

LLM通过自我反思和修正,不仅能够提高自身的容错能力和错误纠正能力,而且还能在复杂问题规划中表现得更加出色。

思考

• 自我反思策略类似于强化学习的原则,其中代理作为决策者,环境反馈触发策略网络的更新。然而,与深度强化学习通过修改模型参数来更新不同,在LLM代理中,这种更新是通过LLM自身的自我反思来实现的,最终形成文本形式的反馈。

• 这些文本反馈可以作为长期和短期记忆,通过提示影响代理后续的规划输出。然而,目前还没有确凿的证据证明这种文本形式的更新最终能够使LLM代理达到特定目标。


(3.5) 记忆增强


记忆增强规划 (Memory-Augmented Planning)

记忆是提升规划能力的关键, 帮助代理从经验中学习并适应新情境。

通过记忆来增强 LLM-Agents 规划能力的方法:RAG记忆参数记忆

① RAG 记忆

RAG,检索增强生成,用检索到的信息来增强LLM最新知识。

把过去的经验存储在记忆中,需要时检索出来。

RAG-based Memory(基于RAG的记忆):

这些记忆通常以文本表格形式或知识图谱等形式存储。

案例

② 参数记忆

参数记忆通过微调LLM,将 Agent历史经验样本嵌入到模型参数中。

Embodied Memory(体现记忆):

这些经验样本通常来自Agent与环境的交互,可能包括关于环境的常识知识、与任务相关的先验知识,以及成功或失败的经验。

虽然微调一个大参数的模型成本很高,但通过PEFT,可以通过只训练一小部分参数来降低成本并加快速度。

思考

两种方法都有优势和局限性。

记忆更新方式:

总结


这部分内容详情参考上一篇文章:《Agent技术解读:Memory记忆模块》


(4)规划能力评估


如何评估 (Evaluation) 代理的规划能力?

几种主流基准测试方法:






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5