PlanGenLLMs: A Modern Survey of LLM Planning Capabilities¶
| 会议 | arXiv | 代码 | 领域 | 关键词 |
|---|---|---|---|---|
| ACL 2025 | 2502.11221 | GitHub | llm_nlp | LLM Planning, Survey, Planning Evaluation, Agentic Workflow, Task Decomposition |
一句话总结¶
首篇基于经典规划理论 (Kartam & Wilkins 1990) 提出六维评估框架(完整性、可执行性、最优性、表示、泛化性、效率)的 LLM 规划能力综述,系统梳理了从任务分解到搜索算法的基础范式,并指出多智能体规划、幻觉、人类偏好对齐等关键未解决方向。
研究背景与动机¶
领域现状:LLM 在规划任务上展现出巨大潜力,已被广泛应用于 Web 导航、旅行规划、数据库查询、机器人操作等领域。大量研究探索了将 LLM 用于各种规划任务,从简单的步骤分解到复杂的多步决策。
现有痛点:现有 LLM 规划系统存在三个关键问题:(1) 大多数系统针对特定问题定制,难以跨领域比较不同规划器的优劣;(2) 缺乏清晰一致的评估标准,不同论文使用不同指标和数据集,无法公平对比;(3) 先前综述(如 Huang et al. 2024、Li et al. 2024)仅从方法分类或评估基准角度切入,缺乏系统性的性能评估维度。
核心矛盾:LLM 规划研究快速增长与评估体系碎片化之间的矛盾——研究者难以回答"针对新任务应该选择哪种规划方法"这一核心问题,因为缺乏统一的性能评估框架来衡量不同方法在不同维度上的表现。
本文目标 (1) 建立一套源自经典 AI 规划理论的统一评估体系;(2) 对现有 LLM 规划方法进行全面系统的分类和分析;(3) 识别当前研究的关键空白和未来方向。
切入角度:作者回溯到 1990 年 Kartam & Wilkins 的经典规划评估框架,将其中关于性能、表示和通信的评估维度重新适配到 LLM 时代,提出六个关键性能标准。这种"站在经典基础上看新问题"的视角比纯粹从方法论角度分类更具理论深度。
核心 idea:用经典 AI 规划理论的六维评价框架(完整性、可执行性、最优性、表示、泛化性、效率)统一衡量 LLM 规划能力,为碎片化的研究领域提供系统性的比较基准。
方法详解¶
整体框架¶
本文是综述论文,核心贡献是提出一个结构化的分析框架。整体组织为:基础范式(§2)→ 六个性能维度逐一分析(§3-§8)→ 评估方法与指标(§9)→ 未来方向(§10)。每个维度下详尽分析代表性工作的优劣。
关键设计¶
-
四种基础规划范式:
- 功能:定义 LLM 规划的基础方法论
- 核心思路:(a) 任务分解——将抽象目标分解为具体子目标,支持顺序、并行、异步三种模式(如 DEPS、ADaPT 递归分解直到可执行);(b) LLM+经典规划器——LLM 负责将自然语言转为 PDDL 等形式表示,经典求解器(如 Fast Downward)保证正确性;(c) 搜索算法——将规划视为搜索问题,用 BFS/DFS/MCTS 等算法系统探索,由 LLM 提供扩展和评估(如 Tree of Thought、RAP);(d) 微调——在规划专用或通用 Agent 数据上微调 LLM 参数
- 设计动机:覆盖了从纯提示到参数更新、从端到端到混合系统的完整方法谱
-
六维性能评估标准:
- 功能:提供统一的 LLM 规划器评估体系
- 核心思路:
- 完整性 (Completeness):规划器能否生成正确规划(达到目标状态)+ 识别不可达目标(即使 GPT-4 和 O1 在识别不可达目标上仍因幻觉严重失败)
- 可执行性 (Executability):生成的规划能否在给定环境中执行,包括对象落地、动作落地、采样-过滤、闭环系统四种保障手段
- 最优性 (Optimality):能否找到最优(而非仅可行)的规划,LLM+优化器 和 A* 搜索 是两种主要范式
- 表示 (Representation):输入输出的格式(自然语言 vs PDDL vs Python),LLM 对提示格式高度敏感
- 泛化性 (Generalization):能否迁移到更复杂的域外场景,通过微调、泛化规划、技能库三种途径提升
- 效率 (Efficiency):减少 LLM 调用次数、缩短输入输出长度、使用更小模型
- 设计动机:经典 Kartam & Wilkins 1990 评估框架的现代化适配,每个维度正交且互补
-
评估体系全景分析:
- 功能:梳理数据集、评估方法和指标的完整生态
- 核心思路:将数据集分为规划专用(Embodied、调度、游戏、任务分解)和下游任务(推理、工具使用、编程、Web)两大类;评估方法分为验证器验证、人工评估、LLM-as-Judge 三种;指标覆盖成功率、目标条件召回率、可执行率、最优率等
- 设计动机:为研究者选择评估方案提供清晰指南
实验关键数据¶
方法覆盖统计¶
本文作为综述,核心数据体现在覆盖的文献和分类统计上:
| 维度 | 代表性方法数 | 关键发现 |
|---|---|---|
| 任务分解 | 6+ (DEPS, ProgPrompt, ADaPT...) | 递归分解在长期规划中效果最好 |
| LLM+经典规划器 | 7+ (LLM+P, LLM-DP, SimPlan...) | 保证正确性但依赖形式化翻译质量 |
| 搜索算法 | 9+ (ToT, RAP, LATS, MCTS...) | 系统性探索但计算开销大 |
| 微调 | 6+ (RobLM, Agent-FLAN, ETO...) | 通用Agent微调优于规划专用微调 |
性能标准-方法对照¶
| 性能标准 | 主要挑战 | 当前最佳实践 | Gap |
|---|---|---|---|
| 完整性 | LLM 无法识别不可达目标 | LLM+经典求解器 | GPT-4/O1仍严重幻觉 |
| 可执行性 | 动作/对象不匹配 | 闭环系统+反馈 | 开销大,隐式vs显式修复未统一 |
| 最优性 | 找最优而非可行解 | A*搜索+LLM启发式 | 需要可采纳启发式,难保证 |
| 表示 | 格式选择影响大 | Python>NL>PDDL (部分实验) | 缺乏系统性格式对比研究 |
| 泛化性 | 域外迁移 | 技能库+泛化规划 | 仅 VOYAGER 等少数工作探索 |
| 效率 | Token消耗过大 | 一次性生成+前缀合并 | 搜索方法仍需大量重复查询 |
关键发现¶
- LLM 独立规划能力不足:多项研究(Valmeekam et al. 2023、Kambhampati 2024)表明 LLM 单独作为规划器时表现不佳,与经典规划器结合是更可靠的选择
- 幻觉是核心瓶颈:即使顶级 LLM 也无法可靠识别不可达目标,生成不存在的动作和对象
- 微调的双刃剑:规划专用微调可能损害通用能力,通用 Agent 微调(如 Agent-FLAN)效果更好
- 表示格式被忽视:大多数研究默认用自然语言,但 Python 格式在部分任务上表现更优,这一方向研究严重不足
亮点与洞察¶
- 经典理论的现代复活:将 1990 年的评估框架适配到 LLM 时代,这种"站在巨人肩膀上"的做法既有理论深度又有实用价值,为碎片化的研究领域提供了统一语言
- 正交性设计:六个维度之间的正交关系清晰(如可执行性与完整性正交——一个可执行的规划不一定正确,反之亦然),这种精确区分有助于研究者理解问题的多面性
- 闭环系统的隐式vs显式分类:将闭环修复分为隐式(只修失败步骤)和显式(重新生成整个规划)两类,前者高效但错误可能累积,后者开销大但更鲁棒,这一分类对实践有直接指导意义
- 搜索算法四组件分解:将搜索方法统一分解为搜索策略、扩展、世界模型、评估四个组件,方便对比不同方法的设计选择
局限与展望¶
- 综述的覆盖偏差:主要聚焦单智能体场景(机器人、家务、Web任务),对多智能体规划、自然科学、IoT 等新兴领域覆盖不足
- 缺乏定量横向对比:虽然分析了各方法的优劣,但未在统一基准上做定量实验对比不同方法
- 安全性和个性化缺失:仅在讨论部分简要提及安全性和个性化规划,未深入分析
- 未来方向的具体可操作性不足:识别了多智能体规划、幻觉等方向,但缺乏具体的解决路线图
- 时效性:2025年2月提交,未覆盖后续快速发展的 Agent 框架(如更新的 OpenAI Agent SDK 等)
相关工作与启发¶
- vs Huang et al. (2024) 综述: 他们从方法论(分解、选择、反思、记忆)角度分类,本文从性能评估维度切入,更关注"怎么评"而非"怎么做",两者视角互补
- vs Li et al. (2024d) LASP 综述: 他们侧重评估基准的分类,本文在此基础上提出统一的性能标准框架
- vs Kambhampati et al. (2024) "LLMs Can't Plan": 他们提出 LLM-Modulo 框架认为 LLM 不能独立规划,本文的分析支持这一观点并提供了更全面的证据
- 对当前 Agent 研究有重要启示:六个评估维度可直接用于评估 Agent 系统的规划模块质量
评分¶
- 新颖性: ⭐⭐⭐⭐ 六维评估框架的系统性是亮点,但综述本身方法创新有限
- 实验充分度: ⭐⭐⭐ 综述论文无自有实验,但文献覆盖全面
- 写作质量: ⭐⭐⭐⭐⭐ 结构清晰,分类学展示专业,文献组织有条理
- 价值: ⭐⭐⭐⭐ 对 LLM 规划研究者和 Agent 开发者有较高参考价值