回 Jason 主站·Embodied AI Reading Station
没主意?快捷入口
High-Level Planning · Plate Nº 79

ProgPrompt

6 min read · 2154 字 · ⭐⭐ · 短摘要

本笔记基于摘要 + 公开资料,未读全文。

一句话讲什么(TL;DR)

让大模型像写代码一样做计划:你说"把苹果放冰箱",它直接吐出一串 Python 调用,机器人照着一行行跑就行。

这是个什么场景

你点了一份外卖跑腿,让骑手帮你"顺路把家里的苹果放进冰箱"。骑手第一次进你家,他不知道苹果在桌上还是在袋子里,也不知道冰箱是哪一个、能不能徒手开。

你有两种交代方式:

  • 写一段大白话:『进门,找苹果,放冰箱里』。骑手大概率会在客厅转两圈、对着两个柜门发呆,最后打电话问你"你说的冰箱是哪个"。
  • 写一张带勾选框的便签:先列清楚『家里有这些东西:苹果、冰箱、餐桌』『你能做这些动作:找东西、抓起来、开门、放进去』,再附两个已经填好的示例(比如"把牛奶放冰箱"是怎么一步步勾的)。骑手照着格式抄,不容易跑偏。

ProgPrompt 干的就是第二件事——只不过"骑手"换成了大模型,"便签"换成了一段 Python 代码:函数签名当作可做的动作清单,注释当作环境里有的物体,示例就是几段写好的小程序。这种"先给几个完整例子再让模型续写"的套路,机器学习里叫 few-shot prompting(少样本提示),ProgPrompt 的新意是把它从自然语言搬到了代码格式。

ProgPrompt — 场景示意:这论文要解决的现实问题
Plate Nº IProgPrompt — 场景示意:这论文要解决的现实问题

之前的人怎么做的 — 3-5 bullet

  • SayCan(2022):用 LLM 打分候选动作 + 价值函数(affordance)筛选可行性,但动作池是预先列好的离散选项,LLM 只做选择题,不写程序结构。
  • Inner Monologue(2022):让 LLM 在自然语言里"自言自语",结合环境反馈一步步规划;表达力强但格式松散,下游执行模块要做大量解析。
  • 传统 task planning(PDDL):用形式化语言写 domain + problem 文件,再调 planner(如 FastDownward)求解。表达精确但需要专家手写 domain,不灵活。
  • 直接让 LLM 输出自然语言步骤:简单粗暴,但模型容易漏前置条件(拿东西前没找到它)、动作粒度不对、调用了环境里不存在的物体。

这篇论文的关键想法

核心一句话:与其让大模型说人话,不如让它写代码

把指令换成代码,好处有点像把"口头嘱咐"换成"打勾的清单":

  1. 格式天然防出错grab(apple) 一看就知道动作叫 grab、对象叫 apple;换成自然语言"把那个拿起来","那个"是哪个就得猜。
  2. 注释可以塞背景:把"屋里有什么"和"能做什么"写成 Python 注释和函数签名,模型续写时会自动参考——因为它在网上读过的代码大部分就长这样。
  3. 生成完直接能跑:输出的是一段程序,下游不用再做"自然语言转动作"的翻译,exec 一下或语法树一拆就执行。
  4. assert 当随手自检:在程序里夹一行 assert("apple" is grabbed),相当于让模型每走一步先抬头看一眼"上一步真做完了吗"。

这套思路是后来 Code as Policies(Google 同期工作)那一脉的源头之一——把大模型当成一个超强的代码补全器来用。

ProgPrompt — 方法示意:核心 pipeline
Plate Nº IIProgPrompt — 方法示意:核心 pipeline

它怎么做的(方法)— 3-4 段

Prompt 怎么拼。 想象你给一个新来的助理塞一份 README,最上面写"工具间有这些东西"、再往下写"你被允许做这些操作"、再附两个填好的工单当样板。ProgPrompt 的 prompt 就是这个三段结构:(a) 可用动作的函数签名注释,比如 # def grab(obj): pass;(b) 当前环境物体清单 # objects = ['apple', 'fridge', ...];(c) 1~3 个示范任务的完整代码(few-shot examples)。最后留一个新任务的函数头让 LLM 续写函数体。这就是论文里 "Pythonic prompt" 这个名字的由来。

生成出来怎么跑。 模型像翻译一样,把"准备早餐"翻成一串 find / grab / open / putin 的调用。系统并不真的开 Python 解释器,而是把每个调用对应到机器人或仿真器(VirtualHome、real robot)里事先写好的小动作。如果模型调用了一个屋里没有的东西,或者一个根本没定义的动作,这一步就直接判失败。论文里用的 LLM 是 GPT-3 系列(Codex / text-davinci)。

