【论文阅读】Code as Policies: Language Model Programs for Embodied Control
本文利用大语言模型(LLM)根据自然语言指令直接生成Python代码作为机器人的控制策略,从而让机器人具备处理复杂任务、空间推理和泛化新指令的能力。
快速了解部分
基础信息(英文):
- 题目: Code as Policies: Language Model Programs for Embodied Control
- 时间: 2022.09
- 机构: Google Robotics
- 3个英文关键词: LLM, Robot Policy, Code Generation
1句话通俗总结本文干了什么事情
本文利用大语言模型(LLM)根据自然语言指令直接生成Python代码作为机器人的控制策略,从而让机器人具备处理复杂任务、空间推理和泛化新指令的能力。
研究痛点:现有研究不足 / 要解决的具体问题
现有方法要么依赖于语义分析提取固定技能,难以处理未见过的指令;要么采用端到端学习(Language to Action),需要海量的机器人训练数据。此外,现有的LLM应用通常仅用于高层规划,无法直接干预感知-行动的反馈循环,导致难以处理涉及空间几何、速度调节等具体控制细节的任务。
核心方法:关键技术、模型或研究设计(简要)
提出“Code as Policies”(CaP)框架,利用Code-LLM(如OpenAI Codex)将自然语言指令转化为可执行的Python策略代码。该方法采用分层代码生成(Hierarchical Code-Gen),允许模型递归定义未定义的函数,并结合感知API(如VLM)和控制基元来构建反应式策略。
深入了解部分
作者想要表达什么
作者试图证明,通过将代码作为策略的表示形式,预训练的大语言模型可以无需额外微调,仅通过少量示例(Few-shot Prompting)就能掌握机器人控制的逻辑。这不仅能解决数据稀缺问题,还能通过代码的结构化特性(如循环、库函数调用)实现自然语言无法精确表达的空间推理和行为常识(如“移动得更快”)。
相比前人创新在哪里
- 直接生成控制代码:不同于SayCan等仅生成动作序列,CaP生成的是包含反馈循环(While/If)和数学计算的底层Python代码。
- 分层代码生成:提出让模型递归地定义新函数(Function Generation),显著提升了在HumanEval基准测试和机器人任务中的性能。
- 利用第三方库进行几何推理:利用LLM对NumPy、Shapely等库的先验知识,直接处理坐标计算和形状分析,实现精确的空间几何推理。
解决方法/算法的通俗解释
这就像是给机器人配了一个“程序员影子”。当机器人听到指令(如“把红积木移到蓝碗左边”),它不靠自己死记硬背的动作,而是让AI现场写一段Python脚本。这段脚本里包含了“看一眼(调用视觉API)”、“算一下坐标”、“循环移动直到到位”等逻辑。写完这段代码,机器人就直接运行它来完成任务。
解决方法的具体做法
- 提示工程(Prompting):在Prompt中提供Hint(可用的API列表、导入库)和Examples(自然语言注释 -> 代码的对应关系)。
- 生成策略代码(LMP):LLM根据指令生成包含感知(如
get_pos)、逻辑(如while循环)和动作(如put_first_on_second)的Python代码。 - 分层扩展:如果代码中调用了未定义的函数(如
parse_obj),系统会再次调用LLM来生成这个函数的实现,直到所有函数都定义完毕。 - 安全执行:在沙盒环境中执行生成的代码,调用真实的机器人API。
基于前人的哪些方法
- Code-Completion LLM:基于Codex等经过代码训练的大模型。
- Open-Vocabulary Perception:依赖现有的视觉语言模型(如ViLD, MDETR)将图像映射到物体名称和位置。
- Control Primitives:依赖底层的脚本化控制基元(如阻抗控制器、吸盘抓取)。
实验设置、数据、评估方式、结论
- 基准测试:在HumanEval和自建的RoboCodeGen基准上,CaP的分层生成方法显著优于扁平生成方法(HumanEval P@1达39.8%)。
- 仿真环境:在模拟的桌面操作环境中,对比CLIPort和NL Planner,CaP在未见过的属性和指令上表现出极强的泛化能力。
- 实体机器人:在UR5e机械臂(绘图、抓取)和移动操纵机器人(导航、扔垃圾)上成功演示了自然语言到复杂策略的实时生成。
- 结论:CaP能有效解决长程规划、空间几何推理任务,且无需针对特定任务收集训练数据。
提到的同类工作
- SayCan:利用LLM生成动作序列,但依赖于预定义的价值函数。
- CLIPort:基于模仿学习的视觉语言策略,需要大量演示数据。
- Inner Monologue:结合视觉语言模型进行自我对话和重规划。
和本文相关性最高的3个文献
- Evaluating large language models trained on code <2021.07> (HumanEval基准,证明了Code-LLM能力的基础文献)
- Do as i can, not as i say: Grounding language in robotic affordances <2022.04> (Google Robotics的SayCan工作,是本文直接对比和改进的前序工作)
- Mdetr-modulated detection for end-to-end multi-modal understanding <2021> (MDETR视觉语言模型,本文在实验中直接使用了该模型作为感知API的基础)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)