大模型驱动的任务规划

前沿 学习范式 kp-307 LLM规划SayCanVoxPoserTAMP技能库

一句话定义

LLM 任务规划路线把大模型当作机器人的"语义大脑":理解自然语言指令、分解任务、调用技能库(每个技能是一个已训练好的策略或运动原语),并闭环利用环境反馈修正计划——它不需要 LLM 直接输出关节动作。

为什么重要

  • 在 VLA 成熟之前(以及现在与之并行),这是"让机器人听懂人话并干活"最工程可落地、最可解释的路线:每一步都可读、可调试、可审计。
  • 它揭示了分层系统的正确分工:LLM 提供常识与任务分解(kp-003 的认知层),下层模型提供物理可行性——接地(grounding)是这个架构的成败关键。
  • 理解它才能读懂大量"LLM+机器人"论文的产品逻辑,也能看清它与 VLA 路线的真实差异。

前置知识

kp-003 闭环分层;Prompt 基础。

核心概念

技能库(Skill Library):预先定义/训练的一组可调用能力:pick(obj)、place(loc)、open(door)、navigate(room)。LLM 只负责"何时调用哪个、参数是什么"。

接地(Grounding)三件套:

  1. 可行性接地: SayCan(2022)——LLM 给出"语义上有用"的候选步骤打分,同时用值函数(value function)评估"机器人实际做得到吗",两者相乘选出既合理又可行的下一步。名字即主旨:What you can say matters less than what you can do(说到不如做到)。
  2. 空间接地: VoxPoser(2023)——LLM 写代码合成 3D 体素价值图("这附近是吸引区/排斥区"),直接给运动规划提供连续空间约束,绕开"LLM 输出坐标不可靠"的问题。
  3. 状态接地/闭环: Inner Monologue(2022)——把成功检测、场景变化等反馈以自然语言回灌 LLM,触发重规划("杯子没拿起 → 换个抓法")。

代码即策略: Code as Policies(2023)——LLM 生成 Python 代码表达参数化策略(循环、递归、空间数学),一次生成可执行程序而非逐步指令。

与经典 TAMP 的关系:任务与运动规划(Task and Motion Planning)几十年的核心难题是符号-连续混合搜索;LLM 用"学来的常识先验"替代了部分搜索,但可行性验证仍需经典方法(几何检查、IK 求解)。

原理与机制

典型闭环(SayCan 式,工程化改良版):

用户指令:"把苹果放进冰箱"
   ▼
LLM(+提示词:技能清单、环境描述、对话历史)
   ▼  生成候选步骤序列
[找苹果] → [走向苹果] → [pick(apple)] → [navigate(fridge)] → [open(fridge)] → [place(fridge)]
   ▼  每步并行评估:LLM 语义分 × 技能成功率分
   ▼  低层执行当前技能(策略/规划器),同时监测
   ▼  执行反馈回灌(成功?物体掉了?门被挡?)
   └──► 失败则重规划(Inner Monologue 式)

为什么 LLM 不能直接当 VLA 用(工程视角):LLM 的输出节奏是秒级、token 级,无法产生 50 Hz 连续控制;且其对物理空间的量化想象不可靠("10 厘米"经常不是 10 厘米)。因此正确用法是"出主意不出手"。

技能本身从哪来:手写运动原语(力控插孔)、BC/RL 训练的策略(kp-301/206)、乃至 VLA 模型的一个调用——技能库的内涵随时代升级,LLM 层不变。

公式与图示

SayCan 的打分:$\pi(a) = \underbrace{P_{LLM}(a \mid \text{指令}, \text{历史})}_{\text{语义有用性}} \times \underbrace{V(a, s)}_{\text{物理可行性}}$

        语义层(LLM):"先拿苹果再开冰箱" 合理 ✓
                    │
        可行层(值函数/碰撞检查):"冰箱门当前打不开" ✗
                    │
        综合 = 合理 ∩ 可行 → 执行顺序被物理事实修正

直观类比

  • 工地总指挥:LLM 是拿着图纸的工程经理——懂流程会安排,但搬砖要用具体工人(技能);经理说"把梁吊过去",塔吊怎么转是塔吊师傅(运动规划)的事。
  • 外包清单:LLM 会写完美的旅行计划,但订不到票(可行性接地失败)的计划一文不值——SayCan 就是"先查有没有票再写计划"。

实例与案例

  • SayCan(Google, 2022):厨房场景 101 条指令,机器人按 LLM+值函数规划执行"擦桌子拿来可乐"等多步任务。
  • VoxPoser(2023):UI 视频中 LLM 现场合成价值图完成"绕开抽屉拔插头""拨开障碍物抓杯子"等需要空间推理的任务;开源代码被大量后续工作复用。
  • 工业落地形态:仓储机器人语音调度("把三号货架的箱子搬到打包台")、家庭助手 demo(OK-Robot, 2024:开放词汇导航+抓取,无需训练新策略)。
  • 与 VLA 合流:2024 后常见架构 = LLM 分解任务 + VLA 执行各子任务(或 VLA 直接端到端但保留 LLM 处理超长程指令)。

常见误区

  • 误区一:把"LLM 会说话"当"机器人会干活"。没有可行性接地的 LLM 规划是幻觉流水线;演示视频要看是否有真实闭环反馈。
  • 误区二:技能库越细越好。技能粒度是设计艺术:太粗("做饭")LLM 无法推理,太细(每个关节角)失去常识抽象价值。
  • 误区三:LLM 规划已被 VLA 淘汰。长程任务(kp-601)、多轮人机交互、跨技能调度上,显式 LLM 层仍是最强且最可审计的方案。

自测题

  1. SayCan 的两个乘积项分别防什么失败?各举一个失效例子。
  2. 设计"清理打翻的水"的任务分解,指出哪两步最需要空间接地。
  3. 对比"LLM+技能库"与"端到端 VLA"在可调试性、数据需求、长程能力三方面的差异。

与其他知识点的关系

延伸阅读

  • Ahn et al., Do As I Can, Not As I Say(SayCan), 2022。
  • Huang et al., VoxPoser, CoRL 2023;Inner Monologue, CoRL 2022;Liang et al., Code as Policies, ICRA 2023。
  • Garrett et al., Integrated Task and Motion Planning, 2020(经典 TAMP 综述,理解"接地"的历史纵深)。

本节引用来源

  • Ahn et al., SayCan, 2022
  • Huang et al., VoxPoser, CoRL 2023