10月,微软研究团队开源了一个名为Code Video Model的项目,它解决的是视频生成里最不体面的那个问题:画面越来越真,物理越来越错。团队的做法可以概括成一句话,别让模型猜像素,让它写代码。提示词先由编码智能体翻译成一段Three.js程序,几何布局、物体运动、相机轨迹、事件时序全部落到可执行代码里,渲染出一段低精度预演,确认之后再交给视频扩散模型补材质与光照。这条流程把影视工业的预演环节搬进了AI工作流。
传统流程是提示词进、像素出,中间的所有决策由模型隐式完成,创作者只能在生成之后检查,不满意就改提示词、调控制条件、重新采样。Code Video Model把这段黑箱拆开:程序既描述场景,也定义场景如何随时间演化,椅子放歪了改一行坐标,抛物线不对改一个方程,相机轨迹不满意就拖动路径点。围绕这份程序,智能体按"编程、渲染、检查、修订"的循环迭代,预演渲染不到一分钟,验证成本远低于重新生成一整段视频。
同一套表示还能处理更细的控制。物体与相机的时间进程可以独立控制,于是能做出一类特殊镜头:动作冻结、相机继续环绕,也就是常说的子弹时间。对于有数学描述的物理过程,程序直接按方程计算运动,双摆、弹簧回弹、牛顿摆这些案例的预演本身就是物理正确的,扩散模型只负责把它们变得好看。这种分工让"物理正确"从概率问题变成了确定问题。
把低多边形预演直接喂给参考驱动的视频模型,会遇到一个副作用:结构约束太强,成片会带上预演的风格,画面看起来像游戏截图。团队在冻结预训练模型参数的前提下,系统考察了条件组成、介入阶段、持续时长与通路差异,结论是预演的影响在去噪早期最强,随后迅速衰减,两类通路都在前约25%的步骤里作用最大。
于是他们提出了阶段化条件调度:结构建立阶段引入预演,提供显式的时空约束,随后撤掉这一条件,让文本、参考图与模型先验接管外观细化。撤得太晚,低多边形外观会污染成片;撤得太早,预演定义的场景结构与运动轨迹保不住。这个窗口的位置,是靠逐步敏感性分析测出来的,而不是拍脑袋设定的。方法不需要额外训练控制模块,这一点对工程落地很友好,也意味着它可以直接叠加到已有的开源视频模型上。
实验里还有一个容易被忽略的分工。研究交换了两份预演在视觉语言编码器与VAE通路中的输入,搭配不同光照与色调的参考图,观察输出如何变化。结果显示,生成视频的亮度与整体风格主要跟随参考图,场景布局、视角与几何结构主要跟随经VAE编码的预演条件。双通路的综合表现优于任何单通路,说明两类信息在模型内部并没有被混为一谈。
注意力模块里的Query特征分析补上了另一半证据:条件撤去之后,早期调度形成的表征差异仍然存在,并与输出的结构差异对应。这说明结构引导的作用可以延续,不必依赖条件全程在场。对做视频工具链的人来说,这条发现比模型结构更有迁移价值,它意味着已有的开源视频模型可以通过调度策略获得新的控制能力,而不必重训。对一个已经沉淀了推理管线的团队,这类改动的接入成本远低于换模型。
2026年3月的一项评估给出了刺眼的数字:83.3%的第三人称视角视频与93.5%的第一人称视角视频,至少存在一个人类可识别的物理错误,每个视频平均有1.15到1.92个物理缺陷,严重程度评分在2.69到3.86之间,满分5分。抛出去的球悬浮在空中,单摆忘了自己的周期,碰撞看起来合理却不符合动量守恒。OpenAI在Sora的技术报告里也承认,无法准确模拟玻璃破碎这类基本物理交互。
商业端的证据更残酷。Sora上线仅半年便宣告关停,日均1500万美元的算力消耗固然是原因,但基础物理一致性始终无法攻克被明确列为压垮这款产品的最后一根稻草。Code Video Model的解法在逻辑上很干脆:物理的事交给方程,视觉的事交给扩散模型。它不试图让神经网络学会牛顿力学,而是把力学搬到神经网络之外,用一段可执行程序承担物理责任。
团队公布的案例覆盖动画、子弹时间、游戏场景、场景编辑、机器人轨迹控制、建筑影像、产品广告、物理落地与三维重建。场景编辑与轨迹控制的演示里,修改前后的预演与成片并排展示,能直观看到路径点改动如何传导到最终画面。评测集CodeVideoBench包含22个案例,代码、技术报告与项目主页一并公开。
局限同样明显。可编程的前提是场景能被写成几何体与运动方程,毛发、流体、布料这类难以解析建模的对象,预演只能给出粗糙近似。另外,整条链路依赖编码智能体的编程能力,程序写错,后面全错,错误还会以"看起来很合理"的方式传导到成片。它更像把影视工业的预演环节搬进了AI工作流,而不是让模型理解物理。下一步值得观察的是,这套阶段化调度能否被主流开源视频模型吸收成默认选项。