机器人的 In-Context Learning:上下文里应该装什么

6 minute read

Published:

GEN-1.5 把一段几秒的感觉运动序列当作 physical prompt,让机器人 one-shot 学会一个新任务,π0.7 把语言、目标图像、metadata 和历史轨迹一起塞进同一个 prompt,RoboTTT 把机器人策略的视觉运动上下文推到了 8K 步。过去一年里,in-context learning 在机器人领域重新变成了一个高频词。

但把这些工作统统叫做”机器人 ICL”,会掩盖一件事:它们往上下文里装的东西根本不是一类。有的装任务示范,有的装人的运动意图,有的装策略风格,还有的装机器人自己的探索轨迹。共用着一个词,它们解决的其实不是同一个问题。


一、为什么策略需要上下文

今天绝大多数 VLA 策略都可以写成同一个函数 $\pi(a_t \mid o_t, l)$:给定当前这一帧的图像和本体状态 $o_t$,加上一句语言指令 $l$,输出下一个动作 $a_t$。

这个形式简洁,也好训练。但它隐含了一个相当强的 Markov 假设:当前这一帧里,已经包含了做出下一步决策所需要的全部信息。历史不必显式出现,它的作用被压进了模型参数里。

同样的 Markov 假设,早期的统计语言模型也做过。一个句子的概率本来要按链式法则展开,每个词都以它前面所有的词为条件;但那样条件太多、根本估不出来,于是 n-gram 模型退了一步,假设每个词只依赖前面一两个词。

这个近似最后败在两件事上。

一是长距离依赖。“小明昨天买了一本书,他今天把[MASK]读完了”——[MASK]里要填的是”它”,可它在十几个字以外,而离得最近的名词是”他”。只看前两个词的模型,注定填错。

二是数据稀疏。假设词表是一万个词,bigram 有一亿种组合,trigram 有一万亿种。真实语料再大,绝大多数组合的计数都是零。上下文每变长一点,稀疏就恶化一个数量级——除非你不再靠计数去估计,而是让模型学会泛化。

机器人现在处在类似的位置上。

在训练分布之内,Markov 假设工作得相当好:相机固定、机械臂固定、桌面高度固定、任务类别有限,模型只需要学一个从观测到动作的映射。但真实部署会遇到几类它处理不了的变化:

  • 当前这一帧看不出任务已经进行到哪一步;
  • 相机换了位置,画面里的像素运动和机器人坐标之间的关系变了;
  • 换了机械臂或末端执行器,同样的动作指令有了不同的运动学含义;
  • 同一个任务有很多种做法——快的、慢的、稳的、粗暴的;
  • 新的物体、新的场景、训练集里没出现过的组合。

这些情况有一个共同点:当前观测不足以决定动作,而缺失的那部分信息,恰好可以从别的地方拿到。

于是策略多了一项输入:

\[\pi(a_t \mid o_t, l, \mathcal{C})\]

$\mathcal{C}$ 就是上下文。它可以是一条示范轨迹、一段人类视频、一张目标图像、机器人自己的一段探索,或者这个 episode 到目前为止的执行历史。

剩下的问题就只有一个:$\mathcal{C}$ 里应该装什么。


二、上下文消解的是哪一种不确定性

in-context learning 这个说法最早是在语言模型上出现。给模型这样一段输入:

Translate English to French:

sea otter    =>  loutre de mer
peppermint   =>  menthe poivrée
plush girafe =>  girafe peluche

cheese =>

它会补出 fromage。

模型并没有被训练成一个英法翻译器,权重一个字节都没有改变。它是从前面几个例子里看出了这里在做什么,然后照着做了第四个。

In-context learning 中in-context,是因为这个获得过程发生在上下文窗口里,learning,是因为模型获得一个此前没有的映射,并且这个映射对没见过的输入同样有效。

机器人上的对应几乎是一一的:语言指令是规格,示范轨迹是样例——一串(观测,动作)配对,让模型自己看出这个任务是怎么回事,然后在新场景里做一遍。参数同样不动。

从 few-shot prompting 到机器人 in-context imitation

机器人的上下文窗口装的东西越来越多,但它们消解的不是同一种不确定性。大致有三类。

一、该用哪个映射。语言指令、目标图像、本体的urdf信息这类 metadata。它们说明目标是什么,但完成这个目标的映射本来就在权重里,指令做的是从中挑一个出来。

二、当前状态是什么。过去若干帧的执行历史。杯子刚才被放在左边抽屉,这个五步任务已经做完三步。映射不变,变的是代入映射的那个状态。

