← Files Atlas CloudARCHIVED FILE
skills/universal-video-prompt-skill/references/verifiability.zh-CN.md
12.2 KB · Sep 30, 2026 · 23:11 UTC
# 可验证性
底层只有一条规则:**在成片上检查不了的指令,出问题时也调不了。** 把意图改写成可观察的结果。
这不是要你写得更啰嗦。可观察的写法通常**比它替换掉的形容词堆更短**,因为它承诺了一种读法,而不是在几种之间含糊。
## 末态
全套方法里杠杆最大的一条。不要要求「保持一致」,直接写这一段结束时**可见的**状态。
```text
弱: 两个人继续弄那束花
强: 末态:花艺师左手持花束;剪刀回到工作台右侧
```
末态必须**看得见**。「她感到释然」不是末态;「她的肩膀落下、皱起的眉松开」是。
### 同一件事的三种形态
末态不只是文字手法,每种输入模态都有它的对应形式,而且可以组合:
| 形态 | 载体 | 什么时候用 |
|---|---|---|
| 分段末态 | 文字 | 默认。多事件片子 |
| 关键帧序列 | 图像——每张图**就是**某一段的末态 | 你能画出或生成这些阶段 |
| 边界帧 | 视频——源片与延长段的接缝 | 延长或续写已有素材 |
关键帧序列要**明写顺序**,每张图一个角色:
```text
按顺序使用 @image1 到 @image4 作为关键帧。
@image1 是首帧:<开场构图与主体状态>。
@image2 是第二个关键帧:<第一段的可见末态>。
@image3 是第三个关键帧:<第二段的可见末态>。
@image4 是尾帧:<收束构图与主体状态>。
视频按顺序经过这些状态,各段之间用连续动作过渡。
```
分开的图比几段拼进一张网格更容易对齐。关键帧控的是**阶段顺序与关键状态**,不是逐帧复刻。
### 延长的边界要写在正确的一侧
**向前延长**(接在源片之后):先写源片**尾帧**的延续状态,再写接下来发生什么。
**向后延长**(接在源片之前):先写新内容,再把源片的**首帧写成你正在生成这一段的明确末态**。只写「然后接上源视频」是已知的翻车写法——它会让后段才出现的角色和效果提前露面,或者画面到达目标状态之后继续变。
还要写明什么**不许提前出现**:`属于源片开始之后的素材,不得在向后延长段中提前出现`。
## 情绪要落到可观察线索
情绪词只给方向,表演层面是敞开的。把它钉住:
```text
弱: 她不愿意让他走
强: 她的视线从他脸上移开,落到他身旁的空处;眼睑垂下;
嘴角短暂上扬又落回;胸口起伏一次,被压住
```
**一次情绪转折,2–4 个线索就够。** 把每个面部细节都列出来不会增加控制力,线索之间会互相打架。可选:视线方向与移动、眉的张力、嘴部动作、呼吸、喉部、手、体态。
多次转折时,用**事件**触发而不是时间点:
```text
当<第一个事件>发生,<第一个可观察反应>。
当<第二个事件>发生,<视线、呼吸或表情的变化>。
在确认<关键信息>之后,<主体>一直压着的情绪通过<可观察行为>显露出来。
```
事件触发比时间触发更能跨模型存活,因为它不依赖时序遵循度。
## 挑那条真正承载概念的属性
让一行字变得可检查是必要的,但不够。**一条锁可以被完全满足、同时完全失效。**
实例。一条手绘 VFX 片子需要它的手绘层保持手绘感,于是锁写成:
```text
手绘形体保持平面图形,绝不渲染成写实生物
```
可检查、毫不含糊,而且**两个不同的模型都严格照做了**——给出的是光滑的矢量霓虹描边加均匀填充。平面?是的。手绘?完全不是。锁测的是**平面性**,但真正让这个概念成立的属性是**看得见工具痕迹**。改成命名工具就对了:
```text
蜡笔、粉笔、彩铅、粗笔刷;看得见排线方向、涂色不均、毛边
```
信任一条锁之前先问:**模型能不能满足这句话、同时把我要的东西丢掉?** 能,那这条锁瞄的是副作用而不是成因。
这类失败有明显特征:**输出逐条对得上 spec,但懂参考的人一眼就知道不对。** 遇到这种别加更多锁,去找那条真正承载概念的属性,用具体的词命名它。
## 写明机制,不只写效果
一个主观效果通常有不止一条物理实现路径。只写效果,模型会自己挑一条——往往不是你要的那条。
实例。末段需要一张巨大的手绘嘴显出压迫感。两个版本:
```text
A:张开的上下颚横跨整片天顶
B:头颅在大厅正中浮现,正面朝向摄影机,上下颚大张,獠牙从画面上下两侧逼近
```
B 听起来更凶,结果**更差**:手绘的嘴变成了写实立体头骨。删掉 `横跨整片天顶` 等于删掉画面里唯一的**尺度参照**,模型只能改走另一条通向压迫感的路——**体积**,而体积需要实体感,于是把整条片子依赖的平面手绘锁撞碎了。
同一个效果,两种机制:
| 想要的效果 | 机制 A | 机制 B |
|---|---|---|
| 压迫感 | **尺度**:占满画面/横跨某个已知结构 | **体积**:立体、朝你逼近 |
| 宏大 | 主体小 vs 已知参照物 | 广角、高机位 |
| 亲密 | 紧构图 | 浅景深、柔光 |
| 速度 | 运动模糊、物体掠过画面 | 镜头晃动、剪辑节奏 |
写效果词之前问:**这个效果有几种实现方式?** 超过一种、且其中一种会跟别处的锁冲突,就必须写明用哪一种。
**⚠️ 机制依赖的参照结构必须真的存在于场景里。** 同一句 `横跨整片天顶`,在模型给了圆形穹顶的场景里生效,在给了方形吊顶的场景里落空——它会自动切到次优路径。锚点要么写进全局场景设定,要么别指望它。
这类失败的特征很特别:**一条锁悄悄取消了另一条锁。** 片子满足了效果、违反了别处的约束,而那两行字面上毫无关系——尺度与体积那次,末段一句话的改写破掉了三段之后才写的质感规则。
## 用画面写,规格定义作保险
上面三节共有一个底层原因,值得直接说,因为它决定每一行字怎么措辞。
**模型的训练数据是被描述的画面,不是被规定的需求。** 读起来像镜头描述的句子能落地;读起来像规格书的句子,模型得先把它翻译成画面,而翻译过程就是出错的地方。
| 写成画面——能落地 | 写成规格——需要翻译 |
|---|---|
| `蜡笔、彩铅,看得见排线方向、毛边` | `保持平面图形质感` |
| `穹顶被画成一只巨大的手绘恐龙头颅轮廓` | `贴在穹顶上的平面图形,不是有体积的立体头骨` |
| `白色三角獠牙沿着穹顶边缘一排排展开` | `宽度横跨整片天顶,几乎和穹顶一样大` |
| `她的视线移开,落到他身旁的空处` | `传达出不情愿` |
左栏承载的是同一份信息,只是被装在**一个被描述的画面里**,模型直接读得懂。
### 但规格定义没有被禁止——它是保险
别把上面读成「永远不要写定义」。那个末段最强的版本**两者都用了**:
```text
穹顶被画成一只巨大的手绘恐龙头颅轮廓,张开的上下颚横跨整片天顶,白色三角獠牙
沿着穹顶边缘一排排展开。……嘴的线条保持蜡笔的毛边和逐帧抖动,始终是贴在穹顶上
画出来的平面图形,不是一个有体积的立体头骨。
```
画面把镜头立起来,规格定义钉住那条绝不能滑的属性。三种写法实测过:
| 写法 | 结果 |
|---|---|
| 只有规格定义,没有画面锚点 | 写实立体头骨——失败 |
| 规格定义为主,画面锚点缺失 | 对了,但话很长 |
| **画面先行,规格定义追加** | **所有版本里最好的质感** |
所以这是**优先顺序,不是排除**:**默认描述画面;当某个效果必须保住、且单靠描述可能被误读时,追加一句显式定义。**
### 一行字该不该留,只有一条判据
**这句话是加了一个新约束,还是在陈述已有约束的推论?** 只有后者是噪音。
```text
留: 骨架缝隙之间钻出好几只白色的小手绘恐龙
删: ……衬得大骨架格外巨大
```
尺度对比是「小生物在大骨架上」的必然结果,写出来只增加长度、不增加约束。实测:删掉之后毫无变化——那几只小恐龙照样分布在肋骨、脚爪、地面。
**这就是为什么「越短越好」是错的总结。** 同一条片子里有三处恰恰是**因为写长了才成立**:按工具命名的媒介、救回某个模型质感的逐段复述、明写的「开放式展台、没有玻璃罩」。**噪音不是长度,噪音是重述。**
### 什么该留给模型
| 你自己定 | 留给模型 |
|---|---|
| 媒介、配色、尺度锚点、主体姿态、每段发生什么 | 宿主结构长什么形状、次要元素具体落在哪、在既定意图内怎么构图 |
指定实现细节会压掉让模型变好的先验。把化石展板写成「竖立的长方形」,效果**不如**不写形状——模型自己读成拱门形壁龛,跟建筑结构呼应得更好。跟「喂故事板网格不如纯文字 staging」是同一个机制:**交出「要什么」,别交「怎么做」。**
## 手艺术语:保留术语,追加描述
任何识别度不确定的术语——冷僻词、行业用法不统一的词、以电影/导演/平台风潮命名的词——都写两遍:
```text
<术语> + <目标主体> + <可见变化> + <前后景关系> + <方向或速度>
```
```text
rack focus:焦点从前景的叶片移到它身后的人。叶片转虚,人脸由虚转实。
bullet time:冻结球棒击中球的瞬间;镜头顺时针绕接触点环绕,碎屑悬在空中。
```
认识术语的模型走捷径,不认识的走描述。一份提示词通吃,这也是它优于维护逐模型词表的原因。
**通常可以不加限定的**:景别、基础运镜(推、拉、摇、跟、环绕、手持)、基础机位(低角度、俯拍、第一人称)。
**通常需要加描述的**:dolly zoom、bullet time、speed ramp、bounce ramp、rack focus、whip-pan 转场、match cut。
光圈、焦段、快门值可以写,但**说明想要的可见结果通常比单给数值更可控**。
## 参考素材:永远写两半
一条素材角色说明,不写"不许拿什么"就是不完整的:
```text
@image1 控角色的脸、发型和外套。不要用它的背景或构图。
@video1 控运动路径、走位和切点。不要用它的外观、材质或场景。
@audio1 控旁白的音色。不要继承它的房间声。
```
当参考视频已经准确定义了运动,**只写要继承哪些属性**。在文字里把同一段运动再描述一遍,会跟参考素材打架。
## 反模式
| 别写 | 为什么失败 | 改写成 |
|---|---|---|
| `保持一致` | 没有可检查的东西 | 可见的末态 |
| `电影感`、`高质量`、`杰作` | 没有视觉承诺 | 具体的光、配色、质感 |
| `她看起来很难过` | 表演没有约束 | 2–4 个可观察线索 |
| `@image1 到 @image4 分别定义四个角色` | 等于没说映射 | 一个主体一行绑定 |
| `做出史诗感` | 无法falsify | 尺度线索:画面里有什么,主体在它旁边有多小 |
| `完美唇形同步` | 不是指令 | 提供音频,写明说话人 |
| `不要坏手、不要伪影、不要模糊……` | 抄来的黑名单,跟这条片子无关 | 这条片子真正有的两三个风险 |
| `一秒内完成三个动作` | 不可能的节奏要求 | 每个动作各占一段 |
## 该诚实说明的限制
可验证的写法提高命中概率,但不会让生成变成确定性的。
- 时间戳分配的是**时间预算**,**不是**帧精确的剪辑点,动作可能落在边界前后
- 边界帧在视觉上衔接,不是逐像素的剪辑拼接
- 多素材创作是为每个时刻**选对素材并组合**,不是让每份素材同时出现
- 必须完全准确的内容——字幕、公式、招牌、产品规格、帧级时序——应当来自准备好的素材加后期,而不是提示词文字
## 关联
- [spec-format.zh-CN.md](spec-format.zh-CN.md) — 每一行该放在哪个桶
- [portability.zh-CN.md](portability.zh-CN.md) — 哪些写法能跨模型存活
- [checklist.zh-CN.md](checklist.zh-CN.md) — 提交前检查
SHA-256: 88d31ca2eb18e537b6c1eec5a0a42d9a7366664765a866eddfc4da6c61094f96