VLA 做长程任务时,一个很隐蔽的问题是:模型明明看过历史帧,却未必真的理解历史的时间顺序。TemporalFlow-VLA 先做了一个很有启发性的诊断实验:普通 multi-frame baseline 在移除历史后,action loss 会明显变差;但把历史帧顺序打乱,loss 几乎不变。也就是说,模型可能确实在利用历史,却主要把它当成“额外视觉上下文”,而不是一条有明确先后关系的 execution trace。作者因此没有继续简单堆更多历史帧,而是利用 robot state、URDF 和 camera calibration,在训练期构造 robot-surface temporal flow,再用两个与上一 action chunk 对齐的 temporal query——Q8 和 Q15——压缩最近执行过程。更关键的是:Action Expert 被禁止直接访问历史 image patches。历史如果想影响动作,就必须先经过这两个受物理监督的 Query。这篇论文真正想回答的不是“VLA 有没有 memory”,而是:历史进入模型以后,能不能被压缩成一个真正表示“刚刚发生了什么”的、按时间有序的控制接口?

TPAMIs 证据卡

  • 论文状态:arXiv v1,2026 年 8 月 27 日首次提交

  • 论文题目:TemporalFlow-VLA: Learning Physically Grounded Execution History for Long-Horizon Robot Manipulation

  • 任务类型:History-Aware / Long-Horizon VLA Manipulation

  • Base Policy:π₀.₅-style VLA

  • 核心机制:Robot-Surface Temporal Flow + Q8 / Q15

  • 监督来源:Robot State + URDF + Calibrated Camera;无需人工 flow 标注

  • 历史接口:Action Expert 不能直接读取历史 image patches,只能经 Q8 / Q15 获取历史

  • 部署边界:Kinematic Renderer / Flow Decoder 仅训练期使用

  • LIBERO:97.63 ± 0.26% Avg / 96.60 ± 0.87% Long

  • RoboTwin:85.5% Clean / 84.2% Randomized

  • RoboTwin 训练:12 tasks;每任务 50 clean demos + 500 randomized demos;60k steps

  • RoboTwin 评测:每 task / condition 100 rollouts

  • Randomized 内部消融:π₀.₅ 72.3 → Multi-frame 81.5 → 2Q w/o Flow 83.6 → Full 84.2

  • History Intervention:Remove / Shuffle 均提高 offline action loss;6 个任务中 5 个 Shuffle 更差

  • 真机平台:AgiBot A3

  • 真机任务:Three-Cup Stacking / Two-Bottle Packing

  • 真机数据:280 demonstrations / task

  • 真机评测:45 trials / method / task;两方法、两任务主比较共 180 physical trials

  • 真机结果:57.8→77.8% / 86.7→97.8%

  • 效率:RTX 4090 server-side policy sampling 68.10→62.78 ms;15 replans 累计减少 7.8%

  • 训练代价:Temporal Module + Flow Decoder 约增加 20% wall-clock training time

  • 代码状态:截至 2026 年 8 月 30 日未核验到官方仓库

  • 数据状态:benchmark data 可用;本文生成的 flow labels 不需要人工标注,但未核验独立发布

  • 主要局限:固定 temporal scale、robot-surface-only supervision、calibration dependence、外部 baseline 非统一训练

  • 复现难度:中高

  • 证据等级:B

B 级不是论文质量排名,而是当前论文对主要结论提供的证据强度判断。TemporalFlow-VLA 同时覆盖仿真 benchmark、内部消融、history intervention、效率分析和真机试验;最重要的“历史顺序需要被结构化利用”有多层证据支撑。主要扣分来自真机任务只有两个、固定 temporal scale 尚未充分探索、外部 baseline 并非全部统一训练,以及代码/权重尚未核验开放。


图 1|TemporalFlow-VLA 在不同 horizon 任务上的整体表现与 temporal flow 示例

图 1|RoboTwin 12 个任务按 H1/H2/H3 分组的表现、模型结构示意和 robot-surface temporal-flow 可视化。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

这篇论文真正想解决什么?

如果只看一个静态画面,很多机器人状态其实是不可辨识的

例如机械臂停在杯子旁边。它可能还没抓,也可能刚抓失败,或者已经抓过、正在回来重新定位。RGB 看起来接近,但正确动作完全不同。

短任务里,模型偶尔判断错 phase,还可能靠下一次 replanning 修回来。长程任务里,一次 phase confusion 很容易变成:

重复抓取
↓
重复放置
↓
跳过步骤
↓
后续状态持续错位