三、映射本身是什么。示范轨迹、人类视频。模型此前不知道这件事该怎么做,读完上下文之后知道了。

只有第三类是 learning,它消解的是对映射本身的不确定性。前两类同样有用、也同样依赖上下文,但模型读完之后,它把观测转成动作的那个函数并没有改变。

写成公式,三类的差别落在同一个位置上。把策略拆成训练固化的部分和上下文决定的部分:

\[\pi(a_t \mid o_t, l, \mathcal{C}) = f_\theta(a_t \mid o_t, z), \qquad z = z(\mathcal{C})\]
 $z$$z(\mathcal{C})$ 是上下文里装的
选择已有映射的索引读取$z$ 的描述
状态当前 episode 的隐藏状态滤波、检索世界状态的片段
学习映射本身归纳$f_z$ 的样本

上下文给的是 $z$ 的名字,还是 $f_z$ 上的采样点,区别就在这里。”把红色积木放进盘子”直接命名了 $z$;一条示范给出若干组 $(o,a)$,$z$ 需要从这些点反解出来,且反解出的 $f_z$ 必须在上下文之外的 $o$ 上依然成立。


三、从机器人示范里学:遥操作轨迹作为 context

上下文最直接的来源是机器人自身的示范轨迹,通常由人类遥操作采集。观测和动作都记录在机器人自己的坐标系下,不需要跨越任何表示上的鸿沟。

要让策略从这样一段轨迹里恢复出任务映射,几个条件需要同时成立:模型本身具备从配对中归纳的能力,示范以模型能读的形式进入上下文,训练阶段有足够的”示范—查询”配对可用。

3.1 归纳能力来自训练目标

模型从示范里反解出任务映射的能力不会自动出现,它由训练目标塑造。

One-Shot Imitation Learning 在训练时构造大量不同的任务,每个任务配一条示范和一次执行,优化目标是读完示范之后的执行表现。示范在这里是任务条件而非历史帧,模型被反复要求从一条轨迹推出任务规则,再应用到新的物体或场景。

One-Shot Imitation Learning

[图 3-1] One-Shot Imitation Learning 的示范与执行设定 —— 来源:One-Shot Imitation Learning 论文

3.2 示范以什么形式进入上下文

一条遥操作轨迹是图像、本体状态和连续动作的混合序列。它以什么形式进入模型,决定了归纳的难度。

ICRT 采用最直接的形式:把图像、本体状态和动作全部 token 化,拼成一条序列,用因果 Transformer 做 next-token prediction。测试时把一两条遥操作轨迹放在序列前部,后面接当前观测,模型继续续写动作,参数不变。论文在 Franka 上验证了未见任务下的适应能力。这一设定说明,从示范中恢复任务映射不需要为机器人设计专门的机制,序列建模本身可以承担。

ICRT 的序列组织方式

[图 3-2] ICRT 的序列组织方式:图像 / 状态 / 动作交错成一条 token 序列 —— 来源:ICRT 论文

Instant Policy 换用图结构:示范、当前观测和待生成的动作被组织成图中的节点,动作通过在图上做 diffusion 生成。图结构显式编码了示范与当前场景之间的对应关系,而序列形式需要模型自己在 token 层面建立这种对应。

Instant Policy 的图结构

[图 3-3] Instant Policy 的图结构:示范节点、当前观测节点与待生成动作节点 —— 来源:Instant Policy 论文

Keypoint Action Tokens 抽象得更远:视觉观测转成关键点 token,动作轨迹转成 action token,然后用预训练的文本 Transformer 直接做 few-shot 模仿。关键点这一层降低了像素和连续动作的维度,剩下的部分接近文本 Transformer 已经具备的模式匹配能力。

动作侧的 token 化本身也影响结果。Action Tokenizer Matters 比较了多种 action tokenizer,发现能够重建轨迹的方案未必保持时间上的平滑性——量化之后,相邻动作在 latent 空间中可能相距很远。该工作提出的 LipVQ-VAE 在 latent action space 上施加 Lipschitz 约束。当 action token 在几何空间中不连续时,模型从示范中获得的局部对应关系无法转化为平滑的控制输出。

不同 action tokenizer 下轨迹平滑性的对比

[图 3-4] 不同 action tokenizer 下轨迹平滑性的对比 —— 来源:Action Tokenizer Matters 论文

