VideoCoCo:以代码作为思维链、借助智能体双引擎系统实现物理一致的视频生成 VideoCoCo: Code-as-CoT for Physically-Consistent Video Generation via an Agentic Dual-Engine System
用可执行 Blender 代码充当过程级思维链,双引擎系统生成物理一致视频。
前置知识
文本到视频扩散模型 (Text-to-Video Diffusion)
目前主流的文生视频范式:用扩散过程把从高斯噪声 $z\sim\mathcal{N}(0,I)$ 出发的潜变量逐步去噪为一段时序连贯的潜表示,再由 VAE 解码为像素视频。典型系统包括 CogVideoX、Open-Sora、HunyuanVideo、Wan、Step-Video-T2V 等。这类模型视觉质量高、可扩展性好,但只接受一段高度压缩的文本提示 $p$,必须同时重建完整时空过程并合成外观,这是它物理一致性差的根源。
VideoCoCo 的第二引擎(生成式视频引擎 $G_ heta$)本质就是在一个扩散视频编辑器上做条件去噪,理解扩散框架才能看懂为什么要把仿真草稿 $d$ 当作结构条件注入。
思维链 (Chain-of-Thought, CoT)
CoT 指在给出最终答案前,先用一个中间表示把推理过程显式化。视频生成里已有三条路线:规划式 CoT(用文本计划/布局/关键帧约束生成器)、测试时搜索 CoT(采样多个候选再选择或修正)、视觉状态 CoT(用生成序列内的中间视觉帧推理)。它们的共同问题是中间表示要么不可执行(文本、布局),要么时间上稀疏(孤立关键帧),无法刻画一个完整、可检查的时空过程。
论文把自家方法定位成视频 CoT 的第四类范式——以可执行代码作为过程级思维链。只有先理解前三种 CoT 的局限性,才能体会『可执行、时间稠密』为何是关键创新。
Blender Python 脚本与沙箱仿真 (Blender Sandbox)
Blender 提供完整的 Python API(bpy),可用代码声明场景中的物体、材质、物理属性及其随时间的演化,再在隔离环境中渲染成视频。作者把渲染过程记作 $d=B(c)$,其中 $c$ 是 Blender 程序、$d$ 是渲染出的低保真『白泥』草稿。沙箱保证确定性和可复现:同一程序永远产生同一草稿,渲染错误作为诊断信号回传给代码智能体去修订,而非静默失败。
可执行 Blender 代码是整篇论文的核心中间表示,所有贡献(草稿渲染、VideoCoCo-3K 三元组、可检查可复现的管线)都围绕它展开,必须理解 Blender 能『跑』代码并产出确定性视频这一事实。
草稿条件视频编辑与 LoRA 微调
视频编辑模型 $G_ heta$ 以一段已有视频(草稿 $d$)和一条编辑指令 $e$ 为条件,输出新视频 $\hat{v}=G_ heta(d,e)$。LoRA(低秩适配)只在新引入的低秩子空间 $W=W_0+\Delta W=W_0+BA$ 上更新少量参数,保留预训练的强视觉先验。论文用条件去噪目标 $\mathcal{L}( heta)=\mathbb{E}?ig[\|\epsilon-\epsilon_ heta(z_t,t,d,e)\|_2^2?ig]$ 在 VideoCoCo-3K 三元组上微调,对比了 Tuning-Free、Full-Tune、LoRA-Tune 三种策略。
第二引擎把『白泥草稿』风格化为写实视频,是双引擎能否落地的关键;而消融实验证明 LoRA 以远少于全量微调的参数取得最佳平均分,这是论文的重要结论之一。
研究动机
当前文生视频模型(如 Pika、Gen-3、Kling、Sora 等闭源系统,以及 CogVideoX、Open-Sora、HunyuanVideo、Wan2.2-TI2V-5B 等开源模型)虽然视觉效果惊艳,但在物理一致性上普遍拉胯。原因在于一段文本提示只以高度压缩的语义层描述了一个事件,却把支配其演化的物理原理几乎完全留白,模型只能从高度压缩的 $p$ 隐式推断完整时空过程,同时还要合成外观。作者把这种『压缩意图』与『完整演化』之间的错配称作『因果不透明性 (Causal Opacity)』。从数据看,在 PhyGenBench 上最强开源基线 Wan2.2-TI2V-5B 平均仅 0.544,闭源 Kling 仅 0.49,连基础生成器 OmniWeaving 也只有 0.475,材料类 (0.39) 与热学类 (0.43) 尤其薄弱;在 VBench-2.0 上 OmniWeaving 平均仅 52.18%,热学维度低至 52.08%、材料维度仅 41.67%。这些数字共同说明:外观可以从数据里记忆,但提示所对应的具体过程很难从数据里学来。
本文的目标是论文要回答一个核心问题:能否在最终生成像素之前,就把隐藏在提示里的物理过程『外化』出来?具体目标是设计一个框架,让模型不再隐式地从语言推断时空演化,而是先把目标动力学写成一个显式、可执行、可检查的中间表示并运行出确定性草稿,再让生成器专注于把这一既定过程写实化。这样既要在 PhyGenBench 和 VBench-2.0 两个物理基准上取得最佳平均分,又要在热学、材料等外观先验最薄弱的维度上取得最大提升,同时保证整个管线对用户只需输入文本提示、全程自动、可检查、可复现。
与已有工作不同的是,既有视频 CoT 工作的中间表示要么不可执行(文本计划、布局),要么时间上稀疏(孤立关键帧),要么只是候选选择/修正(测试时搜索),没有一个能实例化出完整、可逐帧检查的过程。而代码智能体的进步暗示了另一条路:可执行代码本身就可以充当过程级中间表示。论文的独特切入点正是把『代码即思维链 (Code-as-CoT)』这一在图像预览/DraCo/CoCo 上初现的思想,从单张图像预览推广到完整的时间过程:用代码智能体写出并运行 Blender 程序,渲染出时间稠密、逐帧对应物理状态的低保真草稿,再以此结构条件驱动视频编辑器,从而填补了『可执行、时间稠密、可检查』这一空白。
核心方法
直觉上,VideoCoCo 把最难的两件事拆开交给两个专家:让代码智能体负责『发生了什么、何时发生』(过程级动力学),让视频编辑器负责『看起来怎样』(外观写实)。技术路线由此构成双引擎管线。第一引擎『可执行仿真引擎』把提示 $p$ 交给编码智能体 $A_{code}$,合成自包含 Blender 程序 $c=A_{code}(p)$,再在沙箱 $B$ 中运行得到确定性低保真草稿 $d=B(c)$;草稿采用『白泥』风格、无写实材质,但每一帧都对应一个物理实例化的状态,是一个结构脚手架而非候选输出。第二引擎『生成式视频引擎』由指令智能体 $A_{edit}$ 读 $p$ 与 $d$,合成仅描述外观的编辑指令 $e=A_{edit}(p,d)$,再由草稿条件编辑器 $G_ heta$ 输出 $\hat{v}=G_ heta(d,e)$。为了让现成编辑器学会读『白泥草稿』这种分布外输入,作者构建了 VideoCoCo-3K 三元组数据集并用条件去噪目标做适配,最终以文本提示端到端跑通推理。
核心创新在于把视频生成的中间表示从『描述性/选择性』升级为『实例化、可执行』。与规划式 CoT(VChain、VideoDirectorGPT)、视觉状态 CoT(VideoRLVR、ChEaP)、测试时搜索 CoT(Video-T1、temporal backtracking)相比,本质区别是三性:显式性(每个物体、运动、交互都必须声明,杜绝文本计划的欠定)、可执行性(程序承诺一个能真正运行的具体过程,而不仅仅是描述)、可检查性(代码可读、可改、可重跑,推理透明而非藏在潜激活里)。这种可执行草稿把『过程推理』与『高保真视觉实现』解耦,使编辑器只需对已实例化的过程做风格化重绘,远比从零想象过程简单,也正对现代视频编辑模型的长处。
方法步骤详情
完整管线分四步。(1) 代码合成:编码智能体把提示 $p$ 转成自包含 Blender 程序 $c=A_{code}(p)$,显式声明场景、物体、物理属性与时序演化,获得显式、可执行、可检查三性。(2) 沙箱渲染:在隔离环境 $B$ 中执行 $d=B(c)$,得到低保真『白泥』草稿;沙箱强制确定性,渲染错误作为诊断信号驱动代码修订而非静默失败。(3) 指令构造:因 $p$ 抽象、$d$ 稠密,指令智能体 $e=A_{edit}(p,d)$ 综合两者,专门描写主体、材质、光照、电影感风格,被显式禁止重新定义 $d$ 已含的运动,于是 $d$ 决定『发生什么』、$e$ 决定『长什么样』。(4) 草稿条件编辑:把 $d$ 与 $e$ 喂给编辑器 $\hat{v}=G_\theta(d,e)$,$d$ 锚定时空结构、$e$ 指定外观。为训练 $G_\theta$,对每个提示让两引擎产出 $(d_i,e_i)$,再用高保真教师 $G_T$(取为 Seedance 2.0,能保真出帧又忠实保留运动)生成目标 $y_i=G_T(d_i,e_i)$,得到 $D_{\text{VideoCoCo-3K}}=\{(d_i,e_i,y_i)\}_{i=1}^{3000}$ 共 3000 个三元组,并排除评测基准及近似重复。训练用条件去噪 $\mathcal{L}(\theta)=\mathbb{E}_{(d,e,y),t,\epsilon}[\|\epsilon-\epsilon_\theta(z_t,t,d,e)\|_2^2]$,从 OmniWeaving 基座初始化,对比全量与 LoRA 微调。推理仅需 $p$,全程自动、可检查、可复现。
技术新颖性
技术新颖性体现在三处互锁的设计。第一,首次把可执行 Code-as-CoT 从单图预览推广到完整时间过程:用代码智能体写出 Blender 程序并在沙箱运行,得到时间稠密、逐帧对应物理状态的草稿,突破了既有视频 CoT 中间表示稀疏或不可执行的限制。第二,提出『双引擎』分工:仿真引擎外化过程、视频引擎负责写实,二者职责不相交($d$ 管时空结构、$e$ 管外观),把生成器从『想象过程』降级为『重绘既定过程』,问题被显著简化。第三,提出基于教师的代理式数据构造管线 VideoCoCo-3K:因公开视频编辑数据只含自然视频对、几乎没有『白泥草稿—写实视频』配对,作者用强教师 Seedance 2.0 自动生成三元组,并保留原始提示与 Blender 程序作为元数据以便检查、扩展、再生成。消融还揭示一个反直觉现象:LoRA 以远少于全量微调的参数反而更好(0.558 vs 0.535),说明该适配是窄技能迁移,低秩子空间能保留基座视觉先验并抑制过拟合。
实验结果
实验从三角度证明『代码即思维链』提升物理一致性。其一,PhyGenBench(Table 1):在 OmniWeaving 上叠加 VideoCoCo,平均一致性从 0.475 升到 0.558,超过最强开源基线 Wan2.2-TI2V-5B 的 0.544 与闭源 Kling 的 0.49,取得全表最佳;力学 0.48→0.56、光学 0.56→0.61、材料 0.39→0.53 均为全场第一,热学 0.43→0.51 仅次 0.533。增益最大的是材料 (+0.133) 与热学 (+0.078)——正是外观先验最弱的类别,说明代码贡献的是物理动力学而非表面真实感。其二,VBench-2.0(Table 2):平均物理合理性从 52.18% 跃升至 77.88%(+25.70 分),力学 62.79%→92.31%、热学 52.08%→72.92% 均全场第一,材料 41.67%→68.42% 仅次于 CogVideoX-1.5 的 83.19%,两基准规律一致。其三,消融(Table 3):固定草稿管线只变编辑器,Tuning-Free 已把平均从 0.475 提到 0.506,证明增益完全来自可执行草稿;Full-Tune 到 0.535,LoRA-Tune 最佳 0.558,说明草稿与编辑器适配互补且轻量 LoRA 反优于全量微调。Figure 3 也显示对干冰升华、真空瓶塌陷等过程,OmniWeaving 常『好看但错』,而 VideoCoCo 跟随草稿实现正确过程。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 物理常识一致性 (PhyGenBench 平均) | GPT-4o 评判的 [0,1] 一致性分数 | 0.558 | OmniWeaving 0.475 / 最强开源 Wan2.2-TI2V-5B 0.544 | 相对基座 +0.083,超过全部闭源与开源基线,取得全场最佳平均 |
| 物理合理性 (VBench-2.0 平均) | 物理维度合理性百分比 (%) | 77.88% | OmniWeaving 52.18% | +25.70 分,力学 +29.52、热学 +20.84,两维度全场第一 |
| 编辑器适配消融 (PhyGenBench 平均) | [0,1] 一致性分数 | LoRA-Tune 0.558(Full-Tune 0.535,Tuning-Free 0.506) | OmniWeaving 0.475 | Tuning-Free 已证草稿独立贡献,LoRA 优于全量微调证明低秩适配更优 |
局限与改进
作者在结论中明确给出三点局限。第一,额外推理延迟:端到端管线要依次跑代码合成、沙箱渲染、指令构造、草稿条件编辑四个阶段,相比单模型直出明显更慢。第二,受 Blender 仿真器表达能力限制:对湍流流体等高度复杂现象,Blender 难以零样本刻画,作者把接入 Taichi 等专用物理引擎列为未来工作。第三,知识未内化:可执行先验目前只存在于推理时仿真中,尚未被蒸馏进端到端视频模型。我另有两点观察:其一,整个方法高度依赖编码智能体写出正确且可编译的 Blender 程序,论文未给出代码合成的成功率、渲染失败率与重试次数等工程统计,难以评估该步骤的鲁棒性;其二,训练数据 VideoCoCo-3K 的目标完全由单一教师 Seedance 2.0 生成,存在教师偏差被学生继承的风险,且 3000 条规模相对有限,泛化到训练分布外的提示(尤其 Blender 模板覆盖不到的场景)是否仍稳健缺乏讨论。
独立分析的弱点
独立分析有四处弱点。第一,对编码智能体的强依赖:草稿质量完全取决于程序是否物理正确且能编译,而论文未报告代码合成成功率与渲染失败重试统计。改进方向是引入仿真自反馈(如物理守恒量校验、渲染错误驱动的自动调试)或对程序做形式化校验,提升鲁棒性。第二,仿真器覆盖面有限:Blender 对湍流、流体、复杂接触等难处理,影响『过程级正确性』这一卖点的适用范围。改进方向是可插拔接入 Taichi 等专用引擎,或为不同物理类别路由到不同仿真器。第三,教师蒸馏的单点偏差:VideoCoCo-3K 的目标全由 Seedance 2.0 生成,且仅 3000 条,学生易继承教师偏差并在分布外退化。改进方向是用多教师或真实视频对齐、扩大并多样化三元组,并对分布外提示做显式评估。第四,延迟与可部署性:四阶段串行管线带来较高延迟,且需沙箱环境。改进方向是知识蒸馏把可执行先验内化进端到端模型(作者也提到),或并行化/缓存草稿。此外,论文未在更多样化基准(如长时序、多物体交互、复杂因果关系)上验证,泛化边界仍需补强。
未来方向
作者明确指出两条未来方向:(1) 集成 Taichi 等专用物理引擎,以突破 Blender 在湍流等复杂现象上的表达瓶颈;(2) 用知识蒸馏把推理时的可执行先验内化进端到端视频模型,最终消除推理时仿真、降低延迟。基于本成果还可延伸多个方向:把 Code-as-CoT 推广到更长时序、多物体交互与因果推理场景;研究草稿作为可解释控制接口的用途(如交互式编辑过程、对物理过程做反事实修改);引入多教师或真实视频对齐以缓解 VideoCoCo-3K 的教师偏差并扩展数据规模;探索『仿真器路由』让不同物理类别调用最合适的引擎;以及把可执行中间表示迁移到机器人操作、具身世界模型等同样需要过程级物理一致性的领域。
复现评估
复现前景中等偏上但需较多工程投入。有利条件:作者从 OmniWeaving 公开基座初始化 $G_\theta$,训练目标 $\mathcal{L}(\theta)=\mathbb{E}[\|\epsilon-\epsilon_\theta(z_t,t,d,e)\|_2^2]$ 为标准条件去噪,并给出项目页 https://github.com/micky-li-hd/VideoCoCo。VideoCoCo-3K 保留原始提示与 Blender 程序作为元数据、支持检查与再生成,三元组由教师 Seedance 2.0 自动产出,理论上可重建;评测协议清晰:PhyGenBench 用 GPT-4o 作 MLLM 评判,VBench-2.0 用官方逐维度合理性百分比。主要障碍有三:其一,需搭建可执行 Blender 沙箱并依赖代码智能体的程序合成质量,论文未给合成成功率/重试统计;其二,依赖商业级教师 Seedance 2.0 生成 3000 条目标,算力与 API 成本不低;其三,论文未公布训练超参(学习率、LoRA 秩、步数、GPU 配置)与三元组原始数据,端到端多组件管线完整复现仍需相当工程量。
论文图表
对比四种视频生成 CoT 范式:①规划式 CoT(用文本计划、关键帧、布局约束生成器)、②测试时搜索 CoT(采样多个候选视频再选择/修正)、③视觉状态 CoT(在生成序列内用一连串中间视觉状态推理)、④VideoCoCo(本文,用代码智能体合成可执行代码、在沙箱渲染出确定性草稿、再以此条件化视频生成器)。前三者的中间表示要么不可执行、要么时间稀疏或仅做选择,而本文给出一个完整且可检查的过程级思维链。
这张图是理解论文定位的钥匙:它一眼讲清 VideoCoCo 与既有视频 CoT 的本质区别(可执行且时间稠密),帮助读者快速抓住『代码即过程级思维链』这一核心立意。