# spec 格式

spec 记录的是一条提示词背后的决策，与表达这些决策的方言分开存放。先写 spec，再编译。同一份 spec 换模型时不应该需要重写。

## 模板

```text
[① 全局]
  片型：      这是哪一类片子
  场景：      在哪里、什么时候
  风格：      视觉处理、配色、光的行为
  导演命题：  一句话——这条片子存在的那个念头
  运镜原则：  管住全片的规则，不是镜头清单

[② 锁]
  身份：      谁或什么必须保持不变，靠哪些不变量
  参考角色：  每份素材——控什么，以及不许从它拿什么
  音频源：    原生、外部音轨、还是静音
  配角调度：  位置，以及不许做什么
  连续性：    整条片子必须成立的东西
  负向：      只写具体风险

[③ 时序]
  粒度：      不写 | 分段 | 秒级   （写下面的内容之前先定）
  第 1..n 段：每段一个主要变化
  每段末态：  这一段结束时什么是可见的
```

用不到的字段直接不写。**空着比凑字数好**——每多一行都在跟别的行抢注意力。

## 字段说明

### 导演命题（桶①）

一句话。要写两句说明这是两条片子。命题是「只能留一行时你会留的那行」，也是锁与锁冲突时的裁决依据。

弱的命题读起来像类型标签（`一条电影感的产品片`）。有效的命题点出那个具体的念头（`墨不发光、它靠吸，所以房间必须亮到能让黑读出来`）。

### 参考素材角色（桶②）

永远两半。控什么，以及不许从它漏什么：

```text
@image1 控陶艺师的脸、发型和绿色围裙。不要用它的背景。
@video1 控拉坯动作的节奏。不要用视频里人的身份、衣服或场景。
```

**每个主体单独命名、单独绑定。** 绝不要写「@image1 到 @image4 分别定义四个角色」——那等于什么映射都没说。

几张图拍同一个物体的不同角度时，要明说，并写明输出数量：`四张图定义的是同一盏灯。全片只出现一盏灯。`

### 负向（桶②）

写具体风险，不是常备黑名单。一条负向值得留，当它命名的是**这条片子真的可能产出、而且重做很贵**的东西。抄别人的负向清单，是提示词变长却没变好的主要原因。

负向也是模型相关的，见 [portability.zh-CN.md](portability.zh-CN.md)。

### 末态（桶③）

整份 spec 里杠杆最大的字段。见 [verifiability.zh-CN.md](verifiability.zh-CN.md)。

## 两条书写约定

这两条管的是文字放在哪，不是写什么。

**把两三条最贵的锁在物理结尾复述一次。** 近因效应有用。这不是第四个桶——内容仍属桶①②，并且先在那里出现过。复述两三条，不是整张清单。

**当由模型替你写 spec 时，明写输出顺序。** 不指定顺序，桶与桶会串味：全局规则跑进第 3 拍，锁被当成事件重述。把段落名称和顺序写进指令里。

## 填写示例（节选）

```text
[① 全局]
  片型：     实拍 × 手绘 VFX，15s
  场景：     明亮的书房，白天，窗光从左侧进来
  风格：     实拍画面加一种在表面蔓延的第二媒介
  导演命题： 墨不发光、它靠吸，所以房间必须亮到能让黑读出来
  运镜原则： 固定机位，仅在最后一次异变处缓推一次

[② 锁]
  身份：     只有一双手；脸不入画
  参考角色： @image1 控彩墨的配色与笔触质感。不要用它的构图或主体位置。
  音频源：   原生——纸的摩擦、笔尖接触、房间声
  连续性：   第二媒介始终保持平面与图形化，绝不变成写实生物
  负向：     不许墙上流挂、不许像血迹、画中山与画中人不许尺度冲突

[③ 时序]
  粒度：     分段（多事件、无外部硬拍点）
  第 1 段：  笔尖触纸，一个点散开
             末态：空白纸面上一个湿的黑点
  第 2 段：  点变成线，线变成鱼
             末态：一条橙红的鱼占据纸面中央，仍然平面、仍然图形化
  第 3 段：  画出来的形体越过纸面蔓延到墙上
             末态：整面墙是连续的青绿山水；右下角一枚朱红印章
```

注意里面**没有**什么：没有每镜时长、没有逐段的运镜词汇、没有形容词堆。命题承载观感，末态承载结构。

## 常见失败

| 症状 | 成因 | 修法 |
|---|---|---|
| 风格前面守住、后面漂了 | 全局规则被写进了第 1 段里 | 移到桶① |
| 模型造出多余的停顿 | 对连续动作用了秒级粒度 | 降到分段或不写时序 |
| 参考素材的背景漏进来 | 角色只写了一半 | 补上「不许拿什么」那半 |
| 两个主体融合或互换 | 按组绑定而非逐个绑定 | 一个主体一行绑定 |
| 提示词很长、结果很弱 | 用形容词堆替代了导演命题 | 把那一句话写出来 |
| 片子结束时没有收束 | 最后一段没写末态 | 写明收尾的可见状态 |

## 关联

- [verifiability.zh-CN.md](verifiability.zh-CN.md) — 每个字段怎么写才检查得了
- [portability.zh-CN.md](portability.zh-CN.md) — 哪些字段能跨模型存活
- [film-type-dna.zh-CN.md](film-type-dna.zh-CN.md) — 复用已跑通的 spec，不必从头写