Behavior Prompting Policy(BPP) 同样把示范压缩编码成 embedding,区别在于不再由一个因果 Transformer 统一续写:prompt encoder 以当前观测为 query 对示范 embedding 做 cross-attention,取出的结果交给 action decoder 解码动作。它同时配套了手持采集设备,示范的来源从实验室遥操作台扩展到部署现场。

BPP 的策略结构

[图 3-5] BPP 的策略结构 —— 来源:BPP 论文

BPP 的 iPhUMI 手持采集接口

[图 3-5] BPP 的 iPhUMI 手持采集接口 —— 来源:BPP 论文

StellaVLA 走得更远:把原始轨迹转换为任务计划、子目标描述和 3D 运动信息,以结构化形式进入上下文。示范承载的内容因此从”专家做了什么”转向”这个任务由哪些步骤构成”。

StellaVLA 的结构化示范

[图 3-6] StellaVLA 的结构化示范 —— 来源:StellaVLA 论文

3.3 训练所需的配对从哪里来

前述训练目标要求大量”示范—查询”配对,而真实机器人数据中这种配对并不天然存在:一次采集得到一条轨迹,不会自动构成配对。除了专门去采集配对数据还有两种思路:

一是从已有示范里重组。同一个任务只要有多条示范,取一条作 prompt、其余作查询,配对就地产生(如ICRT,BPP)。

二是生成。One-Shot Imitation Learning 在仿真中程序化生成任务实例,把任务分布本身造出来;Instant Policy 在仿真中生成伪示范,把配对数量提升到可训练的规模;SynthICL 进一步完全使用合成 RGB 数据训练 ICIL 策略。

3.4 给已有模型加装这一能力

ICL 不必依赖模型规模自发涌现。RICL 以训练好的 π0-FAST 为基础,做一次小规模的 in-context post-training,再从用户提供的十几到二十条新任务示范中检索片段放入上下文,测试时参数不更新。这条路径的成本低于从头训练一个 ICL 专用策略。

RICL 的策略结构

[图 3-7] RICL 的 in-context post-training 与检索结构 —— 来源:RICL 论文


四、人类视频作为 in-context demo

遥操作示范贵在两头:要有机器人,要有会用它的人。人类视频便宜得多。一个人、一部相机就够了,而且互联网上已经躺着海量存量。

代价也很明确:视频里没有动作标签。你看得见手怎么动,但看不见关节角,看不见夹爪合拢的力度。更麻烦的是,人的身体和机器人的身体不一样。模型要归纳的那个映射,中间隔着一道 embodiment gap。

跨越的方式大致有三种。

4.1 Vid2Robot:直接对齐两侧表示

Vid2Robot 输入人类操作视频和机器人当前状态,通过 cross-attention 输出动作。训练时用视频—轨迹配对,另外加一个对比损失,把人类视频和机器人视频的表示往一起拉。

Vid2Robot 的 cross-attention 结构与对比对齐损失

[图 4-1] Vid2Robot 的 cross-attention 结构与对比对齐损失 —— 来源:Vid2Robot 论文

论文报告了跨物体的运动迁移:视频中针对某一物体的操作,机器人可以应用到自身环境里的另一个物体上。迁移能够发生,说明对齐后的表示携带的不只是像素层面的相似性。

4.2 MimicDroid:连配对都不要

MimicDroid 只使用连续的、无标注的人类 play video。它从视频中找出操作行为相似的轨迹对,训练模型看一条、预测另一条。人类视频因此同时充当上下文和监督信号,训练过程不需要任何机器人数据来配对。

为缩小外观和运动学上的差距,该方法使用手腕姿态 retargeting 和随机 patch masking,后者降低模型对外观细节的依赖。

MimicDroid 从 play video 中构造轨迹对的流程

[图 4-2] MimicDroid 从 play video 中构造轨迹对的流程 —— 来源:MimicDroid 论文

MimicDroid 的方法总览

[图 4-2b] MimicDroid 的方法总览 —— 来源:MimicDroid 论文

它处理的问题不是如何为视频补上动作标签,而是人类行为中哪一部分结构可以跨本体复用。

4.3 Point Policy:换一个双方都能读的表示

Point Policy 绕开原始像素,用人手姿态和物体状态构造语义关键点,把人的操作提升为 morphology-agnostic 的表示。人和机器人在原始图像中差异很大,在关键点空间中则接近,映射因此更容易归纳。论文在 8 个真实任务上验证了这种表示对新物体和背景干扰的鲁棒性。

Point Policy

[图 4-3] Point Policy 将人手和物体状态转换为双方都能读取的关键点表示 —— 来源:Point Policy 论文

