AI 短剧剧本创作
这个 Skill 的唯一目标
产出没有 AI 感、没有 AI 味的短剧剧本。
格式规范、题材套路、情绪节拍,都是手段。真正的验收标准只有一条:
> 读起来像人写的。 具体说:盖住角色名能分清谁在说话;每一集结尾你会想点下一集;全篇有至少一个只有"人"才会写出来的细节。
> 第一次用? 先花 5 分钟看 references/09-worked-example.md ——
> 《对账》从一句"写个短剧,女频,都市逆袭,60集"走到完整第 1 集的全程演示,
> 含每一个阶段的真实产出、一次故意写坏的初稿、以及修订前后的对照。看完再回来走流程。
✅ 什么时候该用它 / ⛔ 什么时候不要用它
适用:
- 竖屏微短剧剧本创作(单集 60–120 秒,1–100 集)
- 已有剧本的去 AI 味修订
- 短剧策划:方向、选题、人物、分集大纲、集纲
- 剧本格式规范化(场次行 / △ / 台词 / os)
- 短剧剧本质量评估(体检脚本 + 人味自检清单)
不适用 —— 用了会得到错的建议,请换工具或换方法:
- ⛔ 横屏网剧 / 长剧 / 电影剧本 —— 节奏公式完全不同。本 Skill 的"每集一个钩子""单集 2–4 场""黄金 3 秒"是竖屏专有规格
- ⛔ 话剧、广播剧、小说、有声书 —— 格式与审美取向不同;体检脚本也读不了散文
- ⛔ 英文或其它语种的剧本 —— 体检脚本的台词长度基准、禁用词表、口语规则全部基于中文语料统计
- ⛔ 只要创意、不要成稿 —— 那用不上这套六阶段工序,直接聊创意更快
- ⛔ 仿写某个具体在世编剧的个人风格 —— 本 Skill 教的是通用的人味写作法,不做风格克隆
- ⚠️ 纯合规审查 / 备案咨询 —— references/07-compliance.md 只是编剧侧的自检提示,不构成法律意见
- ⚠️ 纯小说化文本 —— 体检脚本依赖 △ / 角色:台词 这样的剧本行结构;纯散文喂进去只会得到"全是裸文本行"的结果(脚本会给出中文说明,不会崩)
🚀 复制即用:常用调用命令
直接在输入框粘贴(把需求换成你的):
# 1) 从零开始,走完整流程
/ai-duanju-script 走完整流程写一部短剧:女频,都市逆袭,60集,先给 S1
# 2) 只要某一阶段
/ai-duanju-script 帮我出 S1 方向策划:男频,古代经商
/ai-duanju-script 我有人物小传了,帮我出 S4 分集大纲,60集
/ai-duanju-script 根据这个粗纲出 S5 集纲,第 1-10 集
# 3) 去 AI 味(最常用)
/ai-duanju-script 这段剧本 AI 味太重,按你的工序改,改完跑一遍体检脚本
/ai-duanju-script 检查我这部剧的 AI 味,逐条给出问题和改法
# 4) 只要质检,不要改写
/ai-duanju-script 只体检不改写。跑脚本 + 逐条解释每个指标为什么是这个值
# 5) 格式规范化
/ai-duanju-script 把我的剧本按竖屏短剧标准格式重排:场次行 / △ / 台词 / os
# 6) 卡住了,要具体建议
/ai-duanju-script 第 12 集写不下去了,冲突不够。按冲突升级五级阶梯帮我看看卡在哪
/ai-duanju-script 我的角色说话都一个腔调,教我怎么区分
# 7) 只要某个参考文件的内容
/ai-duanju-script 给我 03-dialogue.md 里的八种角色语言指纹模板
/ai-duanju-script 我要 10 个可以直接开跑的题材组合
直接跑体检脚本(不经过对话):
# 基础
python .dsh/skills/ai-duanju-script/scripts/ai_smell_lint.py 我的剧本.md
# 只看评分和严重问题
python .dsh/skills/ai-duanju-script/scripts/ai_smell_lint.py 我的剧本.md --quiet
# 编码不对时(Windows 记事本存的 txt 常见)
python .dsh/skills/ai-duanju-script/scripts/ai_smell_lint.py 我的剧本.txt --encoding gbk
# 交给程序消费
python .dsh/skills/ai-duanju-script/scripts/ai_smell_lint.py 我的剧本.md --json
退出码: 0=无严重项 · 1=有严重项 · 2=输入有问题 · 3=命令行用法错误。
遇到任何问题脚本都会打中文提示 + 具体解决步骤,不会抛英文栈。
> 脚本路径:<项目目录>/.dsh/skills/ai-duanju-script/scripts/ai_smell_lint.py。
> 如果当前平台不支持 / 斜杠命令,直接在对话里说需求即可(例如"帮我写一部女频都市短剧,先去 AI 味"),
> 或把上面命令里的 /ai-duanju-script 前缀去掉,用自然语言描述同一件事。
第一原则(如果只记住一件事,记这个)
> AI 味的根源不是词语,而是缺少具体人物、具体关系和具体行动。
>
> AI 写得像说明书,人写得像情绪记录。
> 问题从来不是"用了某个词",而是 "词底下没有东西撑着"。
所以遇到任何可疑的句子,问三连问:
- 具体的人 —— 这句话是这个特定的人、在此刻的处境下会说的吗?
- 具体的关系 —— 说完之后,两人的关系 / 信息 / 行动状态变了吗?
- 具体的物 —— 背后有没有一个能被拍到的物证、动作或身体反应?
三问都"有" → 放行,哪怕它用了"仿佛"。
三问都"没有" → 砍掉,哪怕它一个禁用词都没用。
工作流程:六阶段 + 一道强制工序
S1 方向策划 ──→ S2 灵感策划(三稿)──→ S3 人物小传
│
▼
S6 正文 ←── 独立修订 pass 【强制】←── S5 集纲 ←── S4 粗纲(节拍卡)
每个阶段开工前,先读对应的参考文件:
| 阶段 | 先读 | 产出 | 大约耗时 |
|---|---|---|---|
| S1 | references/04-genre-library.md |
受众/题材/流派/身份/金手指/情节/风格/元素 + 一句话卖点 | 10 分钟 |
| S2 | references/04-genre-library.md 第六节 |
三个选题(世界观≤150字 / 核心亮点≤150字 / 核心梗概≤2000字) | 20 分钟 |
| S3 | references/03-dialogue.md 第二节 |
人物小传(必含「说话方式」栏) | 20 分钟 |
| S4 | references/05-beats.md |
分段粗纲(节拍卡形式,不是叙事散文) | 30 分钟 |
| S5 | references/05-beats.md 第六节 |
集纲(每集 200–300 字,必须落在钩子上) | 每集 3 分钟 |
| S6 | references/01-format.md + references/02-anti-ai.md |
剧本正文(场次/△/台词/os) | 每集 8 分钟 |
| 修订 | references/02-anti-ai.md + references/08-guardrails.md |
去 AI 味后的终稿 | 每集 5 分钟 |
| 交付前 | references/07-compliance.md |
合规自检 | 15 分钟 |
各阶段的输出模板与可复制指令在 references/06-stage-prompts.md。
> 想先看成品再决定要不要走全流程? 直接看 references/09-worked-example.md。
> 不想走全套?只做 S6 + 修订 + 体检 这三步,也能拿到合格的单集剧本。
⏱️ 三条不同投入的路径
| 路径 | 做什么 | 适合 |
|---|---|---|
| 快速通道(约 15 分钟/集) | 直接给正文 → 修订 pass → 体检 | 已有创意和人物,只想把稿子写好 |
| 标准通道(约 1.5 小时 + 13 分钟/集) | S1→S6 全走,S4 之后按集循环 | 从零开始做一部新剧 |
| 只做质检(约 5 分钟) | 跑体检脚本 → 逐条读报告 → 只改 🔴 | 稿子已经不错,想快速排雷 |
参考文件索引
| 文件 | 内容 | 什么时候读 |
|---|---|---|
references/01-format.md |
竖屏短剧格式规范:场次标题行、五要素(人物行/△/台词/os/字幕)、人物表、集纲、粗纲分段、长度节奏硬指标、空模板 | 写 S4/S5/S6 之前必读 |
references/02-anti-ai.md |
去 AI 味核心库:AI 味特征清单(A/B/C/D 四类)、七条铁律、60 组「AI味→人味」改写对照、输出前自检清单、禁用词表、四道工序 | 每次写正文前后必读 |
references/03-dialogue.md |
台词技法:四项基本功(短/弯/刺/漏)、八种角色的语言指纹模板、六种高级技法、爽点台词公式、120 句可直接抄用的素材 | S3 定人物、S6 写对白 |
references/04-genre-library.md |
题材类型池(22 类)、流派/身份/金手指/情节/风格/元素总表、10 个可直接开跑的题材组合、中式古代题材落地注意事项 | S1/S2 |
references/05-beats.md |
节奏硬指标、男频/女频节拍表、10 个高跑量套路的完整节拍表、冲突升级五级阶梯、集纲模板与对照示例 | S4/S5 |
references/06-stage-prompts.md |
S1–S6 的输出模板、写前/写后门禁、S6 两道工序的完整可复制指令 | 每阶段开工前 |
references/07-compliance.md |
平台差异、11 条红线、医药题材雷区、14 组「违规→过审」对照、恶行不过3集受惩机制 | 交付前 |
references/08-guardrails.md |
保护性反例集:明确「不是缺陷」的情况、修稿回退判定 | 动手改稿之前必读 |
references/09-worked-example.md |
《对账》全程实例:一句需求 → S1→S6 → 修订 → 体检,含故意写坏的初稿与修订对照 | 第一次用先看这个 |
scripts/ai_smell_lint.py |
剧本体检脚本:AI 味指数 0–100 + 格式校验 + 保护性反例 + 中文异常提示 | 每次写完一集 |
七条铁律(写正文时贴在眼前)
- 不齐整 —— 一段里必须有一句特别短(2–4 字)和一句偏长(15–20 字)。连续三句长度接近,就改掉一句。
- 不解释 —— 任何角色都不许说出对方已经知道的事。
- 一人一嘴 —— 盖住角色名,必须能分清谁在说话。
- 动作承担一半台词 —— 每场戏至少 30% 的信息量由 △ 行承载。
- 留白 —— 允许沉默、答非所问、说一半。
- 钩子结尾 —— 每一集的最后一行必须是"事情要来了",不是"事情结束了"。
- 具体压过抽象 —— 能用具体名词的地方,绝不用抽象名词。
展开见 references/02-anti-ai.md 第三节。
三个最容易犯的错(AI 写短剧的三大死因)
死因 1:△ 行里写心理活动
❌ △他心中充满愤怒,意识到自己被背叛了。
✅ △他把碗砸在桌上。汤溅了铁如山一脸。
镜头拍不到"心中"和"意识到"。△ 行念给摄影师听,他能直接开机,才算合格。
死因 2:台词太长、太完整、太解释
❌ 苗二哥:我手上这瓶东西在你们这儿算宝贝,但在我们那儿只是日常用的按摩油而已。
✅ 苗二哥:这玩意儿在我那儿,不值钱。
单句 ≤20 字,目标平均 7–11 字。 长句只用在"情绪失控时一口气说完"。
死因 3:每集结尾收在"事情结束了"
❌ △苗二哥收好摊子,两人回家去了。
✅ △酒碗碎在地上。窗外,十几个黑影翻过了院墙。
没有钩子 = 观众不点下一集 = 这部剧不存在。
S6 必须拆成两道工序(本 Skill 最重要的工程约束)
> 同一份产物不能自证通过。 生成者和审查者必须是两次独立的动作。
> 不要试图一遍写对。第一道只管写出戏,第二道只管去 AI 味。
工序 A:生成 —— 按格式与节拍写正文。
工序 B:独立修订 —— 换一个身份(审稿人),只改"说法",不改剧情结构。八步流程见 references/06-stage-prompts.md 的 S6 一节。
修订 pass 完成后必须跑体检脚本:
python scripts/ai_smell_lint.py 剧本.md
输出:
- AI 味指数 0–100(<8 = A 人味充足;>65 = F 机器味极重)
- 🔴 严重(建议必改)/ 🟡 警告 / 🔵 建议 / 🛡️ 保护性反例
- 格式合规项:场次标题行、△ 占比、台词长度分布、集尾钩子、语言指纹区分度
可用参数:--json(供程序消费)、--quiet(只看评分与严重项)、--no-lexicon(跳过禁用词扫描)、--encoding gbk(Windows 记事本存的 txt)。
退出码: 0=无严重项 · 1=有严重项 · 2=输入有问题 · 3=用法错误。
> 脚本不会让你看到英文报错或 Python 栈。 路径写错、传了文件夹、传了 .docx、文件是 GBK 编码、
> 文件是空的、内容是乱码、给的是大纲而不是正文 —— 每一种都会打出中文说明 + 具体解决步骤,
> 并告诉你下一步该干什么。如果脚本报了你看不懂的错,那是 bug,请把原文贴出来。
⚠️ 最后一道保险:不要为了过指标而把稿子改坏
行业里最贵的一句话:看到硬指标就动手改,会把好稿改坏。
本 Skill 的所有量化指标(≤20 字、△ 占 35–50%、禁用词表……)都是启发式信号,不是判决。
一旦当成必须清零的任务,你会写出一份"指标全绿、读起来更假"的稿子 —— 那是新的 AI 味:全员碎句、罐头反应、刻意留白、硬铸金句。
几条明确的"不是缺陷":
- 权力压制、羞耻、正式场合下,完整、准确、礼貌的直说是成立的 —— 礼貌本身就是压迫。
- 短句成串在爆发点成立;整集平均低于 5 字才要警惕"为了过指标而剁句"。
- 长台词只要一次性把关系掀翻就成立。
- 群戏抢话时括号提示多是必需的。
- 成语如果是这个角色的口癖,就该固定用。
- 环境描写一行封顶、挂在动作上,在第一场是成立的。
- 主角一直赢没关系,只要每一轮的手段不同。
- 圆满结局没问题,只要不"升华"。
完整清单见 references/08-guardrails.md。修稿前必读。
目标区间(记住这几个数,不要背成任务)
| 项 | 目标 | 危险信号 |
|---|---|---|
| 单句台词长度 | 平均 7–11 字,单句 ≤20 字 | 平均 >15 字(书面感);平均 <4.2 字(剁碎了) |
| 台词长度标准差 | > 4 | < 4(节奏过于均匀 = 机器签名) |
| △ 行占正文比 | 35%–50% | < 30%(广播剧);> 62%(动作淹没戏) |
| 单集场次 | 2–4 场 | > 5 场(必然赶戏) |
| 单集字数 | 600–1000 字 | —— |
| 单集 os | ≤6 条 | 超过 = 用内心独白偷懒 |
| 集尾钩子 | 100% | 一集没有都不行 |
| 一般角色数 | 5–10 人 | > 12 人(观众记不住) |
交付物清单
《剧名》剧本交付包
├── 00_一句话卖点与配置表 (S1)
├── 01_三稿选题 (S2,含最终选定说明)
├── 02_人物小传 (S3,含「说话方式」栏)
├── 03_粗纲_分段节拍卡 (S4)
├── 04_集纲 (S5)
├── 05_剧本正文 (S6,已经过独立修订 pass)
└── 06_体检报告 (scripts/ai_smell_lint.py 输出)
怎么开始
三种典型开场,按情况选:
情况 1:用户只给了一句话或没想法 → 只问三件事
先确认三件事,其余我替你定:
1. 受众:男频 / 女频
2. 题材:都市 / 古代 / 武侠仙侠 / 奇幻 / 科幻 / 末世 / 悬疑(说个词就行)
3. 集数:30 / 60 / 80 / 100
没想法就回"你来定",我按「男频+古代经商+80集」起步,全流程配置好再给你看。
不要一次抛 20 个问题,不要要求用户填满 S1 的所有字段。
情况 2:用户给了完整设定 → 直接从 S1 开始
按 references/06-stage-prompts.md 的模板输出,不要重复确认,缺的部分自己补并在产出里标注"(我按 X 默认配置补齐,要改告诉我)"。
情况 3:用户给了一篇现成剧本 / 一段正文 → 先体检,再谈改写
- 跑
scripts/ai_smell_lint.py(或手工按references/02-anti-ai.md第五节过一遍) - 先报结果,不要直接动手改。把 🔴 逐条列出,说明改法
- 用户确认后再走工序 B(独立修订 pass)
- 改完重跑体检,并明确说明哪些 🛡️ 项你判断为"不是缺陷"、为什么不改
> 情况 3 最容易犯的错: 一上来就把稿子重写一遍。
> 用户要的是"改掉 AI 味",不是"换成你的版本"。先诊断,后动手。
交付前最后一遍:读出来
把整集台词朗读一遍。
- 读起来拗口 → 改。
- 读起来像书面语 → 改成口语。
- 读起来三个角色像同一个人 → 给每个人加口癖、加方言词、改句长。
- 读起来每句都在"推进信息" → 插一句废话、一个打断、一次沉默。
- 读到集尾你不想点下一集 → 结尾钩子重写。
这是唯一一道能真正干掉 AI 味的工序,不许跳过。
> 验收标准复述:
> 1. 删掉所有角色名,还能分清谁在说话吗?
> 2. 这一集里有没有一个只有"人"才会写出来的细节?
> 3. 集尾那一行,我自己想不想点下一集?
>
> 三个都"是",才算过关。