Skip to content
GEN-1.5 解读:机器人如何从一次示范中适应新任务?

GEN-1.5 解读:机器人如何从一次示范中适应新任务?

September 9, 2026·chase
本文目录 展开章节导航

看到一次示范后开始执行,与看完示范后重新训练,是两种不同的适应方式。 GEN-1.5 值得讨论的地方,是它让我们重新审视:教机器人一个任务时,哪些信息应进入输入,哪些需要写入参数?

本文以 Generalist 于 2026-08-19 发布的 GEN-1.5 官方文章为入口。先简要核对发布内容,再给出独立的机制解释、评测设计和 Python 练习;不将通用公式或教学代码标成官方内部实现。

阅读目的入口
先了解发布结果事实摘要
分清提示与训练两条适应路径
理解闭环与数据接口示范如何成为条件任务歧义
判断实验说明什么评测方法
动手计算Python 练习
继续读相关研究研究脉络

1. 官方发布内容:先保留实验口径

官方描述:模型接收多模态观测,使用 30 秒记忆,输出 100 Hz 动作轨迹。一次 3–12 秒的示范可作为上下文,无需更新参数;在 10 个短时任务上,平均成功率为 59%±10%。另一设置使用每任务 5 分钟数据、10 次梯度更新,结果为 83%±9%;± 标注为标准差。文中还展示技能组合、仿真示范迁移及部分人手示范案例。这些都是团队报告,不能扩展为任意任务的保证。详见官方结果与示例

以下各节提供分析框架。公式不用于推断其未说明的网络结构、动作编码或训练损失,也不据这些汇总数字反推试验次数。

2. 两条适应路径:任务信息存在哪里

2.1 上下文适应:参数固定,条件改变

把示范写成序列 D={(ok,qk,ak)}k=1KD=\{(o_k,q_k,a_k)\}_{k=1}^{K},其中 o 是观测,q 是机器人状态,a 是动作。令 HtH_t 表示执行到当前的历史,一种通用的条件策略写法是:

atπθ(D,Ht). a_t\sim\pi_\theta(\cdot\mid D,H_t).

这里固定的是参数 theta,变化的是输入中的示范和当前历史。换一段 D,模型面对的条件分布就变了;不需要调用优化器,也能改变输出行为。

这种“学习”描述输入条件下的适应,不意味着模型永久记住了新任务。若后续清空示范或移除有关历史,是否还能执行,需要单独测试。上下文记忆、持久任务库与模型参数是三种不同的存储位置。

2.2 参数适应:示范用于改变模型

另一条路径把示范作为训练数据,例如采用通用的模仿损失:

θ(k+1)=θ(k)ηθLimit(θ(k);D). \theta^{(k+1)}=\theta^{(k)}-\eta\nabla_\theta \mathcal L_{\mathrm{imit}}(\theta^{(k)};D).

eta 是学习率,k 是优化器步骤。更新后,新参数可能在不保留原始示范上下文的情况下表达任务,但仍需通过测试确认。该式只说明梯度适应的概念,不是 GEN-1.5 官方损失的复现。

问题上下文适应参数适应
示范的直接用途输入条件梯度计算的数据
可训练参数是否变化不变化至少部分参数变化
如何切换任务更换上下文或任务提示更换权重、适配器,或重新适应
主要检查项提示选择、历史保留、输入对齐学习率、更新范围、数据划分、遗忘
是否免除前期训练成本

从这一区分出发,“一步更新”应与“一次示范”分开计数。一次优化器更新可以消费一个很大的 batch,也可能包含梯度累积;示范数量、数据时长、更新次数、训练墙钟时间与峰值显存,都应独立记录。

2.3 为什么不能把少步适应直接称为元学习

MAML 明确把“新任务上少量更新后表现好”纳入训练设计,通过跨任务优化获得易于适应的初始化。因此,观察到一个模型能快速微调,只能说明一种能力,不能反推出它使用了 MAML 或某个内外循环。方法定义可参考 MAML 原始论文

3. 示范提供任务信息,闭环处理当前世界