同一条路上还有 Gen2Act——先用视频生成模型”想象”出一段人类操作视频,再让视频条件策略去执行,上下文变成了一段想象中的运动过程;以及 HumanEgo,把第一人称视频转成 entity-level 的手-物交互表示。


五、任务无关的随机运动,也是一段合格的示范

相机往旁边挪了二十厘米。任务没变,示范没变,模型看到的画面依然合理,输出依然自信——但动作落在了错误的位置上。

这时候机器人缺的不是任务信息。它缺的是:在当前这套相机和这副身体下,我发出一个动作指令,画面会怎么变?

这是一个系统辨识问题,不是任务推断问题。而前面那些工作,无论是遥操作示范还是人类视频,都默认系统配置是固定的——它们假设机器人已经知道自己的动作如何对应到视觉变化,示范只需要告诉它”往哪儿去”。

5.1 ICWM:让机器人在做任务前先随便动几秒

In-Context World Modeling for Robotic Control(ICWM) 的设定是:在开始任务之前,让机器人随机运动几秒。

不是演示任务,也不是靠近目标物体,就是随机运动。记录下每次动作的三样东西——动作前的图像、动作本身、动作后的图像——把这些 $(o_{\text{start}}, a, o_{\text{end}})$ 三元组拼成上下文,放进策略的输入。

ICWM 的问题设定

[图 5-1] ICWM 的问题设定:任务执行前的自探索片段作为 in-context 交互证据 —— 来源:ICWM 论文

这些片段是task-agnositc prompt, 它们不告诉模型该把物体放到哪儿,而是在当前这套系统里,某个动作会让画面发生什么变化。 读完这些三元组之后,模型把观测转成动作的方式发生了改变,改变的是映射本身,而不是对已有映射的选择,也不是对当前状态的估计。所以这仍然是 in-context learning,只是被归纳出来的映射换了对象:不是任务,是系统本身。

任务无关这一点进一步降低了上下文的采集成本:不需要人在场,不需要标注,不绑定具体任务,同一段探索对这个工位上的所有任务都有效;相机被碰到、夹爪更换、工作台移动之后,重跑几秒即可重新校准。

六、当上下文进入预训练规模

6.1 Qwen-RobotManip:从执行历史中归纳行为风格

跨本体预训练带来的泛化能力,并不能解决部署到新机器人或新环境时的快速行为适配。Qwen-RobotManip 为此加入了一套 in-context policy adaptation 机制:把同一 episode 内近期的 $(o_h, s_h, a_h)$ 三元组——看到了什么、处于什么状态、执行了哪 $K$ 步动作——串成上下文,条件化当前的动作预测,部署时不更新参数,也不做任务特定的微调。

Qwen-RobotManip 的整体结构

[图 6-1] Qwen-RobotManip 的整体结构:canonical 表示、动作专家与历史上下文 —— 来源:Qwen-RobotManip 技术报告

Qwen-RobotManip还报告了一种上下文捷径。如果训练时总是提供紧邻当前步的 $H$ 个 chunk,模型会走一条捷径:最后一个 chunk 在时间上离当前步最近,直接复制它的动作块就足以把训练损失压下去。上下文机制因此退化成一个基于时序邻近的复制启发式,一旦近期历史含糊、反常,或者不能代表机器人整体的执行方式,它就会失效。

解法是 stochastic context sampling:训练时上下文窗口不再紧邻当前步,而是从 episode 中的随机位置采样。采到的 chunk 可能在时间上距离当前步很远,模型无法再依赖时序邻近性,只能去提取贯穿整个 episode 的行为风格。部署时则供给最近 $H$ 个 chunk 的滚动窗口。论文报告,去掉这一项之后,策略的训练损失很低,任务成功率却很差。

与任务示范不同,这段上下文描述的不是要做什么,而是这台机器人此刻正在以什么方式做事。

6.2 GEN-1.5:没有被专门训练出来的 one-shot 能力

GEN-1.5 的 physical prompt 是一段感觉运动序列——传感器数据加动作轨迹——可以来自手持夹爪采集的人类数据,也可以来自机器人自己的 rollout。这段 prompt 被放进 30 秒上下文窗口,其余部分留给滚动的当前观测。prompt 进入上下文之后,模型直接执行,不做任何训练步。

