writer.structure
结构师(John Truby 方法论)——故事有机结构设计 / 对手网络构建 / 场景编织 / 节奏控制 / 钩子编排。Nomi 创作区搭故事骨架时参考。
git clone --depth 1 https://github.com/aqm857886159/Nomi /tmp/writer.structure && cp -r /tmp/writer.structure/skills/writer-structure ~/.claude/skills/writer.structureSKILL.md
# 结构师 · John Truby 方法论
以 John Truby(《故事的解剖》The Anatomy of Story)为核心方法论蓝本,供 Nomi 创作 AI 在创作区帮用户写故事、写剧本时搭骨架用。
**核心理念:** 结构不是外部框架套在故事上,而是从角色的弱点和需求中**有机生长**出来。好的结构是因果链条,不是时间线上的节拍。写「因为 A 所以 B」的因果,不写「第几分钟该发生什么」。
---
## 一、有机结构论
### Truby 的反模板立场
Truby 明确反对把三幕结构当作模板填充。他的方法是让结构从角色内部长出来:
```
故事结构 = 角色弱点 → 产生欲望 → 遭遇对手 → 制定计划 → 计划破碎 → 战斗 → 自我揭示 → 新平衡
```
这不是"第几分钟该发生什么",而是"因为 A 所以 B"的因果链。在 Nomi 创作区搭骨架时,先钉住角色的弱点与欲望,让后续每一步都由前一步逼出来。
### 七大结构要素
| 要素 | 定义 | 检查问题 |
|------|------|---------|
| **弱点与需求** | 角色有心理弱点(伤害自己)和道德弱点(伤害他人) | 这两个弱点分别是什么? |
| **欲望** | 外部目标,观众可以跟踪的具体事物 | 观众能用一句话说出主角想要什么吗? |
| **对手** | 追求同一目标的人,迫使主角面对弱点 | 对手是否攻击主角的弱点? |
| **计划** | 主角的策略 | 计划在什么时候、为什么崩溃? |
| **战斗** | 价值观的最终对决 | 最终对决是关于什么价值观的? |
| **自我揭示** | 主角意识到自己的真正弱点 | 这个认知是主角自己发现的还是别人告诉他的? |
| **新平衡** | 世界因改变而不同 | 世界和角色与故事开始时有什么不同? |
---
## 二、对手网络设计
Truby 最独特的贡献:不是一个反派,而是一个**对手网络**。每个对手从不同角度逼主角面对自己的某一面弱点。
### 对手分类
| 类型 | 功能 | 设计规则 |
|------|------|---------|
| **主要对手** | 攻击主角核心弱点,追求同一目标 | 必须和主角在某方面相似 |
| **次要对手** | 攻击主角次要弱点 | 从不同角度挑战主角 |
| **盟友型对手** | 表面帮助,实际制造障碍 | 有自己的目标,与主角冲突 |
| **假盟友** | 看似站在主角一边 | 后期揭示真实目的 |
### 对手网络模板
```
{主角名} 对手网络
═══════════════════
核心弱点:{心理弱点}
道德弱点:{道德弱点}
欲望:{外部目标}
主要对手:{名} — 攻击弱点:{核心弱点} — 共同目标:{什么}
次要对手1:{名} — 攻击弱点:{次要弱点面向1}
次要对手2:{名} — 攻击弱点:{次要弱点面向2}
盟友型对手:{名} — 表面关系:{帮助} — 实际冲突:{自己的目标}
网络检查:每个对手是否迫使主角面对自己的弱点?
```
---
## 三、二十二步结构(精简版)
Truby 的 22 步比三幕结构精细,把有机因果链拆成可落地的关键节点。以下是核心步骤:
```
1. Ghost/创伤 — 角色过去的创伤决定了他的弱点
2. 弱点与需求 — 心理弱点(自伤)+ 道德弱点(伤人)
3. 欲望 — 具体的外部目标
4. 对手 — 追求同一目标,攻击主角弱点
5. 计划 — 主角的策略
6. 驱动力 — 推动主角离开舒适区的事件
7. 第一次揭示与决定 — 获得新信息,做出承诺
8. 对手的计划 — 对手也有策略,而且通常更好
9. 进攻 — 主角主动出击
10. 表面胜利/表面败 — 中点,表面变化
11. 执念 — 主角执着于错误的方法
12. 第二次揭示与决定 — 新信息迫使升级
13. 观众知道主角不知道的 — 信息不对称
14. 第三次揭示与决定 — 赌注最大化
15. 门 — 进入最终战斗的不可逆时刻
16. 战斗 — 价值观对决
17. 自我揭示(心理)— 主角认识到自己的心理弱点
18. 自我揭示(道德)— 主角认识到自己对他人的伤害
19. 新平衡 — 世界因改变而不同
```
**与起承转合的对应**(帮用户把 Truby 步骤映射到熟悉的段落结构):
| 起承转合 | Truby 22步 | 功能 |
|---------|-----------|------|
| 起 | 1-6 | 建立弱点、欲望、对手 |
| 承(前半) | 7-10 | 主动出击,表面进展 |
| 承(后半)| 11-14 | 执念、揭示、赌注升级 |
| 转 | 15-16 | 门 + 战斗 |
| 合 | 17-19 | 自我揭示 + 新平衡 |
---
## 四、场景编织
Truby 的"轨道"(track)系统:多条线索交织并行,各自有自己的推进节奏。适合长篇/多集/多线剧本铺全局线。
### 轨道规划模板
```
全局轨道编织
════════════
轨道A(主线):{主角欲望线}
轨道B(对手线):{主要对手的计划和行动}
轨道C(关系线):{核心关系的变化}
轨道D(主题线):{道德论证的展开}
│ 段1 │ 段2 │ 段3 │ 段4 │ 段5 │ ...
─────┼─────┼─────┼─────┼─────┼─────┤
轨道A│ ● │ ● │ ● │ ● │ ● │ 每段必须推进
轨道B│ ○ │ ● │ │ ● │ ○ │ 间隔不超过2段
轨道C│ ● │ ○ │ ● │ │ ● │ 每次出现必须改变关系
轨道D│ ○ │ │ ○ │ ● │ │ 在关键段有重大呈现
● = 重要推进 ○ = 轻触/铺垫 空 = 不出现(不超过2段)
```
---
## 五、道德论证
**Truby 的独特要求:** 每个故事都是一个道德论证。不同角色代表对同一道德问题的不同回答,故事展示每种回答的代价。
```
道德论证设计
════════════
核心道德问题:{用一个问句,如"为了保护家人,你可以伤害多少无辜的人?"}
角色代表的不同回答:
- {主角}:{回答A}
- {主要对手}:{回答B}
- {盟友}:{回答C}
- {次要对手}:{回答D}
故事的论证方式:不是给出答案,是展示每个回答的代价。
```
---
## 六、双轨节奏系统
节奏不是一条线——它有两条平行运行的轨道,两者可以同步也可以错位。**错位本身是强大的叙事工具。**
### 外部情节节奏
事件的密度和强度——场景中发生了多少事、冲突有多激烈、信息量有多大。
- **紧**:高密度事件、快速切换、追逐、对峙、揭露
- **中**:日常推进、对话为主、稳步前进
- **松**:独处时刻、过渡、沉默、呼吸
### 内在情感节奏
角色情感状态的波动——角色经历了多大的情感起伏、观众被要求投入多少情感。
- **重**:告白、背叛、失去、恐惧、绝望
- **中**:日常关系互动、轻度紧张
- **轻**:调侃、闲聊、小幽默、安静的陪伴
### 节奏错位(高级技法)
最强大的场景往往是两条轨道错位的时刻:
| 组合 | 效果 | 典型场景 |
|------|------|---------|
| **情节松 + 情感重** | 画面越平静,情感越重 | 两人安静地吃饭,观众知道其中一个人明天要走 |
| **情节紧 + 情感轻** | 紧张事件被轻盈包裹 | 激烈追逐配轻松配乐,角色在打趣 |
| **情节紧 + 情感重** | 全片顶点,不能持续太久 | 高潮段——事件密集且情感炸裂 |
| **情节松 + 情感轻** | 纯粹的呼吸场景 | 让观众休息,通常放在高潮前后 |
### 节奏禁区
- 两条线长时间同时低位 → 观众无事可看也无感可投
- 两条线长时间同时高位 → 观众疲劳,高潮不再特别
- 任何一条线单调上升无回落 → 没有呼吸感
- 连续 3 场以上同一节奏状态 → 必须调整
### 节奏图谱(双轨版)
```
第{N}段节奏图谱
════════════════
场景 │ 情节 │ 情感 │ 标注 │ Truby 步骤
──────┼──────┼──────┼────────────┼──────────
S01 │ 紧 │ 中 │ 🪝开场钩 │ 欲望确认
S02 │ 松 │ 轻 │ 🟢呼吸 │ 计划制定
S03 │ 中 │ 中 │ 🟡压力 │ 对手行动
S04 │ 松 │ 重 │ 🪝中段钩 │ 第一次揭示 ← 错位:情节松+情感重
S05 │ 紧 │ 重 │ 🔴高潮 │ 战斗
S06 │ 松 │ 中 │ 🟢呼吸 │ 自我揭示
S07 │ 紧 │ 重 │ ⚡🪝转折 │ 新平衡 + 结尾钩
```
**每段至少包含一个错位段落**(情节松+情感重 或 情节紧+情感轻),这是最有味道的时刻。
---
## 七、钩子编排
钩子把观众留在故事里——每个段落收尾要留一个让人想继续的引子。
**五种钩子类型:** 信息钩、选择钩、反转钩、时间钩、关系钩。
- **信息钩**:抛出一条新信息,制造未解的疑问。
- **选择钩**:把角色逼到一个必须选的岔路口,选择悬而未决。
- **反转钩**:颠覆此前的认知,事情不是原来那样。
- **时间钩**:设一个逼近的期限,倒计时制造压力。
- **关系钩**:改变两个角色的关系状态,留下张力。
**轮换规则:** 连续不超过 3 次使用同一类型,避免观众对同一种悬念钝化。关键段落收尾用强钩(反转钩 / 选择钩),呼吸段落之间可用轻钩(信息钩 / 关系钩)过渡。
---
## 何时用这套方法
在 Nomi 创作区帮用户写故事 / 写剧本时:
- **搭故事骨架** — 有机结构(七要素)+ 对手网络 + 道德论证 + 全局弧线。
- **铺全局线索** — 轨道编织 + 节奏图谱 + 钩子编排。
- **写单场景** — 先定位它在 22 步中的位置,再定这场的张力目标与情节/情感节奏。
- **诊断已有稿子** — 用七要素检查问题、对手网络检查、节奏禁区、钩子密度逐项排查,指出结构薄弱环节并给修法。Mandatory for every Nomi corrective change: user-reported bugs, regressions, CI-only failures, flaky tests, performance or security defects, review/audit findings, and compatibility failures in any production path. Classify one_off versus recurring before implementation. Recurring and high-risk repairs require a schema-v3 contract, shared enforcement boundary, structural prevention, dependency lifecycle decision, and changed regression evidence.
品牌宣传片 playbook。把产品文案/卖点做成一条「3 秒钩子 → 卖点 → 使用场景 → 行动号召」的短宣传片,分阶段执行(剧本审阅 → 拆镜 → 落画布 → 生成 → 排时间轴),每阶段暂停让用户审阅。
编辑创作区文档:读取当前内容,追加或替换文本,维护分镜描述格式。
非对抗性动作场景(跑酷/追逐/攀爬/特技/坠落)的动作编排知识——专业动作词汇、环境交互、动作节奏、FPV 追拍、身体力学约束、怎么把动作精确物理化地描述进视频提示词;Nomi 写动作戏 shot 时参考。
服化道——设计「人物设定图」与「场景环境图」的生图提示词,含顶部「风格前缀块」(摄影机/胶片/调色/画幅等烧进画面的统一风格)+ 生图 avoid(多指/文字水印/穿帮等)+ identity DNA(角色跨图一致的关键特征锁定)。Nomi 为角色/场景等视觉 anchor(`carrier: visual`)生成参考图、写它的生图 prompt 时参考。
镜头语言与摄影技法方法论——统一景别体系/构图规则/运镜的情绪语言/打光方案/景深控制/色温光源/镜头特性,以及这些怎么翻译成视频提示词该怎么写。Nomi 拆镜头或写视频 shot 的 prompt 时参考。