Hao0321/ai-short-drama · 第 2 次运行
写了一份全剧骨架,3,000 字(去掉空白计)。
- skill
- Hao0321/ai-short-drama@a1a00d39
- 装进工作目录的 skill
ai-short-drama- 时间
- 2026-10-31 08:24–08:30(北京时间),6 分钟
- 轮数
- 4 轮,工具调用 17 次,按 API 价格折算 $4.44
- 匿名编号
- 491(评审只看到这个编号)
- 盲比
- 和另外 20 个参赛者的第 2 次运行各比一场:对照组(不装 skill) · eternityspring/shuohao-skills · zenstory-ai/drama-skills · lixiaoxiao9888-create/manju-laoli-skill · jtydhr88/screenwriting-skills · Shanyin-ai/shanyin-screenwriting-master · lixiaoxiao9888-create/short-drama-factory · adoria111/emma-screenwriting-skills · zhu5859243-free/hongguo-shortdrama-screenwriting · catyiqian/qianqianwriting · zenstory-ai/oh-story-claudecode · lingfengQAQ/webnovel-writer · 0xsline/short-drama · Tomsawyerhu/Chinese-WebNovel-Skill · xindoo/sumeru · LanyXiaosheng/bookflow-skill · dama-cyber/Distilled-Novel-Toolbox · tance-mang/chinese-webnovel-skills · xiaofeng-928/chinese-longnovel-skill · qingyabailu-git/webfiction-write
- 原始文件
- 产出和问答记录 · 原始日志
写出的文件
标了标签的是认定为全剧骨架、拿去匿名打包的文件(deliverables.toml)。
验尸官的婚礼_全剧骨架.md 全剧骨架 3,435 字
# 《验尸官的婚礼》全剧骨架 > 60 集×1–2 分钟|竖屏|AI 仿真人。分集大纲与剧本不得与本骨架冲突。 ## 一、核心契约 - **观众承诺**:每集林晚亮出一样看得见的证据,打沈家一次脸;每赢一次,离凶手近一步,也离她自己的签名近一步。 - **季问题**:三年前是谁杀了沈峥?林晚敢不敢推翻自己签的报告? - **为什么不能一次掀牌**:尸体三天内已火化;“意外”结论上签的是她自己的名字,真相一揭,第一个被追责的是她。 - **新鲜变量**:复仇者手里也握着一份假报告。证据越完整,她越接近自首。 ## 二、逻辑护栏(已定稿,写作不得违背) 1. 三年前尸体泡海、面部损毁,“沈峥”又在国外“养病”、还给她发过消息;虎口疤不罕见,她当时没起疑。 2. 程野回国后借病疏远她,一年后退婚。“晦气”只是借口,真正的原因是宋婉仪怕法医看穿替身。 3. 宋家知道那道疤,让程野公开场合戴手套;交换戒指必须摘手套,破绽由此出现。 4. 那块旧表是沈峥订婚时送她的。婚礼上“新郎”看见它毫无反应,这是第二个破绽。 5. 尸体手里攥着一枚船锚袖扣,被周启年私藏,用来牵制宋知远;宋知远现在那对袖扣有一枚是新配的。 ## 三、证据引擎(每集必守) 1. 每集至少一样**能拍特写**的证据(疤、伤、切片、文书、签名、录音、物件),不能只靠台词。 2. 证据走三步:出示 → 沈家毁证或抹黑 → 林晚用专业换路拿回或反证;同一种毁证手段不连用两次。 3. 每次胜利推进 A 线“谁杀了沈峥”或 B 线“我签的报告”,每 5 集两线都要动。 4. 每个小弧收尾,至少一件证据存进终审证据链,被毁的不算。 5. 林晚只凭证据说话,不靠直觉,不靠别人救场。 ## 四、终审证据链(第 60 集庭审全部到位) | # | 证据 | 首现 | 入链 | 证明 | |---|---|---:|---:|---| | 1 | 无名男尸虎口疤的私存照片 | 1 | 6 | 尸体有疤,新郎没有 | | 2 | 林晚私留的备份组织切片 | 3 | 18 | 与沈砚 DNA 比对:死者是沈峥 | | 3 | 她最初写“他杀”的手写初稿 | 9 | 33 | 原结论被篡改 | | 4 | 后脑凹陷伤的形状测量 | 13 | 44 | 凶器是扳手,凶手比沈砚高 | | 5 | 周启年承认受贿的录音 | 31 | 35 | 改结论是受人指使 | | 6 | 尸体手中那枚船锚袖扣 | 20(回忆) | 50 | 指向宋知远 | | 7 | 沈氏港口洗钱账目 | 38 | 55 | 杀人动机 | | 8 | 程野的证词与整容记录 | 4 | 58 | 替身由谁安排、为什么 | ## 五、五段结构 **第一段 · 婚礼(1–12)**|对手:苏曼丽与沈家亲戚|R0–R1 - 1–3 Pilot:第 1 集,她被当众嘲笑是“晦气前任”;新郎摘手套交换戒指,虎口没有疤,她想起三年前解剖台上那道疤。第 2 集,她用一个法医细节当场反击苏曼丽,随后被赶出婚礼。第 3 集,答谢宴上苏曼丽塞给她求救房卡:踩她的人,在向她求救。 - 4–8:房里见程野耳后整容疤,替身确认。档案照片已被抽走,她用私存照片入链。沈砚登场,不信她。 - 9–12:中心档案“失火”;沈家买通媒体称她“嫉妒成疯的前任”,周启年借机停她的职。关门:替身确认;开门:死者是谁? **第二段 · 死者是谁(13–30)**|对手:宋婉仪+周启年|R2–R3 - 13–18:停职后在体制外查。沈砚由疑转帮,DNA 确认死者是沈峥,沈砚崩溃。 - 19–24:查程野身份:赌债、整容、被控制的妹妹。宋婉仪用钱和舆论围剿她,并派人销毁切片。 - 25–30:沈峥三十岁的股权交接会定为倒计时。中点(30):林晚当众让“新郎”摘下手套,替身曝光。爽债 D1 回收:当年退婚的根本不是沈峥。**错胜**:舆论认定宋婉仪害死儿子、找替身骗股权,宋知远“大义灭亲”,接管沈氏。集尾,他和林晚握手,袖扣一新一旧。 **第三段 · 凶手会学习(31–45)**|对手:周启年→宋知远|R4 - 31–35:林晚主动设局,录下周启年承认受贿,金表当众被扒。周启年反咬:录音同样证明她签了字。她被立案调查,B 线第一次见血。 - 36–42:宋知远抢先伪造证据,把凶手指向那晚醉酒的沈砚;苏曼丽为家族生意反水,作证沈砚当晚和哥哥吵过架。沈砚被抓,林晚失去内应。 - 43–45:她用伤口测量证明凶器是扳手、凶手比沈砚高,沈砚获释。宋知远第一次被怀疑。 **第四段 · 游艇夜(46–55)**|对手:宋知远|R5 - 46–49:程野想起当年找他整容的是宋知远,成了下一个“意外”目标;林晚救下他,换来出庭作证的承诺。 - 50–52:周启年在看守所遇险,交出藏了三年的袖扣;宋婉仪得知杀子的是亲弟弟,倒戈。 - 53–55:苏曼丽发现宋知远要让苏家顶洗钱的罪,交出港口账目,D5 回收。 **第五段 · 她的签名(56–60)** - 56:宋知远提出交易:抹掉她的签字记录、恢复职务,换她撤回证据。三年前周启年接受的正是这种交易。她拒绝。 - 57–59:庭审中宋知远以她签过假报告为由,申请排除她全部证据;她当庭承认受迫签字,推翻原报告。 - 60:她重新写下“死者沈峥,他杀”,签上自己的名字。宋知远认罪,宋婉仪交出沈氏,程野带着妹妹去自首。墓前,她放下那块表。 ## 六、四条阶梯 - **揭露**:R0 新郎是替身(1)→ R1 私存照片证实无名尸有疤(6)→ R2 死者是沈峥(18)→ R3 替身公开(30)→ R4 凶器是扳手,凶手不是沈砚(44)→ R5 宋知远洗钱杀人(55)。 - **对手**:苏曼丽(近身羞辱,12)→ 宋婉仪(守家族秘密,52 倒戈)→ 周启年(制度守门人,也是她的镜像:同一份报告,相反的选择,35)→ 宋知远(幕后,60)。 - **能力**:看出破绽(1)→ 用专业赢下一局(2–18)→ 主动设局(31)→ 保护他人(46)→ 拒绝捷径(56)。 - **代价**:停职(12)→ 被立案调查(35)→ 失去内应(42)→ 当庭自认(59)。 ## 七、人物弧 | 人物 | 错误信念 → 结局选择 | 底线/学习 | |---|---|---| | 林晚 | “我是被逼的,所以签字不算我的” → 亲手推翻、亲手重签 | 只认证据,包括对自己不利的证据 | | 程野 | “活下去就得当别人” → 以自己的名字自首 | 妹妹是他唯一的软肋 | | 沈砚 | “那晚我什么都不记得” → 面对自己的醉酒 | 由嘲讽者变内应,被冤不退出 | | 苏曼丽 | “家族生意高于一切” → 反水一次后交出账目 | 只反水一次,第二次选择自己 | | 宋婉仪 | “儿子是意外死的,保住股份就是保住他” → 交出沈氏 | 绝不伤害儿子 | | 周启年 | “收钱改个字,不算杀人” → 遇险后交出袖扣、出庭作证 | 怕死胜过怕丢脸 | | 宋知远 | “我在替沈家赚钱” → 认罪伏法 | 毁证→伪证→嫁祸→灭口→收买,每次换招 | ## 八、爽债账 | ID | 开债 | 小额回收 | 全额回收 | |---|---|---:|---:| | D1 | 当众退婚,骂她“晦气” | 2 | 30 | | D2 | 苏曼丽当众羞辱 | 3 | 55 | | D3 | 媒体称她“疯女” | 18 | 30 | | D4 | 周启年逼签、停职 | 31 | 35 | | D5 | 苏曼丽反水 | 45 | 55 | | D6 | 宋知远嫁祸沈砚 | 44 | 60 | | D7 | 她自己的签名 | 35 | 60 | 同一种羞辱最多重复一次,第三次须由林晚设局反打。 ## 九、分集与 AI 生产约束 - 每集只有一个主转折;集尾钩子在证据出现、身份相撞、错胜、倒计时、情感真相之间轮换,“大人物到门口”全剧最多三次。 - 固定资产 ID:林晚的风衣和旧表、程野的白手套(30 集后不再戴)、沈砚的耳钉、宋知远的袖扣(一新一旧)、周启年的金表。沈峥与程野同脸,回忆戏用冷色调和虎口疤区分。 - 解剖戏不拍血腥全尸,只用切片、照片、遮尸布、器械特写。
过程
按时间顺序。点开工具调用能看到完整的输入和返回;思考的内容 Claude Code 不对外输出,日志里只有「在这里思考过多久」。
第 1 轮
输入:
/ai-short-drama 我要给一部短剧写全剧骨架,要求在 premise.md 里,写好存成文件放在当前目录。
思考
Bash List directory and read premise file
输入
ls -la && cat premise.md 2>/dev/null; ls .claude/skills/ai-short-drama .claude/skills/ai-short-drama/references
返回
total 16 drwxr-xr-x 4 user wheel 128 Oct 30 17:24 . drwxr-xr-x 4 user wheel 128 Oct 30 17:24 .. drwxr-xr-x 4 user wheel 128 Oct 30 17:24 .claude -rw-r--r-- 1 user wheel 4233 Oct 30 17:24 premise.md 这是一张选题卡。它要拍成 60 集竖屏短剧,每集 1–2 分钟,全部由 AI 拍。 请交一份全剧骨架:整部剧怎么走,用来管住后面的分集大纲和剧本。 只交骨架,不写分集大纲和剧本正文,3000 字以内。 《验尸官的婚礼》 标签:女频、大女主、复仇、悬疑、豪门 一句话卖点:被退婚的女法医去参加前未婚夫的婚礼,一眼认出新郎是替身:真新郎三年前就躺在她的解剖台上。 观众代入谁:林晚,被当众退婚的女法医,冷静、专业,靠本事翻盘 爽点落在谁脸上:沈家一家,和三年前逼她签字的周启年 故事靠什么往前推:每一集她都要拿出一样看得见的证据:一道疤、一张切片、一段录音。沈家每次都想办法毁掉证据、抹黑她;她每赢一次,就离“三年前是谁杀了沈峥”更近一步,也离她自己签过的那份假报告更近一步。 人物: - **林晚**(女主 · 法医) - 样子:28 岁,齐耳短发,素颜,常穿一件深灰长风衣;左手腕戴一块男式旧机械表,表带磨白了。说话不抬声调。 - 小传:市法医中心的法医,干了七年。四年前和沈家长子沈峥订婚,一年前被“沈峥”当众退婚,说她天天摸死人、晦气。三年前她解剖过一具无名男尸,最初写的是“他杀”,被周启年逼着改成“意外”,签了字,这是她心里的一根刺。冷静,嘴不饶人,认证据不认人。 - **程野**(新郎 · 顶着沈峥的脸的替身) - 样子:30 岁,和沈峥一样的脸、一样的金丝眼镜;婚礼上一直戴着白手套,左手虎口光洁,没有疤。 - 小传:欠了一身赌债的模仿演员。三年前被宋家找去整容,学沈峥说话、走路、签名,替他活着。他不知道沈峥是怎么死的,只知道自己哪天没用了,也会“意外”。 - **沈砚**(沈家二少 · 沈峥的弟弟) - 样子:26 岁,寸头,西装从来不扣扣子,右耳一枚黑耳钉,笑起来像什么都不在乎。 - 小传:从小跟在哥哥后面。三年前哥哥从国外“养病”回来,他第一个觉得不对,可没人信他。那晚游艇上他也在,喝醉了,什么都记不清,这件事他谁都没说。一开始不信林晚这个法医,后来成了她在沈家唯一的内应。 - **苏曼丽**(新娘 · 苏家千金) - 样子:26 岁,长卷发,永远带着全妆,酒红色指甲。 - 小传:苏家和沈氏一起做港口生意,她嫁进沈家是两家的买卖。新婚夜她就觉得丈夫不对,却不敢说。前期带头踩林晚,答谢宴上偷偷把求救的房卡塞给她;为了家里的生意,后面还会反水一次。 - **周启年**(法医中心主任 · 三年前逼她签字的人) - 样子:55 岁,花白背头,老花镜挂在胸前,腕上一块和工资不相称的金表。 - 小传:林晚的老领导。三年前收了宋知远的钱,把那具无名男尸的结论从“他杀”改成“意外”,逼林晚签字,三天内火化。 - **宋婉仪**(沈家主母 · 沈峥、沈砚的母亲) - 样子:52 岁,盘发,素色旗袍,珍珠耳环,说话永远轻声细语。 - 小传:丈夫早逝,靠弟弟宋知远撑起沈氏。按老爷子的遗嘱,长孙沈峥三十岁接手沈氏一半的股份,人没了就归二房。三年前儿子“落水”,她为了保住股份找人顶替了他,一直以为儿子是意外死的。 - **宋知远**(宋婉仪的弟弟 · 沈氏海外业务负责人) - 样子:48 岁,高个子,笑容和气,袖口总是一对船锚形状的银袖扣。 - 小传:沈家人眼里最可靠的舅舅。借沈氏的海外港口洗钱,三年前被沈峥发现,在游艇上用扳手砸了他的后脑,推下海;之后买通周启年改了结论,又让姐姐以为是意外。全剧最后的对手。 结局:宋知远认罪伏法,宋婉仪交出沈氏,程野带着妹妹去自首。林晚当庭推翻自己三年前签的报告,重新写下“死者沈峥,他杀”,签上自己的名字。最后一场,她把那块表放在沈峥的墓前。 .claude/skills/ai-short-drama: CHANGELOG.md CONTRIBUTING.md LICENSE README.md SKILL.md agents evals examples references scripts tests .claude/skills/ai-short-drama/references: automation.md evidence-registry.md genre-engines.md platform-strategy.md production-pipeline.md quality-compliance.md story-architecture.md studio-workflow.md templates.md
思考 1 秒
Bash Read story architecture reference and template headings
输入
cd /scratch/003/ws/003-skeleton/Hao0321__ai-short-drama/run-2/.claude/skills/ai-short-drama/references && wc -l *.md && cat story-architecture.md && grep -n "^#" templates.md
返回
72 automation.md
147 evidence-registry.md
199 genre-engines.md
123 platform-strategy.md
244 production-pipeline.md
115 quality-compliance.md
240 story-architecture.md
207 studio-workflow.md
291 templates.md
1638 total
# 爆款短劇故事架構
本檔管理 Premise Contract、揭露、敵人、爽債、季弧與單集節奏。它不是固定秒表;平台、集長與觀眾決定密度。
## 目錄
1. [Premise Contract](#1-premise-contract)
2. [四條階梯](#2-四條階梯)
3. [季與 micro-arc](#3-季與-micro-arc)
4. [單集 beat map](#4-單集-beat-map)
5. [Cliffhanger 類型](#5-cliffhanger-類型)
6. [爽債與伏筆帳](#6-爽債與伏筆帳)
7. [角色與反派](#7-角色與反派)
8. [低質敘事反模式](#8-低質敘事反模式)
## 1. Premise Contract
每案先填:
```text
Audience:
Surface / format:
Public identity:
Hidden truth or advantage:
Core injustice / pressure:
Immediate desire:
Irreversible season goal:
Audience promise:
Fresh mechanism:
AI-native visual promise:
Why the hero cannot reveal everything now:
Season question:
End transformation:
```
### 好 premise 的三種張力同時存在
- **外在:** 敵人、制度、災難或倒數。
- **人際:** 誰信/不信主角,誰會因真相受傷。
- **內在:** 主角的錯誤信念或代價,不因能力變強自動消失。
## 2. 四條階梯
### 2.1 Reveal Ladder
避免第一集把所有牌翻完:
| 層 | 典型揭露 | 效果 |
|---|---|---|
| R0 | 異常徵兆 | 讓觀眾知道他不是表面那樣 |
| R1 | 單一技能/記憶 | 贏第一次小局 |
| R2 | 資源/人脈 | 改變局部權力 |
| R3 | 組織地位/血統 | 全場重新站隊 |
| R4 | 隱藏目的/犧牲 | 重新解讀前面行為 |
| R5 | 世界/系統真相 | 改變季問題 |
不是每部都要六層。先設最大秘密,再反推可分割證據。
### 2.2 Antagonist Ladder
```text
E1 近身羞辱者:能立刻傷害日常
E2 守門人:掌握機會、名譽或資源
E3 組織權力:能改規則
E4 幕後對手:理解主角能力並主動反制
E5 鏡像敵人:與主角相似,但做出相反道德選擇
```
每次升級要改變問題類型,不只是把敵人數值變大。
### 2.3 Competence Ladder
- 看見問題
- 用有限能力解一局
- 主動設局
- 承擔他人/組織
- 放棄捷徑或改寫規則
### 2.4 Cost Ladder
- 隱藏的麻煩
- 關係代價
- 資源/名譽代價
- 身份暴露
- 核心價值抉擇
沒有 Cost Ladder 的外掛只會降低懸念。
## 3. 季與 micro-arc
### Pilot 3 集
| 集 | 功能 | 必須交付 |
|---|---|---|
| E1 | 證明 premise | 公開壓制 + 異常牌 + 不可逆事件 |
| E2 | 證明爽感 | 第一筆小債回收 + 更高風險 |
| E3 | 證明連載 | 第一次公開反轉 + 新敵人/真相層 |
### 每 3–5 集一個 micro-arc
```text
Setup debt → attempts → local payoff → consequence → higher-order question
```
micro-arc 結尾同時做到:關一扇門、開一扇更大的門。
### 30 集參考骨架
| 集數 | 功能 |
|---|---|
| 1–3 | Premise proof;第一個小爽點 |
| 4–6 | 局部勢力與第一盟友;R1 |
| 7–10 | 第一公開勝利;E1 結束、E2 登場 |
| 11–15 | 主角主動布局;代價首次傷及關係;R2 |
| 16–20 | 中點錯勝/身份逼近暴露;E3 |
| 21–24 | 反派學習並反制;主角失去原優勢 |
| 25–27 | R3/R4 重解前情;終局選擇形成 |
| 28–30 | 償還主要爽債、解 season question、保留下一季新問題 |
60 集不是把每格拉長一倍;要增加第二條角色弧、第二個制度層或中段世界轉向。
## 4. 單集 beat map
### 社群 discovery 版:30–60 秒
```text
0–3s Cold open:視覺不公、異常結果或危機已發生
3–12s Context under pressure:只補理解當下選擇所需資訊
12–35s Escalation:對手加碼,主角不能退
35–50s Turn + payoff/progress:權力/資訊/關係不可逆改變
最後 3–7s Cliffhanger + end image
```
### App/連載版:60–120 秒
```text
0–5s 重接上一集 + 新刺激,不完整重播
5–25s 新壓力與本集目標
25–65s 行動、阻礙、選擇
65–95s Turn 與局部回收
最後 5–10s 新資訊/新危機/揭露門檻
```
秒數是起稿 heuristic。若台詞多、物理複雜或情緒需要停頓,減少事件,不把語速加到不可演。
### Scene 檢查
每場必須至少改變一項:
- 誰掌權
- 誰知道什麼
- 誰信任誰
- 誰擁有物/證據
- 目標或代價
- 空間與安全狀態
如果什麼都沒改,只是把小說旁白念完,刪掉或合併。
## 5. Cliffhanger 類型
1. **Recognition:** 權力人物認出主角,但稱呼尚未出口。
2. **Evidence:** 關鍵證據出現,尚未公開內容。
3. **Decision:** 主角做出不可逆選擇,尚未看到代價。
4. **Reversal:** 以為勝利,真正權力者進場。
5. **Deadline:** 災難/任務/婚約/審判倒數開始。
6. **Identity collision:** 兩個身份線即將相撞。
7. **Rule exception:** 已知規則第一次失效。
8. **Emotional truth:** 一句話讓前面關係全部重解。
### 假 cliffhanger
- 把一句正常台詞切一半
- 下一集第一秒證明毫無後果
- 每集都是「大人物剛到門口」
- 角色能一句話化解卻集體不說
- 重播上一集佔掉本集大半
## 6. 爽債與伏筆帳
### Payoff Debt
```text
Debt ID:
Opened episode:
Injustice / promise:
Audience expected payoff:
Due window:
Escalation beats:
Paid episode:
Payoff changes what:
```
原則:
- E1 開的至少一筆小債在 E2–E3 償還。
- 大債可以晚還,但途中必有證據、局部勝利或權力移動。
- 同一種羞辱最多重複一次;第三次必須改變形式或由主角主動設局。
### Foreshadow Ledger
- 每個伏筆必有 planted、reinforced、paid。
- 不為續集硬加從未出現的雙胞胎、秘寶或系統規則。
- 伏筆回收要改變角色選擇,不只是觀眾知道 trivia。
## 7. 角色與反派
### 主角五欄
```text
Wants:本集會主動追求什麼
Needs:長期要學會什麼
False belief:他相信但不完全正確的事
Power:能改局的資源/能力
Cost:使用 power 會失去什麼
```
### 反派五欄
```text
Goal:不以「欺負主角」為唯一人生目標
Leverage:現在能傷害什麼
Belief:為何覺得自己有理
Learning:看到主角哪張牌後會怎麼調整
Boundary:哪件事連他也不做,或何時跨過界
```
好反派會逼主角改策略;鏡像反派會逼主角回答「我有同樣力量,為何不成為他」。
## 8. 低質敘事反模式
- **只加集數不加狀態:** 多集結束後權力、資訊、關係都沒變。
- **爽點通膨:** 每次都靠更大頭銜,沒有更難選擇。
- **主角被動等認領:** 所有翻盤靠別人進場跪下。
- **反派失智:** 明知主角強仍用完全相同方式挑釁。
- **系統代寫人生:** 主角只接受任務,沒有價值選擇。
- **重生全知:** 改變前史後仍精準知道全部未來。
- **身份揭露即結局:** 沒有規劃身份之後的 season question。
- **情緒只有喊:** 用大聲台詞替代證據、行動與反應。
- **旁白解決一切:** 重要事件沒被演出。
- **懸念作弊:** 隱藏鏡頭已經拍到、角色已經知道的資訊。
1:# AI 短劇工作模板
3:## 目錄
16:## 1. Opportunity Map
19:# Opportunity Map — [市場/平台/日期]
21:## 一句話結論
24:## 已驗證需求
29:## 飽和與缺口
34:## 原創組合
41:## 最小驗證
47:## 2. Greenlight Sheet
50:# Greenlight — [概念名]
69:## 3. Premise Contract
95:## 4. Series Bible
98:# Series Bible — [標題/版本/日期]
100:## Premise Contract
103:## 世界與系統規則
107:## 角色卡
111:## Reveal Ladder
115:## Antagonist Ladder
119:## Payoff Debt Ledger
123:## Entity Registry
126:## 結局護欄
132:## 5. 三集 Pilot
144:## 6. 單集可拍劇本
147:# EP [N] — [集名]
155:## Scene 1 — [地點 ID/日夜]
166:## Scene 2...
168:## 集尾 Cliffhanger
174:## Continuation Capsule
183:## 7. Production Pack JSON
266:## 8. Audit/實驗日誌
269:# Audit — [作品/集數/日期]
271:## 觀察
278:## 診斷
284:## 下一個單變量實驗思考
Read ./.claude/skills/ai-short-drama/references/templates.md
输入
{
"file_path": "/scratch/003/ws/003-skeleton/Hao0321__ai-short-drama/run-2/.claude/skills/ai-short-drama/references/templates.md",
"offset": 69,
"limit": 75
}返回
69 ## 3. Premise Contract 70 71 ```yaml 72 title: 暫名 73 market: 市場 74 surface: 平台或發行表面 75 format: ai_live_action | 2d_motion_comic | 3d | anthropomorphic 76 episode_duration_seconds: 60 77 planned_episodes: 30 78 79 protagonist: 80 public_identity: 大家以為他是誰 81 hidden_truth: 他真正是誰/能做什麼 82 desire: 他主動要得到什麼 83 wound_or_fear: 什麼讓他不願直接亮牌 84 constraint_or_cost: 為何不能立刻全力解決 85 86 engine: 主爽感引擎 87 core_injustice: 第一筆必須償還的不公 88 audience_promise: 觀眾每個 micro-arc 可期待什麼 89 season_question: 觀眾追完整季想知道的問題 90 fresh_twist: 具體的新規則/代價/關係/視角 91 ai_advantage: AI 能帶來什麼非裝飾性的優勢 92 ending_contract: 結局至少需要兌現什麼 93 ``` 94 95 ## 4. Series Bible 96 97 ```markdown 98 # Series Bible — [標題/版本/日期] 99 100 ## Premise Contract 101 [貼上已核准版本] 102 103 ## 世界與系統規則 104 | 規則 ID | 能做什麼 | 不能做什麼 | 成本 | 漏洞/反例 | 105 |---|---|---|---|---| 106 107 ## 角色卡 108 | ID | 公開身份 | 隱藏真相 | 欲望 | 恐懼/錯誤信念 | 資源/能力 | 表演/聲音錨 | 109 |---|---|---|---|---|---|---| 110 111 ## Reveal Ladder 112 | 層級 | 揭露內容 | 誰知道 | 證據 | 改變的權力 | 目標集 | 113 |---:|---|---|---|---|---:| 114 115 ## Antagonist Ladder 116 | 層級 | 對手 | 控制的資源 | 會如何學習 | 主角付出的代價 | 收束集 | 117 |---:|---|---|---|---|---:| 118 119 ## Payoff Debt Ledger 120 | Debt ID | 開債事件 | 情緒 | 最晚償還 | 償還方式 | 升級出的新問題 | 121 |---|---|---|---:|---|---| 122 123 ## Entity Registry 124 [依 production-pipeline.md 建立角色、地點、道具、服裝、聲音 ID] 125 126 ## 結局護欄 127 - 必須兌現: 128 - 不可背叛的角色選擇: 129 - 不可用巧合解決: 130 ``` 131 132 ## 5. 三集 Pilot 133 134 ```markdown 135 | 集 | Cold open | Pressure/選擇 | Dominant turn | Payoff/Progress | Cliffhanger | State delta | 驗證假設 | 136 |---:|---|---|---|---|---|---|---| 137 | 1 | | | | | | | premise 可讀性 | 138 | 2 | | | | 第一個小回報 | | | 世界/表演接受度 | 139 | 3 | | | 第一次公開反轉 | | 更高階對手/代價 | | 追更能力 | 140 ``` 141 142 每列不得只寫情緒。`State delta` 要能回答「本集播完後,什麼永久不同?」 143
思考 125 秒
Bash Skim compliance guardrails reference
输入
sed -n 1,60p quality-compliance.md | head -60; grep -n -i "60" genre-engines.md | head
返回
# 品質與合規護欄 ## 目錄 1. 品質門檻 2. 連載一致性 QA 3. 低質模式 4. 權利與人格 5. 中國大陸發布注意 6. 發布前檢查表 ## 1. 品質門檻 ### 故事 - 首集清楚建立主角欲望、壓力與表面/真實差距。 - 每集有事件,不以設定介紹替代劇情。 - turn 改變資訊、權力、關係、資源或風險。 - payoff debt 有開、有期限、有償還,不連續虐待觀眾。 - cliffhanger 產生新的具體預測,不是句子說到一半。 ### 畫面 - 主角色臉型、年齡、髮型、身形、服裝組與識別物一致。 - 同一場的時間、光源、空間方位與道具位置連續。 - 角色真的互動;避免整集只有單人正臉輪流開口。 - 時間、文字、手指、口型、物理和物件數量經人工抽查。 - 只在動的物體上使用合理動態模糊,重要事件可讀。 ### 聲音 - 聲線 ID 穩定,情緒方向來自角色目標,不只寫「更激動」。 - 對白可說、可呼吸;避免每句同節奏、過度播音腔。 - 口型明顯不準時改 shot、縮短台詞或以反應鏡頭遮接。 - 音樂不覆蓋關鍵證據、笑點、呼吸或權力轉折。 ### 剪輯 - 第一個可理解事件儘早出現。 - cut 服務於視線、動作與權力轉移,不為快而亂切。 - 字幕安全區、斷句、說話人與時序正確。 - 結尾保留真正的懸念畫面,不再加一段解釋把鉤子說死。 ## 2. 連載一致性 QA 逐集比較前一集 `continuation_capsule`: - 誰知道哪個秘密? - 誰持有哪件道具/證據? - 傷勢、妝髮、服裝與污損是否延續? - 關係是陌生、懷疑、結盟、決裂還是公開敵對? - 系統資源、冷卻、任務、代價是否正確? - 已揭露的牌是否被角色或觀眾莫名忘記? - 已償還的羞辱是否又原樣重演? - 地點、日夜、通勤與事件順序是否可能? 任何更改都寫入 registry 或 state ledger,不只在 prompt 臨時補一句。 ## 3. 低質模式
思考
Write ./验尸官的婚礼_全剧骨架.md
输入
/scratch/003/ws/003-skeleton/Hao0321__ai-short-drama/run-2/验尸官的婚礼_全剧骨架.md # 《验尸官的婚礼》全剧骨架 > 60 集 × 1–2 分钟|竖屏|AI 仿真人|女频大女主·悬疑复仇。本骨架管住后续分集大纲与剧本,冲突时以本文件为准;要改先改这里。 ## 一、核心契约 - **观众承诺**:每集林晚亮出一样看得见的证据,打沈家一次脸;每赢一次,离凶手近一步,也离她自己的签名近一步。 - **季问题**:三年前是谁杀了沈峥?林晚敢不敢推翻自己签的报告? - **为什么不能一次掀牌**:尸体三天内已火化;“意外”结论上签的是她自己的名字,真相一揭,第一个被追责的是她。 - **新鲜变量**:复仇者手里也握着一份假报告。证据越完整,她越接近自首。 - **AI 优势**:同一张脸两个人(沈峥/程野),靠虎口疤、白手套、回忆色调区分。 ## 二、逻辑护栏(补充设定,写作不得违背) 1. 三年前尸体泡海、面部损毁;当时“沈峥”人在国外“养病”,还给她发过消息。虎口疤不罕见,所以她当时没起疑。 2. 程野回国后借病疏远她,一年后退婚。“晦气”只是借口,真正的原因是宋婉仪怕法医看穿替身。 3. 宋家知道那道疤,所以让程野在公开场合戴手套。婚礼交换戒指必须摘手套,这是破绽出现的时刻。 4. 那块旧表是沈峥订婚时送她的。婚礼上“新郎”看见它毫无反应,这是第二个破绽。 5. 船锚袖扣原本有一对。尸体手里攥着其中一枚,被周启年私藏下来,用来牵制宋知远;宋知远现在戴的那一对,其中一枚是新配的。 ## 三、证据引擎(每集必守) 1. 每集至少一样**能拍特写**的证据:疤、伤、切片、文书、签名、录音、物件,不能只靠台词说出来。 2. 证据走三步:出示 → 沈家毁证或抹黑 → 林晚用专业换一条路拿回或反证。同一种毁证手段不得连用两次。 3. 每次胜利只推进一条线:A 线“谁杀了沈峥”,B 线“我签的报告”。每 5 集两条线都至少推进一次。 4. 每个小弧收尾时,必须有一件证据存进“终审证据链”;已被毁的不算。 5. 林晚只凭证据说话,不靠直觉指控,也不靠别人进场救场。 ## 四、终审证据链(第 60 集庭审全部到位) | # | 证据 | 首现 | 入链 | 证明 | |---|---|---:|---:|---| | 1 | 无名男尸虎口疤的私存照片 | 1 | 6 | 尸体有疤,新郎没有 | | 2 | 林晚私留的备份组织切片 | 3 | 18 | 与沈砚 DNA 比对:死者是沈峥 | | 3 | 她最初写“他杀”的手写初稿 | 9 | 33 | 原结论被篡改 | | 4 | 后脑凹陷伤的形状测量 | 13 | 44 | 凶器是扳手,凶手比沈砚高 | | 5 | 周启年承认受贿的录音 | 31 | 35 | 改结论是受人指使 | | 6 | 尸体手中那枚船锚袖扣 | 20(回忆) | 50 | 指向宋知远 | | 7 | 沈氏港口洗钱账目 | 38 | 55 | 杀人动机 | | 8 | 程野的证词与整容记录 | 4 | 58 | 替身由谁安排、为什么 | ## 五、五段结构 **第一段 · 婚礼(1–12)**|对手:苏曼丽与沈家亲戚|R0–R1 - 1–3 Pilot:婚礼上她被当众嘲笑是“晦气前任”;交换戒指时,她看见新郎虎口没有疤。(第 2 集)她用一个法医细节当场反击苏曼丽,随后被沈家赶出去。(第 3 集)答谢宴上,苏曼丽把求救房卡塞给她:踩她的人,在向她求救。 - 4–8:新婚房里,程野耳后有整容疤,替身确认。她回中心调档案,发现照片已被抽走,只能拿私存照片入链。沈砚登场,不信她。 - 9–12:中心档案“失火”。沈家买通媒体,说她是“嫉妒成疯的前任”,周启年借机停了她的职。关门:替身确认;开门:死者是谁? **第二段 · 死者是谁(13–30)**|对手:宋婉仪+周启年|R2–R3 - 13–18:停职后她只能在体制外查。沈砚从怀疑转为配合,DNA 比对确认死者就是沈峥,沈砚崩溃。 - 19–24:查程野的身份线:赌债、整容、被控制的妹妹。宋婉仪用钱和舆论围剿她,又派人去销毁切片。 - 25–30:沈峥三十岁的股权交接会定为倒计时。中点(30):林晚当众让“新郎”摘下手套,替身曝光。爽债 D1 回收:当年退婚的根本不是沈峥。**错胜**:舆论认定宋婉仪为夺股权杀子,宋知远“大义灭亲”,接管沈氏。集尾,他和林晚握手,袖扣一新一旧。 **第三段 · 凶手会学习(31–45)**|对手:周启年→宋知远|R4 - 31–35:林晚主动设局,录下周启年承认受贿,金表当众被扒。周启年反咬:录音同样证明她签了字。她被立案调查,B 线第一次见血。 - 36–42:宋知远学会抢先伪造证据,把凶手指向那晚醉酒的沈砚;苏曼丽为了家族生意反水,作证沈砚当晚和哥哥吵过架。沈砚被抓,林晚失去内应。 - 43–45:她用伤口测量证明凶器是扳手、凶手比沈砚高,沈砚获释。宋知远第一次被怀疑。 **第四段 · 游艇夜(46–55)**|对手:宋知远|R5 - 46–49:股权已交接,程野失去用处,成为下一个“意外”。林晚救下他,换来证词承诺。 - 50–52:周启年在看守所遇险,交出藏了三年的袖扣。宋婉仪得知杀子的是亲弟弟,倒戈。 - 53–55:苏曼丽发现宋知远准备让苏家顶洗钱的罪,交出港口账目。D5 回收。 **第五段 · 她的签名(56–60)** - 56:宋知远提出交易:替她抹掉签字记录、恢复职务,换她撤回证据。三年前周启年接受的,就是同一种交易。她拒绝。 - 57–59:庭审中,宋知远以她签过假报告为由,申请排除她的全部证据。她当庭承认自己受迫签字,推翻原报告。 - 60:她重新写下“死者沈峥,他杀”,签上自己的名字。宋知远认罪,宋婉仪交出沈氏,程野带着妹妹去自首。墓前,她放下那块表。 ## 六、四条阶梯 - **揭露**:R0 新郎是替身(1)→ R1 无名尸有同样的疤(6)→ R2 死者是沈峥(18)→ R3 替身公开(30)→ R4 凶器是扳手,凶手不是沈砚(44)→ R5 宋知远洗钱杀人(55)。 - **对手**:苏曼丽(近身羞辱,12 收束)→ 宋婉仪(守住家族秘密,52 倒戈)→ 周启年(制度守门人,也是她的镜像:签了同一份报告,做了相反的选择,35 收束)→ 宋知远(幕后,60 收束)。 - **能力**:看出破绽(1)→ 用专业赢下一局(2–18)→ 主动设局(31)→ 保护他人(46)→ 拒绝捷径(56)。 - **代价**:停职(12)→ 被立案调查(35)→ 失去内应(42)→ 当庭自认(59)。 ## 七、人物弧 | 人物 | 错误信念 → 结局选择 | 底线/学习 | |---|---|---| | 林晚 | “我是被逼的,所以签字不算我的” → 亲手推翻、亲手重签 | 只认证据,包括对自己不利的证据 | | 程野 | “活下去就得当别人” → 以自己的名字自首 | 妹妹是他唯一的软肋 | | 沈砚 | “那晚我什么都不记得” → 面对自己的醉酒 | 从嘲讽者变成内应,被冤后不退出 | | 苏曼丽 | “家族生意高于一切” → 反水一次后交出账目 | 只反水一次,第二次选择自己 | | 宋婉仪 | “儿子是意外死的,保住股份就是保住他” → 交出沈氏 | 绝不伤害儿子;知道真相即倒戈 | | 周启年 | “收钱改个字,不算杀人” → 被扒后私藏的袖扣成了他唯一的筹码 | 怕死胜过怕丢脸 | | 宋知远 | “我在替沈家赚钱” | 会学习:毁证 → 伪造证据 → 嫁祸 → 灭口 → 收买,每次换招 | ## 八、爽债账 | ID | 开债 | 小额回收 | 全额回收 | |---|---|---:|---:| | D1 | 当众退婚,骂她“晦气” | 2 | 30 | | D2 | 苏曼丽当众羞辱 | 3 | 55 | | D3 | 媒体称她“疯女” | 18 | 30 | | D4 | 周启年逼签、停职 | 12 反击 | 35 | | D5 | 苏曼丽反水 | 45 | 55 | | D6 | 宋知远嫁祸沈砚 | 44 | 60 | | D7 | 她自己的签名 | 35 | 60 | 同一种羞辱最多重复一次;第三次必须由林晚主动设局反打。 ## 九、分集与 AI 生产约束 - 每集只有一个主转折。集尾钩子在“证据出现、身份相撞、错胜、倒计时、情感真相”之间轮换,“大人物到门口”全剧最多用三次。 - 固定资产 ID:林晚的风衣和旧表、程野的白手套(30 集后不再戴)和金丝眼镜、沈砚的耳钉、宋知远的船锚袖扣(一新一旧)、周启年的金表。回忆戏统一冷色调,并用沈峥虎口的疤区分同脸二人。 - 解剖戏不拍血腥全尸,只用切片、照片、遮尸布和器械特写来表现。
返回
File created successfully at: /scratch/003/ws/003-skeleton/Hao0321__ai-short-drama/run-2/验尸官的婚礼_全剧骨架.md (file state is current in your context — no need to Read it back)
思考 2 秒
Agent:
初稿已写完,正在统计字数,确认在 3000 字以内。
Bash Count characters in skeleton file
输入
cd /scratch/003/ws/003-skeleton/Hao0321__ai-short-drama/run-2 && python3 -c "
import re,sys
t=open('验尸官的婚礼_全剧骨架.md',encoding='utf-8').read()
cjk=len(re.findall(r'[一-鿿]',t))
nows=len(re.sub(r'\s','',t))
nomd=len(re.sub(r'[\s|#*\->:]','',t))
print('CJK',cjk,'non-ws',nows,'non-ws-no-md',nomd)"返回
CJK 2171 non-ws 3177 non-ws-no-md 2884
思考 2 秒
Agent:
按含表格符号的最严口径,目前是 3177 字,略超。下面压缩几处重复内容。
Bash Trim text and recount characters
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("> 60 集 × 1–2 分钟|竖屏|AI 仿真人|女频大女主·悬疑复仇。本骨架管住后续分集大纲与剧本,冲突时以本文件为准;要改先改这里。",
"> 60 集 × 1–2 分钟|竖屏|AI 仿真人。分集大纲与剧本不得与本骨架冲突;要改先改这里。"),
("- **AI 优势**:同一张脸两个人(沈峥/程野),靠虎口疤、白手套、回忆色调区分。\n",""),
("5. 林晚只凭证据说话,不靠直觉指控,也不靠别人进场救场。","5. 林晚只凭证据说话,不靠直觉,也不靠别人救场。"),
("| 宋知远 | “我在替沈家赚钱” | 会学习:毁证 → 伪造证据 → 嫁祸 → 灭口 → 收买,每次换招 |","| 宋知远 | “我在替沈家赚钱” | 毁证→伪证→嫁祸→灭口→收买,每次换招 |"),
("- 固定资产 ID:林晚的风衣和旧表、程野的白手套(30 集后不再戴)和金丝眼镜、沈砚的耳钉、宋知远的船锚袖扣(一新一旧)、周启年的金表。回忆戏统一冷色调,并用沈峥虎口的疤区分同脸二人。",
"- 固定资产 ID:林晚的风衣和旧表、程野的白手套(30 集后不再戴)、沈砚的耳钉、宋知远的袖扣(一新一旧)、周启年的金表。沈峥与程野同脸,回忆戏用冷色调和虎口疤区分。"),
("- 解剖戏不拍血腥全尸,只用切片、照片、遮尸布和器械特写来表现。","- 解剖戏不拍血腥全尸,只用切片、照片、遮尸布和器械特写。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)))
EOF返回
non-ws 3094 no-md 2806
思考 2 秒
Bash Trim further and recount
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("3. 每次胜利只推进一条线:A 线“谁杀了沈峥”,B 线“我签的报告”。每 5 集两条线都至少推进一次。","3. 每次胜利推进 A 线“谁杀了沈峥”或 B 线“我签的报告”,每 5 集两线都要动。"),
("4. 每个小弧收尾时,必须有一件证据存进“终审证据链”;已被毁的不算。","4. 每个小弧收尾,至少一件证据存进终审证据链,被毁的不算。"),
("- 4–8:新婚房里,程野耳后有整容疤,替身确认。她回中心调档案,发现照片已被抽走,只能拿私存照片入链。沈砚登场,不信她。","- 4–8:房里见程野耳后整容疤,替身确认。档案照片已被抽走,她用私存照片入链。沈砚登场,不信她。"),
("- 13–18:停职后她只能在体制外查。沈砚从怀疑转为配合,DNA 比对确认死者就是沈峥,沈砚崩溃。","- 13–18:停职后在体制外查。沈砚由疑转帮,DNA 确认死者是沈峥,沈砚崩溃。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3058 no-md 2770 cjk 2077
思考
Read ./验尸官的婚礼_全剧骨架.md
输入
{
"file_path": "/scratch/003/ws/003-skeleton/Hao0321__ai-short-drama/run-2/验尸官的婚礼_全剧骨架.md"
}返回
1 # 《验尸官的婚礼》全剧骨架 2 3 > 60 集 × 1–2 分钟|竖屏|AI 仿真人。分集大纲与剧本不得与本骨架冲突;要改先改这里。 4 5 ## 一、核心契约 6 7 - **观众承诺**:每集林晚亮出一样看得见的证据,打沈家一次脸;每赢一次,离凶手近一步,也离她自己的签名近一步。 8 - **季问题**:三年前是谁杀了沈峥?林晚敢不敢推翻自己签的报告? 9 - **为什么不能一次掀牌**:尸体三天内已火化;“意外”结论上签的是她自己的名字,真相一揭,第一个被追责的是她。 10 - **新鲜变量**:复仇者手里也握着一份假报告。证据越完整,她越接近自首。 11 12 ## 二、逻辑护栏(补充设定,写作不得违背) 13 14 1. 三年前尸体泡海、面部损毁;当时“沈峥”人在国外“养病”,还给她发过消息。虎口疤不罕见,所以她当时没起疑。 15 2. 程野回国后借病疏远她,一年后退婚。“晦气”只是借口,真正的原因是宋婉仪怕法医看穿替身。 16 3. 宋家知道那道疤,所以让程野在公开场合戴手套。婚礼交换戒指必须摘手套,这是破绽出现的时刻。 17 4. 那块旧表是沈峥订婚时送她的。婚礼上“新郎”看见它毫无反应,这是第二个破绽。 18 5. 船锚袖扣原本有一对。尸体手里攥着其中一枚,被周启年私藏下来,用来牵制宋知远;宋知远现在戴的那一对,其中一枚是新配的。 19 20 ## 三、证据引擎(每集必守) 21 22 1. 每集至少一样**能拍特写**的证据:疤、伤、切片、文书、签名、录音、物件,不能只靠台词说出来。 23 2. 证据走三步:出示 → 沈家毁证或抹黑 → 林晚用专业换一条路拿回或反证。同一种毁证手段不得连用两次。 24 3. 每次胜利推进 A 线“谁杀了沈峥”或 B 线“我签的报告”,每 5 集两线都要动。 25 4. 每个小弧收尾,至少一件证据存进终审证据链,被毁的不算。 26 5. 林晚只凭证据说话,不靠直觉,也不靠别人救场。 27 28 ## 四、终审证据链(第 60 集庭审全部到位) 29 30 | # | 证据 | 首现 | 入链 | 证明 | 31 |---|---|---:|---:|---| 32 | 1 | 无名男尸虎口疤的私存照片 | 1 | 6 | 尸体有疤,新郎没有 | 33 | 2 | 林晚私留的备份组织切片 | 3 | 18 | 与沈砚 DNA 比对:死者是沈峥 | 34 | 3 | 她最初写“他杀”的手写初稿 | 9 | 33 | 原结论被篡改 | 35 | 4 | 后脑凹陷伤的形状测量 | 13 | 44 | 凶器是扳手,凶手比沈砚高 | 36 | 5 | 周启年承认受贿的录音 | 31 | 35 | 改结论是受人指使 | 37 | 6 | 尸体手中那枚船锚袖扣 | 20(回忆) | 50 | 指向宋知远 | 38 | 7 | 沈氏港口洗钱账目 | 38 | 55 | 杀人动机 | 39 | 8 | 程野的证词与整容记录 | 4 | 58 | 替身由谁安排、为什么 | 40 41 ## 五、五段结构 42 43 **第一段 · 婚礼(1–12)**|对手:苏曼丽与沈家亲戚|R0–R1 44 - 1–3 Pilot:婚礼上她被当众嘲笑是“晦气前任”;交换戒指时,她看见新郎虎口没有疤。(第 2 集)她用一个法医细节当场反击苏曼丽,随后被沈家赶出去。(第 3 集)答谢宴上,苏曼丽把求救房卡塞给她:踩她的人,在向她求救。 45 - 4–8:房里见程野耳后整容疤,替身确认。档案照片已被抽走,她用私存照片入链。沈砚登场,不信她。 46 - 9–12:中心档案“失火”。沈家买通媒体,说她是“嫉妒成疯的前任”,周启年借机停了她的职。关门:替身确认;开门:死者是谁? 47 48 **第二段 · 死者是谁(13–30)**|对手:宋婉仪+周启年|R2–R3 49 - 13–18:停职后在体制外查。沈砚由疑转帮,DNA 确认死者是沈峥,沈砚崩溃。 50 - 19–24:查程野的身份线:赌债、整容、被控制的妹妹。宋婉仪用钱和舆论围剿她,又派人去销毁切片。 51 - 25–30:沈峥三十岁的股权交接会定为倒计时。中点(30):林晚当众让“新郎”摘下手套,替身曝光。爽债 D1 回收:当年退婚的根本不是沈峥。**错胜**:舆论认定宋婉仪为夺股权杀子,宋知远“大义灭亲”,接管沈氏。集尾,他和林晚握手,袖扣一新一旧。 52 53 **第三段 · 凶手会学习(31–45)**|对手:周启年→宋知远|R4 54 - 31–35:林晚主动设局,录下周启年承认受贿,金表当众被扒。周启年反咬:录音同样证明她签了字。她被立案调查,B 线第一次见血。 55 - 36–42:宋知远学会抢先伪造证据,把凶手指向那晚醉酒的沈砚;苏曼丽为了家族生意反水,作证沈砚当晚和哥哥吵过架。沈砚被抓,林晚失去内应。 56 - 43–45:她用伤口测量证明凶器是扳手、凶手比沈砚高,沈砚获释。宋知远第一次被怀疑。 57 58 **第四段 · 游艇夜(46–55)**|对手:宋知远|R5 59 - 46–49:股权已交接,程野失去用处,成为下一个“意外”。林晚救下他,换来证词承诺。 60 - 50–52:周启年在看守所遇险,交出藏了三年的袖扣。宋婉仪得知杀子的是亲弟弟,倒戈。 61 - 53–55:苏曼丽发现宋知远准备让苏家顶洗钱的罪,交出港口账目。D5 回收。 62 63 **第五段 · 她的签名(56–60)** 64 - 56:宋知远提出交易:替她抹掉签字记录、恢复职务,换她撤回证据。三年前周启年接受的,就是同一种交易。她拒绝。 65 - 57–59:庭审中,宋知远以她签过假报告为由,申请排除她的全部证据。她当庭承认自己受迫签字,推翻原报告。 66 - 60:她重新写下“死者沈峥,他杀”,签上自己的名字。宋知远认罪,宋婉仪交出沈氏,程野带着妹妹去自首。墓前,她放下那块表。 67 68 ## 六、四条阶梯 69 70 - **揭露**:R0 新郎是替身(1)→ R1 无名尸有同样的疤(6)→ R2 死者是沈峥(18)→ R3 替身公开(30)→ R4 凶器是扳手,凶手不是沈砚(44)→ R5 宋知远洗钱杀人(55)。 71 - **对手**:苏曼丽(近身羞辱,12 收束)→ 宋婉仪(守住家族秘密,52 倒戈)→ 周启年(制度守门人,也是她的镜像:签了同一份报告,做了相反的选择,35 收束)→ 宋知远(幕后,60 收束)。 72 - **能力**:看出破绽(1)→ 用专业赢下一局(2–18)→ 主动设局(31)→ 保护他人(46)→ 拒绝捷径(56)。 73 - **代价**:停职(12)→ 被立案调查(35)→ 失去内应(42)→ 当庭自认(59)。 74 75 ## 七、人物弧 76 77 | 人物 | 错误信念 → 结局选择 | 底线/学习 | 78 |---|---|---| 79 | 林晚 | “我是被逼的,所以签字不算我的” → 亲手推翻、亲手重签 | 只认证据,包括对自己不利的证据 | 80 | 程野 | “活下去就得当别人” → 以自己的名字自首 | 妹妹是他唯一的软肋 | 81 | 沈砚 | “那晚我什么都不记得” → 面对自己的醉酒 | 从嘲讽者变成内应,被冤后不退出 | 82 | 苏曼丽 | “家族生意高于一切” → 反水一次后交出账目 | 只反水一次,第二次选择自己 | 83 | 宋婉仪 | “儿子是意外死的,保住股份就是保住他” → 交出沈氏 | 绝不伤害儿子;知道真相即倒戈 | 84 | 周启年 | “收钱改个字,不算杀人” → 被扒后私藏的袖扣成了他唯一的筹码 | 怕死胜过怕丢脸 | 85 | 宋知远 | “我在替沈家赚钱” | 毁证→伪证→嫁祸→灭口→收买,每次换招 | 86 87 ## 八、爽债账 88 89 | ID | 开债 | 小额回收 | 全额回收 | 90 |---|---|---:|---:| 91 | D1 | 当众退婚,骂她“晦气” | 2 | 30 | 92 | D2 | 苏曼丽当众羞辱 | 3 | 55 | 93 | D3 | 媒体称她“疯女” | 18 | 30 | 94 | D4 | 周启年逼签、停职 | 12 反击 | 35 | 95 | D5 | 苏曼丽反水 | 45 | 55 | 96 | D6 | 宋知远嫁祸沈砚 | 44 | 60 | 97 | D7 | 她自己的签名 | 35 | 60 | 98 99 同一种羞辱最多重复一次;第三次必须由林晚主动设局反打。 100 101 ## 九、分集与 AI 生产约束 102 103 - 每集只有一个主转折。集尾钩子在“证据出现、身份相撞、错胜、倒计时、情感真相”之间轮换,“大人物到门口”全剧最多用三次。 104 - 固定资产 ID:林晚的风衣和旧表、程野的白手套(30 集后不再戴)、沈砚的耳钉、宋知远的袖扣(一新一旧)、周启年的金表。沈峥与程野同脸,回忆戏用冷色调和虎口疤区分。 105 - 解剖戏不拍血腥全尸,只用切片、照片、遮尸布和器械特写。 106
思考 15 秒
Bash Fix consistency issues and recount
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("- 1–3 Pilot:婚礼上她被当众嘲笑是“晦气前任”;交换戒指时,她看见新郎虎口没有疤。(第 2 集)她用一个法医细节当场反击苏曼丽,随后被沈家赶出去。(第 3 集)答谢宴上,苏曼丽把求救房卡塞给她:踩她的人,在向她求救。",
"- 1–3 Pilot:第 1 集,她被当众嘲笑是“晦气前任”;新郎摘手套交换戒指,虎口没有疤,她想起三年前解剖台上那道疤。第 2 集,她用一个法医细节当场反击苏曼丽,随后被赶出婚礼。第 3 集,答谢宴上苏曼丽塞给她求救房卡:踩她的人,在向她求救。"),
("舆论认定宋婉仪为夺股权杀子","舆论认定宋婉仪害死儿子、找替身骗股权"),
("- 46–49:股权已交接,程野失去用处,成为下一个“意外”。林晚救下他,换来证词承诺。",
"- 46–49:程野想起当年联系他整容的人是宋知远,于是成了下一个“意外”的目标。林晚救下他,换来他出庭作证的承诺。"),
("R1 无名尸有同样的疤(6)","R1 私存照片证实无名尸有疤(6)"),
("| 周启年 | “收钱改个字,不算杀人” → 被扒后私藏的袖扣成了他唯一的筹码 | 怕死胜过怕丢脸 |","| 周启年 | “收钱改个字,不算杀人” → 遇险后交出袖扣、出庭作证 | 怕死胜过怕丢脸 |"),
("| 宋知远 | “我在替沈家赚钱” |","| 宋知远 | “我在替沈家赚钱” → 认罪伏法 |"),
("| D4 | 周启年逼签、停职 | 12 反击 | 35 |","| D4 | 周启年逼签、停职 | 31 | 35 |"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3088 no-md 2800 cjk 2105
思考 9 秒
Agent:
全剧骨架已经写好,存成 `验尸官的婚礼_全剧骨架.md`,放在当前目录。按 premise.md 的要求,只写了骨架,没写分集大纲和剧本。字数约 2800(汉字 2105 个,加上标点和数字约 2800;表格竖线、井号这类 Markdown 符号也算进去的话是 3088)。 **结构:** - **五段,60 集**:婚礼(1–12,认出替身)→ 死者是谁(13–30,第 30 集当众逼新郎摘手套,替身曝光;但这次是"错胜",宋知远借机接管沈氏)→ 凶手会学习(31–45,宋知远嫁祸沈砚,苏曼丽反水)→ 游艇夜(46–55)→ 她的签名(56–60,当庭推翻自己的报告)。 - **两条线一起推**:A 线追"谁杀了沈峥",B 线是她自己签的那份报告。规定每 5 集两条线都要往前走,林晚离真相越近,代价也越大。 - **8 件证据**:每件都标了第几集出现、第几集确认有效,第 60 集庭审全部用上。另有"同一种毁证手段不得连用两次"等每集必须遵守的规则。 - **其余部分**:四条阶梯(揭露、对手、能力、代价)、7 个人物的错误信念和结局选择、7 笔爽债的回收集数、集尾钩子怎么轮换、AI 拍摄要固定的道具、解剖戏不拍血腥。 **我补了几条选题卡里没写的设定,请确认:** 1. 三年前她认不出那具尸体:尸体泡海、脸已损毁;当时"沈峥"在国外养病,还给她发过消息。 2. 程野一年前退婚,真正原因是宋婉仪怕法医看穿替身,"晦气"只是借口。 3. 那块旧表是沈峥订婚时送她的。新郎在婚礼上看见它毫无反应,这是第二个破绽。 4. 尸体手里攥着一枚船锚袖扣,被周启年私藏了三年,用来牵制宋知远。宋知远现在戴的那对里,有一枚是新配的。 5. 是宋知远亲自联系程野去整容,所以第 46 集后程野成了下一个灭口目标。 6. 第 56 集宋知远提出交易:抹掉她的签字记录,换她撤回证据。这和周启年三年前接受的是同一种交易,她拒绝了。 这些设定哪条不合你的意思,告诉我,我改骨架里对应的地方。
这一轮结束:耗时 4.3 分钟,按 API 价格折算 $0.90
第 2 轮
输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。
思考 2 秒
Agent:
骨架文件已经写好。现在只剩一处不确定:如果把表格竖线、井号这些符号也算进字数,是 3088,超过 3000。我按最严的算法再压一下,并把补充设定标成定稿。
Bash Finalize settings label and trim to under 3000 chars
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("## 二、逻辑护栏(补充设定,写作不得违背)","## 二、逻辑护栏(已定稿,写作不得违背)"),
("1. 三年前尸体泡海、面部损毁;当时“沈峥”人在国外“养病”,还给她发过消息。虎口疤不罕见,所以她当时没起疑。","1. 三年前尸体泡海、面部损毁,“沈峥”又在国外“养病”、还给她发过消息;虎口疤不罕见,她当时没起疑。"),
("3. 宋家知道那道疤,所以让程野在公开场合戴手套。婚礼交换戒指必须摘手套,这是破绽出现的时刻。","3. 宋家知道那道疤,让程野公开场合戴手套;交换戒指必须摘手套,破绽由此出现。"),
("5. 船锚袖扣原本有一对。尸体手里攥着其中一枚,被周启年私藏下来,用来牵制宋知远;宋知远现在戴的那一对,其中一枚是新配的。","5. 尸体手里攥着一枚船锚袖扣,被周启年私藏,用来牵制宋知远;宋知远现在那对袖扣有一枚是新配的。"),
("1. 每集至少一样**能拍特写**的证据:疤、伤、切片、文书、签名、录音、物件,不能只靠台词说出来。","1. 每集至少一样**能拍特写**的证据(疤、伤、切片、文书、签名、录音、物件),不能只靠台词。"),
("- 36–42:宋知远学会抢先伪造证据,把凶手指向那晚醉酒的沈砚;苏曼丽为了家族生意反水,作证沈砚当晚和哥哥吵过架。沈砚被抓,林晚失去内应。","- 36–42:宋知远抢先伪造证据,把凶手指向那晚醉酒的沈砚;苏曼丽为家族生意反水,作证沈砚当晚和哥哥吵过架。沈砚被抓,林晚失去内应。"),
("- 每集只有一个主转折。集尾钩子在“证据出现、身份相撞、错胜、倒计时、情感真相”之间轮换,“大人物到门口”全剧最多用三次。","- 每集只有一个主转折;集尾钩子在证据出现、身份相撞、错胜、倒计时、情感真相之间轮换,“大人物到门口”全剧最多三次。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3054 no-md 2766 cjk 2074
思考 1 秒
Bash Trim further to meet strict count
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("- **对手**:苏曼丽(近身羞辱,12 收束)→ 宋婉仪(守住家族秘密,52 倒戈)→ 周启年(制度守门人,也是她的镜像:签了同一份报告,做了相反的选择,35 收束)→ 宋知远(幕后,60 收束)。",
"- **对手**:苏曼丽(近身羞辱,12)→ 宋婉仪(守家族秘密,52 倒戈)→ 周启年(制度守门人,也是她的镜像:同一份报告,相反的选择,35)→ 宋知远(幕后,60)。"),
("- 50–52:周启年在看守所遇险,交出藏了三年的袖扣。宋婉仪得知杀子的是亲弟弟,倒戈。","- 50–52:周启年在看守所遇险,交出藏了三年的袖扣;宋婉仪得知杀子的是亲弟弟,倒戈。"),
("| 沈砚 | “那晚我什么都不记得” → 面对自己的醉酒 | 从嘲讽者变成内应,被冤后不退出 |","| 沈砚 | “那晚我什么都不记得” → 面对自己的醉酒 | 由嘲讽者变内应,被冤不退出 |"),
("| 宋婉仪 | “儿子是意外死的,保住股份就是保住他” → 交出沈氏 | 绝不伤害儿子;知道真相即倒戈 |","| 宋婉仪 | “儿子是意外死的,保住股份就是保住他” → 交出沈氏 | 绝不伤害儿子 |"),
("- 9–12:中心档案“失火”。沈家买通媒体,说她是“嫉妒成疯的前任”,周启年借机停了她的职。","- 9–12:中心档案“失火”;沈家买通媒体称她“嫉妒成疯的前任”,周启年借机停她的职。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3030 no-md 2742 cjk 2052
思考 1 秒
Bash Final trim and recount
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("2. 证据走三步:出示 → 沈家毁证或抹黑 → 林晚用专业换一条路拿回或反证。同一种毁证手段不得连用两次。","2. 证据走三步:出示 → 沈家毁证或抹黑 → 林晚用专业换路拿回或反证;同一种毁证手段不连用两次。"),
("- 19–24:查程野的身份线:赌债、整容、被控制的妹妹。宋婉仪用钱和舆论围剿她,又派人去销毁切片。","- 19–24:查程野身份:赌债、整容、被控制的妹妹。宋婉仪用钱和舆论围剿她,并派人销毁切片。"),
("- 57–59:庭审中,宋知远以她签过假报告为由,申请排除她的全部证据。她当庭承认自己受迫签字,推翻原报告。","- 57–59:庭审中宋知远以她签过假报告为由,申请排除她全部证据;她当庭承认受迫签字,推翻原报告。"),
("- 53–55:苏曼丽发现宋知远准备让苏家顶洗钱的罪,交出港口账目。D5 回收。","- 53–55:苏曼丽发现宋知远要让苏家顶洗钱的罪,交出港口账目,D5 回收。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3019 no-md 2731 cjk 2042
Bash Trim last lines and recount
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("- 56:宋知远提出交易:替她抹掉签字记录、恢复职务,换她撤回证据。三年前周启年接受的,就是同一种交易。她拒绝。","- 56:宋知远提出交易:抹掉她的签字记录、恢复职务,换她撤回证据。三年前周启年接受的正是这种交易。她拒绝。"),
("- 46–49:程野想起当年联系他整容的人是宋知远,于是成了下一个“意外”的目标。林晚救下他,换来他出庭作证的承诺。","- 46–49:程野想起当年找他整容的是宋知远,成了下一个“意外”目标;林晚救下他,换来出庭作证的承诺。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3011 no-md 2723 cjk 2035
思考
Bash Trim header and recount
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
reps=[
("> 60 集 × 1–2 分钟|竖屏|AI 仿真人。分集大纲与剧本不得与本骨架冲突;要改先改这里。","> 60 集×1–2 分钟|竖屏|AI 仿真人。分集大纲与剧本不得与本骨架冲突。"),
("同一种羞辱最多重复一次;第三次必须由林晚主动设局反打。","同一种羞辱最多重复一次,第三次须由林晚设局反打。"),
]
for a,b in reps:
assert a in t,a[:20]; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3001 no-md 2713 cjk 2026
Bash Final micro-trim and recount
输入
python3 - <<'EOF'
p='验尸官的婚礼_全剧骨架.md'
t=open(p,encoding='utf-8').read()
a="- 解剖戏不拍血腥全尸,只用切片、照片、遮尸布和器械特写。";b="- 解剖戏不拍血腥全尸,只用切片、照片、遮尸布、器械特写。"
assert a in t; t=t.replace(a,b)
a="5. 林晚只凭证据说话,不靠直觉,也不靠别人救场。";b="5. 林晚只凭证据说话,不靠直觉,不靠别人救场。"
assert a in t; t=t.replace(a,b)
open(p,'w',encoding='utf-8').write(t)
import re
print('non-ws',len(re.sub(r'\s','',t)),'no-md',len(re.sub(r'[\s|#*\->:]','',t)),'cjk',len(re.findall(r'[一-鿿]',t)))
EOF返回
non-ws 3000 no-md 2712 cjk 2024
思考 4 秒
Agent:
全剧骨架已定稿,就在当前目录:`验尸官的婚礼_全剧骨架.md`。分集大纲和剧本按你的要求没有写。 这一轮改了两处: - **补充设定定为正式设定**:上次让你确认的 6 条我推荐的设定,现在直接写进骨架,作为后续写作不能违背的前提。比如尸体泡海认不出、退婚的真实原因、旧表、私藏的袖扣、宋知远亲自找程野整容、第 56 集的交易。 - **压缩字数**:连同表格符号一起算,正好 3000 字(汉字 2024 个,不算 Markdown 符号约 2700),符合"3000 字以内"。内容和上一版一样,只删了重复的说法。 骨架的结构没变:分五段走完 60 集,中点在第 30 集,替身当众曝光,但这次胜利是假的;8 件证据都标了第几集出现、第几集确认有效。其余是四条阶梯、人物弧、7 笔爽债,以及每集和 AI 拍摄的约束。
这一轮结束:耗时 0.9 分钟,按 API 价格折算 $1.14
第 3 轮
输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。
思考 2 秒
Bash Confirm skeleton file exists in current directory
输入
ls -la *.md && grep -c "" 验尸官的婚礼_全剧骨架.md
返回
-rw-r--r-- 1 user wheel 4233 Oct 30 17:24 premise.md -rw-r--r-- 1 user wheel 8323 Oct 30 17:29 验尸官的婚礼_全剧骨架.md 105
Agent:
全剧骨架已经写完,就是当前目录下的 `验尸官的婚礼_全剧骨架.md`,这一轮没有改动。需要你定的地方都按我推荐的写进去了,没有留待确认的项。 premise.md 的三条要求都满足了: - **只交骨架**:没有写分集大纲和剧本正文,60 集只按段落和集数范围写走向。 - **3000 字以内**:连同表格竖线、井号这些符号一起算正好 3000 字,其中汉字 2024 个。 - **管住后面的大纲和剧本**: - **剧情走向**:五段推进 60 集,每段写明主要对手和揭开到哪一层真相。 - **证据规则**:每集必须拿出一样看得见的证据;8 件证据都标了第几集出现、第几集确认有效。 - **人物与爽点**:揭露、对手、能力、代价四条阶梯,7 个人物的转变,7 笔爽债各在第几集回收。 - **硬性约束**:6 条逻辑护栏,以及每集和 AI 拍摄的限制。 后续要动骨架,先改这份文件,再写分集。
这一轮结束:耗时 0.2 分钟,按 API 价格折算 $1.19
第 4 轮
输入:
如果要我在几个方案里选,就选你最推荐的那个;其他要我定的,都按你推荐的来,不用再问我。请继续,直到 premise.md 要的全剧骨架写成文件;骨架之后的分集大纲和剧本不用写。
思考 2 秒
Agent:
这份骨架已经写完了:当前目录下的 `验尸官的婚礼_全剧骨架.md`,3000 字以内,只写了骨架,没写分集大纲和剧本。 这次和上次一样,我没有改文件。没有留给你决定的问题,也没有没做完的部分。骨架完成后,下一步本来是分集大纲,但你说不用写,所以到这里就结束了。 如果你觉得骨架还缺什么,或者哪部分要改,直接说具体位置,我改文件里对应的那一段。
这一轮结束:耗时 0.1 分钟,按 API 价格折算 $1.21