设想一个自拟任务:示范中,操作者将桌面上的一个圆柱放入左侧盒子。测试时,圆柱位置变了,盒子也移动了。

如果控制器只按时间重放示范中的关节角,它可能仍然伸向旧位置。条件策略则需要利用当前观测,判断“取这个物体放入那个容器”在新场景中对应什么动作。示范提供任务约束,当前传感反馈提供实际状态;二者都不能被另一方替代。

下面按输入、输出与反馈关系梳理接口:

示范与实时历史共同进入固定策略;另一条路径用示范更新参数
原创接口示意:上下文适应与参数适应是两条路径,不表示 GEN-1.5 的实际网络结构。

3.1 一个示范究竟可能包含什么

纯视频只呈现外观变化;带状态与动作的序列还可能提供接触时机、夹爪开闭、移动方向和执行速度。要把这样的序列作为输入,至少需要把时间戳、坐标系、单位和动作语义讲清楚。

字段必须回答的问题
图像或视频相机视角是什么?多相机是否同步?
机器人状态是关节空间、末端空间,还是两者都有?
动作表示目标位置、增量、速度还是力矩?
时间采样间隔固定吗?是否存在掉帧或重复记录?
任务边界哪一帧是开始,哪一帧代表成功?

跨机器人时,两个同样形状的数组也可能语义不同。六个数可以表示位姿、速度或力,数值相近并不证明可直接互换。任何复现实验都应先定义适配层,不能只把人手或另一台机器人的数据拼进 Tensor 就称为跨本体迁移。

这里还有一个容易混淆的输入条件:官方通常所说的 physical prompt 是传感与动作示范,来自手持夹爪采集或机器人轨迹;文中的部分直接人手示范案例不能推成“任意普通视频都可用”。参见官方上下文学习说明

下面是一份本文自拟的示范元数据,用于说明实验记录应该包含哪些信息,不是官方 SDK 的参数格式:

{
  "demo_id": "cylinder_to_box_001",
  "task_id": "place_cylinder",
  "duration_s": 6.0,
  "observation_clock": "capture_monotonic",
  "action_frame": "robot_base",
  "translation_unit": "m",
  "action_semantics": "end_effector_target_pose",
  "success_rule": "object_inside_box_and_gripper_released",
  "split": "adaptation"
}

这份记录不能替代视频、动作数组或标定文件,但能防止同一个字段被不同人作出不同解释。例如 end_effector_target_pose 与位姿增量不是同一命令,世界坐标中的目标也不能直接当作基座坐标目标。若真实模型接口不接受这些语义,需要另做转换并验证。

3.2 组合技能比拼接轨迹多了什么

继续使用自拟例子:一段示范教“打开盒盖”,另一段教“放入物体”。中间还需要让手从开盖结束姿态移动到可抓物体的姿态,并处理盒盖是否弹回、物体是否可达等状态。

验证组合能力时,应单独标注这些过渡动作是否出现在示范中,并测试不同起始状态。若只播放一次成功视频,无法判断系统是理解了任务关系、复用了常见运动片段,还是偶然匹配了熟悉布局。

3.3 一次示范可能对应多个任务解释

继续使用自拟的放置任务:示范中,圆柱被放入左边的蓝盒。仅凭这一次成功,至少有三种规则都能解释观察:

候选任务规则原示范是否支持把蓝盒移到右侧后会怎样
放入左边的盒子支持继续选择左侧容器
放入蓝色盒子支持改为选择右侧蓝盒
重复原来的绝对空间目标支持仍伸向旧位置,甚至可能错过容器

同一段示范兼容位置规则和颜色规则;交换容器位置后,两种规则给出不同目标
下方两个场景表示位置规则与颜色规则两种竞争假设,不是 GEN-1.5 实测结果。

这个例子说明:一个示范未必包含足够信息来唯一确定人的意图。模型需要依靠预训练先验、语言条件或其他观测在多种解释之间选择。成功不能单独证明它采用了哪条规则;失败也可能来自任务说明含糊,而非动作执行能力不足。

