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 的运行类似下棋,每一步都有多种走法。它包含四个核心要素:
思维分解:将大问题拆解为中间步骤(思维节点)。
思维生成:在当前步骤,让 LLM 生成 $k$ 个可能的后续想法。
状态评估:让 LLM 充当"裁判",给每个新想法打分(Value)或分类(Sure/Likely/Impossible)。
示例提示词:"分析以上 3 个方案的可行性,给出 0-1 的评分。"
搜索算法:
BFS (广度优先):每一步都看所有可能性,保留最好的 $b$ 个(集束搜索)。适合步骤较少但每一步都很关键的任务(如创意写作)。
DFS (深度优先):顺着一条路推到底,不行就回溯。适合有明确终点的逻辑解谜(如 24 点游戏、代码生成)。
图 2-2:思维树搜索过程可视化
2.2.3 思维图: 任意拓扑结构
思维图 (GoT)认为树结构仍然是一个限制。在某些场景下,思维需要聚合和循环。
核心操作:GoT 将 LLM 的推理单元作为图的节点,并通过边连接。相比 ToT,它增加了以下能力:
聚合:将多个思维节点的输出合并。
场景:写一篇文章,先生成 3 个段落(3 个独立节点),然后总结这 3 段生成结论(聚合节点)。
细化:对同一个节点进行循环迭代优化。
场景:写一段代码,运行报错,将错误信息反馈回当前节点重新生成(自我循环)。
GoT 的灵活性使得它可以模拟各种人类思维模式,如头脑风暴(发散)、归纳总结(聚合)和迭代修改(循环)。
2.2.4 骨架思维: 并行推理加速
前两种算法旨在提升 质量,而 骨架思维 (SoT)旨在提升速度。
传统的 CoT 是串行的:想完第一步,才能想第二步。这导致长文本生成的延迟极高。SoT 模仿人类写大纲的习惯:
骨架阶段:先让 LLM 生成任务的简要大纲(骨架)。
逐点扩展阶段:并行地让 LLM 同时扩写大纲中的每一个点。优势:通过并行生成,SoT 可以将长文生成的端到端延迟显著降低,且逻辑结构往往更加清晰。
2.2.5 算法选择指南
在设计智能体时,如何选择任务分解算法?
ToT
树状搜索
准确率高,能回溯
Token 消耗极大,慢
复杂逻辑、数学证明、代码生成
GoT
图状网络
极其灵活,支持聚合
实现复杂,调度难
创意写作、多文档摘要
SoT
并行扩展
速度极快
细节一致性稍弱
文章撰写、报告生成
下一节: 2.3 ReAct:推理与行动的统一
Last updated