所以 TemporalFlow-VLA 真正关心的不是“给 VLA 加 memory”这么泛,而是:

VLA 的历史表示,能不能明确包含最近一段执行在物理世界中造成的变化?


论文最关键的一张图,其实不是主结果

作者先训练了一个普通 multi-frame baseline,然后只改变 history。

Remove History

直接删掉历史。

结果:

offline action flow-matching loss 大约上升 4.6%

说明:

历史本身确实有用。

Shuffle History

保留相同历史帧,但打乱先后顺序。

结果:

loss 几乎不变。

图 2|普通历史 baseline 对“历史顺序”并不敏感

图 2|baseline 在 remove history 和 shuffle history 下的 action flow-matching loss 诊断。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

真正的问题不是历史没用,而是:

它拿到的信息未必具有明确的 temporal order。

也就是说,模型可能知道“之前出现过这些画面”,却没有可靠区分 A→B 和 B→A。

所以这篇论文最有价值的出发点可以压成一句:

History 不是图片集合,而应该是 execution evolution。


作者改变了哪三件事?

1. 不让模型自己猜“运动”,训练时直接给一个物理目标

TemporalFlow-VLA 利用机器人系统已有的 joint state、URDF、camera intrinsics / extrinsics,离线计算:

Robot-Surface Temporal Flow

具体可以理解成:

Source Frame
↓
找到当前可见的 Robot Surface Points
↓
根据 Source / Target Joint State
用 Forward Kinematics 推到目标时刻
↓
投影回 Camera Plane
↓
得到 Robot-Surface Temporal Flow

它不是全场景 optical flow,而是描述:

机器人自身表面,在最近一段执行中如何运动。

这个监督有三个特点:

  • 确定性:不需要额外神经网络猜 motion;

  • 与控制直接对齐:明确描述执行器刚刚怎么动;

  • 只在训练期使用:部署时不运行 renderer、不计算 flow label、不运行 auxiliary flow decoder。

所以:

几何信息只负责在训练期教会 memory 应该记什么。

图 3|TemporalFlow-VLA 整体架构

图 3|训练期由 robot state / geometry / camera 生成 temporal-flow 监督,历史 RGB 被 temporal module 压缩成 query,再通过 masked attention 提供给 Action Expert。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

2. 不保存一串 Memory Token,只用两个和 Action Chunk 对齐的 Query

基础 action chunk 长度是 16 steps

作者取:

  • t−15:近似上一 chunk 的起点;

  • t−8:近似上一 chunk 的中点;

  • t:当前 replanning 时刻。

然后定义两个 temporal query:

Q8

对应:

t−8 → t

表示最近半个 action chunk。

Q15

对应:

t−15 → t

表示上一整个 action chunk。

它们不是两个平行 memory slot。

Q8 形成 recent-motion summary;Q15 还能进一步读取 Q8,因此结构更接近:

Q8
↓
Q15

短历史先压缩,再让长历史建立在短历史之上。

3. 最关键的一步:Action Expert 不能直接偷看历史帧

如果 Action Expert 还能直接看 t−15 / t−8 raw image patches,那么模型可能让 Q8/Q15 专门做 flow reconstruction,同时动作预测仍从 raw history 找 shortcut。

TemporalFlow-VLA 因此直接禁止:

Action Expert 直接访问 historical visual patches。

它只能通过:

Historical RGB
↓
Q8 / Q15
↓
Action Expert

获取历史。

图 4|历史信息必须经过两个 Query 才能进入 Action Expert

图 4|directed masked-attention pattern。Action tokens 不能直接读取历史图像,只能经 Q8/Q15 获取历史。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

这不是普通 auxiliary loss,而是同时控制了:

Information Path

历史如果想影响动作,就必须先被压缩成受物理监督的 execution representation。


实验真正支持了什么?

第一层:LIBERO 已经接近饱和,Long 才是关键

TemporalFlow-VLA 在 LIBERO 四个 suite:

SuiteSuccess Rate
Spatial97.60 ± 0.20
Object99.40 ± 0.20
Goal96.93 ± 0.61
Long96.60 ± 0.87
Average97.63 ± 0.26

真正更符合论文动机的是 LIBERO Long

论文表中:

π₀.₅              92.4
GR00T N1.7        94.5
CronusVLA         94.0
HAMLET            92.2
MotionVLA         91.2
TemporalFlow-VLA  96.60

相对表中最强 prior mean:

94.5 → 96.6,+2.1 个百分点。

