沙盘推演全对,从沙盘到现实那条邮路也能一个人毁掉整场战役。而修邮路的办法,一点都不性感——打包、编号、设缓冲、要回执,全是网络课作业。
这个反直觉点必须先说清:过去这些年训练世界模型的实验室都心照不宣地默认"我发出的指令 = 环境里真正执行的动作"。可真实控制系统从来不是"你说一句它做一句"——网线会延迟、会丢包、会乱序,执行器还有自己的缓冲队列,最新指令排在三条旧指令后面。
【直引】作者用控制干预法做归因:固定规划器的决策,只改投递延迟。延迟越大,命令-执行散度越大,回报越低——哪怕 planner 每一步决策完全相同。结论是"毁掉控制的不是将军昏聩,是执行过程本身"。
两种架构两种死法,这段是全文最精彩的解剖。规划型TD-MPC2 死于未来被偷换:它预测未来用序列A,执行系统磕磕绊绊实现出序列B。消融结果漂亮得像判词——喂"当前实际动作",没用;喂"缓冲内容",也没用;唯一有效的是"精确未来动作序列"。而且有个决定性细节:同样的信息只用于轨迹重打分毫无收益,唯一有效的注入点是放进隐动力学 rollout 内部。
【推论】这一条的分量超过数字本身。错位的不是"评分标准",而是"世界内部的因果时钟"——你以为桌上摆的是市场部递来的花瓶,整个发言都围绕这束花;物流送来了公关部的果盘。有人说"现在桌上其实是果盘",你当八卦;有人把演讲稿逐句换成匹配果盘的版本,你讲得再好,底下的世界已经不是你推演的那个。唯一解法是从第一步推演起,脑内沙盘里摆的就该是果盘。
循环型 DreamerV3 死于历史被篡改:RSSM 拿到的"前一动作"里填的是指令Y,而环境实际执行的是 X。它郑重记下一笔假账,还自洽——每个观测都解释得通,只是归错了因。像财务把隔壁部门的支出记到你项目头上,养出一个对现金流完全误判的 CFO。
效果数字我核了一遍。TD-MPC2 恶劣条件平均归一化回报:Single-Action 0.278,Hold-Last 0.288,Fixed Chunk 0.268,Receding Buffer 0.717,Future-Sequence 0.733。特权诊断的Future-Action Oracle 是 0.822。
我算了这个比值:Future-Sequence 拿到了 Oracle 的 89.2%,而它比最笨的 Single-Action 高 2.64 倍。剩下那 11% 的缺口,是部署接口再也够不到的部分——Oracle 知道未来真正执行了什么,那是诊断工具,不是能上线的接口。
Hold-Last 只+0.010 这一点尤其值得看:把最后一条动作重复发下去,几乎没用。为什么?因为规划器的新决策是建立在"上一条会执行"这个假设上的,把假设改成"只有一条会执行",整套推演的时间线就断了。
但我要给这篇论文补一个帖子里没说的数字,因为它比论文自己强调的还狠。论文原文 Table 4(Walker绝对回报,五个独立checkpoint × 十个种子)里有一行:Fixed-2 训练下的 Single-Action 恶劣平均是 256,而 Fixed-2 训练下换成 Future-Sequence 是 52。
接口装错了,比不装还差 4.9 倍。【直引】论文的解释是双重补偿:训练时模型已经学会"我的指令会延迟两拍生效",整个动作语义建在这份延迟之上;接口再自作聪明地纠一次,等于把它的世界观掰回去一次。两套正确的逻辑撞在一起,就是双倍的错误。
这一条把整篇论文的性质变了。它不只是"给了一个更好的接口",它是"证明了接口不是补丁,接口是语义的一部分"。任何异步纠正方案上线前,先问一句:这个模型的隐含约定是什么。
Walker-Walk 那对 rollouts 最直观:同 checkpoint、同种子、同传输种子,只是乱序。Single-Action 早期失衡,回报 397.4;Future-Sequence 全程直立,889.2。同脑同身,唯一的区别是邮路的寄法。
边界照抄:只聚焦动作侧异步,观测侧异步(传感器各报各的时间戳)是另一条战线。ECI-Full 与 ECT-ID 在 30000 次转移测试里都100% 找回精确实际动作,这两条工程上完全能落地。
下一根钉子:观测侧那条战线——传感器时间戳不一致时,"上一动作"字段该填什么,以及回执要等多久才过期(论文已测:延迟一拍打折扣,两拍更差)。动作侧已经把账对上了,观测侧的账本还开着。