可以用一个通用的概率表达式组织这种不确定性:

p(gD)p(Dg)p(g), p(g\mid D)\propto p(D\mid g)p(g),

其中 g 是候选任务解释,D 是示范。它只是分析视角,不声称 GEN-1.5 显式维护贝叶斯后验或离散任务变量。若多个 g 都容易产生同一个 D,就需要能区分它们的新证据。

例如增加一段“蓝盒在右侧,仍把圆柱放进蓝盒”的示范,可以排除单纯选择左侧的规则;再改变容器位置,则能进一步检验是否依赖绝对坐标。这样的示范选择旨在排除相互竞争的解释,不只是增加更多近乎重复的视频。实际效果仍需用独立测试场景验证。

因此,给模型更多上下文之前,先问新增示范解决了什么歧义。若只是复制同一布局,它可能增加数据量,却没有增加区分任务规则所需的信息。

3.4 时间窗口不等于 token 数,也不等于推理频率

用一个预算模型表示:

Tdemo+Tlive+TreserveTwindow. T_{\mathrm{demo}}+T_{\mathrm{live}}+T_{\mathrm{reserve}} \leq T_{\mathrm{window}}.

这只是时长账本。实际 token 数还取决于视频采样率、视觉压缩、动作表示和多模态编码。动作轨迹有固定采样频率,也不意味着大模型每个采样点都重新前向;它可能生成一段轨迹,再由执行端按时钟消费。

因此应分别记录模型请求频率、动作轨迹频率、低层伺服频率和端到端延迟。仅知道其中一个,不能推导其他三个。

4. 如何评测“看一次就会”

下面是本文建议的评测设计,不是对官方未披露试验细节的补写。

4.1 把适应数据与测试数据隔开

先选定任务与成功标准,再记录示范,最后在未用于选择示范的测试初始状态上执行。若先看了测试失败,再反复挑一段最合适的提示,提示选择本身已经使用了测试反馈,应报告这笔预算。

“新任务”也有不同强度:新物体位置、新物体实例、新的动作组合、新的目标关系和新的机器人本体,不能压成一个泛化标签。建议逐层分开记录,才能知道变化发生在哪一维。

4.2 最少需要哪些对照

对照主要回答的问题
正确示范与无示范上下文是否提供了额外任务信息?
正确示范与错误任务示范策略是否真的受示范内容影响?
完整示范与打乱时序示范动作顺序是否重要?
新布局与示范布局是否依赖轨迹或背景匹配?
固定提示与多次挑选提示成功率是否包含提示搜索收益?
相同数据预算下的上下文与微调输入适应和参数适应的成本如何比较?

各实验还应统一重置方式、超时、人工干预与失败判定。暂停机器人、重新摆放物体或额外口头提醒,都可能改变结果,应进入日志。

4.3 短任务成功率不能直接当成长流程成功率

假设一个自拟流程有 10 个阶段,每个阶段在此前阶段全部成功的条件下,成功概率都是 0.9。若不允许失败恢复,整条流程的通过率是:

P(S1S10)=P(S1)k=210P(SkS1,,Sk1)=0.9100.3487. P(S_1\cap\cdots\cap S_{10}) =P(S_1)\prod_{k=2}^{10}P(S_k\mid S_1,\ldots,S_{k-1}) =0.9^{10}\approx0.3487.

这是条件概率链式法则的算例,不是 GEN-1.5 的实测结果。它不需要假定阶段独立,但需要每个阶段在成功前缀下都满足所设条件概率;把单独重置后测得的十个成功率直接代入,往往并不满足这一前提。

真正的组合测试应记录阶段切换、成功前缀带来的状态分布变化,以及是否发生恢复。一个允许重新抓取的控制器与“一次抓取失败即判负”的控制器,评测口径不同。建议同时报告最终成功率、完成时间、恢复次数与人工介入次数,而不是只数完成了多少原子动作。

4.4 怎样判断模型确实使用了示范

