一句话定义:自动规划(Automated Planning)是经典人工智能的一个分支:给定世界的初始状态、一组带有“前提条件”和“执行效果”的动作,以及一个目标,由程序自动推演出一串动作序列,使得从头执行这串动作之后,世界恰好满足目标。
三个零件
规划器需要三样东西。第一是状态表示:把“现在世界是什么样”写成机器能读的结构,比如“箱子 A 在桌上、箱子 B 在地上、机械臂空着”。第二是动作模型:每个动作写清楚什么时候能做(前提条件)和做完之后什么变了(效果),例如“抓起 A”的前提是“A 在桌上且机械臂空着”,效果是“机械臂抓着 A”。第三是目标:一个可以被检验的条件,比如“A 在 B 上面”。
有了这三样,规划器就在状态空间里搜索:从初始状态出发,把每个能用的动作试一遍,看推出什么新状态,一层层往外扩,直到撞上目标。更聪明的做法是反向从目标倒推,或者用启发式函数估计“离目标还有多远”,从而少走弯路。这类描述语言里比较有代表性的是 PDDL(Planning Domain Definition Language),具体语法以官方文档为准。
打个比方:规划器像一个只在地图上推演的参谋。他不亲自开车,而是把所有可能的走法摊开、剪掉走不通的,最后交给你一张写着“先左转、再上桥、然后……”的路线单。这张单子的价值在于:只要地图是对的,路线就一定到得了。
和 LLM“任务分解”的本质差别
大模型也能把“办一场线下活动”拆成十几步,看起来很专业。但它做的事情和规划器完全不同:它是在语言层面按语料中出现过的模式续写步骤,手里没有状态模型,不检查第 3 步做完之后第 4 步的前提是否成立,也无法验证拆完真能达成目标。所以它给的是草案,规划器给的是保证。
| 经典自动规划 | LLM 的任务分解 | |
|---|---|---|
| 输入 | 形式化状态、动作模型、目标 | 一段自然语言描述 |
| 依据 | 搜索、约束求解、启发式 | 语料中学到的步骤模式 |
| 输出 | 可执行的动作序列 | 读起来合理的步骤清单 |
| 正确性 | 模型正确则可证明达成目标 | 无保证,可能漏步或编造 |
| 成本 | 建模贵,开放世界难覆盖 | 上手几乎零成本,验证难 |
对从业者的意义
如果问题本身有清晰的状态和约束(排班、调度、物流路径、流水线编排、机器人操作序列、资源分配),不要只依赖大模型直接吐出正确步骤:让它生成候选方案和形式化描述,再交给规划器或校验器跑一遍,出错就回退重来,这套“生成—验证”的组合目前是性价比最高的用法。
对普通人的意义
看到 AI 列出的“第一步、第二步”,可以把它当作一个起点不错的建议,但不要当成承诺。真正的计划,需要有人去检查每一步的前提是否成立。