方向和论文假设一致:

越需要跨多个阶段维持 execution state,历史表示越有价值。


第二层:RoboTwin 最重要的不是平均涨,而是 Horizon 越长优势越明显

作者选 12 个 RoboTwin 2.0 任务,并根据 execution step count 分成 H1/H2/H3。

训练时:

  • 每任务 50 clean demonstrations;

  • 每任务 500 randomized demonstrations;

  • 60k steps。

评测时:

每个 task / condition 100 rollouts。

最终:

Clean
85.5%

Randomized
84.2%

但更值得看的是 Randomized 按 horizon 分组:

H1  84.3
H2  80.8
H3  87.5

论文进一步指出,相对各组 runner-up:

H2  约 +5.5 pp
H3  约 +14.5 pp

而 H1 反而不是第一。

这组 pattern 比 overall 84.2% 更支持论文假设:

短任务不一定占优,长任务优势更大。

需要保留边界:RoboTwin 主表里的 published baselines 并不是全部在统一训练预算下重训,所以更安全的表述是:

TemporalFlow-VLA 在论文列出的 published baseline 结果中,长 horizon 组表现尤其突出。


真正隔离方法贡献的,是内部消融

RoboTwin Randomized Avg:

方法Avg
π₀.₅72.3
Multi-frame81.5
2Q w/o Flow83.6
Q8 only84.0
Q15 only83.0
Full84.2

这组结果应拆成三层。

第一层:History 本身确实重要

π₀.₅
72.3

Multi-frame
81.5

直接多帧已经:

+9.2 个百分点

所以不能写成:

“以前 VLA 完全不会用历史。”

历史本身已经很有价值。

第二层:History 的结构比 History 的数量更重要

Multi-frame
81.5

2Q w/o Flow
83.6

没有 flow supervision,仅仅把历史强制压进两个 Query,就继续:

+2.1 个百分点

这说明:

结构化 history bottleneck 本身就改善了历史利用。

第三层:Physical Flow Supervision 再进一步

2Q w/o Flow
83.6

Full
84.2

Randomized Avg 再提升:

+0.6 个百分点

因此最准确的因果分解不是:

“Flow 是全部提升来源。”

而是:

History
有用
↓
Structured Query
更好
↓
Physical Supervision
进一步校准

模型真的开始在乎“先后顺序”了吗?

作者又对训练好的 TemporalFlow-VLA 做 history intervention。

在 6 个 RoboTwin task 上固定 history window 和 diffusion noise,然后分别:

  • Remove History;

  • Shuffle t−15 / t−8

结果:

两种操作都会让 action flow-matching loss 变差。

而且:

6 个任务中有 5 个,Shuffle 比 Remove 更糟。

图 5|TemporalFlow-VLA 对历史内容和时间顺序都敏感

图 5|remove / shuffle history 的 offline action-loss 诊断,纵轴为 log scale。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

这和最开始的 baseline 形成一个完整对照:

普通 Multi-frame Baseline

有历史
↓
但对顺序基本不敏感

TemporalFlow-VLA

依赖历史
+
开始依赖正确时间顺序

但必须守住证据边界:

Figure 6 测的是 offline action flow-matching loss,不是在线机器人成功率。

所以不能写:

“打乱历史以后机器人成功率大幅下降。”

论文没有这么测。


两个 Query 都需要吗?

Randomized Avg:

Q8 only      84.0
Q15 only     83.0
Q8 + Q15     84.2

Q8 单独已经很强。

这说明:

对当前动作预测最有价值的 history,可能主要集中在最近半个 action chunk。

但完整 two-scale 仍然最好。

这支持 Q15 提供了 Q8 没有覆盖的更长历史上下文。

不过差距并不大,因此也暴露出一个开放问题:

历史究竟应该看多远?

当前固定 t−8 / t−15 并没有系统回答:

  • 长任务是否应该看得更远;

  • 快速接触任务是否只需要最近几步;

  • history spacing 是否应该动态变化;

  • 不同 action chunk length 是否需要不同 temporal scale。

所以 TemporalFlow-VLA 更像是证明:

“给 history token 一个物理目标”是有效的。

但还没有解决:

“最优 temporal horizon 是什么”。


部署时真的不用再计算 Flow 吗?

对。

训练时:

Robot State
+
URDF
+
Camera Calibration
↓
Robot-Surface Flow Target
↓
Supervise Q8 / Q15

部署时:

RGB History
↓
Q8 / Q15
↓
Action

