像 GPT-4 和 Llama-3 这样的大型语言模型 (LLM) 已经席卷全球。它们可以写诗、调试代码,甚至在大学考试中取得优异成绩。但如果你让它们执行一项需要严格、循序渐进的逻辑推理任务——比如组装一件复杂的家具或规划一条物流路线——你可能会发现它们的软肋。虽然 LLM 在语言和通用知识方面技艺精湛,但在面对需要形式化、结构化规划的问题时,它们常常会表现不佳。它们可能会提出不可行的动作,忽略前一步的后果,或者无法判断目标是否已达成。
这种流畅的自然语言能力与严谨的逻辑执行间的差距,是构建机器人、自动化系统、供应链管理等现实世界应用的可靠 AI 系统的一大障碍。我们需要的不仅是“说得漂亮”的 AI,更要能生成有效且可执行的计划。
最近,来自 MIT CSAIL 和微软 AI 的研究人员在一篇论文中直面了这一问题。他们的工作《教大型语言模型规划》提出了一个名为 PDDL-INSTRUCT 的新框架,旨在让 LLM 掌握符号规划的技巧。他们并非只依赖模型的直觉,而是教它逐步进行逻辑推理,通过外部工具验证自己的思维过程,并从错误中学习。
让我们来看看他们是如何做到的。
为什么规划对 LLM 来说如此困难?
为了理解这篇论文的贡献,我们需要先建立一些基础概念。
什么是符号规划?
自动规划旨在找到一个动作序列,从初始状态到达期望的目标状态。一个规划问题可以形式化地描述为一个元组:
\[ \langle P, A, s_0, G \rangle \]- P (谓词 Predicates) : 一组可以为真或为假的事实,用于描述世界状态,例如
(on blockA blockB)
或(handempty)
。 - A (动作 Actions) : 一组可能的动作。每个动作都有*前置条件 (执行该动作前必须满足的条件) 和效果 *(执行该动作后添加或移除的事实) 。
- \(s_0\) (初始状态 Initial State) : 在开始时为真的事实集合。
- G (目标 Goal) : 期望实现的条件。
一个规划就是一个动作序列,它能将 \(s_0\) 转化为满足 \(G\) 的状态。
PDDL: 规划器的语言
为了向软件描述规划问题,研究人员使用规划领域定义语言 (Planning Domain Definition Language, PDDL) 。PDDL 形式化了:
- 领域文件 (domain file) : 定义谓词和动作——即世界的“物理规则”。
- 问题文件 (problem file) : 定义具体对象、初始状态 \(s_0\)、以及目标 \(G\)。
PDDL 的规则严苛: 每个动作都必须准确满足前置条件,效果必须严格应用。基于语言统计模式训练出来的 LLM 面对这种精确性往往吃力。它们可能会在没有先执行 (pick-up a)
的情况下尝试 (stack a b)
——而经典的符号规划器绝不可能犯这种错误。
思维链: 一线希望
思维链 (Chain-of-Thought, CoT) 提示是一项能够提升 LLM 推理任务表现的技术,即让模型逐步推理。PDDL-INSTRUCT 将这一理念进一步拓展,不仅仅是提示模型进行思维链推理,而是训练模型生成连贯、可验证且符合领域逻辑的推理链。
PDDL-INSTRUCT 内部揭秘
PDDL-INSTRUCT 是一种多阶段训练方法,用于教会 LLM 进行稳健的符号规划。其整体架构包括两个训练阶段和一个评估阶段。
阶段 1: 构建基础规划知识
阶段 1,初始指令微调,超越了普通的微调过程。LLM 在一个结构化数据集上进行训练,该数据集包含:
- PDDL 领域与问题。
- 一个规划 (可能正确,也可能错误) 。
- 一段自然语言解释,阐述该规划的有效性,或指出其缺陷。
通过提供错误示例并解释原因——例如“动作 2 失败,因为前置条件 (clear c)
未满足”——模型学会识别常见陷阱。这不仅帮助模型理解前置条件满足、效果应用和状态转移的概念,也让它习惯于用逻辑论证的语言解释规划过程。
阶段 2: 使用验证器进行思维链指令微调
真正的创新就在这里。
- 生成思维链规划: 阶段 1 微调过的模型接收一个规划问题,并以
⟨state, action, next_state⟩
三元组形式输出解决方案,明确展示状态变化。 - 外部验证: 这些三元组通过 **VAL **(经典规划验证器) 进行验证,以确保正确性。VAL 会根据形式化的领域规则检查每次状态转移。
- 反馈: VAL 返回:
- 二元反馈: “有效”或“无效”。
- 详细反馈: 失败的具体原因,例如 “规划因
(stack a b)
未满足前置条件而失败。”
- 基于反馈再训练: 模型结合自己生成的规划与 VAL 的真实反馈再次训练。该循环重复固定的迭代次数 (\(\eta\)) ,以强化逻辑合规性。
两阶段优化
阶段 2 采用精心设计的两步优化策略:
阶段 1: 推理链优化
模型首先改进单个推理步骤 (⟨state, action, next_state⟩
) 。损失函数会惩罚前置条件违规、效果传播错误或违背不变量的行为。
阶段 2: 最终任务性能优化
在单步推理精度提升后,模型进一步优化以生成完全有效的端到端规划。
这一渐进过程确保模型先精通各个构建模块,再去解决整体问题。
它有效吗?实验结果
研究团队在 Llama-3-8B 和 GPT-4 上,使用三个 PlanBench 领域测试了 PDDL-INSTRUCT:
- Blocksworld (积木世界) : 将积木堆叠成指定形态。
- Mystery Blocksworld (神秘积木世界) : 机制相同,但谓词名被混淆。
- Logistics (物流) : 用卡车和飞机协调多步骤包裹递送。
主要发现
1. 逻辑思维链指令微调的变革性 (RQ1)
在 Blocksworld 领域,Llama-3 的准确率从 **28% **(基线) 提升到 **94% **(PDDL-INSTRUCT + 详细反馈,\(\eta = 15\)) 。Logistics 从 11% 提升到 79%,Mystery Blocksworld 从 1% 提升到 64%。相较基线,平均绝对提升达到 66%,展现了引导式逻辑推理的巨大潜力。
2. 反馈质量至关重要 (RQ2)
在所有测试中,详细反馈均优于二元标签。对于 Llama-3 (\(\eta = 15\)) ,相比二元反馈,详细解释在 Blocksworld 提升 +5 个百分点,在 Mystery Blocksworld 提升 +15,在 Logistics 提升 +7。了解动作失败的原因比仅知道其失败更有价值。
3. 技能可跨域泛化 (RQ3)
尽管绝对准确率反映了领域难度 (Blocksworld > Logistics > Mystery Blocksworld) ,但准确率提升在各领域均有体现。模型学到的是可迁移的推理技能——理解并应用前置条件、效果和状态变化——而非死记领域模式。
结论: 迈向可靠的 AI 规划器
PDDL-INSTRUCT 在 LLM 强大的语言能力与符号规划严格的逻辑要求之间架起了桥梁。通过训练模型生成明确、可验证的思维链,并结合权威反馈进行优化,该框架带来了前所未有的准确率提升。
这种方法为在复杂环境中安全、可解释地部署 AI 带来新的可能。尽管并不完美,但其成功表明,类似策略有望实现最优规划、融合更高级的 PDDL 特性,甚至促进自我验证,从而降低对外部验证器的依赖。
目前看来,PDDL-INSTRUCT 已充分证明: 只要采用正确的训练方法,我们确实可以让 LLM 三思而后行,使值得信赖、以逻辑驱动的 AI 系统成为现实。