动态工程:围绕 Opus 5.5 建一个视频工作室

作者:rari(@0xwhrrari,AI agent 与生产系统方向独立写作者) · 发表于 2026-10-01 · 约 18 分钟

原文:Motion Engineering: Build a Video Studio Around Opus 5.5 · 版权归原作者所有,本页仅作翻译学习用途

核心论点:Opus 5.5 能做出一支视频,但「让下一支比这支更好」需要的不是一个提示词,而是一套围绕模型的工作室系统——把导演意图、视觉参考、节拍表、可 seek 的渲染器和帧级质检拆成独立环节,模型才能被真正导演。

所有人都在分享用 Claude Opus 5.5 做的视频。有些很出色,大多数看起来是同一支 demo:大字居中、背景一条渐变、所有东西淡入、logo 压轴出场。

拉开差距的不是什么秘密提示词,而是模型周围的系统。

Anthropic 于 9 月 22 日发布了 Opus 5.5。它的编码能力和视觉判断力让这套工作流变得可行,但模型只是其中一环:模型写程序,程序画帧,渲染器把帧编码成影片,评审循环决定它配不配被人看到。

一个提示词能产出一支片段;一个工作室能在不推翻自己的前提下,产出下一支。

Opus 实际上在做的是什么

你要一支视频,Opus 不需要把每一帧想象成独立的图片。它可以写一段代码,回答一个更有用的问题:在时刻 t,屏幕应该长什么样?

这段代码就是一个「帧函数」:

function renderFrame(t, spec, assets) { /* 画出影片在时刻 t 的精确状态 */ }

渲染器沿时间轴调用它,逐帧捕获,编码成视频文件。

这改变了修改的经济性:标题出现得太早,改一个时间值;图形过冲太远,改一条运动曲线;产品界面不对,换掉资产重渲。你不用求视频模型重新生成整个镜头、然后祈祷它还记得上一版长什么样。

代码生成的运动不是所有视觉问题的答案——照片级真实场景、复杂角色、有机运动,仍然可能需要实拍或生成视频。但对于产品片、UI 动效、数据叙事、字体动画、图解和发布说明片,一个可控的帧函数是实打实的优势。

工作室有五层

多数人给 Opus 一段描述、然后对着 MP4 评头论足——这跳过了决定成片的几乎每一层:

导演层 DIRECTOR这部片想说什么?
参考层 REFERENCE它应该是什么感觉、什么样子?
时间轴层 TIMELINE每个节拍上发生了什么变化?
渲染层 RENDERER每一帧是怎么被生产出来的?
评审层 CRITIC哪里失败了、精确位置、为什么?
模型层 MODEL写代码的那个引擎——只占五分之一
视频工作室五层架构图
原文插图:五层工作室架构——模型只是其中一层(图:rari)

模型能参与全部五层,但不能允许它把这五层坍缩成一个不受检查的步骤——那些千篇一律的产出就是这么来的:模型会用它所知最安全的视觉默认值,去填满你没做的决定。你的工作,就是趁它还没开始渲染,把这些「没做的决定」清零。

1. 写导演需求单,不是氛围提示词

「做个炸裂的产品视频」把所有重要选择都留了白。Claude Code 团队的 Thariq 曾经给「一句话出片」神话泼过冷水。真正该先回答的是:产品是什么?观众唯一该记住的是什么?允许哪些视觉参考影响作品?哪些元素必须来自真实产品?什么情况算不可接受?

在给渲染任务之前,先给 Opus 一份小小的制作文档:

FILM
一句话:[观众该记住的那个念头] · 受众:[给谁看] · 时长:[秒] · 画幅:[16:9 / 9:16 / 1:1]

ASSETS
真实 logo:[路径] · 真实 UI 截图:[路径] · 品牌字体与颜色:[token] · 音乐/音频参考:[路径]

VISUAL RULES
保留:[参考中的具体特质] · 避免:[具体视觉俗套] · 绝不发明产品界面或数据指标

DELIVERABLES
分镜表、帧检表(contact sheet)、成片、海报帧、源文件

注意这份文档干了什么:它把关于产品的事实和关于影片的选择分开。模型可以发明运镜,但它发明不出你的仪表盘;它可以提议更强的开场,但不能悄悄换掉你的 logo。这条边界,比一长串形容词重要得多。

2. 给它一个能检查的参考

你不提供视觉语法,模型就自带一套——这就是为什么互不相干的一句话短视频看起来都沾亲带故。给它一帧画面、一部短片、或一个过往作品的文件夹,然后让它把学到的东西写下来:

