Note

如何赋予 LLM Agent 规划能力?

整理 CoT、ToT、GoT 等规划思路及任务分解方法。

在 Agent 的设计中,“规划能力”至重要。请谈谈目前有哪些主流方法可以赋予 LLM 规划能力?(例如 CoT, ToT, GoT等)

规划能力是衡量Agent智能水平的核心指标,它决定了Agent能否有效地将复杂目标分解为可执行步骤。目前,赋予LLM规划能力的主流方法,从简单到复杂,大致可以分为以下几个层次:

  1. 基于提示的隐式规划 (Prompt-based Implicit Planning):

    • Chain of Thought (CoT): 这是最基础的规划方法。通过在提示中加入“Let’s think step by step”,引导LLM生成一个线性的、一步接一步的思考过程。这个思考过程本身就是一种简单的计划。
      • 优点: 实现简单,无需修改模型。
      • 缺点: 规划是线性的,无法进行探索和回溯。一旦某一步出错,整个计划很可能失败。
    • ReAct 框架: ReAct将CoT与行动结合,使得规划成为一个动态过程。每一步的“思考”都是基于前一步“观察”的重新规划,比CoT更具鲁棒性。
  2. 基于搜索的显式规划 (Search-based Explicit Planning):

    • 这类方法将规划问题形式化为一个搜索问题,通过探索不同的“思考”路径来寻找最优解。

    • Tree of Thoughts (ToT):

      • 核心思想: ToT将规划过程构建为一棵“思维树”。从一个初始问题开始,LLM会生成多个不同的、并行的思考路径(树的分支)。
      • 工作流程: 它采用标准的树搜索算法(如广度优先或深度优先搜索),在每一步都对当前的所有“思维节点”(叶子节点)进行评估(通常也由LLM自己打分),然后选择最有希望的节点进行下一步的扩展。
      • 优点: 允许模型进行探索、评估和回溯,能解决需要深思熟虑或多路径探索的复杂问题。
      • 缺点: 计算开销大,因为需要维护和评估一整棵树。
    • Graph of Thoughts (GoT):

      • 核心思想: GoT是对ToT的进一步泛化。它认为思维过程不一定是树状的,而更可能是图状的。
      • 工作流程: GoT允许不同的思维路径(分支)进行合并(Merge),将多个子问题的解汇集起来形成一个更复杂的解。它还允许循环(Cycle),使得思维过程可以迭代地优化和精炼。
      • 优点: 提供了比树更灵活的思维结构,能够解决需要整合不同信息流或迭代改进的、更复杂的规划问题。
      • 缺点: 结构和实现比ToT更复杂。
  3. 基于任务分解的规划 (Task Decomposition Planning):

    • 方法: 训练或提示LLM充当一个“规划器”,将主任务显式地分解成一个依赖图或一个步骤列表。然后,另一个“执行器”LLM(或同一个LLM扮演不同角色)再去逐一完成这些子任务。
    • 优点: 结构清晰,易于管理和监控任务进度。
    • 缺点: 对LLM的分解能力要求很高,且预先分解的计划可能缺乏对动态变化的适应性。