给同一个初始场景两段不同任务示范,比如分别要求放入左盒和右盒,观察行为是否随提示改变。这个测试有助于识别条件依赖,但仍不能证明模型形成了某一种内部任务表征。

再把示范移除、替换成另一个任务或保留物体外观却打乱动作顺序。如果行为完全不变,可能是任务先验已经很强,也可能是提示没有被正确送入模型,需要通过更多对照定位。一次对照失败不必然证明没有上下文能力;它首先说明该实验不能支持所期待的因果解释。

对于仿真或跨本体示范,应把“未用目标任务真机数据微调”“没有任何目标任务示范”“预训练没有某类数据”分别列出。zero-shot 的名称必须说明相对于哪一种数据或更新而言,否则不同实验可能在比较不同难度的问题。

4.5 平均值、标准差和置信区间回答不同问题

每任务成功率可以先求平均,形成任务等权的 macro 指标;也可以合并全部试验,形成 trial 等权的 micro 指标。任务试验次数不同时,两者通常不同。

例如自拟任务 A 成功 9/10,任务 B 成功 10/20:macro 为 70%,micro 为 19/30≈63.33%。这不是两个程序谁算错了,而是赋予任务的权重不同。

标准差描述某个指定统计对象的离散程度;置信区间需要说明抽样单位与估计方法。任务间波动、随机种子间波动和单任务重复执行的波动都可能不同。只有汇总百分比时,不能补造样本数、把标准差直接当成置信区间,或判断任意两个模型具有统计显著差异。

5. 可运行 Python:预算与评测口径

可以下载 完整练习包,解压后进入 gen-1-5-lab 目录,按 README 运行。也可以单独下载 prompt_eval.pytest_prompt_eval.py,放在同一目录。仅使用 Python 标准库:

python3 -m unittest -v test_prompt_eval.py
python3 prompt_eval.py

脚本提供四项独立练习:

  1. 给定窗口、示范时长与实时历史,检查是否超预算。
  2. 用自拟成功次数计算 macro 和 micro。
  3. 对自拟二项试验计算 Wilson 区间,练习区分样本成功率与不确定性。
  4. 对已配对的两种提示结果,统计哪些场景改善、哪些场景退步。

实际输出中,30 秒窗口内放入 6 秒和 8 秒两段示范,保留 12 秒实时历史,共使用 26 秒、剩余 4 秒。若按 100 个动作采样点/秒换算,共对应 2600 个名义动作采样点。这些不是模型 token 数、KV cache 大小或模型调用次数,该布局也不是官方输入格式。

Wilson 示例使用上面自拟的 19/30,假设试验独立同分布。真实机器人数据可能因共享物体、操作者或重置过程而相关,不能无条件套用这个区间。代码是统计练习,不调用 GEN-1.5,也不控制机器人。

运行时先核对输出中的 scope:它说明数据是人为构造的练习,而非官方试验记录。接着检查四组结果是否一致:窗口使用 26 秒、剩余 4 秒;macro=0.7、micro≈0.633333;配对四格计数为 2、3、1、2;成功率差为 0.25。Wilson 区间约为 [0.455136, 0.781261],仅对应示例中的 19/30。

如果要替换成自己的实验数据,应先在原始日志中完成任务分组、条件匹配与失败标记,再调用函数。保留失联、超时、人工介入等原始状态,并按预先规定的规则映射为成功/失败;不能为了满足布尔输入格式而静默删除不完整试验。计数是否完整与统计函数是否算对,是两项独立检查。

5.1 不只比较平均数:同一组场景中谁改善、谁退步

考虑一个自拟的 8 对试验。每对使用同一任务和匹配的初始场景,分别测试“正确示范”与“无示范”。真实物理执行不能共享同一次随机轨迹,因此需要重置场景,并随机化两种条件的执行先后;这里的配对指实验设计上的匹配,而不是事后按结果排序。

脚本中的布尔数组代表下面的合成记录,不是 GEN-1.5 评测:

配对结果数量解读
两种条件都成功2这些场景不能区分提示收益
仅正确示范成功3本批中提示条件改善的场景
仅无示范成功1本批中提示条件退步的场景
两种条件都失败2提示没有解决这些失败

