# 代码生成视频（Code-to-Video）：Agent 能力对比与评测演进

## 一、场景与实验设计

我选择代码生成视频（code-to-video）作为评测场景。Coding Agent 接收一句开放需求与可选参考素材，自主编写渲染代码（HTML + 无头浏览器、Canvas/WebGL、Three.js、Python 逐帧或 HyperFrames），经 ffmpeg 交付 MP4。这个场景同时调动多模态感知、空间与物理建模、视觉叙事、自检迭代和工程交付。评测只对最终成片判分，不限制中间实现路径。

第一轮用 4 道信息讲解题探索后发现，把字号、配色或布局写成硬性规则会导致成片同质化，且无法拉开前沿模型差距。第二轮改为一句短需求，用 7 道主评测题覆盖不同能力组合，另设 4 道扩展题（零文字勾股定理 `M1`、《星月夜》动效 `I1`、无提示配乐 `B1`、三幕纸飞机 `C1`）用于专项归因：

| 题号 | 任务原文（附统一自主交付说明） | 主要考察的综合与专项能力 |
| --- | --- | --- |
| `S1` | 30 秒讲清楚：为什么天空是蓝的，傍晚又变成橙红？ | 视觉化解释、多变量联动、信息节奏 |
| `E1` | 用代码做一段 15 秒的第一视角视频：机械臂从桌上抓起一个杯子。 | 3D 空间与第一视角相机、接触时序 |
| `R1` | 用代码复刻《泰坦尼克号》船头张开双臂那一幕，15 秒。 | 文化记忆、双人站位、风浪与镜头运动 |
| `B2` | 给附带的这首歌（`song.m4a`）做一个贴合歌曲内容的 MV。机器上装了 `whisper`，可以用来听歌词。 | 音频工具调用、歌词对位、超越字面的意象 |
| `P1` | 用代码做一段 12 秒的四宫格视频：一只机械手把一根线穿过缝衣针的针眼。四格是同一时刻、同一场景的四个摄像机：腕部相机、正面、侧面、俯视。 | 多视角几何一致、真实尺度分工、柔性线与任务子步骤 |
| `P2` | 用代码做一段视频：同一只机械手先捏一团面，再捏一个解压球，各捏一下再松开，三个视角同步。 | 塑性与黏弹性材料建模、局部接触形变 |
| `V2` | 用代码把附带的这段视频（`reference.mp4`）复刻出来，越接近原片越好。 | 视频理解、镜头切换、运动轨迹与光影对齐 |

参评主体为四个模型：DeepSeek V4.1-Flash（DSH）、Claude Opus 5.5（Claude Code）、GPT-6 Astra（Codex，强制 Code Mode）与 GPT-5.6 Sol（Codex）；另加入上一代 Claude Opus 5 与纯文本模型 DeepSeek V4-Pro 作为代际与模态对照。前沿三家分别在无附加规则（`bare`）和预置 HyperFrames 工作流及技能包（`hf`）两种条件下运行，老模型运行 `bare`。每个配置在 60 分钟上限内单次运行，评测口径只看成片效果，不因工具路径或过程耗时扣分。

自动评审使用 Gemini 4 Argon。每部成片均匀抽取 24 帧，按每图 8 帧拼成 3 张带时间戳的网格图（`V2` 附原片抽帧，`B2` 附歌词时间表）。评审包含三部分：由题面生成的冻结二元清单、正反顺序各评一次的匿名成对比较（意图、连贯、手艺、非默认感、言外之意、整体偏好），以及倒放与模糊两类人为缺陷对照。

## 二、任务完成情况、模型排序与原因分析

在第二轮 7 道主评测题的 59 部成片、504 场有序成对比较中（`Argon v2`），倒放与模糊缺陷对照的检出率均为 100%（各 84/84）。整体偏好换左右顺序的一致率为 83% 到 97%，重复评测一致率为 83% 到 100%。各配置在 7 道主评测题上的表现如下：

| 模型 · 条件 | 主评测有片 / 题数 | 中位用时（分） | 中位看图次数 | 7 题成对总胜率（场数） | 分题胜冠（`overall`） |
| --- | --- | --- | --- | --- | --- |
| Claude Opus 5.5 · `bare` | 7 / 7 | 14.8 | 6 | 84%（104） | `E1`（并列）、`P1`、`P2` |
| GPT-6 Astra · `hf` | 7 / 7 | 9.5 | 26 | 75%（104） | `E1`（并列）、`V2` |
| GPT-6 Astra · `bare` | 7 / 7 | 10.0 | 10 | 72%（104） | `B2` |
| Claude Opus 5.5 · `hf` | 7 / 7 | 20.3 | 6 | 65%（104） | `S1`（并列）、`R1` |
| DeepSeek V4.1-Flash · `bare` | 7 / 7 | 26.1 | 44 | 47%（104） | 无（`R1`、`V2` 居第 4） |
| DeepSeek V4.1-Flash · `hf` | 7 / 7 | 20.1 | 31 | 44%（104） | 无（`B2`、`P2` 居第 4） |
| GPT-5.6 Sol · `bare` | 7 / 7 | 4.2 | 4 | 14%（104） | 无 |
| Claude Opus 5 · `bare`（代际对照） | 3 / 7 | 32.2 | 10 | 42%（48，仅 `S1/R1/B2`） | `S1`（并列） |
| DeepSeek V4-Pro · `bare`（纯文本对照） | 7 / 7 | 15.9 | 2（无效） | 2%（104） | 无 |

