Note
如何赋予 LLM Agent 规划能力?
整理 CoT、ToT、GoT 等规划思路及任务分解方法。
在 Agent 的设计中,“规划能力”至重要。请谈谈目前有哪些主流方法可以赋予 LLM 规划能力?(例如 CoT, ToT, GoT等)
规划能力是衡量Agent智能水平的核心指标,它决定了Agent能否有效地将复杂目标分解为可执行步骤。目前,赋予LLM规划能力的主流方法,从简单到复杂,大致可以分为以下几个层次:
-
基于提示的隐式规划 (Prompt-based Implicit Planning):
- Chain of Thought (CoT): 这是最基础的规划方法。通过在提示中加入“Let’s think step by step”,引导LLM生成一个线性的、一步接一步的思考过程。这个思考过程本身就是一种简单的计划。
- 优点: 实现简单,无需修改模型。
- 缺点: 规划是线性的,无法进行探索和回溯。一旦某一步出错,整个计划很可能失败。
- ReAct 框架: ReAct将CoT与行动结合,使得规划成为一个动态过程。每一步的“思考”都是基于前一步“观察”的重新规划,比CoT更具鲁棒性。
- Chain of Thought (CoT): 这是最基础的规划方法。通过在提示中加入“Let’s think step by step”,引导LLM生成一个线性的、一步接一步的思考过程。这个思考过程本身就是一种简单的计划。
-
基于搜索的显式规划 (Search-based Explicit Planning):
-
这类方法将规划问题形式化为一个搜索问题,通过探索不同的“思考”路径来寻找最优解。
-
Tree of Thoughts (ToT):
- 核心思想: ToT将规划过程构建为一棵“思维树”。从一个初始问题开始,LLM会生成多个不同的、并行的思考路径(树的分支)。
- 工作流程: 它采用标准的树搜索算法(如广度优先或深度优先搜索),在每一步都对当前的所有“思维节点”(叶子节点)进行评估(通常也由LLM自己打分),然后选择最有希望的节点进行下一步的扩展。
- 优点: 允许模型进行探索、评估和回溯,能解决需要深思熟虑或多路径探索的复杂问题。
- 缺点: 计算开销大,因为需要维护和评估一整棵树。
-
Graph of Thoughts (GoT):
- 核心思想: GoT是对ToT的进一步泛化。它认为思维过程不一定是树状的,而更可能是图状的。
- 工作流程: GoT允许不同的思维路径(分支)进行合并(Merge),将多个子问题的解汇集起来形成一个更复杂的解。它还允许循环(Cycle),使得思维过程可以迭代地优化和精炼。
- 优点: 提供了比树更灵活的思维结构,能够解决需要整合不同信息流或迭代改进的、更复杂的规划问题。
- 缺点: 结构和实现比ToT更复杂。
-
-
基于任务分解的规划 (Task Decomposition Planning):
- 方法: 训练或提示LLM充当一个“规划器”,将主任务显式地分解成一个依赖图或一个步骤列表。然后,另一个“执行器”LLM(或同一个LLM扮演不同角色)再去逐一完成这些子任务。
- 优点: 结构清晰,易于管理和监控任务进度。
- 缺点: 对LLM的分解能力要求很高,且预先分解的计划可能缺乏对动态变化的适应性。