精读笔记
Problem Setting
论文标题:Inner Monologue: Embodied Reasoning through Planning with Language Models(CoRL 2022 / 2022)。
这篇论文的问题不是“LLM 能不能做机器人任务分解”,而是更具体的:当 LLM 已经被拿来做高层 skill sequencing 时,如何让它在真实执行过程中处理动作失败、环境变化、感知不完整和用户交互。
关键矛盾是:LLM planner 的输出空间是离散语言动作序列,但机器人执行发生在随机、部分可观测、持续变化的物理世界里。open-loop plan 在文本里看起来连贯,但每一步执行后的真实状态可能已经偏离预期;长程任务中这种偏差会累积,导致后续动作在错误状态上继续执行。
以前方法卡住的地方主要有两类:一类是 zero-shot LLM planner,能生成语义合理的计划,但默认前序动作成功;另一类是 SayCan 式 affordance grounding,能避免某些不可执行动作,但 grounding 多用于 action selection,而不是把执行反馈回灌到 planner 的状态中。因此它们可以“选一个当前看起来可做的动作”,但不擅长“发现刚才没做成,然后改变接下来的计划”。
真正困难点不是模块能力本身,而是高层 planner 是否拥有一个随执行更新的、可推理的任务状态。本文的切入点就是用自然语言构造这个中间状态。
Motivation
作者的核心动机很明确:如果 LLM 的优势是语言中的语义知识和上下文推理,那么 embodied feedback 也应该被翻译成语言并放回上下文,而不是只在外部模块里作为 hard constraint 或 value score 使用。
已有路线缺的是 feedback-to-planner 的闭环。视觉模块可以识别物体,success detector 可以判断动作成败,低层 policy 可以执行 skill,但这些信息如果不进入 LLM 的推理上下文,LLM 仍然在执行一个假想世界里的计划。对于真实机器人,这个假想世界通常很快失效。
这篇论文的观察是:语言可以作为跨模块的公共接口。场景描述、任务进度、失败原因、人类偏好、歧义澄清,都可以写成文本;而 LLM 恰好擅长基于文本历史进行 continuation、修正和补全。于是“inner monologue”不是一个新的 planner 算法,而是把执行轨迹语言化,让 LLM 在 test time 利用历史反馈继续规划。
关键缺口是 embodied closed-loop reasoning:不是只让 LLM 输出 plan,而是让 LLM 持续读到自己动作造成的后果。
Core Idea
核心思想可以压缩成一句话:把机器人执行过程变成一段持续增长的语言对话/日志,让 LLM 在这段日志上进行下一步决策。
这改变了建模方式。传统 LLM planning 把任务看成 instruction → plan;Inner Monologue 把任务看成 instruction + execution history + feedback → next action / question。也就是说,它从一次性 plan generation 变成了 language-conditioned receding-horizon replanning。
它引入的 inductive bias 是:物理世界状态不直接作为向量 belief 进入 planner,而是被投影成语义文本状态。这个投影会损失几何和连续信息,但保留了对高层任务最有用的符号/语义结构,例如“可乐在桌上”“上一步没拿起来”“红块已经在蓝碗里”“用户其实想要含咖啡因的饮料”。对于这类语言可描述的任务,LLM 的预训练知识可以直接参与推理。
和 prior 的本质区别不在于用了更大的 LLM,也不在于用了 object detector 或 success detector,而在于信息流方向变了:prior 多数是 LLM → robot,或者 LLM score × affordance;本文是 robot/environment/human → language context → LLM → robot。这个闭环使得系统具备 retry、replan、ask clarification、goal revision 等能力。
Method
方法保留机制层面看,主要有四个必要部件。
第一,动作空间被限制为预训练 skill library。它解决的是 LLM 输出不可执行自由文本的问题。LLM 不是直接控制机器人,而是在可调用 skill 上做高层选择。这个约束也暴露了方法上限:LLM 的规划能力永远受低层 skill 覆盖限制。
第二,success feedback 被写回上下文。它解决的是执行不确定性:低层 skill 可能随机失败,也可能因为当前状态不满足前提而系统性失败。成功检测不是为了让控制更好,而是为了让 planner 知道世界没有按预期变化,从而 retry 或换策略。
第三,scene / object / progress description 被写回上下文。它解决的是状态漂移和部分可观测问题。相比只在初始时做一次识别,持续注入场景描述让 LLM 可以重新对齐当前世界状态。尤其在 long-horizon rearrangement 中,任务进度描述比单纯 object list 更关键,因为 planner 需要知道哪些子目标已经达成。
第四,active query / human feedback 允许 LLM 主动获取信息。它解决的是 instruction ambiguity 和 perceptual insufficiency。这里的核心不是人类反馈本身,而是 planner 被允许把不确定性显式外化成问题,进而把答案纳入计划。
需要注意,论文中不同环境用了不同 LLM、不同 detector、不同 low-level policies 和不同反馈来源。这说明 Inner Monologue 更像一种系统组织范式,而不是单一算法。
Key Insight / Why It Works
这篇最重要的 insight 是:对于许多 embodied high-level tasks,真正需要闭环维护的不是完整物理状态,而是一个语言层面的任务相关状态。只要这个状态足够覆盖任务语义,LLM 就能用其预训练知识和上下文学习能力完成相当多的纠错与续写。
方法有效的核心来源大概率是 representation alignment:任务 instruction、skill description、scene feedback、success/failure、人类偏好都被统一到自然语言空间中。LLM 不需要学习新的接口,只需要继续处理文本。这使得多个异构模块可以低成本组合,且系统可解释性较强。
第二个有效来源是 test-time compute / memory reuse。Inner Monologue 把历史执行结果保留在 prompt 里,相当于给 planner 一个短期记忆。它不是一次性求解,而是每一步根据新 evidence 重新采样/生成动作。这种 receding-horizon 行为在有扰动时天然优于 open-loop plan。
第三个来源是 latent structure。语言反馈通常已经把感知结果压缩成符号结构,例如 object list、achieved goals、success boolean。这相当于人为提供了高层 state abstraction。LLM 的“推理”很大程度依赖这个 abstraction 已经足够干净。如果反馈是原始视觉或 noisy caption,效果未必保持。
最可能的核心贡献是 closed-loop language feedback,而不是 LLM planning 本身,也不是 success detector 本身。Object feedback、success feedback、human feedback都是辅助;真正新增的是让这些信号进入同一个可被 LLM 消化的执行上下文。
也需要直接指出:这里的 reasoning 不应被过度解读。很多行为可以解释为强 LLM 在语言轨迹上的模式补全:看到“Action failed”后重试,看到“object not present”后换 object,看到歧义后提问。这是有用的,但不等价于显式搜索、因果建模或长期 belief planning。
增益来源不完全清晰。不同实验中 LLM、反馈模块、任务设计和低层 skill 都在变化;一些 scene descriptor 是 oracle/scripted/human-provided,隐含 supervision 很强。若把高质量语义状态提供给任意强语言模型,它本来就可能表现不错。因此论文证明了“语言化闭环状态很有价值”,但没有严格证明“LLM 学会了 embodied reasoning”。
这不是纯 scaling 论文,但能力边界明显依赖 foundation model 的语义覆盖和 prompt following 能力。multilingual、goal revision、scene QA 等 emergent demos 很可能主要来自 LLM 预训练覆盖,而不是本文机制本身;Inner Monologue 只是把这些能力接到机器人闭环里。
Relation To Prior Work
最接近的谱系是三条:LLM as planner、SayCan/affordance-grounded planning、Socratic Models 式 foundation model composition。
相对于 Huang et al. 的 zero-shot planners,本文的差异是从 open-loop plan extraction 转向闭环 replanning。前者关心如何把 instruction 分解成可执行动作;本文关心执行后发生偏差时如何把偏差反馈给 planner。
相对于 SayCan,本文不是替代 affordance grounding。SayCan 用 value function 约束 LLM 的 action choice,使动作更可执行;但 value/affordance 通常不作为语言记忆反馈给 LLM。Inner Monologue 的新增信息是 execution outcome and scene update。它可以与 SayCan 兼容,厨房实验里也确实这样做。
相对于 Socratic Models,本文不是简单把多个 foundation models 串起来,而是强调 temporal closed loop。Socratic-style composition 更像多模型之间用语言传递静态感知/推理结果;Inner Monologue 的关键是每一步执行后更新上下文,从而处理动态环境和失败恢复。
从更老的 TAMP/HRL 角度看,这篇不是严肃替代 symbolic planner 或 belief-space planner。它没有显式 precondition/effect model,也没有完整搜索。它把一部分符号状态构造和策略修正交给 LLM 的语言上下文能力。这是工程上很强的重组,但理论保证弱。
实质创新在于把“语言作为模块接口”推进到“语言作为闭环执行记忆/状态”的层面。看似新的 inner monologue,本质上是 scratchpad / chain-of-thought / execution trace 在 embodied control 中的系统化使用。
Dataset / Evaluation
评价覆盖面在机器人论文里算强:有仿真 tabletop rearrangement、真实 tabletop、真实厨房移动操作;有长程任务、扰动、遮挡、失败恢复、人类交互;也对比了 open-loop LLM、CLIPort、SayCan variants。这些实验足以支持一个核心结论:在 skill-based robotic planning 中,将执行反馈语言化并回灌给 LLM,能提升鲁棒性,尤其在低层动作失败或环境被扰动时。
但 evaluation 对更强 claim 的支持有限。比如“embodied reasoning”这个说法偏大,实验更直接验证的是 retry/replan under textual feedback,而不是复杂物理推理或长期因果规划。很多任务的状态可以被较短文本充分描述,且动作空间有限;这有利于 LLM 以语言脚本方式解决。
跨场景性是真实存在的,但不是同一个系统无缝跨域泛化。不同域使用不同 LLM、不同 feedback provider、不同控制栈和不同 prompt。论文展示的是 formulation 可迁移,而非单一模型/系统的强泛化。
真实世界实验是亮点,尤其厨房移动操作和扰动设置能验证 open-loop assumption 的脆弱性。不过一些 feedback 来自 human/oracle/scripted descriptor,这降低了对 fully autonomous deployment 的说服力。
总体看,实验很好地验证了“闭环语言反馈有用”;没有充分隔离每类反馈的贡献,也没有充分验证在 noisy autonomous perception 下的上限。
Limitation
第一,方法成立依赖反馈可语言化且足够准确。成功检测的 false positive 会制造错误 belief,false negative 会导致无意义 retry;scene descriptor 漏检或 hallucination 会直接污染 LLM 上下文。论文承认这些问题,但没有系统解决不确定反馈融合。
第二,很多关键状态来自 oracle/scripted/human observers。也就是说,系统的一部分难题被转移到了“如何得到可靠语言反馈”。如果自动视觉语言模型不稳定,Inner Monologue 的 planner 反而会被错误文本强烈误导。
第三,LLM 没有真正形成可验证的长期状态模型。Prompt history 是软记忆,不是 belief state;上下文增长会带来遗忘、冲突、顺序敏感和 token budget 问题。对于更长时域、更复杂物体关系、更高并发变化的环境,这个机制可能不够。
第四,泛化能力需要谨慎看待。mismatching bowls、sorting food/condiments、含咖啡因饮料、多语言指令等,很可能主要依赖 LLM 预训练中的语义覆盖。所谓泛化未必来自 embodied learning,而是把已有语言知识接到了 skill interface 上。
第五,规划能力边界由 skill library 决定。LLM 只能在已有动作集合中组合,不能创造新的物理能力;当任务需要新的 manipulation primitive、精细几何约束或连续运动推理时,这套方法会失效或退化为反复尝试。
第六,增益归因不清。闭环 prompt、强 LLM、人工反馈、task-progress descriptor、affordance grounding、低层 policy robustness 都在共同作用。论文没有完全拆解哪些增益来自核心机制,哪些只是工程 stacking。
第七,安全性和可控性没有被充分处理。LLM 可能忽略反馈、调用不存在对象、在错误状态下继续行动;语言接口的可解释性不等于可靠性。
Takeaway
- 1. 这篇真正推动的是 embodied LLM 系统的信息流设计:从“LLM 生成计划”转向“LLM 读取执行轨迹并持续重规划”。
- 这比单纯提高 planner prompt 更重要。
- 2. 语言可以作为高层状态 abstraction,而不仅是 instruction interface。
- 把 perception、success、human preference、task progress 对齐到语言空间,是连接 foundation model 和机器人系统的一条可扩展路径。
一句话总结
Inner Monologue 是 LLM-for-robotics 从开环语义规划走向闭环执行反馈的代表性系统:它的核心贡献不是新控制算法,而是把环境反馈语言化为可持续更新的 planner 状态。