四个参评主模型的排序为：Claude Opus 5.5 与 GPT-6 Astra 同属第一梯队（Opus 5.5 无技能上限最高，Astra 两档最稳），DeepSeek V4.1-Flash 居第三，GPT-5.6 Sol 居第四。

1. Claude Opus 5.5 强在把物理机制与叙事言外之意算出来，而不是只画表面关键帧。在物理题上，其他模型多用全局缩放或预设曲线模拟形变，Opus 5.5 则在源码中为关键现象编写简化计算模型。`cc-bare-P2` 实现顶点碰撞投影、邻接位移扩散、网格体积补偿（亏损体积按 0.8 比例向未受压表面鼓出）与阻尼弹簧（`k = 420, c = 14`）：成片中面团留下四道指槽与指间鼓包，解压球在手指离开后滞后约 0.5 秒才填平凹窝。`cc-bare-P1` 在线头穿过针眼后，继续完成松手绕到针另一侧换抓、把线拉过去并带动线轴按拉出线长转动的完整步骤；`cc-hf-R1` 写出了随船速向船尾扩散的船首泡沫与重力抛体水花。在叙事与解释题上，`cc-bare-S1` 用单次散射积分同时驱动太阳高度（62° 落至 1°）、路径倍数（1.1 升至 23.4）和天空暮色；`cc-hf-B2` 在“我才能在你身边”处让男孩独坐长椅，镜头下摇到水洼，倒影里女孩坐在他身边；`cc-hf-C1` 在开场墙上挂出纸飞机飞向太阳的画，并在结尾兑现；`cc-hf-M1` 连续改变直角三角形边长比例，无字证明结论对任意直角三角形成立。它的短板是有时会给工具查出的小字或对比度问题找理由保留，且在 `E1` 加技能后引入了与场景无关的 HUD 角标。
2. GPT-6 Astra 强在 3D 空间结构、参考对齐与工程完成度。它在两轮全部运行中 100% 按时交付，中位耗时仅 10 分钟。`V2` 复刻中，`codex-hf-V2` 与 `codex-bare-V2` 包揽前两名，后视角逼近、腾空翻转与侧面远景跨越车队的镜头结构和光影还原最完整。`P2` 中两档都清晰区分了面团塑性保持（高宽比 1.01 压至 0.57 并保持）与球体弹性恢复。`B2` 中 `codex-bare-B2` 凭借干净的插画构图与段落转场拿到整体与手艺双第一，`codex-hf-B2` 用空座位上撑开的红伞替代离开的人。它的短板是无技能时模板化痕迹重（如 `S1` 顶部的 `ATMOSPHERE / 0N` 编号栏和六层同屏文字），物理形变也以固定位置凹槽和整体缩放为主，缺少局部接触扩散与滞后恢复。
3. DeepSeek V4.1-Flash 的工程交付稳定且自检最勤，但空间几何、材料物理与审美克制仍有差距。它在主评测题中全部出片，中位工具调用 107 到 133 次、看图 31 到 44 次，分析步骤细致（如 `I1` 手标星点坐标、`B1` 自写节拍检测）。在叙事题 `C1` 中，`dsh-hf-C1` 给纸飞机画出了撞窗眩晕、冒白气顶开窗闩的可见表情；`S1` 的 `dsh-hf-S1` 用芦苇蓝天拉远到行星大气层、再经橙色扩张落回同一芦苇丛的一镜到底完成了首尾呼应。但它的问题是看图多却未能修掉结构硬伤：`dsh-hf-E1` 把第一视角画成旁观机位；`R1` 两档船体相对海面静止、男女并排站立而非身后环抱；`P2` 两档未能拉开面团与解压球的恢复差异；即便给了技能包，第一轮小字占比仍在 0.6 以上，且 `M1` 出现公式却在交付说明中自称零文字。
4. GPT-5.6 Sol 与两个对照模型清晰标出了能力代际边界。Sol 速度最快（中位 4.2 分钟），但中位只看图 4 次，成片频繁出现白天有星星（`S1`）、旁观视角且杯柄脱离杯身悬空（`E1`）、面团完全回弹（`P2`）等常识与物理错误。代际对照 Opus 5 在 2D 科普 `S1` 上仍并列第一，但在 `E1`、`P1`、`P2`、`V2` 四道 3D 题上全部因软件渲染与反复调试满 60 分钟超时（尽管 `cc5-bare-P1` 源码中写出了带胶囊碰撞槽的 Verlet 绳模型，却未能交付成片）。纯文本对照 V4-Pro 因看不见素材与自身渲染画面，`I1` 把《星月夜》猜成海面月光，`E1` 输出满屏条纹噪声却靠像素均值自判有效，证明视觉自检是该场景的前提。