在 10 个任务上,one-shot in-context 的平均成功率为 59%(标准差 10%);用每个任务 5 分钟数据(约 50 条演示)做 10 步梯度更新,成功率升至 83%(标准差 9%)。部分任务上,in-context 的表现超过在同样数据上做 1 到 5 步梯度更新。官方同时说明,测试任务是短时程的原子操作,成功率不高,in-context 学到的技能比微调后的模型更脆弱,但能应对一部分扰动,并从失误中恢复。

与前面几节的工作相比,GEN-1.5 的不同之处在能力的来源。之前的ICL方法把”读完示范之后的表现”直接写进训练目标;GEN-1.5 没有做任何这类设计——没有为 in-context learning 修改架构,没有鼓励快速适应的辅助目标。预训练使用的是从数据引擎中随机采样的连续片段,没有为”把样例打包进上下文”做过专门处理,而 physical prompt 会在时间上引入训练时从未出现过的跳变。这一能力是在持续八个月的预训练过程中出现的。

官方给出的解释是假设性的:物理观测与动作的分布可能具有与语言中类似的 burstiness 和 Zipfian 结构,而这类结构此前被认为与语言模型的 in-context learning 相关;另一种可能是物理劳动本身包含重复的循环,模型学会了检测并延续这类模式。

围绕 physical prompt 还有几个衍生结果:

  • 组合。两段独立录制、彼此之间没有过渡的不同任务 prompt 同时放入上下文,模型会把它们串成一段连续行为,并自行补出两段演示中都不存在的中间动作——重新定位、重新抓取、错误恢复。
  • 跨仿真。prompt 完全由仿真中的 rollout 构成(脚本策略、RL agent,或人在仿真中遥操作),真实机器人据此完成任务,而预训练数据中不含任何仿真数据。
  • 跨本体。人用自己的手在机器人相机视野内演示,机器人随后用自己的手复现。
  • 少步适应。1 到 10 步梯度更新、1 到 5 分钟数据即可适应新任务;10 步之后,权重在留出任务上的变化小于 0.15%。单步、一分钟数据的设定下,留出任务成功率为 66.5%。

physical prompt 是感觉运动配对,模型从中归纳的是任务映射,与人类视频那一节属于同一类。它的特殊之处在于这段 prompt 可以来自人手、机器人自身或仿真器——上下文的来源与执行者的本体不必一致。


七、上下文窗口的另外两种玩法

另外两类不确定性同样依赖上下文,也同样有用,但并没有learning。

7.1 选择:该用哪个映射

π0.7 是这一类最完整的例子。它把语言指令、下一个语义子任务、速度和质量等 episode metadata、多视角 subgoal image 一起放进 prompt,构成一个相当强大的策略控制接口。同一个任务可以有不同的速度和抓取方式,metadata 告诉模型这次该选哪一种;subgoal image 则描述几秒之后场景应该长成什么样。

这些输入描述的是目标和风格。完成这些行为的映射已经存在于权重中,metadata 的作用是从中选出一个,模型的输入-输出函数并未改变。

π0.7 的多模态上下文

[图 7-1] π0.7 将语言、episode metadata 和目标图像等多种信息组合进上下文 —— 来源:π0.7 论文

7.2 状态:当前帧看不到的那部分

第二类是 memory。MemoryVLA 区分短期工作记忆和长期情景记忆,MemER 让高层策略检索相关关键帧再生成语言指令交给低层执行,ContextVLA 把多帧历史压缩成一个 context token。

这些工作解决的是同一个任务内部的部分可观测:我刚才把杯子放在哪了、这个多阶段任务已经做到第几步了。同一个任务、同一套系统,只是当前这一帧信息不够。

MEM 的长时记忆结构

[图 7-2] MEM 为 VLA 提供长时程视觉与语言记忆 —— 来源:MEM 论文

执行历史写出来是 $(o_1,a_1),(o_2,a_2),\dots$,形式上与一条示范轨迹相同。区别在于读完之后什么发生了改变:读完一条示范,模型把观测转成动作的方式会变;读完八帧历史,这个方式不变,改变的是代入其中的状态。

这条线上真正的技术难点也不在”读上下文”,而在选择和压缩——更长的历史不一定更好,长序列里的伪相关会让策略学到错误的依赖。Big Picture Policies 先用 VLM 挑出最少的关键帧,Gated Memory Policy 显式学习何时读取、读取什么,都是在解决这个问题。

7.3 还有一条正交的路

同样一段部署时的证据,可以留在上下文窗口中,也可以通过梯度写进权重。后者是 test-time training:RoboTTT 把 8K 步的视觉运动历史压进 fast weights,VANE 把候选更新与在线策略隔离,只有当后续视觉结果支持该次更新时才提交。这条路径改变的是 $\theta$ 而不是 $z$。它与 ICL 的目标高度重叠,代价不同:需要梯度,难以回退,对在线安全性提出额外要求。


