2.2 任务分解与规划算法

2.1 节 中,介绍了思维链如何通过线性推理解决问题。然而,面对极其复杂的任务,单向的线性思维往往不够用。需要更强的结构化思考能力,这就是复杂任务分解算法的用武之地。

如果说思维链是"一条路走到黑",那么本节介绍的算法则是"在迷宫中寻找最优解"。

2.2.1 为什么线性推理不够

当人类面对难题(如"如何将一家初创公司从0做到1")时,思维过程从来不是线性的:

  • 发散:提出多个方案 A、B、C。

  • 评估:觉得 B 方案风险太大,排除掉。

  • 回溯:试了 A 方案发现行不通,退回来尝试 C 方案。

  • 合并:发现 A 的优点和 C 的优点可以结合。

标准的思维链只能进行"流式生成",缺乏这种回溯、评估和整合的能力。因此,研究人员提出了更高级的拓扑结构来组织模型的思维。

2.2.2 思维树: 引入搜索算法

**思维树 (ToT)**由 Princeton 和 Google DeepMind 提出,它将推理过程建模为一棵树。核心机制:ToT 的运行类似下棋,每一步都有多种走法。它包含四个核心要素:

  1. 思维分解:将大问题拆解为中间步骤(思维节点)。

  2. 思维生成:在当前步骤,让 LLM 生成 $k$ 个可能的后续想法。

  3. 状态评估:让 LLM 充当"裁判",给每个新想法打分(Value)或分类(Sure/Likely/Impossible)。

    • 示例提示词:"分析以上 3 个方案的可行性,给出 0-1 的评分。"

  4. 搜索算法

    • BFS (广度优先):每一步都看所有可能性,保留最好的 $b$ 个(集束搜索)。适合步骤较少但每一步都很关键的任务(如创意写作)。

    • DFS (深度优先):顺着一条路推到底,不行就回溯。适合有明确终点的逻辑解谜(如 24 点游戏、代码生成)。

spinner

图 2-2:思维树搜索过程可视化

2.2.3 思维图: 任意拓扑结构

思维图 (GoT)认为树结构仍然是一个限制。在某些场景下,思维需要聚合循环

核心操作:GoT 将 LLM 的推理单元作为图的节点,并通过边连接。相比 ToT,它增加了以下能力:

  1. 聚合:将多个思维节点的输出合并。

    • 场景:写一篇文章,先生成 3 个段落(3 个独立节点),然后总结这 3 段生成结论(聚合节点)。

  2. 细化:对同一个节点进行循环迭代优化。

    • 场景:写一段代码,运行报错,将错误信息反馈回当前节点重新生成(自我循环)。

GoT 的灵活性使得它可以模拟各种人类思维模式,如头脑风暴(发散)、归纳总结(聚合)和迭代修改(循环)。

2.2.4 骨架思维: 并行推理加速

前两种算法旨在提升 质量,而 骨架思维 (SoT)旨在提升速度

传统的 CoT 是串行的:想完第一步,才能想第二步。这导致长文本生成的延迟极高。SoT 模仿人类写大纲的习惯:

  1. 骨架阶段:先让 LLM 生成任务的简要大纲(骨架)。

  2. 逐点扩展阶段并行地让 LLM 同时扩写大纲中的每一个点。优势:通过并行生成,SoT 可以将长文生成的端到端延迟显著降低,且逻辑结构往往更加清晰。

2.2.5 算法选择指南

在设计智能体时,如何选择任务分解算法?

算法
核心特征
优点
缺点
适用场景

CoT (2.1节)

线性链

简单、低成本

无法纠错,易跑偏

通用简单指令

ToT

树状搜索

准确率高,能回溯

Token 消耗极大,慢

复杂逻辑、数学证明、代码生成

GoT

图状网络

极其灵活,支持聚合

实现复杂,调度难

创意写作、多文档摘要

SoT

并行扩展

速度极快

细节一致性稍弱

文章撰写、报告生成


下一节: 2.3 ReAct:推理与行动的统一

Last updated