对比同一模型有技能包（`hf`）与无技能包（`bare`）的直接对决可以发现，外部技能与框架并非单调加分。在 7 题共 14 分的整体偏好直接对决中，Astra 获得 8/14（正收益），而 Opus 5.5 与 V4.1-Flash 均只有 5/14。这一现象不能简单归因于模型听不听话，更合理的解释是：技能包的净收益等于它补足的默认短板减去固定规则和框架带来的约束。在去模板化（非默认感）上，技能包将首帧空白从 18/38 降到 0/19，让 Astra 和 Flash 在直接对决中分别拿到 9.5/14 和 10/14；在构思流程上，技能包要求先写多条故事线再筛选，使 Opus 5.5 在 `Argon v3` 的言外之意（`subtext`）维度拿到 4 题 8/8 全胜。但当模型自身能力较强时，技能包里的刚性规范（如固定 16:9 画幅给名画加黑边、“卡片停住让人读”与“禁止静止 3 秒”互相冲突、无剪辑规范却强套动效规则）反而束缚了手艺发挥，使 `cc-hf-B2` 的手艺胜率降至 34%。同时，配对控制题 `B1`（无提示）与 `B2`（提示有 `whisper`）显示，工具内化分三层：模型已经具备调用工具的能力（`B2` 给提示后三家主力全部调 `whisper` 拿到歌词并构建叙事），但尚未内化主动获取工具的意识（`B1` 中 9 个运行仅 `cc-hf-B1` 尝试转写，45 个物理运行无一调用成熟物理引擎，所有模型均未回听自己合成的音轨）。

## 三、模型进化后如何提高评测区分度

新老两代对比表明，不同评测项的饱和速度截然不同。时长达标、正常出片、多视角时间同步与 `V2` 的 6.6 秒切镜时间，在新一代模型上已全部做对；S1 与 E1 的冻结二元清单中，Opus 5.5 与 Astra 的多档运行已拿到 11/11 满分。如果继续依赖单维清单或综合印象打分，评测很快会失去区分度。更严重的是，`Argon v2` 数据显示评审模型的 `overall`（整体偏好）与 `craft`（画面手艺）排序高度重合：在 `B2` 中，`cc-hf-B2` 写出了全批唯一的水洼倒影双人意象（16 场评审笔记全部识别出该细节），却因人物腿部比例失调在 `overall` 中仅排第 5；直到 `Argon v3` 将 `subtext`（言外之意）拆成明确声明“只看想法、不看精致度”的独立维度，它的 `subtext` 胜率才达到 97%（第 1 名）。反之，当把这些亮点改写成抽象二元加分题（如“是否表达字面外信息”“是否有伏笔兑现”）让评审单片作答时，8/9 的成片都被判为“是”，反例误判率高达 14/16。

```
任务与成片 ──► 1. 门槛层（确定性脚本 + 基础清单：时长、出片、视角、穿模，只扣分不参与排名）
           ──► 2. 前沿分维层（分拆报告，不合成单一总分）
                  ├─ 画面手艺 / 讲述节奏 / 言外之意 ──► 多模态 Agent 盲评成对比较 + 嵌入同质化惩罚
                  ├─ 物理动力学 / 几何正确性         ──► 渲染引擎白盒插桩 / 密集跟踪脚本
                  ├─ 声画同步与声音设计             ──► 音频起音包络与局部视觉事件对齐测量
                  └─ 参考视频复刻精度               ──► 轨迹 nDTW / 分区亮度曲线皮尔逊系数
           ──► 3. 演进校准层（源码级反事实扰动检验 Judge 灵敏度 + 过半通过项自动降级入库）
```
图注：面向下一代模型的三层解耦评测与校准架构。

因此，当模型进一步变强后，评测体系与自动 Judge 应从以下五个方向演进：