闭环 vs 开环 — 等等,先慢一拍。 这两个词其实就是"做完整套再回头看" vs "做一步看一眼"。开环(open-loop):模型一次把全部步骤都生成完,机器人照单执行,中间不再问模型。闭环(closed-loop):每跑一步就把"现在苹果到底在不在手里"这种观察塞回 prompt,让模型基于实际情况决定下一步——多花几次 API 调用,换来出错时能补救。

怎么算"做得好"。 三个指标:success rate(任务完成率,最后冰箱里是不是真有苹果)、executability(生成的每一步在环境里合不合法,会不会抓空气)、以及换个新房间或新任务还认不认得。具体数字看原文。

实验在做什么

  • 环境:VirtualHome(家庭模拟器,有几百种物体和大量任务模板)+ 真实机器人小规模测试。
  • 任务:日常家务,比如"把咖啡机里的咖啡倒进杯子"、"准备一份三明治",跨多个房间的物体操作。
  • 基线:自然语言 prompt 的 LLM、SayCan 类的 affordance scoring。
  • 关注点:(1) 切换到 Pythonic 格式后 success rate 涨多少;(2) 给少量 example,能不能泛化到新任务;(3) 闭环 assert 反馈对错误恢复的帮助。

具体百分比需读原文,但定性结论是:Pythonic 提示在可执行性和泛化上明显优于纯自然语言提示。

你应该懂的几个新词 — 4-6 个

  • few-shot prompting:在 prompt 里塞 1~5 个完整示范,让 LLM 通过类比生成新输出。零示范叫 zero-shot。
  • affordance:动作可行性。例:你不能 grab 一座山。SayCan 用 value function 学这个,ProgPrompt 用程序结构 + assert 隐式表达。
  • PDDL(Planning Domain Definition Language):经典 AI 规划领域的形式语言,定义 domain(动作模板)+ problem(初始/目标状态)。
  • closed-loop / open-loop planning:闭环每步看反馈再决定下一步;开环一次出完整计划。
  • embodied agent:有"身体"的 agent,能在物理或仿真世界里感知和行动,对应 disembodied 的纯文本 agent(如 ChatGPT)。
  • VirtualHome:3D 家庭仿真环境,常用于 high-level task planning 评估,提供物体库 + 动作 API。

它和其他论文什么关系

  • 上游灵感saycan(用 LLM 做 high-level planner 的开山)、Codex / GPT-3 在代码生成上的能力证明。
  • 同期姐妹code-as-policies(Google,把 LLM 输出 Python 直接当 policy 跑,覆盖更细粒度的控制)、inner-monologue(自然语言反馈闭环)。
  • 下游影响:后来很多 VLA / VLM-as-planner 工作沿用了"把环境状态序列化成代码上下文"这一招;agent 框架里的 tool use(OpenAI function calling)思想类似。
  • 对照组palm-e 选择把视觉 token 直接喂进 LLM,避免显式列物体清单;ProgPrompt 是更"轻"的方案,不动模型本体。

我建议这样读 — 3-4 步

  1. 先看一张 prompt 例子图(论文 Fig 1 或 Fig 2)。把 Python 注释、函数签名、示范代码这三块对上号,理解"prompt 长什么样"。这一步比读 abstract 重要。
  2. 跳到方法的 prompt 模板那节,搞清楚 objects = [...]assert 是怎么插进去的。剩下的工程细节先忽略。
  3. 看实验里一两个失败 case:模型为什么会调用不存在的物体?assert 在什么场景下救回了错误?这些案例比 success rate 数字更有信息量。
  4. 对比阅读 code-as-policies:两篇连着看,能体会到"代码即 policy"这个思路的设计空间——粒度可以从 high-level task 一直下沉到 control loop。

为什么值得读

ProgPrompt 是 LLM-as-planner 路线里最早把"代码格式 prompt"系统化的工作之一。它的贡献不在算法新颖,而在范式转变:当你下次要让 LLM 干结构化任务(不只是机器人,包括 agent 工具调用、SQL 生成、配置文件生成),第一反应应该是"能不能把上下文写成它训练过的某种代码方言?"

读完你会获得一个可迁移的设计直觉:prompt 工程不是修辞,是在给模型选一种它最擅长的'语言'。这个直觉值 30 分钟。