REFERENCE ANALYSIS
色板:[真实色值,不是「高级感」] · 字体:[字族、宽窄、字重、比例] · 构图:[视线先落哪里] · 节奏:[有意义的画面变化之间的平均时长] · 运动:[snap / 滑行 / 过冲 / 硬切 / 定格] · 质感:[颗粒、纸张、玻璃、无]

DO NOT COPY:主体、logo、文案、产品专属图像。产出物应该是一份风格指南,不是借来镜头的拼贴。

做产品片时,还要给 Opus 访问真实站点的权限,让它收集自己打算做动画的那些精确界面,并且在投产前审核这份资产清单。资产缺了,agent 应该停下来问,而不是画一个以假乱真的替代品。

3. 把故事变成状态与节拍

特效清单不是分镜。「先拉近、再变形、加粒子」描述的是活动,不是意义。更强的方案回答的是:每一刻观众知道了什么。

00–02s HOOK 钩子 赚到注意力的一张画面
02–05s PROBLEM 痛点 展示摩擦本身,不是一段讲摩擦的文字
05–09s REVEAL 揭示 产品通过一次真实交互登场
09–13s PROOF 证据 一块界面或一个数字证明主张
13–16s CLOSE 收束 干净的终态和可读的 CTA

每个节拍都要有入场状态、出场状态和存在的理由。做 UI 动效,先写状态清单再画转场:搜索 → 结果 → 详情 → 操作 → 确认。这样模型就能在已知状态之间设计连续性——一个组件可以在整部片里同时变化尺寸、颜色、内容、位置,却始终被认出是同一个东西。这比「让界面动起来」是好用得多的需求单。

分镜表也是一份契约:如果 agent 解释不了第四个镜头为什么存在,第四个镜头就不该出现在渲染里。
节拍与状态表示例
原文插图:节拍表——每个节拍写清入场状态、出场状态与存在的理由(图:rari)

4. 有意识地选择渲染器

Opus 可以在一个项目里用轻量 Canvas/SVG 写完一部小片——对自包含的小品这够用了。但要做一个可复刻的系列,视频框架能让场景结构、媒体摆放和导出更好维护:

没有谁自动更好,用能支撑你打算反复拍摄的那种片子的最小系统。唯一不可谈判的要求是可 seek:第 240 帧必须能直接渲染出来,而不需要回放 0–239 帧。这意味着:没有隐藏时钟、没有不设种子的随机、没有「浏览器跑满八秒才生效」的动画。

把每一帧当作确定性查询:frame = render(time, shot_list, assets, style_tokens, seed)。影片一旦这样工作,修改就变成局部的、可测试的。

5. 让运动有重量

基础运动沿固定曲线从 A 到 B;好的运动传递质量感、层级和意图:小控件可以 snap,大面板应该沉稳落定,镜头可以慢到保持方向感,标题可以快进然后停足够久让人读完。弹簧(spring)有用,因为它比通用 ease-in-out 更自然地描述这种行为——但别把所有东西都做成弹簧:如果一切都在过冲,就没有东西显得精确。给每一类物体写运动规则:

微型 UI快、几乎不过冲
面板受控的落定
镜头平滑、几乎隐形
标题强入场、稳停留

最重要的检查仍然是视觉的:每次运动之后,观众知道该看哪里吗?不知道的话,动画就是在和信息争夺注意力的装饰。

6. 把声音放进同一条时间轴

很多 AI 影片静音看像做完了,一开声音发现毫无关联:点击声落在按钮之后、剪切踩不到拍子、logo 比音乐解决音还早到。把声音当作时间轴输入,而不是最后一分钟甩进视频下的一个文件:

BEAT GRID 节拍格:0.00s 开场重音 · 0.50s 第一次状态变化 · 1.00s 产品揭示 · 1.50s 交互点击 · 2.00s 视觉兑现。有授权或原创音轨就测量它的节拍、踩着节拍剪;声音是合成的,就把每个 cue 对齐驱动画面的同一组时间戳。

测试很简单:闭上眼睛听这部片。没有画面它就没有形状,声音设计多半还没完成。

7. 导出之前先检查帧

这步最常被跳过,因为第一次渲染出来的东西「感觉像进展」。别一开始就把 60 秒成片看十遍——向渲染器要一张帧检表(contact sheet):每个大节拍抽一帧,最快的转场附近再抽一小条。找那些纯文本 agent 发现不了的问题:

