DEV Community

Sanya
Sanya

Posted on

LLM 真的能「规划」吗?从 Chain of Thought 到开放世界探索

LLM 真的能「规划」吗?—— 从 Chain of Thought 到开放世界探索

当你让一个 AI 帮你「写一本书」「完成一个项目」「规划一次旅行」时,它真的在「规划」吗?本文从技术原理出发,拆解 LLM 长期规划能力的真相与局限。


一、什么是「规划」,LLM 又是怎么「规划」的?

在 AI 领域,规划(Planning) 指的是:给定一个初始状态和目标状态,系统能够生成一系列行动,使系统从初始状态转移到目标状态。

传统 AI 规划(如 STRIPS、PDDL 系统)依赖明确的符号表示和精确的状态转移模型——每一个动作的后果都是可枚举的。

LLM 的「规划」则是另一种范式:语言驱动的启发式搜索。模型并不维护一个明确的世界状态,而是通过预测「下一个最合理的文字 token」来生成行动序列。

这两种规划的本质区别:

维度 传统符号规划 LLM 语言规划
状态表示 明确的命题逻辑 隐式的语言表征
行动后果 精确的规则定义 概率性的语言预测
搜索方式 A*/MCTS 等算法 CoT/ToT 等提示工程
泛化能力 差,规则需手动定义 强,依赖大规模预训练
可解释性 高(规则透明) 低(黑盒预测)

二、推理框架:从 CoT 到 ToT 的演进

2.1 Chain of Thought:让推理过程可见

论文Wei et al., 2022, arXiv:2201.11903

Chain of Thought 的核心洞察:让模型在给出最终答案之前,先生成中间推理步骤。研究者发现,这种方法能让模型的数学推理准确率提升数倍。

为什么会有效? 可能的解释包括:

  • 中间步骤相当于增加了「计算预算」,模型在生成答案前有更多机会进行有意义的中间表征
  • 推理步骤为模型提供了更多「token 预测」的机会,降低了一次性预测长答案的错误率
  • 人类在解决问题时也使用语言作为工作记忆,CoT 激活了类似的内部工作记忆机制

但 CoT 的局限也很明显:它是一条线性路径,无法探索备选方案,也无法在发现错误时回溯。

2.2 Self-Consistency:多数投票的改进

Wang et al. (2022) 提出的 Self-Consistency 是对 CoT 的重要改进:对同一个问题,让模型生成多条不同的推理路径,然后选择出现最频繁的答案。

这相当于把 LLM 的「直觉单次采样」变成了「语言版的蒙特卡洛采样」——简单但有效,在多个推理基准上进一步提升了准确率。

2.3 Tree of Thoughts:规划即搜索

论文Yao et al., 2023, arXiv:2305.10601

ToT 将 LLM 规划问题重新定义为树搜索问题

                    问题
                   /  |  \
            分支1  分支2  分支3
             /       \       \
         延伸1-1   延伸2-1   延伸3-1   ← 探索多条路径
             \       /       /
           评估各路径,向下延伸或回溯
                     ↓
                 最终答案
Enter fullscreen mode Exit fullscreen mode

ToT 在三类任务上展现了显著优势:

  • 创意写作:多路径探索能产生更丰富的叙事选择
  • 24 点游戏:显式的搜索树使模型能找到非直观的解法
  • 填字游戏:通过部分解的评估回溯修正错误选择

关键洞察:ToT 的成功说明 LLM 的规划能力不是「有没有」的问题,而是「如何激活」的问题。通过合适的提示结构,我们可以让模型表现出远强于默认输出的规划能力。


三、开放世界探索:长程规划的真实战场

3.1 Voyager:持续学习的 Minecraft Agent

Voyager(详见另一篇文章的 Agent 部分)是长程规划研究的标志性成果。其核心挑战是:如何在没有明确任务边界的开放世界中,让 Agent 持续学习和探索。

Voyager 的三层架构本质上是一个元规划系统

  1. 任务生成器:自动生成「刚好超出当前能力范围」的任务
  2. 代码合成器:将语言描述翻译成可执行的 Minecraft 动作代码
  3. 技能库:将成功的任务解决方案存储为可复用的代码模块

这种设计的洞察是:真正的长程规划不是一次性制定完整计划,而是在子目标完成后动态重新规划。Voyager 不要求模型「一开始就知道所有步骤」,而是通过持续反馈循环逐步逼近目标。

3.2 自主目标生成:超越预设任务