Kinematic Renderer 和 Flow Reconstruction Head 都不运行。

所以:

Flow 只当老师,不当部署模块。

这相当于把训练期物理监督蒸馏进 latent temporal representation。


但是多两帧历史,推理不是还是更慢吗?

作者做了 Asynchronous Feature Cache

当前 16-step action chunk 正在执行时,后台提前把历史 frame encode 好放入 timestamped ring buffer。

下一次 replanning:

t−15 feature → cache
t−8 feature  → cache
t            → 只同步 encode 当前帧

图 6|异步缓存降低历史编码的同步延迟

图 6|LIBERO Long 上有/无 cache 的 server-side sampling latency。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

RTX 4090 上:

No Cache
68.10 ms

Cache
62.78 ms

每次减少:

5.32 ms

15 次 replan 累计:

1.021 s
→
0.942 s

论文口径:

7.8% reduction

这可以支持:

异步 cache 能把重复历史视觉编码移出 replanning critical path。

但不能写成:

“TemporalFlow 完全没有额外推理成本。”

因为 temporal query 仍然在 joint transformer 中计算,而且这个指标不是完整端到端系统 latency,也不包含 RPC、simulator stepping 或 video writing。


真机:这篇论文最有分量的一块证据

TemporalFlow-VLA 在 AgiBot A3 上做两个三阶段任务:

  1. Three-Cup Stacking

  2. Two-Bottle Packing

每个任务:

  • 280 demonstrations;

  • 训练 60k steps;

  • 3 轮评测;

  • 每轮 15 trials;

  • 每个 method-task 合计 45 trials。

两方法、两任务主比较总计:

180 次 physical trials。

图 7|AgiBot A3 真机任务与三轮成功率

图 7|AgiBot A3 上的 Three-Cup Stacking 和 Two-Bottle Packing,以及三轮 15-trial 结果。来源:TemporalFlow-VLA 论文与项目资料;图片仅作裁剪与压缩,未修改原图内容。

Three-Cup Stacking

Baseline
57.8%

TemporalFlow-VLA
77.8%

绝对提升:

+20.0 个百分点

Two-Bottle Packing

Baseline
86.7%

TemporalFlow-VLA
97.8%

绝对提升:

+11.1 个百分点

Three-Cup 本身非常符合论文动机:机器人必须持续判断哪个杯子已经放了、哪个还没放、当前处于第几次 placement,以及上一阶段是否成功。

所以这组结果比单步 pick-and-place 更能支持:

execution history

这个命题。

但仍然不能过度外推。

只有两个真机任务,因此最准确的结论是:

在两个 AgiBot A3 三阶段任务上,TemporalFlow-VLA 显著提高了成功率。


代价与边界

1. 训练成本增加约 20%

Temporal Module + Auxiliary Flow Decoder 相比 baseline:

wall-clock training time 增加约 20%。

所以这不是完全免费的 auxiliary supervision。

2. Flow Label 依赖 Robot Geometry 和 Camera Calibration

训练 label 依赖:

  • robot state;

  • URDF;

  • camera intrinsics;

  • camera extrinsics。

如果 camera extrinsic 漂移、joint state 有 bias、robot geometry 不精确,或者 nominal FK 偏离真实机器人,那么:

所谓“物理 ground truth”本身也会带噪声。

当前论文没有系统研究 calibration-noise robustness。

3. Robot Surface 不是整个 World

真正决定长程状态的变化还包括:

  • 杯子有没有滑动;

  • 抓取是否成功;

  • 盖子是否打开;

  • 物体是否掉落;

  • 接触是否稳定。

这些属于 object / world state change。

TemporalFlow 的 auxiliary target没有直接监督这些变化。

所以更准确的理解是:

Robot-Surface Flow 是一个可靠 physical anchor,而不是完整 world-state representation。

未来自然可以扩展到:

Robot Motion
+
Object Interaction Motion
+
Contact State

4. Flow 并不是全部提升来源

Randomized:

Multi-frame   81.5
2Q w/o Flow   83.6
Full          84.2

从 81.5→84.2 的 +2.7 pp 中,相当一部分来自:

把历史压进两个受限 Query

而不是 flow supervision 本身。

所以最准确的贡献不是:

“物理 Flow 让 VLA 突然拥有记忆。”

而是:

TemporalFlow-VLA 把结构化 history bottleneck 和 physically grounded supervision 结合起来,使 latent execution history 更可控、更有时间语义。


放回研究地图:VLA 到底应该怎么记历史?