引用本笔记 / Cite this note
BibTeX
@online{eai_progprompt_2026,
  title       = {(readable note) ProgPrompt},
  author      = {Zhou, Jason},
  year        = {2026},
  note        = {Note on a 2023 paper},
  howpublished = {\url{https://estelledc.github.io/embodied-ai-reading-station/papers/progprompt/}},
  organization = {Embodied AI Reading Station}
}

All 156 papers (full index)
  1. 1. LLaVA: Visual Instruction Tuning
  2. 2. 3DShape2VecSet: 3D Shape Representation for Diffusion Models
  3. 3. SayCan: Do As I Can, Not As I Say
  4. 4. OpenVLA: An Open-Source Vision-Language-Action Model
  5. 5. VLAS: VLA Model With Speech Instructions
  6. 6. MLA: Multisensory Language-Action Model
  7. 7. Cosmos Policy: Fine-Tuning Video Models for Visuomotor Control
  8. 8. CartoRadar: RF-Based 3D SLAM Rivaling Vision Approaches
  9. 9. mmCLIP: Boosting mmWave-based Zero-shot HAR via Signal-Text Alignment
  10. 10. mmNorm: Non-Line-of-Sight 3D Object Reconstruction via mmWave Surface Normal Estimation
  11. 11. Proactive Hearing Assistants that Isolate Egocentric Conversations
  12. 12. NeuralAids: Wireless Hearables With Programmable Speech AI Accelerators
  13. 13. Creating speech zones with self-distributing acoustic swarms
  14. 14. Conv-TasNet: Surpassing Ideal Time-Frequency Magnitude Masking for Speech Separation
  15. 15. SoundStream: An End-to-End Neural Audio Codec
  16. 16. AudioLM
  17. 17. Conformer
  18. 18. Dual-path RNN
  19. 19. EnCodec
  20. 20. Meta-StyleSpeech
  21. 21. MusicLM
  22. 22. Robust Speech Recognition via Large-Scale Weak Supervision
  23. 23. SeamlessM4T
  24. 24. Stable Audio
  25. 25. Universal Source Separation with Weakly Labelled Data
  26. 26. Meta-World: A Benchmark and Evaluation for Multi-Task and Meta Reinforcement Learning
  27. 27. RLBench: The Robot Learning Benchmark & Learning Environment
  28. 28. robosuite: A Modular Simulation Framework and Benchmark for Robot Learning
  29. 29. BridgeData V2
  30. 30. CALVIN
  31. 31. LIBERO
  32. 32. RH20T
  33. 33. What Matters in Learning from Offline Human Demonstrations for Robot Manipulation
  34. 34. DROID
  35. 35. Open X-Embodiment
  36. 36. RoboCasa
  37. 37. SimplerEnv
  38. 38. Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
  39. 39. 3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations
  40. 40. Consistency Policy: Accelerated Visuomotor Policies via Consistency Distillation
  41. 41. EquiBot: SIM(3)-Equivariant Diffusion Policy
  42. 42. DiT-Policy
  43. 43. Diffusion Policy Policy Optimization (DPPO)
  44. 44. Affordance-based Robot Manipulation with Flow Matching
  45. 45. FlowPolicy: 3D Flow-based Policy via Consistency Flow Matching
  46. 46. FAST: Efficient Action Tokenization for VLA
  47. 47. pi_0: Vision-Language-Action Flow Model
  48. 48. pi_0.5: VLA with Open-World Generalization
  49. 49. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning
  50. 50. Generative Adversarial Imitation Learning
  51. 51. Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware (ACT/ALOHA)
  52. 52. AnyTeleop
  53. 53. Behavior Transformers: Cloning k Modes with One Stone
  54. 54. Implicit Behavioral Cloning
  55. 55. RoboCat
  56. 56. ALOHA 2
  57. 57. DexCap
  58. 58. HumanPlus
  59. 59. Generalizable Humanoid Manipulation with 3D Diffusion Policies (iDP3)
  60. 60. Mobile ALOHA
  61. 61. SmolVLA
  62. 62. Universal Manipulation Interface
  63. 63. Behavior Generation with Latent Actions (VQ-BeT)
  64. 64. ImageBind: One Embedding Space To Bind Them All
  65. 65. Connecting Touch and Vision via Cross-Modal Prediction
  66. 66. AnyMAL: An Efficient and Scalable Any-Modality Augmented Language Model
  67. 67. AudioPaLM
  68. 68. FROMAGe: Grounding LLMs to Images
  69. 69. OneLLM
  70. 70. X-VLM: Multi-Grained Vision Language Pre-Training
  71. 71. Tactile Beyond Pixels (Sparsh-X)
  72. 72. Sparsh: Self-supervised Touch Representations
  73. 73. Tactile-VLA
  74. 74. TLA: Tactile-Language-Action
  75. 75. Code as Policies: Language Model Programs for Embodied Control
  76. 76. Inner Monologue: Embodied Reasoning through Planning with Language Models
  77. 77. LLM+P: Empowering LLMs with Optimal Planning
  78. 78. PaLM-E: An Embodied Multimodal Language Model
  79. 79. ProgPrompt
  80. 80. ChatGPT for Robotics
  81. 81. GenSim
  82. 82. RoboFlamingo
  83. 83. Tree-Planner
  84. 84. VoxPoser
  85. 85. See Through Smoke: Robust Indoor Mapping with Low-cost mmWave Radar
  86. 86. Can WiFi Estimate Person Pose?
  87. 87. 3DRIMR: 3D Reconstruction and Imaging via mmWave Radar based on Deep Learning
  88. 88. milliEgo: Single-chip mmWave Radar Aided Egomotion Estimation via Deep Sensor Fusion
  89. 89. High Resolution Point Clouds from mmWave Radar
  90. 90. RadarSLAM: Radar based Large-Scale SLAM in All Weathers
  91. 91. Through-Wall Pose Imaging in Real-Time with a Many-to-Many Encoder/Decoder Paradigm
  92. 92. RFMask: A Simple Baseline for Human Silhouette Segmentation with Radio Signals
  93. 93. RFPose-OT: RF-Based 3D Human Pose Estimation via Optimal Transport Theory
  94. 94. Argus: Multi-View Egocentric Human Mesh Reconstruction Based on Stripped-Down Wearable mmWave Add-on
  95. 95. Diffusion Model is a Good Pose Estimator from 3D RF-Vision
  96. 96. Enabling Visual Recognition at Radio Frequency (PanoRadar)
  97. 97. Wave-Former: Through-Occlusion 3D Reconstruction via Wireless Shape Completion
  98. 98. Habitat: A Platform for Embodied AI Research
  99. 99. Isaac Gym: High Performance GPU-Based Physics Simulation For Robot Learning
  100. 100. DexMV
  101. 101. Habitat 2.0
  102. 102. ManiSkill
  103. 103. ProcTHOR
  104. 104. SAPIEN: A SimulAted Part-based Interactive ENvironment
  105. 105. BEHAVIOR-1K
  106. 106. Habitat 3.0
  107. 107. Isaac Lab
  108. 108. MuJoCo Playground
  109. 109. RT-1: Robotics Transformer for Real-World Control at Scale
  110. 110. 3D Diffusion Policy (DP3)
  111. 111. Octo: An Open-Source Generalist Robot Policy
  112. 112. RT-2: Vision-Language-Action Models Transfer Web Knowledge to Robotic Control
  113. 113. RT-Trajectory: Robotic Task Generalization via Hindsight Trajectory Sketches
  114. 114. 3D-VLA
  115. 115. DexVLA
  116. 116. GR-2: Generative Video-Language-Action Model
  117. 117. OpenHelix
  118. 118. OpenVLA-OFT
  119. 119. RDT-1B: Diffusion Foundation Model for Bimanual Manipulation
  120. 120. RoboMamba
  121. 121. SpatialVLA
  122. 122. TinyVLA
  123. 123. TraceVLA: Visual Trace Prompting
  124. 124. Learning Transferable Visual Models From Natural Language Supervision
  125. 125. Flamingo: a Visual Language Model for Few-Shot Learning
  126. 126. BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models
  127. 127. BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
  128. 128. DeepSeek-VL: Towards Real-World Vision-Language Understanding
  129. 129. EVA-CLIP: Improved Training Techniques for CLIP at Scale
  130. 130. FILIP: Fine-grained Interactive Language-Image Pre-Training
  131. 131. Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks
  132. 132. InternVL: Scaling up Vision Foundation Models and Aligning for Generic Visual-Linguistic Tasks
  133. 133. Improved Baselines with Visual Instruction Tuning
  134. 134. OBELICS
  135. 135. Qwen-VL: A Versatile Vision-Language Model for Understanding, Localization, Text Reading, and Beyond
  136. 136. Sigmoid Loss for Language Image Pre-Training
  137. 137. What matters when building vision-language models?
  138. 138. Expanding Performance Boundaries of Open-Source Multimodal Models with Model, Data, and Test-Time Scaling
  139. 139. The Llama 3 Herd of Models
  140. 140. LLaVA-NeXT-Interleave
  141. 141. LLaVA-OneVision: Easy Visual Task Transfer
  142. 142. Long-CLIP: Unlocking the Long-Text Capability of CLIP
  143. 143. Pixtral 12B
  144. 144. Dream to Control: Learning Behaviors by Latent Imagination
  145. 145. World Models
  146. 146. DayDreamer
  147. 147. Mastering Atari with Discrete World Models
  148. 148. Dreamer V3: Mastering Diverse Domains through World Models
  149. 149. Transformers are Sample-Efficient World Models
  150. 150. TWM: Transformer-based World Models
  151. 151. 1X World Model Challenge
  152. 152. Cosmos World Foundation Model Platform
  153. 153. GAIA-1
  154. 154. Genie: Generative Interactive Environments
  155. 155. Navigation World Models
  156. 156. UniSim