当前几乎所有 Agent 系统的共同局限:任务由人类预设。用户告诉 Agent「帮我订机票」,Agent 执行。但当没有人告诉 Agent「该做什么」时,Agent 如何自主发现目标?

这是长程规划的终极挑战。Voyager 的 curriculum learning 部分解决了这个问题,但它的「目标空间」仍然是预定义的(Minecraft 中的技能树)。

开放问题:如何让 Agent 自主发现有意义的目标,而非仅仅是「执行最小化无聊」式的探索?


四、长程规划的三大瓶颈

4.1 错误累积:雪球效应

多步规划中,每一步的错误概率叠加,使得长程任务的最终成功率急剧下降。假设每步准确率 90%,10 步后的成功率仅为 34.9%。

缓解策略:

  • 检查点机制:每个子目标完成后强制验证(ReAct 的 Observation 步骤)
  • 子目标粒度控制:将任务分解为足够小的步骤
  • 失败恢复:ToT 的回溯机制允许放弃失败的路径

4.2 上下文窗口限制

Transformer 的注意力机制对输入长度有二次复杂度限制。随着任务步数增加,早期的关键信息会被「挤出」上下文窗口。

解决方案:

  • 外部记忆系统:将重要信息存储在外部向量数据库中
  • 层次化压缩:将早期步骤的高频信息压缩成语义摘要
  • 检索增强生成(RAG):动态检索相关历史信息

4.3 规划的可迁跃性

当规划执行到一半,外部环境发生变化时,Agent 如何重新规划?

一个真实场景:Agent 规划了「北京三日游」,第一天行程过半时北京宣布暴雪预警——Agent 需要快速重新评估、调整后续计划。这种规划-执行-重规划的循环对当前 Agent 系统来说仍非常困难。


五、评估长程规划能力的基准

基准 描述 关注能力
HotpotQA 多跳问答,需要多步信息检索 推理链构建
ALFWorld 文本版家务任务(拾取、放置等) 长期子目标执行
WebArena 真实网站自动化任务 开放环境中的规划
GAIA 多模态真实世界问答 综合规划能力
Minecraft 开放世界技能学习 开放目标探索

六、如何构建更强规划能力的 Agent

6.1 提示工程技巧

# 基础版(低规划能力)
"帮我策划一次日本7日游"

# 规划增强版(高规划能力)
"请作为旅行规划专家,为我策划一次东京及周边的7日游。
请按以下步骤思考:
1. 首先确认偏好:预算/旅行风格/饮食限制/体力水平
2. 将7天分解为3个阶段:到达适应→核心景点→周边探索
3. 为每天制定具体行程(上午/下午/晚上)
4. 标注每个行程的时间成本和交通方式
5. 识别潜在风险(天气/交通/预约)
请先提出问题来确认我的偏好,然后给出完整计划。"
Enter fullscreen mode Exit fullscreen mode

6.2 构建 Agent 的规划系统

┌─────────────────────────────────────────────────────┐
│                    规划控制器                         │
│  目标分解 → 子目标排序 → 执行 → 验证 → 重新规划      │
└──────────────┬──────────────────────────────────────┘
               │
    ┌──────────┴──────────┐
    │     记忆子系统        │
    │  短期(上下文)       │
    │  长期(向量存储)      │
    │  程序性(技能库)     │
    └─────────────────────┘
Enter fullscreen mode Exit fullscreen mode

七、总结:LLM 规划的真相

能力 当前水平 说明
短程推理(<5步) ✅ 可靠 CoT/ToT 效果显著
中程规划(5-20步) ⚠️ 尚可 需要外部工具辅助
长程规划(>20步) ❌ 不可靠 错误累积严重
开放目标探索 ❌ 不可靠 Voyager 等少数系统初步实现
规划修正 ⚠️ 部分可 ToT 回溯有效,但不普遍

核心结论:LLM 并不真正「理解」规划,但它能模拟规划的语言形式。通过合适的架构设计(外部记忆、工具调用、搜索增强),我们可以让 Agent 表现出令人印象深刻的长程行为。然而,真正的长程规划智能——在真实开放世界中的自主目标发现与执行——仍是一个未解决的开放问题。


参考文献

  1. Wei, J., et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903. DOI

  2. Yao, S., et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629. DOI

  3. Yao, S., et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601. DOI

  4. Wang, X., et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171. DOI

  5. Liu, S., et al. (2024). Odyssey: Empowering Minecraft Agents with Open-World Skills. arXiv:2407.15325. DOI

Top comments (0)