路线典型思路历史怎么进模型主要问题
直接多帧Multi-frame VLA拼更多 image tokens未必理解顺序
Memory / Retrieval检索历史片段 / KV选择历史再读入重点在“取什么”
显式 Motiontrajectory / flow / motion prompt显式运动信号部署可能需要额外 motion pipeline
Latent Memorymemory / query tokens隐式压缩历史latent 到底学了什么不够明确
TemporalFlow-VLAphysically supervised latent historyQ8 / Q15给 latent history 指定可观测物理目标

TemporalFlow-VLA 真正把问题往前推的一步是:

过去大家经常问:

“历史放在哪里?”

它开始问:

“历史 token 应该被训练成什么?”

Memory bank 可以越来越大,frame 可以越来越多,context window 也可以越来越长。

但如果模型没有被迫形成 action-usable temporal semantics,更多历史很可能只是更多 visual tokens。

TemporalFlow-VLA 给出的答案之一是:

让 history latent 承担一个和最近执行直接对应的物理预测任务。


TPAMIs 结论

TemporalFlow-VLA 不是一个“多塞两帧历史就涨点”的工作。

它最有价值的地方,是先指出:

VLA 接收历史,不等于 VLA 理解历史。

普通 multi-frame baseline 在历史被打乱以后 action loss 几乎不变,说明模型可能主要把历史当作额外视觉上下文,而不是有序 execution trace。

作者随后用 robot state、URDF 和 camera calibration 离线构造 robot-surface temporal flow,把两个与 action chunk 对齐的 Q8 / Q15 绑定到明确 temporal scale,再通过 attention bottleneck 禁止 Action Expert 绕过 Query 直接读取历史图像。

实验基本支持这条机制链:

  1. History 本身有价值:π₀.₅ 72.3 → Multi-frame 81.5;

  2. Structured Query Bottleneck 继续有效:81.5 → 83.6;

  3. Physical Flow Supervision 再进一步:83.6 → 84.2;

  4. 训练后的模型开始依赖历史顺序:Remove / Shuffle 都让 offline action loss 变差,6 个任务中 5 个 Shuffle 更差;

  5. 优势更集中在 Long Horizon:RoboTwin H2 / H3 相对 listed runner-up 优势扩大,而 H1 并不领先;

  6. 真机也出现一致趋势:Three-Cup Stacking 57.8→77.8%,Two-Bottle Packing 86.7→97.8%;

  7. Flow / Renderer 只在训练期存在,部署时只留下 latent temporal queries;

  8. Asynchronous Cache 还能把重复历史视觉编码移出 replanning critical path。

但它仍然没有解决:

  • Q8 / Q15 是否就是最优 temporal horizon;

  • 不同任务是否应该动态决定“回看多远”;

  • robot-surface flow 是否应该扩展到 object interaction / contact;

  • calibration noise 对 label 有多敏感;

  • 跨 embodiment 是否能共享 execution-history representation;

  • 两个真机任务是否足以代表更广泛的 long-horizon manipulation。

所以如果把这篇论文压成一句研究判断:

长程 VLA 需要的可能不是更多“过去的图像”,而是一个被训练成真正能表示“刚刚发生了什么”的、按时间有序的执行历史接口。

这比:

“再加一个 memory module。”

更值得关注。

论文与资源

  • 论文:TemporalFlow-VLA: Learning Physically Grounded Execution History for Long-Horizon Robot Manipulation

  • arXiv:2608.26821

  • 当前版本:v1

  • 首次提交:2026 年 8 月 27 日

  • HTML:https://arxiv.org/html/2608.26821v1

  • PDF:https://arxiv.org/pdf/2608.26821

  • 代码状态:截至 2026 年 8 月 30 日未核验到官方仓库


研究主线:Long-Horizon VLA、Execution History、Temporal Representation、Physically Grounded Memory 与 Robot Motion

建议继续阅读:

  1. TemporalFlow-VLA 只显式监督 robot-surface motion,但长程任务真正需要记住的还包括 object state、contact outcome 和 task progress;下一步是否应该把 robot flow 扩展成 robot–object interaction flow?

  2. Q8/Q15 固定对应最近半个和完整 16-step action chunk;不同任务的有效历史尺度可能完全不同,未来能否让 VLA 自己学习“当前应该回看多远”?

  3. 如果 execution history 已经可以被压缩成少量 physically supervised latent queries,这种表示能否进一步跨 embodiment 共享,还是每换一套机器人几何和相机配置都需要重新定义 temporal supervision?

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