八、还没解决的问题

  1. in-context learning 是怎么涌现的?

语言模型的 ICL 不是被专门训练出来的能力,它出现在以 next-token prediction 为唯一目标的预训练之后。机器人这边基本相反:前面提到的大部分工作都在显式地训练这个能力——把”读完示范之后的执行表现”写进训练目标,用后训练把 ICL 装进已有的 VLA,或者专门构造大量示范—查询配对。

GEN-1.5 是目前唯一报告该能力自发出现的例子,但对于其具体的涌现机制还缺乏研究。什么样的数据分布会让这种能力出现?它与数据量和模型规模之间是否存在可预测的关系?显式训练出来的 ICL 和涌现出来的 ICL,在泛化行为上是否存在系统性差异?

  1. demo 最终会是什么形态?

同一段示范,现有工作给出的形式差别很大:交错的 token 序列、图节点、关键点、压缩后的 chunk embedding、任务计划与子目标描述、语义关键点、任务无关的交互三元组、原始的感觉运动序列。每一种都在某个设定下有效,彼此之间缺少直接比较。

背后是一个尚未解决的取舍:抽象程度高的表示(关键点、结构化计划)降低了归纳难度,但丢弃的信息可能正是接触、力和材质这些难以符号化的部分;抽象程度低的表示(原始感觉运动序列)保留了全部信息,代价是模型需要自己建立示范与当前场景之间的对应。未来的技术路线会技术路线会收敛到什么形态呢。

  1. 我们如何scaling context?

VLA 需要以较高频率输出动作,上下文每变长一点,每一步决策的推理开销都会增加。这与语言模型的长上下文问题不同:那里的代价是延迟,这里的代价是控制回路本身可能跟不上。哪些信息必须逐帧保留、哪些可以压缩成一个 token、哪些可以丢弃,如何解决机器人领域的long-context scaling问题?


结语

机器人 ICL 正在脱离”把 GPT 的 prompt 类比直接搬过来”的阶段。

它真正改变的是策略的输入对象:机器人不再只看当前图像和一句指令,它可以读示范、读视频、读目标状态、读自己刚才的探索结果,并据此判断眼前这个场景里,哪些是任务信息、哪些是系统信息、哪些只是噪声。

所以最值得关心的问题不是”上下文有多少 token”,而是:

上下文里,有没有装上当前策略缺失、但完成任务所必需的那部分信息。

有时候这部分信息是一条任务示范;有时候是一段人类视频;而当相机和本体发生变化时,它可能只是机器人自己随便动的那几秒。


九、速查表

方法上下文里装什么归纳出什么测试时是否更新参数适应预算
One-Shot IL一条机器人示范任务规则1 条
ICRT1–2 条遥操作轨迹任务规则1–2 条
RICL从 10–20 条示范中检索的片段任务规则否(需一次后训练)10–20 条
Instant Policy示范 + 当前观测(图结构)任务与局部对应1–2 条
BPP单条手持采集示范新行为1 条
KAT关键点 + action token视觉—动作对应~10 条
Action Tokenizer Matters示范(关注 token 化本身)平滑的动作表示
Vid2Robot人类操作视频运动意图1 段视频
MimicDroid无标注 human play video可跨本体复用的行为结构1 段片段
Point Policy人类视频 → 语义关键点与形态无关的操作意图离线视频
ICWM任务无关的随机交互三元组当前系统的观测—动作映射几秒随机运动
GEN-1.53–12 秒人类演示任务规则否(可选少量更新)3–12 秒
Qwen-RobotManipepisode 内历史轨迹当前本体身份episode 内

共用上下文窗口,但不属于 ICL:π0.7(消解”该用哪个映射”)、MemoryVLA / MemER / ContextVLA(消解”当前状态是什么”)、RoboTTT / VANE(函数确实改变,但改变的是 $\theta$)。


参考文献

第三节:遥操作示范与任务级 ICL

第四节:人类视频与跨本体迁移

第五节:系统辨识与交互上下文

第六节:大规模预训练

第七节:规格、记忆与测试时适应

引用本文

@article{Wang2026RobotICL,
  title   = "机器人的 In-Context Learning:上下文里究竟应该装什么",
  author  = "Wang, Siyin",
  year    = "2026",
  url     = "https://sinwang20.github.io/blog/robot-icl-zh/"
}