然后把帧检表连同具体批评任务一起交回 Opus:不要描述你本来想做什么;只评判渲染出来的帧。找出三个最大缺陷,每个给出时间戳、证据和局部修法;只补那些段落,重渲受影响的帧。

这就是「agent 做了个视频」和「agent 执导了个视频」的区别——前者在文件存在时就停了,后者在证据表明影片成立时才停。
帧检表(contact sheet)评审示例
原文插图:帧检表——每个节拍抽一帧拼成一张图,专抓纯文本 agent 发现不了的问题(图:rari)

8. 变体从源文件导出,不是裁剪

16:9 发布片和 9:16 社交版是不同的构图。竖版可能需要更大的字、更少的同屏元素、不同的镜头路径、更紧的故事。不要做完一条漂亮的宽片然后让软件裁中间。保持同样的资产、时间轴、叙事状态,然后为每种画幅定义布局行为:

一个故事 → 16:9 更多空间语境 · 9:16 更少元素、更强纵向层级 · 1:1 更紧的字体与更短停留。每个变体都渲一张帧检表。导出的正确不是编码器跑完了,而是构图在格式变化后活了下来。

9. 打包工作室,不是聊天记录

如果一部片的唯一记录是一次对话,你拥有的不是生产系统,是一次侥幸的 session。把重要决定放进下一次运行能读的文件里:

motion-studio/
brief.md 一句话目标与产品事实 · style-guide.md 色板/字体/运动/禁用默认值 · shotlist.md 节拍、状态、时间戳、用途 · assets/ 过审的 logo、界面、素材、声音 · src/ 可 seek 的组合与运动代码 · reviews/ 帧检表与缺陷记录 · out/ 各画幅导出

下一支片就从真实的基础上开始:换掉产品需求单和资产,保留渲染契约、评审清单和交付结构。这也是阻止长 agent 运行漂移的办法——agent 可以检查自己的文件、从完成的关卡恢复、告诉你缺哪个工件。它不该因为最后一条命令跑成功就宣布影片做完了。

10. 给长运行设关卡,不是自由

Opus 的魅力是你可以丢给它一个大型创作任务然后走开。这只有当运行知道何时停、何时问、何时修的时候才有用:

GATE 1过审参考与产品资产
GATE 2过审风格指南与分镜表
GATE 3检查代表性静帧
GATE 4渲粗剪 + 帧检表
GATE 5修复影响最大的三个缺陷
GATE 6检查音频、画幅与最终交付

agent 可以在关卡之间连干数小时,但不该替你做不可逆的品牌决定。需求单说「用真实界面」,缺一张界面截图就是 blocker,不是幻觉一张的邀请;参考不清晰时,正确产出是一个问题或一小帧测试,不是 900 帧精美的错误。自主性在每一阶段都为下一阶段留下证据时才变得有用——循环需要一个目标、一次观察、一次有边界的修复、一个停止的方式。这和任何领域里可靠 agent 的教训是同一条。

我真正会给 Opus 的提示词

有用的提示词不是「做个爆款视频」,而是一份带评审关卡的生产契约:

你正在执导并工程化一部代码渲染的运动影片。

目标:为 [产品/受众] 做一部 [时长] 秒的影片,观众该记住:[一句话]。

输入:只用提供的产品资产与过审文案;检查参考文件并写出 style-guide.md;写带时间戳、入/出状态、用途的 shotlist.md。

构建:选择渲染器并说明理由;每帧可 seek、确定性;运动、音频 cue、转场同一条时间轴;保留可编辑源码和可复跑的渲染命令。

评审关卡:① 动工前先给风格指南与分镜表 ② 全量渲染前先给帧检表 ③ 给钩子、可读性、连续性、运动、声画同步打分 ④ 修掉三个最差缺陷并重渲该段 ⑤ 16:9 与 9:16 作为独立构图导出。

交付:成片、海报帧、帧检表、源码、资产清单,以及一段「哪些仍需人工复核」的说明。

这份提示词比病毒式的一句话长,但重点不在长度——它给模型的是一串决定、工件和停止条件。下次发布你可以复用整套系统,而不是从零开始求一次奇迹。

真正的转变

一句话出片令人印象深刻,因为第一个结果来得快;动态工程有价值,因为第十个结果可以比第一个更好。模型给你速度,需求单给你方向,渲染器给你控制,帧检表给你证据,循环把证据变成改进。

PROMPT → CLIP
BRIEF → SYSTEM → FILM → REVIEW → BETTER SYSTEM

这就是「生成一个 demo」和「运营一个工作室」的区别。