正确示范成功 5/8,无示范成功 3/8,差值是 (3−1)/8=0.25,即 25 个百分点,不是“相对提升 25%”。这是样本描述,不是总体显著性结论;八对试验远不足以概括复杂机器人任务。

paired_outcomes 会拒绝空数据、缺失值、不等长度和非布尔结果,避免默默丢弃没有执行完的一侧。但它不能验证两侧是否真的对应同一个场景,这需要调用方保存 task_idscene_id、条件、运行顺序、模型版本与提示 ID。多个任务混合时,先按任务分别报告,再明确怎样汇总,不能把所有配对当成同一个同质分布。

5.2 失败日志应能解释下一次怎么改

可以先把失败按执行链分为四类,再用原始视频和传感日志核对:

观察到的现象待验证假设下一项有针对性的对照
稳定地执行另一个任务提示含糊或任务信息未生效相同场景替换目标明确的示范
目标方向正确,但总偏离物体标定、坐标或时序不一致固定目标,单独检查观测—动作对齐
单项动作完成,组合时卡在过渡中间状态分布没有覆盖保持子任务不变,仅改变过渡起始状态
接触后失败且不再调整反馈不足或恢复策略失效记录触碰前后观测、动作与介入时间

这些是排查假设,不是从一次录像就能下的模型诊断。比如末端以 0.2 m/s 移动时,80 ms 的时序偏差对应 1.6 cm 的位移;在小物体抓取中,输入对齐错误可能表现得像“模型不理解任务”。这个运动学算例假定速度恒定,只用于说明为什么要先测时间戳,不能作为某个系统的实际延迟估计。

最后固定一条规则:测试失败后更换示范、修改成功判定、增加重试或人工摆正物体,都属于实验条件变化。保留原始结果再启动新条件,才能判断改动是否带来收益。

6. 放回研究脉络:哪些问题已有可读实现

ICRT 将传感、状态与动作序列作为提示,用因果 Transformer 进行预测,并在测试时保持策略参数固定。它提供了一条阅读“上下文模仿学习如何组织输入”的具体路线;不应据此推断 GEN-1.5 使用相同架构。可从 ICRT 论文继续阅读。

Instant Policy 用图表示和扩散过程建模上下文模仿,并用仿真生成的伪示范训练。这提供了另一条带明确结构偏置的路线,也说明“无需新任务微调”并不限定为一种网络或一种数据来源。参见 Instant Policy 论文

实际选读时,可以围绕三个具体问题对照这些工作:示范如何编码,测试时允许改变什么,训练分布如何覆盖测试任务。这样比只比较 one-shot 或 foundation model 标签更容易定位技术差异。

现有博客中的 RynnBrain侧重具身理解及输出协议,PPO、DPO、GRPO侧重通过优化改变策略;本文则关注任务条件与少量示范如何参与适应。三条路线可以共同进入机器人系统,但输入输出与训练职责应分别核对。

阅读自测与验收

  • 能否区分上下文适应与参数适应,并说明一次示范、一个 batch 和一步梯度更新为何不是同一单位?
  • 能否为同一段示范列出两种任务解释,并设计一段能区分它们的追加示范及独立测试?
  • 运行五项测试,解释时间窗口、动作采样点、模型 token 与推理频率之间不能直接换算的原因。
  • 用自拟成功次数计算 macro 与 micro,并说明标准差为何不能直接当作置信区间。
展开核对:关键结论
  • 上下文适应改变条件输入,参数适应改变权重;两者都依赖前期训练,任务级成本应分项记录。
  • 左侧蓝盒同时兼容位置规则与颜色规则;移动蓝盒能区分两者。这个对照检验行为条件依赖,不能单独证明模型内部采用某种任务表示。
  • 时间账本只约束时长;动作编码、视觉压缩与执行接口决定其他资源,脚本没有官方编码器。
  • macro 对任务等权,micro 对试验等权;不确定性估计需要样本量、抽样单位与相关性假设。

参考资料

Last updated on