一、世界模型到底在解决什么问题
软件世界里的智能体有一个隐含福利:动作是可撤销的。一个 Agent 调错了 API、写错了文件、走进了死胡同,最坏情况是重来一次。这个"重来一次"的能力,是过去几年软件智能体快速迭代的隐性基础。
具身智能没有这个福利。机械臂把杯子推下桌面,水就洒了;移动底盘撞上人,损失不可回滚;拧紧的螺栓拧过了,零件报废。所以机器人在做动作之前,必须先回答一个软件 Agent 从来不必回答的问题:我如果这么做,接下来会发生什么?
世界模型(world model)就是对这个问题的工程化回答。它不是"能生成视频的模型",也不是"能识别物体的视觉模型",而是三个部件的组合:
- 状态表征:把"此刻的世界"压缩成模型能推理的某种表示,可以是神经网络的隐向量,也可以是三维点云、高斯点、占据栅格,或者一个有组织的场景图。
- 转移规律:给定当前状态和一个动作,预测下一个状态。这是整个系统里最难、最容易崩的部分。
- 动作后果映射:把人类或策略输出的抽象意图,翻译成世界模型能消化的条件信号。这一块被长期低估,但它决定了世界模型能不能真正接进控制回路。
关键判断是:市面上绝大多数自称"世界模型"的项目,其实只做到了其中一到两块。有的只做了表征(视频理解模型),有的只做了生成(视频生成模型),有的只做了离线预测(给定一段轨迹预测下一段)。它们离"能在闭环里当仿真器用"还有相当距离。本文的任务就是把这条路线的成色拆开看。
1.1 三条技术路线的分野
把 2024 到 2026 年公开可见的工作放在一起,可以按"预测发生在什么空间里、预测什么"分成三条路线。它们不是互斥的,2026 年的前沿系统正在往混合架构收敛,但底层哲学差异很大,选错了工程代价极高。
路线 A:表征式世界模型(预测抽象,不预测像素)
核心主张是:智能体决策需要的不是"下一帧长什么样",而是"下一帧意味着什么"。因此直接在潜在表征空间做预测,把像素、纹理、光照、树叶抖动这些对决策无关的高频自由度彻底扔掉。
这条线的典型做法有两类。一类是 联合嵌入预测架构(JEPA):维护一个上下文编码器和一个目标编码器,当前帧和若干未来帧分别编码到潜空间,在潜空间做预测损失;目标分支通常用指数移动平均更新并对上下文分支停止梯度,否则模型会找到"所有输入编码成同一个向量"这条退化捷径。另一类是 递归状态空间模型(RSSM 一类的做法):显式拆出确定性状态和随机状态,用随机状态承接观测的不确定性,用确定性状态承接动力学,配合 KL 平衡损失把先验拉向后验,从而在隐空间里做几十步的想象式 rollout。
这条路线的强项非常明确:快。潜空间维度比像素低两到三个数量级,所以在隐空间里 rollout 几百步的代价可以接受,这正是它天然适配模型式规划(model-based RL)的原因。弱项也同样明确:它不产出可见画面,出错时难以定位,因此很难单独当作可解释的仿真器,也很难直接用来生成训练数据。
路线 B:生成式世界模型(把视频生成模型当物理仿真器)
这条路线的赌注是:既然视频生成模型的画质已经足够高,那么加上动作条件之后,它就近似是一个可渲染的物理环境。它的卖点不是抽象推理,而是逼真、可渲染、可作为数据引擎。
技术上这条路线的门槛被推得很高:扩散模型或流匹配架构、高维潜空间视频 tokenizer、海量视频预训练、以及一个能吃下动作条件的条件注入机制。它把生成质量的大问题直接搬到了机器人领域,于是"生成出来的物理对不对"就变成了唯一重要的问题——而这恰好是当前生成模型最不稳定的地方。
这条路线的强项是:一旦成立,它就是无限的仿真器,可以造出真机永远采不到的极端样本,可以补长尾。弱项是:实时性和可控性都很难。多步去噪/流匹配的推理延迟天然以百毫秒到秒计,而机器人闭环要求毫秒级;同时"画面合理"和"动作后果正确"是两件事,前者好看并不意味着后者对。
路线 C:潜空间预测与规划(介于两者之间的工程折中)
这条路线的做法是:不追求完整的像素级重建,只在潜空间学一个动作条件的动力学模型,然后用短程滚动 + 价值引导的方式做动作选择。典型的结构是从 Dreamer 一脉演化出来的想象式 actor-critic,以及 TD-MPC 一脉把隐空间建模与基于模型预测控制结合、并在隐空间施加规划可行性约束的方案。
它有意把预测时域压得很短——通常只有个位数到十几步。这是极其重要的工程判断:世界模型的价值密度随时间步迅速衰减,与其做一个撑不住 200 步的模型,不如做一个在 10 步内很准的模型,然后用反馈控制吃掉剩余的不确定性。它也是三条路线里工程成熟度最高、最容易今天就在产线上跑起来的一条。
1.2 三条路线的横向对照
| 维度 | 表征式 | 生成式 | 潜空间规划式 |
|---|---|---|---|
| 预测目标 | 潜空间表征 | 像素 / 潜空间视频 | 潜空间状态 |
| 主要收益 | 抽象推理、样本效率 | 逼真度、数据生成 | 闭环可用性 |
| 主要瓶颈 | 潜空间易坍塌、无视觉可解释性 | 物理一致性、推理延迟 | 长时外推能力有限 |
| 推理实时性 | 好 | 差 | 好 |
| 能否当数据引擎 | 不能 | 能(若物理可信) | 不能 |
| 典型失败模式 | 潜变量不承载几何,规划和感知脱节 | 物体漂移、遮挡错乱、因果倒置 | 超出训练动作集后状态预测发散 |
| 落地成熟度 | 中 | 低到中 | 高 |
这张表里最容易被误读的是"落地成熟度"一行。它不是说表征式和生成式不重要,而是说在成本敏感、失败代价高的机器人场景里,能跑通的价值远高于看起来更美的东西。这也解释了 2026 年的实际走向:更多团队不再追求纯路线,而是采用"潜空间负责规划、生成式负责渲染和数据、传统控制负责兜底和实时"的混合栈。
二、从像素预测到表征预测:为什么必须换目标
2.1 像素级目标的三个结构性失效
把"预测下一帧"当作世界模型的定义,几乎是所有早期尝试的统一错误。它的失败不是训练不够,而是目标函数本身在惩罚正确的东西。可以拆成三个独立的失效模式。
第一,不可预测成分吃掉了绝大部分模型容量。真实视频里,像素能量的分布是极度倾斜的:大面积的背景、缓慢的光照变化是低频且可预测的,而树叶抖动、水花、玻璃反射、织物褶皱、镜头噪点是高频且本质随机的。如果用像素级重建损失,梯度会被这些不可预测分量主导,模型要么浪费容量去拟合噪声,要么在可预测的低频结构上欠拟合。这就是为什么早期"预测视频帧"的模型常常给出高保真但完全没有物理意义的背景、却在物体运动上糊成一团。
第二,逐像素回归会收敛到条件均值。在 L1 或 L2 损失下,最优预测是所有可能未来像素的平均值。当"下一帧杯子在 A 处"和"在 B 处"同样可能时,模型输出的是 A 和 B 之间的模糊叠加。这直接导致轨迹发散:一个几像素的模糊误差,在 rollout 里被反复放大,几步之后物体就"化开"了。视觉上表现为雾化,物理上表现为不存在的不确定性收缩。
第三,帧率与物理事件不匹配。视频是按固定帧率采样的,而物理事件的持续时间千差万别:一次抓取的关键瞬间可能只有几十毫秒。模型被训练成优化"整帧的平均正确性",于是把大量容量花在帧间变化平缓的冗余信息上,而对那个决定成败的接触瞬间不敏感。
2.2 潜空间预测怎么绕开这三件事
表征式路线的应对是三招对应:把目标函数搬到潜空间,让不可预测的高频细节不进入损失;用预测式而非回归式目标,用在线自举的方式避免直接对最终结果回归;让预测头带因果掩码,只预测当前不可见的部分而不是复制输入,避免平凡解。
这里的工程细节比方法名字重要得多,值得逐条说清楚。
关于防表示坍塌:如果上下文编码器可以自由地把所有帧编码成任意向量,那么"预测目标编码器输出"这个目标可能被平凡地满足。最常见的两个对策是——对上下文分支的梯度做停止回传,让目标只被 EMA 目标分支缓慢更新;以及引入方差正则项,鼓励潜变量的不同维度分散而不是全部塌到均值。JEPA 系列更激进的版本还会对目标表征做逐层归一化,进一步抹掉尺度信息,逼模型保留结构。
关于预测时域要短:表征式模型在十几帧之后就基本不可靠了。工程上的共识做法不是硬撑更长时域,而是把长任务分解成"规划一层、执行几帧、重规划"的循环。这本质上就是把世界模型当成了局部模型,而不是全局模型。
关于表征必须承载几何:这是最容易被忽略、也最致命的一条。一个在分类任务上表现很好的表征,未必保住了度量结构。如果潜空间里"杯子向左移 10 厘米"对应的向量位移,在所有场景下都近似同一个方向,那么这个表征可以支撑抓取;但如果位移向量依赖视角、依赖背景,策略一换场景就崩。所以判断一个表征式世界模型是否可用,要看的不是它的重建指标,而是在潜空间里做线性插值或微扰,渲染/解码出来的结果是否物理合理。
2.3 适用边界:表征式擅长什么、不擅长什么
表征式的强项集中在三处:一是规划,在隐空间做 rollout 成本低,可以支撑大规模采样式的搜索;二是样本效率,真实交互极少的任务上,少量轨迹加想象训练就能得到可用策略;三是多任务共享,共享的潜空间天然提供了任务间的迁移接口。
弱项同样清晰:它不产出可看的东西,因此出问题时无从诊断;它的潜空间可以被策略"钻空子"利用(策略找到潜空间里那些真实世界不可达但损失低的状态),这在实现上需要加可行性约束来堵;以及它很难直接拿来造训练数据,因为没有解码器就没有像素。
一个务实的组合思路是:用表征式模型做规划与代价评估,用生成式模型做渲染与数据合成。前者负责"会不会做对",后者负责"看起来对不对、能不能造新场景"。这个组合的接口设计,往往比两个模型各自的质量更决定成败。
三、生成式世界模型:画质之外的成色问题
3.1 把视频生成模型当物理仿真器,赌的是什么
生成式路线的核心赌注可以用一句话概括:视频生成模型已经隐式地学会了物理,如果再把动作接进去,它就近似一个可渲染的交互环境。这个赌注在部分场景下确实成立,在很多场景下不成立,但它的吸引力足够大——因为一旦成立,它解决的正是具身智能最贵的那个问题:真机数据。
但这个赌注有三层需要分开检验的东西,很多讨论把它们混为一谈:
- 视觉连贯性:帧与帧之间是否平滑、不闪烁。这是最容易达到的,也是最不重要的一层。
- 语义持久性:同一个物体是否还是那个物体,是否保持恒定的大小、颜色、数量和身份。这是中等难度,也是当前大部分生成模型的"及格线"附近。
- 动作后果正确性:我推一下桌子,桌子是否真的沿着力的方向移动;我拿起杯子,杯子是否真的离开桌面。这一层几乎决定了它在机器人领域有没有用,而它当前最弱。
一个常见但致命的失败模式,是模型学会了相关性而非因果性。视频里,如果人手向左移动通常伴随杯子向左移动,模型只需要学到这个统计关联,就能生成"看起来对"的短视频。但一旦进入闭环——连续执行几十个动作——这种偷懒就会被彻底暴露:每次都生成一个符合边际统计但不满足累积约束的下一帧,物体系统性地"漏"质量或者位置漂移。在离线视频上这几乎看不出来,因为没有反馈。
3.2 潜空间 + 流匹配:当前的主流技术选择
2026 年的生成式世界模型在架构上已经高度收敛,典型的选择是"高压缩潜视频 tokenizer + 流匹配生成器 + 多种条件注入"。逐个说为什么这么选,以及各自的代价。
为什么要潜空间视频 tokenizer:直接在像素空间做扩散,时间步、空间分辨率、通道数三维相乘导致计算量爆炸。视频 tokenizer 把一段帧压成低维潜变量,把问题规模压到可接受范围。代价是两次有损压缩叠加:tokenizer 的伪影和解码损失会混进生成误差里,对精细几何和接触判断尤其不友好。这个代价经常被忽略,因为离线评测里的感知指标掩盖了它。
为什么从扩散转向流匹配:扩散要迭代多步(几十步起),流匹配可以用更少的采样步数得到可接受的结果,这直接改善了实时性。但流匹配的采样步数下降会加重分布漂移——步数越少,长序列的一致性越差。这与 3.1 里的三层划分是同一个矛盾:质量、实时性、一致性三者不可兼得,目前所有系统都在这条三角里选一个平衡点。
条件注入了什么:这是动作后果正确性的关键。常见做法有三种:把动作 embedding 在时间维做交叉注意力注入;把动作作为额外通道拼进潜表示;或者把动作编码成时空调制(类似扩散模型的调制方案)作用于各层。三种方式各有偏好,但对"接触密集"任务——抓取、插拔、旋拧——都面临同一困境:动作的信息量在接触瞬间极低(一个 7 维向量几乎不携带信息),但在接触前后的对齐必须极其精确,差几毫米就是抓空。
3.3 从离线视频到在线交互的时间步鸿沟
这是生成式路线最工程化、也最容易被忽视的一堵墙。离线视频生成的时间步是"生成一整段未来序列",允许用双向注意力和全局一致的信息;在线交互要求的是"给定当前帧和一个动作,在下一个控制周期内出结果"。这两个模式的信息流方向完全不同。
更麻烦的是时间预算。典型移动操作任务的控制周期在 20 到 50 毫秒量级,而一个多步流匹配的潜视频模型即使做了大量工程优化,通常也在几百毫秒到秒级。中间差了十倍以上。填补这个差距的工程手段无非几种:降低生成分辨率和帧数(牺牲细节)、用少步蒸馏(牺牲多样性)、只在关键帧生成、中间帧插值(牺牲连续动作的响应性)。没有一种是无代价的。
这也解释了为什么 2026 年真正部署的机器人大多采用"混合栈":生成式模型负责离线造数据和做高层语义推理,实时部分交给传统的模型预测控制、轨迹优化或者纯前馈策略。世界模型在真实产线里的位置,比论文里低得多。
四、可交互世界模型:动作条件化与潜动作空间
让世界模型真正"可交互",核心难点是动作从哪来。生成视频只需要"接下来会发生什么",而交互需要"因为我做了 X 所以发生 Y"。这个 Y 就是难点所在。
4.1 显式动作注入:需要成对的"状态-动作-结果"数据
最直接的做法是显式给定动作:输入当前状态和动作,预测下一状态。这个做法干净、因果性强,但代价是需要大规模、强标注的动作数据。人类互联网上的视频几乎不带动作标签——你看到一个杯子滑落,但不知道是谁施加的、多大力、什么方向。
这正是机器人数据昂贵的原因,也是"从人类视频里学"这条路线的全部希望所在。如果动作标签必须靠遥操作采集,那么每一帧都要一个真人坐在机器人前面手动操作,成本是纯视频数据的若干倍还不止。
4.2 潜动作:从无标注视频里自监督抽取动作
潜动作(latent action)的思路是绕开显式标签:从单目人类视频里,训练一个编码器把连续帧映射到一个低维的动作空间,让模型在这个空间里做动作条件预测;动作维度(比如从连续高维压到 2 到 8 维)本身就是对复杂度强制的约束——低维动作空间排除了"把整帧运动硬编码进动作"的退化解,逼模型抽到真正的控制变量。
训练这类模型的核心是一个巧妙的自监督目标:让当前帧和未来的"某一帧"之间的插值可以用学到的动作预测出来。直觉是,动作本质上是"时间流上的位移",用几个可学习的代码(codebook token)加权组合去指定"从现在到未来的第几步",模型为了能连贯预测,就必须让动作 token 和时间位置对齐。这样就无需任何人工动作标签,从视频里白抽出离散潜动作序列。
这种方法的能力边界必须说清楚:它抽出的动作是视觉上的"运动位移",不是物理上的"力"。对于导航、推拉、抛掷这类主要表现为位移的运动,潜动作相当有效;但对于提拉(需要判断抓取点是否真的被握住)、旋转(有接触、有摩擦)、以及任何依赖力的任务,视觉运动几乎不含所需信息。所以潜动作适合做粗粒度动作条件的预训练,不适合直接微调精细操作。
4.3 把潜动作训练成闭环的三个必要性质
无论动作来自遥操作还是潜动作,要让一个动作条件模型能在闭环里当"环境"用,必须满足三个性质,它们是很多工作失败的根源:
- 实时性:单次预测要在控制周期内完成,否则模型只会拖慢系统。这个约束反过来限制了模型大小和预测步数。
- 可重入性:同一个状态下重复执行同一动作,必须给出相同的结果。如果模型的预测带有随机性,闭环控制器就无法收敛,会持续抖动。这是很多生成式世界模型直接用作仿真器时的致命问题。
- 可控的误差增长:预测步数越多误差越大不可怕,可怕的是误差超线性爆炸。当前很多模型在 3 到 5 步内还像样,10 步之后完全失真。所以实际系统里世界模型极少被 rollout 很长,正确做法是短时域 + 高频重规划。
4.4 一个最小的潜空间动力学 + 想象训练骨架
为了把上面的讨论落到实处,下面这段 Python 展示了一个可交互世界模型的核心训练循环:分位表示编码、RSSM 式随机动力学、想象式 rollout。它不是完整的生产代码,但把"表征式 + 潜空间 + 闭环"三者的接缝标了出来。注意几个关键注释里的工程取舍。
import torch
import torch.nn as nn
import torch.nn.functional as F
class RSSM(nn.Module):
"""递归状态空间模型:确定性状态承载动力学,随机状态承接观测不确定性。
关键取舍:随机维度不能太小,否则 KL 项会平凡地把先验拉向后验,
世界模型退化成"抄观测";也不能太大,否则先验学不动、rollout 很快发散。
"""
def __init__(self, obs_dim: int, act_dim: int, deter: int = 512, stoch: int = 64):
super().__init__()
self.deter, self.stoch = deter, stoch
# 先验分支:只吃历史状态和动作,用来在"没有观测"时也能往前推(想象时用)
self.prior = nn.GRUCell(act_dim + stoch, deter)
self.prior_head = nn.Linear(deter, 2 * stoch) # 均值 + log 方差
# 后验分支:吃先验状态和当前观测,用来在"有观测"时校正(训练时用)
self.posterior = nn.GRUCell(obs_dim + deter, deter)
self.posterior_head = nn.Linear(deter, 2 * stoch)
# 观测解码头:把潜状态还原成观测,逼迫潜空间真的携带世界信息
self.obs_head = nn.Sequential(nn.Linear(deter + stoch, 512), nn.SiLU(),
nn.Linear(512, obs_dim))
def _dist_params(self, h):
"""把高斯参数切片拆出来,并夹住方差防止数值爆炸。"""
mean, logstd = h.chunk(2, dim=-1)
return mean, logstd.clamp(-8.0, 4.0)
def prior_step(self, h_prev, z_prev, a):
"""纯动力学推进:世界模型在推理/想象时走的唯一路径,必须可重入。"""
h = self.prior(torch.cat([a, z_prev], dim=-1), h_prev)
mean, logstd = self._dist_params(self.prior_head(h))
z = mean + torch.randn_like(mean) * logstd.exp()
return h, z
def observe(self, obs, h_prev, z_prev, a):
"""有观测时校正后验;训练用 KL 把先验拉向后验,这就是"动力学先验"的训练信号来源。
注意后验必须吃先验的 h(而不是 h_prev),这样 KL 约束的才是
"仅靠动力学预测的状态" 与 "融合了观测的状态" 的差距。
"""
h_prior, z_prior = self.prior_step(h_prev, z_prev, a)
h = self.posterior(torch.cat([obs, h_prior], dim=-1), h_prior)
mean, logstd = self._dist_params(self.posterior_head(h))
z_post = mean + torch.randn_like(mean) * logstd.exp()
kl = self._kl((mean, logstd), self._dist_params(self.prior_head(h_prior)))
recon = self.obs_head(torch.cat([h, z_post], dim=-1))
return h, z_post, {"kl": kl, "recon_mse": F.mse_loss(recon, obs)}
@staticmethod
def _kl(q, p):
"""两个对角高斯之间的 KL;free-bits 阈值防止后验坍塌到先验(反过来的坍塌)。"""
qm, qs = q
pm, ps = p
return (qs - ps + (ps.exp() + (pm - qm) ** 2) / (2 * ps.exp()) - 0.5).sum(-1).clamp(min=1.0).mean()
def imagine_and_actor_critic(rssm: RSSM, start_state, actor, critic, horizon: int):
"""在潜空间想象 H 步并回传策略梯度(REINFORCE 风格,可换成 TD(λ))。
工程要点:
1) horizon 要短(通常 3~15)。长时域想象会让误差超线性爆炸,
收益递减而算力线性增长,短时域 + 高频重规划是更稳的工程选择。
2) actor 的梯度只依赖潜状态轨迹,critic 提供基线降低方差。
3) 想象过程中不反传 observation 分支(no_grad),省显存。
"""
h, z = start_state
traj = []
for _ in range(horizon):
a = actor(torch.cat([h, z], dim=-1))
with torch.no_grad():
h, z = rssm.prior_step(h, z, a) # 想象阶段走先验,不看观测
traj.append((h, z, a))
# 逆向累积折扣回报,lambda-return 平滑 bootstrap;critic 已给出基线,
# 所以这里 G 已经是"超额回报",不需要再减去基线。
G, lam, actor_loss = 0.0, 0.95, h.new_zeros(())
for step, (h, z, a) in enumerate(reversed(traj)):
with torch.no_grad():
r = critic(torch.cat([h, z], dim=-1)).mean() - 0.01 * (a ** 2).sum(-1)
G = r + lam * G
logp = torch.log_softmax(actor(torch.cat([h, z], dim=-1)), dim=-1)
# 逐步权重 0.9^t:靠后的步对梯度贡献更大,等价于短时域的隐式折扣
actor_loss = actor_loss + (0.9 ** step) * (-G * logp.sum(-1)).mean()
# 世界模型的 KL / 重构项由训练循环另行回传,这里只返回策略损失
return actor_loss
这段骨架刻意保留了"不完整"的地方(比如后验校正分支留了钩子)。原因很实在:一个完整可训的 RSSM 加 actor-critic 会让本节从"讲清路线"变成"抄一份实现",反而模糊重点。真正值得带走的是那三条注释里的判断——随机维度的量级、短时域偏好、想象走先验分支。这三条在 2026 年几乎没有被推翻。
五、空间智能与三维表征:难在哪一层
5.1 从 2D 观测到 3D 世界:歧义不是"精度问题"而是"信息问题"
单目视频到三维的重建之所以难,核心不在于优化求解,而在于信息不够。单个视角下,一个模糊轮廓既可能是一个实心圆柱,也可能是两个距离很远的柱子重叠。这种歧义在数学上无法从观测本身消除,只能靠先验(物体通常是什么形状、地面通常是平的)去补。而先验一强,重建结果就偏向"看起来规整"的虚构几何,在精确操作里反而有害。
这带来一个常被忽略的推论:具身任务里,三维表征的目标往往不是"重建得真",而是"够用来做决策"。判断一个杯子从桌面掉落的轨迹,只需要它的近似位置、速度、大致尺度;不需要毫米级的表面法向。而判断机械臂能否插入插槽,需要的是局部高精度,恰恰相反。也就是说,不存在统一的"三维表征精度"指标,只有针对任务定义的精度需求。
5.2 度量精度与拓扑结构:两类不同的能力
空间智能至少要分两层能力,它们的技术路径几乎不交叉。
- 度量几何:物体在哪、有多大、多远、朝向如何。这类信息在单目下本质不可恢复,工程上依赖多视角、已知基线(IMU 里程计、动作日志)或先验。这是传统 SLAM 和多视图几何的主场。
- 拓扑与关系:什么在什么里面、什么支撑着什么、哪个把手连着哪个腔体、开关在门框的哪一侧。这类信息恰恰是单帧 2D 观测里直接可见的——因为它是图像平面的语义关系,不需要深度。
有趣的是,第二类(拓扑关系)在视觉语言模型的预训练里被大量隐式学到,而第一类需要专门的三维数据。所以一个反直觉的结论:大模型的语义先验对拓扑关系很强,对度量几何反而是弱项,因为互联网图文数据里几乎不含精确度量监督。这解释了为什么很多三维方法要把 2D 语义先验"注入"到几何流水线里,而不是反过来。
5.3 显式三维表征的四种工程载体
把世界模型的三维状态表示出来,2026 年的主流载体有四类,各自的适用边界很清晰。
| 表征形式 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|
| 稠密占据栅格 / 占据场 | 几何与语义统一,可直接做碰撞检测和规划 | 内存与计算随分辨率立方增长,长走廊和户外难覆盖 | 自动驾驶、桌面近场、导航主障碍物 |
| 三维高斯点(3D Gaussian Splatting 一类) | 渲染质量高,训练与推理都快,可微 | 表示连续而非占据,碰撞检测要额外转换,动态场景更新麻烦 | 新视角合成、数字孪生、数据增强重渲染 |
| 多视图点云 / 深度图融合 | 直接对接传感器,链路短,便于接传统栈 | 精度受多视图标定和位姿精度拖累,纹理差区域失效 | 抓取位姿估计、点云规划、机械臂工作空间 |
| 隐式场(占据 / 距离 / 辐射场函数) | 分辨率与存储解耦,连续可微,利于优化 | 训练慢,随机查询,实时渲染依赖加速结构 | 离线重建、研究基线、需要连续优化的任务 |
选择的核心问题只有一个:你的下游是"看"还是"碰"。"看"(仿真渲染、语义查询、数据增强)用高斯或隐式场性价比最高;"碰"(碰撞检测、抓取、可达性分析)必须回到占据或点云,因为前者没有可靠的"这个位置有东西"回答。
5.4 前馈式三维重建带来的实际变化
近两年最实用的进展不是端到端的隐式三维模型,而是前馈式(feed-forward)三维重建:不做逐场景优化,直接用 Transformer 从若干视图一次性预测点图或深度与相机参数,把原本几十分钟到几小时的优化过程压到一次前向。
它没有解决单目歧义的根本问题,但解决了一个非常实际的工程瓶颈:把三维重建从"离线批处理"变成"在线组件"。对世界模型来说这意义重大——只有当重建足够快,才能在闭环里为每一帧提供三维状态,"在三维里想象"才成为可能,而不是只能离线跑一遍。这也是把三维表征接进潜空间规划器的前提。
但要清醒看待其局限:前馈方法在纹理丰富的自然场景上表现好,在对称、透明、反光、重复纹理的工业和实验室场景里容易出错,而机器人恰恰大量工作在后者。它的定位更适合作为"兜底几何",把标定良好的深度相机或多相机作为主要来源,前馈方法补盲区和提升帧率。
六、长时一致性与可控性:两个被低估的硬骨头
6.1 长时一致性:误差不是线性累积的
几乎所有世界模型的评测都是短时域的:给定 8 到 16 帧真实历史,预测未来若干帧。但部署时需要的是几分钟几十分钟的任务尺度。这两者之间的鸿沟,是 2026 年最被低估的落地障碍。
误差累积之所以超线性,源于一个反馈机制:当模型的状态估计偏离真实状态后,它所处的状态脱离了训练分布——训练时见过的都是"真实的、合理的"中间状态,rollout 中产生的是"合理的但不真实的"中间状态。模型的误差函数在分布外区域没有被约束,于是每一步的误差比上一步更大,形成正反馈。这也是为什么很多模型在 open-loop 评测下前 10 步几乎完美,20 步后画面完全崩坏,而崩坏点之后的所有预测都无意义。
缓解手段目前有效的不多,主要是三种组合:短时域 + 高频重规划(最实用)、长时记忆约束(锚定关键状态,比如保持地图中的物体位置不被 rollout 改写)、以及不确定性估计与重置(模型对自己没把握时退回保守策略或请求重观测)。第三种在工程上最可靠但也最麻烦,因为"知道自己不知道"需要额外训练信号。
6.2 可控性:三个层次,难度递增
把可控性拆成三层,能更清楚地看出当前进展停在哪里。
| 层次 | 控制对象 | 当前状态 | 关键难点 |
|---|---|---|---|
| 指令级可控 | "把红色积木放到盒子里"这类语义目标 | 相对成熟 | 指令歧义、场景歧义、长程语义记忆 |
| 轨迹级可控 | 指定末端执行器的路径或目标位姿 | 中等,可工程化 | 路径与障碍的碰撞可行性、闭环重规划 |
| 接触级可控 | 指定力、力矩、接触状态,插入与旋拧的相位控制 | 不成熟 | 力信息视觉不可见,接触瞬间时间常数极短 |
大多数生成式世界模型宣称可控,实际做到的是指令级和部分轨迹级。接触级几乎无人越过,原因在第一节已经点明:接触是视觉不可见的物理事件,视频里既没有力也没有触觉信号,模型只能看到接触之后的结果(杯子被拿起或者没被拿起)。这是一个纯粹的信息缺失问题,不是算力问题。
如果任务确实需要接触级能力(装配、插拔、精密旋拧),目前务实的路线是触觉与力矩传感 + 视觉的混合策略,让世界模型负责到达接触前的高层规划,把最后几厘米交给经典力控。这不是技术保守,而是分工:让模型做它有信息优势的部分。
七、数据成本:具身智能真正的硬约束
7.1 真机数据:成本曲线比大多数人预估的更陡
讨论具身智能时,人们习惯说"真机数据很贵"。这个判断对,但它不够具体。具体来说,真机数据的成本由三个乘法项决定,而它们是相乘的:
场景布置成本 × 采集吞吐 × 重置成本。绝大多数人只估了第一项和第二项,忽略了第三项——但重置成本往往才是主导项。一个抓取任务里,如果成功率只有 40%,那么每 10 条"有效成功演示"背后有 15 次失败和重置。每次重置意味着:物体要恢复到初始位姿(人工或机械臂自动)、确认没有意外损坏、必要时重新标定。这使得单条有效轨迹的人力成本是名义时长的数倍。
更关键的是,边际成本会随着泛化需求陡峭上升。要覆盖的不是"成功路径",而是"所有可能失败",而失败空间是组合爆炸的:物体位置 × 朝向 × 材质 × 光照 × 干扰物 × 自身状态。这解释了为什么大厂的策略都是遥操作采集 + 众包/多站点并行:唯一有效的杠杆是把场景布置成本外包出去,把人变成流水线上的一个工位。
还有一个常被忽略的时间维度:真机数据的"小时"是最贵的资源,而模型迭代的节奏受限于数据到达速度。很多团队的真实瓶颈不是算力也不是数据量,而是数据到达的节奏赶不上架构迭代的节奏。
7.2 仿真:域差距有明确的结构,不是笼统的"不像"
说"仿真和真实有差距"没有信息量。域差距可以拆成三类,它们的应对手段完全不同,这个区分直接决定工程投入的分配。
视觉域差距:纹理、光照、材质、相机噪声的分布不同。这类差距是最容易被处理的一类——域随机化(随机化纹理、光照、相机位姿、背景、物体外观)可以把它压到可接受水平,这也是仿真视觉 RL 在 2026 年相对成熟的原因。
动力学域差距:摩擦系数、关节间隙、执行器延迟、柔顺性、结构变形与真实不一致。这是最致命的一类,因为域随机化对它几乎无效——你无法通过随机化把"仿真的刚体接触"变成"真实的带柔顺接触"。有效的应对只有两条:系统辨识(用真机数据反向拟合动力学参数,让仿真本身变准)或残差学习(在仿真里叠一层用真机数据训练的残差模型)。
传感器与执行器差距:深度相机在反光金属上的失效、编码器量化误差、电池电压随电量下降导致的力矩衰减、温漂。这些在仿真里通常完全不存在,而且是最难在测试阶段暴露的问题——因为它们的失效是与设备状态绑定的。
由此得到一个反直觉但重要的结论:仿真的真正价值不在于替代真机数据,而在于生成真机永远采不到的样本——长尾失败、极端扰动、危险工况。用于安全训练和红队测试,仿真是不可替代的;用于替代常规行为数据,域差距会让回报迅速衰减。
7.3 视频迁移:免费数据能撑起什么,撑不起什么
互联网视频是唯一"免费"的大规模时序数据,它的价值上限由一个物理事实决定:视频里看不到力的信息。我们知道杯子从桌上滑落时它在运动,但不知道桌面摩擦系数是 0.3 还是 0.6,不知道杯子质量分布重心偏前还是偏后。视频记录的是运动学,不是动力学。
这个缺失决定了视频迁移的适用边界,而且这个边界相当清晰:
- 迁移有效:导航与粗运动(大致的移动方向、转身时机)、可逆且容错高的任务(擦拭、整理的大致轨迹)、语义层面的先验(什么物体常和什么物体一起出现、常见场景结构)。
- 迁移效率低但非零:需要精确几何的任务(抓取位姿),视频能给"大致在哪、大概什么姿态",但必须靠真实传感器补足精度。
- 迁移基本无效:精细接触任务(插拔、旋拧、线缆处理)、任何需要力或力矩反馈的任务、依赖摩擦和柔顺性的操作。这类任务的失败原因在视频里根本不可见。
所以"视觉-语言-动作"模型最重要的工程定位是预训练与初始化:把视频学到的语义和粗运动先验灌进策略,再用少量真机数据适配到目标任务。它降低了真机数据的需求量级,但并没有把真机数据的需求降为零。把 VLA 当成"免数据方案"是 2026 年最普遍的误判之一。
| 数据来源 | 单位成本 | 动力学保真度 | 覆盖长尾能力 | 最适角色 |
|---|---|---|---|---|
| 真机遥操作 | 最高 | 真实 | 受限于人力与时间 | 精细操作的最终适配数据 |
| 人类第一视角视频 | 接近零 | 无(缺力与摩擦) | 天然覆盖长尾场景 | 预训练先验与语义初始化 |
| 物理仿真 | 低 | 受系统辨识质量限制 | 极强,可主动构造 | 危险工况红队与安全训练 |
| 生成式合成 | 中 | 取决于生成模型的物理一致性 | 可控可编排 | 补齐真实数据缺失的长尾组合 |
7.4 数据配比:工程上真正在调的那个旋钮
现实里没有人只靠单一数据源。几乎所有认真的团队都在调一个混合比例,而配比调不好造成的损失,往往比换更大的骨干网络大得多。下面这段代码把配比逻辑写出来,其中最容易被忽略的是"安全过滤后再过采样"这一步。
from dataclasses import dataclass
from typing import Dict, List
@dataclass
class Bucket:
name: str
items: List[dict]
sample_weight: float # 过采样权重:低质量但高覆盖的数据给更高权重
max_ratio: float # 占比上限:防止某个源主导训练,灾难性遗忘的保险丝
# 四类数据源,weight 的含义是"同一条样本被看到的相对次数"
BUCKETS: Dict[str, Bucket] = {
"real_teleop": Bucket("真机遥操作", [], sample_weight=1.0, max_ratio=0.45),
"human_video": Bucket("人类视频", [], sample_weight=0.35, max_ratio=0.50),
"sim": Bucket("仿真", [], sample_weight=0.5, max_ratio=0.60),
"generated": Bucket("生成合成", [], sample_weight=0.6, max_ratio=0.40),
}
def apply_safety_filter(items: List[dict]) -> List[dict]:
"""先剔除坏样本再过采样。
顺序很关键:如果先过采样再过滤,坏样本会被反复放大,
一个污染样本的梯度会被重复施加 N 次,这是训练不稳定的常见根因。
"""
out = []
for it in items:
# 关节超限、时间戳倒流、力矩削顶的片段都应剔除
if it.get("max_torque") >= it.get("torque_limit", 1.0):
continue
if it.get("dt", 0) <= 0:
continue
out.append(it)
return out
def mix(buckets: Dict[str, Bucket], batch_size: int, rng) -> List[dict]:
"""按权重采样并强制占比上限。返回打乱后的一个 batch。"""
for name, b in buckets.items():
b.items = apply_safety_filter(b.items)
live = [b for b in buckets.values() if b.items]
picks, weights = [], []
for b in live:
n = min(int(batch_size * b.max_ratio), len(b.items))
if n == 0:
continue
picks += [b.items[rng.randrange(len(b.items))] for _ in range(n)]
weights += [b.sample_weight] * n
# 权重高斯归一化后做无放回抽样,保证每个来源都进 batch
total = sum(weights) or 1.0
norm = [w / total for w in weights]
idx = rng.choices(range(len(picks)), weights=norm, k=min(batch_size, len(picks)))
return [picks[i] for i in idx]
这段代码的要点不在实现,而在两个"顺序"上的判断:过滤先于过采样,占比上限先于权重采样。前者防止污染样本被梯度放大,后者防止某一数据源在多阶段训练中把模型带偏。这两条比调采样实现细节重要得多,但几乎没有教程会强调。
八、视觉-语言-动作模型与传统控制栈:接口才是真问题
8.1 动作表示:从离散 token 到连续动作分块
VLA 类模型的思路很清晰:复用视觉语言模型的整套预训练(海量图文语义、指令理解、常识),只把输出头换成动作。问题出在输出头的设计上,而这里有三个方案在 2026 年各有胜负。
离散 token 化:把连续动作按维度分桶量化成 token,复用语言模型的解码头。优点是复用训练与推理栈、天然有量化噪声作为正则;缺点是量化误差在精细操作上直接吃掉精度,而且序列长度随维度线性增长,推理延迟明显。适合维度低、精度要求中等的多关节控制。
连续回归:直接输出归一化后的连续动作,用高斯混合或扩散头。精度好,但推理需要多次采样且输出有多模态不确定性,工程上不如离散方案稳定。
动作分块(action chunking):当前的主流答案。一次输出未来 N 步动作序列,执行器按序列推进,到尾部或被打断时再请求新块。它同时解决了三个问题:推理频率可以远低于控制频率(10 Hz 推理配 50 Hz 执行完全够用)、推理延迟被摊薄到多步动作上、以及动作的时间局部性被显式建模(相邻帧的动作天然相关)。
8.2 频率与延迟:中间层的工程细节决定手感
动作分块带来的新问题是块边界的不连续。新 chunk 算出来的第一个动作和上一 chunk 最后一个动作之间可能存在跳变,表现为机械臂的抖动(action jerk)。这类抖动不仅难看,还会显著缩短硬件寿命和抓取成功率。
标准解法是在执行层做时间对齐与平滑。下面这段代码演示了一个最小的分块执行器,重点在重采样方式的选择和抖动抑制。
import numpy as np
class ChunkExecutor:
"""把低频推理的动作分块,平滑地执行到高频控制回路里。
三个关键取舍:
1) 用重采样而不是保持,配合一次低通滤波,消除块边界跳变;
2) 剩余步数不足一半就请求新 chunk,让重规划发生在动作平缓段,
而不是等到块用尽、在接缝处硬切;
3) 滤波强度自适应:低速段可以重滤波,高速段必须保相位,
否则反而会让动作滞后于指令。
"""
def __init__(self, ctrl_hz: float, infer_hz: float, smooth: float = 0.25):
self.ctrl_dt = 1.0 / ctrl_hz
self.steps_per_chunk = int(round(ctrl_hz / infer_hz))
self.smooth = smooth # 0 = 不滤波,1 = 完全跟随上一动作
self.buffer = np.zeros((0, 0))
self.idx = 0
self.last = None
def load_chunk(self, chunk: np.ndarray) -> None:
"""chunk 形状为 [T, D],T 应等于 steps_per_chunk 或其整数倍。"""
self.buffer = np.asarray(chunk, dtype=np.float64)
self.idx = 0
def step(self) -> np.ndarray:
# 剩余步数不足一半时提前补块,让重规划发生在动作平缓处
if self.idx >= len(self.buffer) - max(1, self.steps_per_chunk // 2):
raise NeedsNewChunk()
target = self.buffer[self.idx]
self.idx += 1
if self.last is None:
out = target
else:
# 速度自适应的低通:速度越大,滤波越弱,保住跟随性
speed = float(np.linalg.norm(target - self.last))
alpha = 1.0 - self.smooth * float(np.exp(-speed))
out = self.last + alpha * (target - self.last)
self.last = out
return out
class NeedsNewChunk(Exception):
"""执行器主动请求新推理结果;由上层控制循环捕获并调用模型。"""
这里最值得记住的工程直觉是:重规划的时机本身就是一项控制设计。总是等到 chunk 用尽才重规划,会在块末尾和起始处产生两次抖动;提前在平缓处重规划,抖动就落在动作本身就平滑的地方。这是从"模型能用"到"手感能用"的分水岭,也是这类系统在实验室和产线体验差别最大的地方。
8.3 安全:VLA 和世界模型都不是安全控制器
一个必须说清楚的现实:语言模型的置信度不可信,不能用作安全判据。让 VLA 自己判断"我现在动作的风险是否可接受",等于让一个在分布外没有保证的模型承担安全职能。产线上的做法通常是一条独立的屏蔽层,且这条链路上不依赖任何学习模型:
- 硬约束:关节位置/速度/力矩限幅,工作空间边界,奇异位形规避。
- 碰撞监控:基于实时深度或关节编码器的独立检测,触发即停,不询问策略。
- 看门狗:推理超时或输出越界时,超时时间一到就进入预设安全姿态,而不是保持上一动作。
- 人机交互降级:检测到人员进入安全区时切到保护性停机,不进入模型推理回路。
这里有一条在仿真里永远测不出来的要求:系统必须能处理"设备异常"这种仿真里不存在的情况——比如某个关节的编码器跳变、抓取中途气源掉压、协作臂被外力拖拽。真实部署的失败模式有相当一部分属于这一类,而仿真训练对它们零覆盖。这就是为什么真实产线的验收测试要专门设计"故障注入"项。
九、基准成绩与真实落地之间的差距
讨论具身智能的论文里,成功率是一个近乎无信息的指标。原因不是指标设计得不好,而是它承载的语义太宽,而真实关心的东西全都被它平均掉了。
9.1 三个维度的系统性错位
离线与闭环的错位。绝大多数基准是在"给定一段真实历史观测、预测未来若干帧"或"给定任务、输出动作序列"的离线协议下测的。真实部署是闭环:动作影响后续观测,观测决定下一步动作。这个反馈回路把分布偏移从"小扰动"放大成"结构性差异"。离线指标对闭环风险的预测能力很弱。
平均与长尾的错位。基准报告一个平均成功率,但产线关心的是分布的下分位——最差的那 10% 场景。一个"平均 90% 成功"的系统,如果失败集中在一类特定的物体反光或一类特定的放置角度,它在产线上的可用性可能远低于"平均 75% 但失败均匀分散"的系统。
完成与有用的错位。基准里的"成功"通常是任务级的二值判定:东西最终到位了。但工业场景关心的是过程质量——有没有磕碰、是否超出公差、是否影响了相邻器件、是否需要额外返工。一个成功率更高但经常造成轻微损伤的系统,在实际成本上可能是更差的。
| 基准通常报告 | 产线真正关心 | 错位造成的判断偏差 |
|---|---|---|
| 任务级平均成功率 | 分桶成功率的下分位 | 高估在特定干扰下的可靠性 |
| 离线预测误差(像素 / 潜空间距离) | 闭环中的动作后果正确性 | 把视觉上合理误判为物理上正确 |
| 单次尝试成功率 | 失败后能否自恢复 | 高估实际可用性,因为产线没有无限重试 |
| 固定初始条件分布 | 现场的真实初始条件分布 | 基准分布被挑选过,外推性被高估 |
| 是否完成(布尔) | 过程损伤与公差 | 忽略隐性质量成本 |
9.2 生成式世界模型的评测错位尤其严重
视频生成式世界模型目前普遍用视觉质量指标(保真度、结构相似性、视频感知距离一类)来评估。这套指标与"动作后果正确性"的相关性相当弱,甚至可能负相关:一个把杯子在手中穿模掉进桌子的视频,画质指标非常好,但物理上完全错误。
更能反映真实能力的评测方法是反事实干预测试:固定同一个初始场景,只改变一个动作,检验模型的输出差异是否遵循物理规律。这套测试可以直接写成自动化的判据,一类是方向单调性,动作施加的力越大,物体位移应越大且方向一致,若出现"力越大位移越小"或方向反转,模型在该区域就是靠相关性硬凑的。另一类是不可逆性一致性,同一状态重复执行同一动作两次,结果应当相同,若两次输出差异显著,说明模型不具备闭环所需的确定性。第三类是守恒关系,堆叠和碰撞场景中物体的总数、支撑关系是否保持。这类判据比任何视觉指标都更接近"这个模型能不能当仿真器用"。
值得强调的是,这三类测试极其便宜——不需要标注、不需要人工评判,只需要物理常识给出的定性关系。它应该在任何声称具备交互能力的生成式世界模型上被当作标配验收项,而 2026 年的实际普及率仍然很低。
9.3 一个更贴近落地的评估视角
如果只能改一件事,我会建议把评估方式从"报告一个成功率"改成"报告一条按初始条件难度分桶的成功率曲线",并额外报告三个指标:每完成一次任务的平均人工干预次数、单次任务的最坏分位耗时、以及失败后的自恢复比例。
这三个指标合起来才构成"可用性"。第一个衡量需要多少人守在旁边,第二个衡量节拍能不能撑住产线,第三个衡量系统有没有基本韧性。而它们恰恰是论文里最少报告的——因为在受控的基准环境下它们没有意义。这是研究与落地之间最朴素、也最有效的分水岭。
十、如果今天要落地:分阶段的工程路径
把前面九条讨论压缩成可执行的判断,核心是不要用研究的前沿顺序来决定工程的投入顺序。研究顺序是"先让模型更强",工程顺序应该是"先让当前能力赚回成本,再投下一阶段"。
10.1 阶段一:不引入世界模型,先把钱挣回来
绝大多数当前可落地的任务都不需要世界模型。任务分布窄、容错高、精度要求中等时,一条前馈的视觉-语言-动作策略加上动作分块执行器、限幅与碰撞屏蔽、看门狗,就能达到可用水平。
这个阶段的核心产出不是模型,而是数据管道和故障清单。真实跑几百小时之后拿到的最有价值的信息是"任务实际在哪里失败",这份清单决定了后续该投真机数据、该投合成数据、还是该改进感知。把时间花在建立这个闭环上,回报远高于追逐模型规模的更新。
10.2 阶段二:世界模型开始产生复利的场景
当阶段一的数据闭环跑通,有三类投入开始有明确回报:
合成数据补长尾。把阶段一发现的失败样本变成可复现的场景描述,用生成或仿真批量制造。这类应用的门槛最低——它不需要世界模型"很真",只需要在失败的邻域内大致合理,而这比追求全局物理保真容易得多。
系统辨识驱动的仿真。用真机数据反标定摩擦、延迟、柔顺参数,把仿真从"看起来像"推到"动起来像"。这是纯工程活,不需要模型创新,但收益直接且可验证。
短时域潜空间规划。把世界模型作为策略的"内部推演器",在隐空间做少量分支的规划,替代单点贪心动作。这在有遮挡、有延迟、需要预判动作后果的任务上有实际增益,且因为时域短、维度低,不会被误差累积拖累。
10.3 什么时候才值得赌生成式世界模型
生成式路线值得重投入的信号有三个,满足得越多越应该加注:真机采集危险或不现实(带电、高温、有毒、需要高速碰撞);需要大规模并行的环境交互而真机根本提供不了;失败样本比成功样本更有价值(比如训练"避免"类行为,主动生成失败比采集失败容易得多)。
反过来,如果你的任务失败可以靠多采数据解决、精度要求极高、需要真实接触反馈,那么现在就把重心压在生成式世界模型上,大概率会得到一个研究上漂亮但用不上的系统。
10.4 选型判断清单
在决定技术路线之前,下面几个问题值得逐条回答,因为它们的答案基本决定了路线归属:
- 任务的初始条件分布能否被准确枚举?如果能,先做前馈策略,不要碰世界模型。
- 失败的主要原因是感知不足还是动作精度不够?如果是后者,世界模型帮不上忙。
- 任务时长是否超过一分钟?超过的话先解决误差累积问题,而不是提升单步预测精度。
- 是否需要真机无法安全采集的样本?如果不需要,生成式路线暂时没有不可替代的理由。
- 是否有可靠的机械臂位姿与力控接口?没有的话,VLA 再好也无处发力,先补栈。
- 团队能否承受"仿真到真实"的系统辨识工作量?不能,就把预算投在真机数据上。
10.5 三件不建议做的事
最后是几条明确的负面建议,都是代价被低估的选项。
不要把世界模型当数据增强的全自动替代。它的输出如果缺少人工或自动校验的过滤环节,会把物理错误的样本直接灌进训练集,而且这些错误样本分布上很像真数据,训练指标看起来正常,问题在部署时才暴露。
不要在没有安全屏蔽层的前提下让 VLA 直接驱动执行器。语言模型的输出分布没有硬边界,而执行器有。加限幅的成本是几行代码,缺它的代价是一次事故。
不要用视觉质量指标为交互式世界模型背书。这是最常见的评估误用,而且因为指标是现成的、报告是漂亮的,它在论文和汇报里都很有说服力——这也正是它危险的地方。
十一、结语:三条路线的收敛方向
回到开头的三条路线,2026 年最可能成立的终局形态是一个分层混合栈,而不是某一条路线胜出。
底层是可靠的三维与语义状态表征,由视觉语言模型的先验和多视角几何共同提供。这一层追求的是"够用",不是"精确"。中层是短时域的动作条件预测,负责在隐空间做几秒的推演,支撑高层决策,它的价值来自速度而非保真度。上层是传统控制与安全栈,负责毫秒级执行、接触级操作和失效处理,它不学习,但它是系统可信的最后一环。生成式模型在其中主要扮演数据引擎和场景编排器的角色,而不是实时仿真器。
这个判断的依据在全文里反复出现过:物理信息在视觉数据里缺失,接触信息在任何被动数据里缺失,长时预测在当前模型容量下不可靠。这三条不是工程投入不够导致的暂时困难,而是数据本身的性质决定的边界。所以务实的路径不是等一个全能的世界模型,而是把每一个环节放在它有信息优势的位置上,并对它没有优势的环节明确设防。
对研究者的启示是:与其追求一个能 rollout 几百步的全能模型,不如把力气花在一个窄而准的能力上——比如接触前的精确位姿预测、比如一次反事实干预的正确响应。窄能力可以进入产品,全能模型还停留在论文里。
十二、工程栈:让世界模型真的跑在机器人上
前面所有关于路线的讨论,最终都要经过一个很朴素的检验:这套系统能不能在目标机器的算力预算内、以足够的确定性、在闭环里按时输出。这一节不谈方法,只谈把方法变成系统时反复出现的几个硬约束。它们看起来琐碎,但产线上的失败大多出在这里,而不是出在模型架构上。
12.1 延迟预算必须先拆开再优化
"推理太慢"是一个没有行动指向的抱怨。正确的做法是先做延迟预算分解,把控制周期里每一毫秒的去向写清楚:传感器采集与曝光、图像预处理、视觉编码、世界模型推演、动作分块的后处理、执行器指令下发与通信、以及各环节的排队等待。只有把这几项分别量化,才能知道该优化哪里。
预算分解完成后,通常会发现一个反直觉的结论:优化大模型的单次前向收益有限,优化的往往是最不起眼的数据搬运环节。图像从显存到计算单元的拷贝、隐状态在不同模块之间的搬运、主机侧的同步点,这些累计起来常常占掉总延迟的三成以上,而且优化手段很直接——预分配张量、消除隐式同步、把固定形状的预处理编译到图里。
| 环节 | 常见量级 | 优化手段 | 收益上限 |
|---|---|---|---|
| 图像采集与曝光 | 与帧率同阶,不可压缩 | 提高传感器帧率、缩短曝光 | 低,但常是硬下限 |
| 预处理与搬运 | 易被严重低估 | 锁页内存、固定缓冲区、避免隐式同步 | 高,且成本低 |
| 视觉与主干前向 | 随模型规模增长 | 量化、结构化剪枝、算子融合 | 中高,牺牲精度 |
| 世界模型推演 | 随时域与分支数增长 | 缩短时域、减少分支、缓存 | 高,但直接削弱能力 |
| 执行器通信与下发 | 取决于总线与协议 | 硬实时总线、批量下发指令 | 中,依赖硬件 |
表里"收益上限"那一列是选型的核心参考:注意缩短世界模型时域同时是延迟优化手段和能力削减手段。这不是缺陷,而是提醒你每一次为满足延迟预算做的妥协,都要明确知道自己在拿什么换什么。很多团队在这里不知不觉地把模型能力削掉了一半,却以为自己在做性能优化。
12.2 异步化:闭环系统里最重要的一次架构决策
把"世界模型推演"做成同步阻塞调用,是最常见的架构错误,也是最容易在演示环境里活下来、在量产里崩掉的设计。正确做法是把系统拆成感知与推演(异步、可延迟、可丢帧)和控制执行(同步、硬实时、绝不等)两条独立回路。
这条架构的要点是控制回路必须有独立于推演结果的续接能力。当新动作分块还没算好时,系统执行什么?这个问题的答案决定了整套系统的韧性。常见做法是三选一:继续执行上一分块的尾部(简单,但可能已经过时)、保持上一次发送的保持指令(简单,但会破坏接触任务)、或者切换到独立的保守控制器接管(复杂,但最安全)。对于接触类任务,第三种通常是必须的。
还有一个容易忽略的点:推演结果必须带时间戳并被检验是否过期。一个在几百毫秒前算出的动作分块,如果此刻闭环已经推进了几十帧,它的语义就从"未来若干帧的计划"变成了"对已经发生的事的迟到反应"。系统必须能识别这种情况并丢弃它,而不是盲目执行。
12.3 确定性与可复现:调试体验的分水岭
机器人系统的调试成本,极大程度上取决于能不能复现。归约顺序不定导致的浮点差异、线程调度差异、多流执行的时序差异,会让同一段代码两次运行得到略微不同的动作,而这恰好会导致"这次成功那次失败"的结果。在这种系统上定位问题,效率会低到不可接受。
可行的做法包括:推理侧固定线程与算子的确定性选项(以一定性能为代价)、把随机种子贯穿数据采样与训练的全链路、记录完整的输入状态快照而不只是动作日志,以及在日志里区分"观测数据"与"模型内部状态"。最后一项尤其有用——只记录动作而不记录模型内部状态,出现问题时几乎无法判断是感知错了、推演错了还是执行错了。
12.4 一个务实的资源判断
最后把"值不值得"量化一下。判断框架很简单:世界模型带来的价值,取决于它替代掉的真机交互次数乘以单次交互成本,再减去它的训练成本、推理算力成本和长期维护成本。
如果你的任务单次真机交互成本极高(危险、稀缺、需要大量人工重置),分子项很大,世界模型的投资回报可以很可观;如果任务只需要几百次交互就能靠真机数据解决,那么世界模型很可能永远追不上——因为训练一个够用的世界模型所需要的交互和迭代次数,本身就超过了直接采集真机数据的次数。这是一道很多人不肯算、但算完就会改变决策的账。
十三、常见失败模式速查
前面各节讨论的是机制,这一节把代价最高的几种失效单独列出来,因为它们有一个共同特征:训练指标看起来完全正常,问题要到部署时才暴露。每一条后面给出一个能提前发现的观测信号。
13.1 潜空间坍塌:损失漂亮,潜变量不承载信息
表征式世界模型最危险的失效是表示坍塌。上下文编码器发现把所有输入编码成相似向量时,重建和预测损失都能降到很低,但模型此时对任何输入给出几乎相同的预测,等于什么都没学到。典型征兆是潜变量的方差随训练单调下降,或者预测损失在前几个 epoch 就早早停在一个低位不动。
可观测信号有两个:一是检查潜变量在不同场景下的方差是否保持,标准做法是计算潜空间特征的维度方差,如果多数维度已经接近零,说明开始坍塌;二是看目标分支的 EMA 更新率,如果它太快,潜空间会跟着上下文分支一起退化,太慢则学不动。这两个参数的调整顺序应该是先加大方差正则的强度,再放慢目标分支。
13.2 分布外自杀:一步走错,后续全废
所有 rollout 式的世界模型都有这个性质:在真实状态分布之外,误差超线性增长。后果是系统级联崩溃——一个早期的感知错误让状态偏离训练分布,世界模型的预测随之失真,策略基于错误预测采取动作,真实状态进一步偏离,形成正反馈。
可观测信号是"预测置信度与真实误差的相关性":如果在世界模型自认为有把握的区域实际误差反而更大,说明模型没有学会识别自己的无知。可行的缓解是给潜变量加分布外检测,触发时退回保守策略或请求一次重新观测,而不是继续相信预测。
13.3 生成式世界模型把统计关联当成因果
离线视频看起来流畅,但闭环里物体系统性地漂移、穿模、数量变化——这是模型学会了相关性而非因果的典型表现。它在离线评测里几乎暴露不出来,因为没有反馈回路。
最低成本的检测手段是前面提到的反事实干预:固定场景只改一个动作,看输出差异是否符合物理直觉(力越大位移越大、重复动作结果一致、堆叠后物体总数不变)。这三条判据不需要任何标注,几行脚本就能自动化跑完,应当作为任何交互式世界模型的验收项。
13.4 VLA 的指令服从性陷阱
视觉语言动作模型继承了语言模型的服从性训练,这在演示里是优点,在产线里是隐患。当场景与指令冲突时——指令说"把杯子放到桌上"但桌上已有同类的杯子,或者指令描述的物体根本不在视野内——模型的输出往往在几种合理解释之间随机漂移,而不是明确地拒绝执行。
产线上的处理方式不是在模型里加逻辑,而是在架构上加一道前置可行性与状态确认:先用独立的感知确认目标存在且唯一,用规则或位姿约束确认目标可达,再把无歧义的指令交给 VLA。VLA 只负责"怎么做",不负责"能不能做"。
13.5 数据闭环的自污染
合成数据一旦进入训练集,模型生成的下一批数据就带有上一轮的偏差,反馈回路会持续放大。这是所有自生成数据管线的共同风险,而且它不像普通过拟合那样会在验证集上暴露——因为验证集也来自同一个生成器。
防御手段有三个且必须同时使用:保留一条完全不经过生成器的真实数据锚,任何阶段都从它采样,用于监测性能退化;物理规则过滤,把明显违反守恒或几何约束的样本丢弃;以及周期性人工抽检,因为前两者的过滤器本身也会失效,自动化过滤无法替代随机抽检。缺了真实数据锚的那条,其余两条都只是把污染藏起来。
十四、结语:把结论压缩成可判断的几条
世界模型不是一个单一的技术品类,而是三种能力——抽象表征、动作后果预测、时空记忆——的组合,目前这三种能力各自成熟度不同,且它们对信息条件的要求不同。可交互、可实时、物理自洽三者同时成立,在 2026 年仍然不是任何单一系统的真实状态。
可以压缩成六条判断,供选型时直接对照:其一,表征式路线已经在产品里,生成式路线主要在数据集和预训练环节发挥作用,这不是因为后者不够先进,而是因为闭环要求它同时满足物理保真和毫秒级推理,这两个条件目前在成本上互斥。其二,三维表征的价值取决于下游是"看"还是"碰",渲染用途选高斯或隐式场,碰撞与抓取必须回到占据或点云,用错表征的代价远大于用得不够精确。
其三,长时一致性的困难来自分布偏移而非数值误差,所以解法是短时域加高频重规划,而不是把模型堆大。其四,接触级能力受限于信息缺失,视觉里没有力和触觉,这个问题不会被更大的模型解决,只能靠传感器补上,所以精细装配类任务的现实答案仍是经典力控加高层模型。其五,真机数据的成本瓶颈在重置和场景覆盖,把数据问题误判为模型问题,是这条路线上最常见也最昂贵的错误。
其六,基准与落地之间的差距主要来自评测协议而非模型能力,把平均成功率换成难度分桶的成功率曲线、把视觉指标换成反事实干预测试,是提升决策质量性价比最高的两个动作。
对不同角色的读者,结论的落点略有不同。做研究的,应当承认窄而准的能力比宽而虚的通用性更容易被采用,因此在选择课题时,优先寻找那些已有信息足以支撑验证的场景,而不是先选最热的方向再去找数据。做工程的,最值得投入的往往不是模型本身,而是把真实失效采集回来、并让每次迭代都能看到同一条失败清单的那个数据闭环。负责决策的,则应当要求在评估任何新系统时,先问它在哪些条件下会失败、以及它怎么知道自己正在失败,而不是先看它在标准基准上的排名。
把这十三条和前面的路线讨论合起来看,可以得到一个统一判断:具身智能当前的瓶颈不在模型容量,而在信息与验证。物理信息不在被动数据里、接触信息不在任何廉价数据里、真实的失效分布不在基准集里。这三点决定了大量看起来领先的能力无法直接转化为可用系统,而把工程重心放在补齐这些信息(真机采集、系统辨识、故障注入、真实数据锚)上的团队,进展通常比单纯扩大模型更扎实。