1. 将 Rubric 解耦为“门槛扣分层 + 多维前沿成对层 + 稀有度加分层”，不合成单一总分。把时长、画幅、首帧非空、多视角同步和显性穿模降级为门槛项，仅用于回归过滤。前沿排名按“画面手艺、讲述与节奏、言外之意、物理与动力学、声画关系、参考贴合”分列报告。一旦在基准或强化学习奖励中把各维合成单一总分，模型就会走向画风精致但意象平庸的局部最优。对于跨模型高度趋同的现象（如 `B2` 五部成片都把“看你不见”画成人物淡出、`C1` 五部都以纸飞机越飞越小收尾），引入跨模型画面描述相似度作为同质化惩罚；加分项应绑定具体时间戳与稀有度，当超过半数运行做到某项亮点（如 `B1` 中 7/9 做到全局帧差踩拍）时，该项自动降级为及格线。
2. 用“白盒状态插桩 + 密集确定性测量”接管物理、数学与音频维度，不让纯 VLM 抽帧充当全能裁判。本次实验中，24 帧静态抽帧看不出端杯时的惯性超调、液面随加速度 $a/g$ 的倾角以及松手后的回弹时间常数，也听不到 `codex-hf-C1` 在 45 秒里有 29 秒是数字静音；在 `M1` 勾股定理上，Argon 对 `codex-hf-M1` 的碎片剪拼给出了与前期审阅完全相反的几何错误判定。因为 code-to-video 的产物天然带有源码，下一代评测应在无头浏览器或渲染环境中直接插桩导出每帧三维网格顶点、刚体位姿与相机矩阵，用程序直接核验体积守恒、接触力响应、穿针拓扑锁定和几何面积恒等；对 `V2` 类复刻题，用目标跟踪计算轨迹归一化动态时间规整（nDTW）与分区亮度曲线皮尔逊系数（如本次测得 `cc-bare-V2` 落地区亮度曲线与原片皮尔逊系数达 0.99，而其余多数运行为负）；对音轨则结合频谱通量起音检测与局部画面事件（如 `cc-hf-B1` 出隧道光斑和窗户按拍亮起，而非低成本的全屏脉动或频谱条）计算声画对齐率。
3. 把任务向“藏不住错误的物理交互、不提示工具的开放环境、多轮增量修改”三个方向加难。其一，单视角动画容易靠遮挡和缓动曲线凑数，未来应增加定量物理对照（如同一机械臂抓空杯与满水杯的姿态响应对比、不同重力或摩擦系数下的运动对比、真实毫米尺度下的双臂穿针）。其二，固定跟踪“无技能 `bare` 对有技能 `hf`”以及“不提示工具（`B1`）对提示工具（`B2`）”的成片分差，用分差衡量工作流与工具选择的内化程度；当模型真正内化了分镜规划、物理引擎调用和音轨自检后，无提示 `bare` 档应追平 `hf` 档。其三，从单次生成扩展到多轮修改评测：给出首版成片后追加一条局部修改指令（如“把长椅改到画面左侧，保持倒影和雨滴节奏不变”），用未改动区域的特征一致性和改动区域的意图达成率，测试模型在长程编辑中是否发生功能回退。
4. 用源码级反事实扰动（Counterfactual Perturbation）校准自动 Judge，并将 Judge 升级为可调工具的对抗式 Agent。当前用倒放、模糊检验 Judge，只能证明它能识别表层破坏，不能证明它懂前沿亮点。利用 code-to-video 的源码可控性，可以对优秀成片做单变量反事实修改并重新渲染：删掉 `cc-hf-B2` 的水洼倒影、把 `cc-bare-P2` 解压球的 0.5 秒滞后恢复改成瞬时回弹、去掉 `cc-hf-R1` 的船首浪，再将原版与删减版匿名成对送入 Judge，直接测出 Judge 对该前沿特征的灵敏度。同时，将被动看 24 张抽帧图的 VLM 升级为 Agent Judge：允许它在发现可疑帧时自主调用 ffmpeg 对指定时间窗做 10 fps 加密抽帧、读取渲染源码核对物理公式、运行音频与几何检验脚本；当两个评审样本或测量指标出现分歧时，先由找茬 Agent 与辩护 Agent 各自举证帧号与代码行，再做终审裁决。
5. 说明本实验的方法边界。本报告的实验每格仅采样一次生成（受并发限流中断的任务已重跑补齐，Opus 5 的 4 题超时属于 60 分钟资源预算下的真实交付失败），且 `bare` 与 `hf` 同时改变了提示词、初始化工程与 HyperFrames 框架，因此技能包的分析反映的是整套外部工作流包的综合效果。未来正式基准宜对每个配置做 3 到 5 次独立生成采样，固定渲染框架以分离“构思流程、审美规则、检查工具”三类文本的独立贡献，并在聚类 bootstrap 下报告排名置信区间。
