Files
mcn-short-video/project/短视频脚本创作/V1.0/脚本创作技能/references/创作流程规范.md
T

461 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 创作流程规范
> 本文档定义短视频脚本创作流程中的通用协作机制,包括用户确认门和脚本格式规范。
> 各步骤文件中的处理规则为步骤专用逻辑,跨步骤的通用机制以本文档为准。
---
# 一、十一步创作流程索引
| # | 步骤 | 确认节点 | 详细文件 |
|---|------|:------:|---------|
| ① | 意图识别 | Gate-0 分析确认 | [1_意图识别.md](创作流程/1_意图识别.md) |
| ② | 需求完善 | Gate-0 分析确认 | [2_需求完善.md](创作流程/2_需求完善.md) |
| ③ | 对标视频/账号拆解 🔶 | 可选步骤 | [3_对标视频账号拆解.md](创作流程/3_对标视频账号拆解.md) |
| ④ | 账号设定解析和确认 | Gate-1 人设确认 | [4_账号设定解析和确认.md](创作流程/4_账号设定解析和确认.md) |
| ⑤ | 生成短视频选题 | Gate-2 选题确认 | [5_生成短视频选题.md](创作流程/5_生成短视频选题.md) |
| ⑥ | 生成短视频框架 | Gate-3 框架确认 | [6_生成短视频框架.md](创作流程/6_生成短视频框架.md) |
| ⑦ | 生成短视频大纲 | Gate-4 大纲确认 | [7_生成短视频大纲.md](创作流程/7_生成短视频大纲.md) |
| ⑧ | 植入广告内容 🔶 | Gate-4 大纲确认 | [8_植入广告内容.md](创作流程/8_植入广告内容.md) |
| ⑨ | 生成短视频脚本 | Gate-5 脚本确认 | [9_生成短视频脚本.md](创作流程/9_生成短视频脚本.md) |
| ⑩ | 生成短视频分镜脚本 🔶 | — | [10_生成短视频分镜脚本.md](创作流程/10_生成短视频分镜脚本.md) |
| ⑪ | 脚本检查和诊断 | Gate-6 最终确认 | [11_脚本检查和诊断.md](创作流程/11_脚本检查和诊断.md) |
| — | 生成创作回顾.html 🔴 | Gate-6 确认后自动执行 | 整合全流程产物可视化回顾页,命名 `脚本{编号}_{脚本标题}_创作回顾.html` |
> 🔶 **步骤⑩为可选步骤**:默认创作流程结束于步骤⑨(脚本正文)。步骤⑩在脚本正文每段前增加 `【景别 | 场景·光线 | 入镜元素】` 拍摄标注,形成分镜脚本,适合审阅反馈。
>
> 步骤⑩仅在用户明确要求时执行(如"生成分镜"/"展开分镜"/"需要分镜脚本")。
---
# 二、创作模式与用户确认门机制
## 创作模式
本技能支持两种执行模式,控制确认门(Gate)的行为:
### ⚡ 快速模式(默认)
| 维度 | 行为 |
|------|------|
| Gate 行为 | 所有 Gate(Gate-0~6)自动通过,AI 自主决策推进 |
| Gate-2 选题 | AI 自动选择推荐方案,不需用户逐个选择 |
| 流程节奏 | 一气呵成,不暂停等待用户 |
| 适用场景 | 用户信任 AI 判断、追求效率、需要快速产出 |
### 🤝 共创模式
| 维度 | 行为 |
|------|------|
| Gate 行为 | 所有 Gate(Gate-0~6)严格执行用户确认机制 |
| Gate-2 选题 | 用户必须从方案中选择,AI 不代为决定 |
| 流程节奏 | 每个 Gate 暂停等待用户确认后才能推进 |
| 适用场景 | 用户希望深度参与创作过程、对内容有明确要求 |
### 模式切换规则
- **默认模式**:快速模式(用户未明确指定时自动使用)
- **启动时选择**:用户可在创作需求中注明"共创模式"或"快速模式"
- **中途切换**:用户随时可说"切换到共创模式"或"切换到快速模式"
- **切换生效点**:下一个未执行的确认门开始按新模式执行
---
## 用户确认门机制
> **P0 级别规则。** 以下规则在 **共创模式** 下严格执行;**快速模式** 下所有 Gate 自动通过,AI 自主决策推进。
创作流程在以下关键节点设置「用户确认门」(User Gate):
| 确认门编号 | 节点名称 | 触发时机 | 通过指令示例 |
|:---------|:-------|:-------|:-----------|
| Gate-0 | **分析确认** | 步骤1意图识别完成后提交;步骤2需求完善:⚡快速模式自动补全合并提交 / 🤝共创模式每维度候选方案需用户确认后写入 | "确认分析"、"通过"、"OK" |
| Gate-1 | **人设确认** | 步骤4达人人设卡片已输出 | "确认人设"、"通过" |
| Gate-2 | **选题确认** | 步骤5选题方案已输出(含5个方案) | "选方案一"、"用第二个"、"通过" |
| Gate-3 | **框架确认** | 步骤6框架方案已输出(含推荐方案) | "确认框架"、"用方案A"、"通过" |
| Gate-4 | **大纲确认** | 步骤7大纲 + 步骤8广告植入方案(如有)已输出 | "确认大纲"、"通过" |
| Gate-5 | **脚本确认** | 步骤9脚本正文已输出 | "确认脚本"、"通过" |
| Gate-6 | **最终确认** | 步骤11诊断报告已输出 | "确认交付"、"通过" |
## 确认门标准行为规范
### ✅ 输出阶段产物后,必须这样结束
每个确认门触发时,必须按以下固定格式向用户提交确认请求:
```
---
📋 【Gate-N | 节点名称】确认门
本阶段产出已完成,核心内容如上。
请确认以下几点:
① [最关键的决策点描述]
② [次关键的决策点描述]
③ [需要用户特别关注的风险或取舍]
✅ 如果确认通过 → 请回复「确认」或说明进入下一步
✏️ 如果需要修改 → 请指出具体修改意见,本轮修改后重新提交
⛔ 不得在用户回复前自动推进到下一阶段
---
```
**Gate-2(选题确认)特殊规则:** 当步骤5产出多个选题方案时,确认格式升级为选择式提交,用户必须从方案中选一个(不可仅回复"通过"):
```
---
📋 【Gate-2 | 选题确认】请选择你感兴趣的选题
已为你生成 5 个选题方案(详见上方)。
🎯 推荐方案:方案{一/二/三} — {主题}(推荐理由:...)
请选择:
① 回复「选方案一」→ 使用方案一进入框架阶段
② 回复「选方案二」→ 使用方案二进入框架阶段
③ 回复「选方案三」→ 使用方案三进入框架阶段
✏️ 组合需求 → 指出要混合的元素
🔄 重新生成 → 回复"重新生成"
⛔ AI 不会替你选择,请明确回复方案编号
---
```
### ❌ 严禁行为(共创模式下严格执行)
- **禁止预判通过**:不得在没有收到用户确认指令的情况下写"接下来我们进入下一阶段…"
- **禁止合并推进**:不得将两个以上的确认门合并为一次确认
- **禁止静默跳过**:不得以"用户没有提出异议"为由默认通过确认门
- **禁止超限等待**:用户超过 3 轮未明确确认/修改,主动询问用户
> ⚡ 快速模式下,上述禁止行为不适用——AI 按自身判断自动通过所有 Gate 并推进流程。
> 用户随时可切换到共创模式,切换后下一个 Gate 起严格执行上述规则。
## 修改循环规则(共创模式下适用)
每个确认门支持**无限轮修改**,直到用户明确表示通过为止。每轮修改遵循以下规则:
```
修改轮次记录格式:
第 N 轮修改
用户意见:[摘录用户反馈关键词]
修改内容:[本轮变更描述]
修改后状态:待确认
```
修改轮次超过 5 次时,额外输出一份「分歧分析」,罗列当前方案与用户期望的差距,供用户决策是否重置该阶段。
---
# 三、脚本格式规范
## 格式选择规则(步骤9专用)
> 脚本格式由**叙事形态**(F01-F08)决定,不跟着赛道走。同一赛道内不同叙事形态使用不同格式。
> 完整定义参见知识库:`03_框架节奏/07_脚本格式选择指南.md`
| 叙事形态 | 使用格式 | 编号风格 | 一句话特征 |
|:---:|------|:--:|------|
| F01 剧情演绎 | **A·场次叙事** | 场1/场2… | 多角色+对白驱动+场景转换 |
| F02 Vlog纪实 / F08 人物采访 | **B·Vlog双轨** | 场1/场2… | 画面+旁白双轨,第一视角 |
| F03 干货口播 / F05 教程教学 / F06 盘点解说 | **C·口播要点** | 场1/场2… | 口播主体 + B-roll标注 |
| F04 测评种草 / F07 纯视觉短片 | **D·视觉脚本** | 场1/场2… | 画面驱动,少台词 |
### 格式间禁止混用
- F01 剧情类严禁使用旁白驱动
- F02/F08 Vlog类不得套用剧情多角色对白格式
- F03/F05/F06 口播类不得堆砌动作叙述
- F07 纯视觉类不得写大段台词
---
## A·场次叙事格式(F01 剧情演绎专用)
```
脚本标题
总时长:X秒|整体配比:开场X%(Xs)、中段主体X%(Xs)、结尾X%(Xs)|共X个场次|叙事驱动模式:{从S6继承}|情感铺垫:{强/中/弱,从S6继承}
一、开场钩子(Xs-Xs,占比X%)
**场1:地点·时间(Xs-Xs) 情绪:{从S6继承的情绪值}**
【景别 | 环境 | 光线 | 场景 | 场景元素】
(动作叙述——场景/人物行为/情绪变化。连续自然段落,不使用列表符号。情绪通过身体反应内嵌在动作中。)
**角色名**:
(动作/表情/语气)
台词内容
二、中间主体(Xs-Xs,占比X%,拆分X个场次)
**场2:地点·时间(Xs-Xs) 情绪:{从S6继承的情绪值}**
【景别 | 环境 | 光线 | 场景 | 场景元素】
...
三、结尾收口(Xs-Xs,占比X%)
**第N场:地点·时间(Xs-Xs) 情绪:{从S6继承的情绪值}**
【景别 | 环境 | 光线 | 场景 | 场景元素】
...
```
**场次书写规则:**
- **场次标题**:**加粗**,`第N场:地点·时间(Xs-Xs) 情绪:{值}`,用 `·` 分隔地点和时间。转场时用 `→` 连接(如 `ATM前→家中·白天`)。标题只交代场景,不写叙事内容。
- **场次画面元数据**:场标题下加一行 `【景别 | 环境 | 光线 | 场景 | 场景元素】`:景别=画面聚焦范围(近景/全景/特写);环境=环境氛围(时间/天气/气氛);光线=光线氛围(暖光/冷光/逆光);场景=具体场景地点;场景元素=关键物件/人物/状态。
- **动作叙述**:连续自然段落,不使用列表符号。情绪通过身体反应内嵌在动作中(如"肩膀微微颤动了一下"),与标题的情绪标签形成双轨呼应。
- **角色名**:**加粗**单独一行,后跟冒号。动作/表情/语气标注另起一行,用括号包裹(可选,纯台词无动作时省略)。动作标注与角色名**不在同一行**。
- **台词**:另起一行,口语化、可直接朗读。一行一句台词。
- **纯空镜/无台词**:自然段落描述画面。
- **闪回**:段落以 `闪回:` 开头,直接嵌入动作叙述流中。
> ⚠️ **S9 与 S10 职责分离**:S9 脚本聚焦故事内容演绎——角色的行为、对话和情绪推进。景别、光线、入镜道具等分镜三要素由 S10(分镜创作)单独完成,S9 不标注 `【景别|光线|入镜】`。**注意区分**:场次画面元数据 `【景别 | 环境 | 光线 | 场景 | 场景元素】` 属 S9 画面提示(粗粒度:聚焦范围/氛围/地点/物件),S10 在此基础上细化为精确分镜,不受此限制。
**场次数量规则:** 参见知识库 `03_框架节奏/01_标准爆款结构模板.md` 中对应当前赛道和视频时长的场次结构。
---
## B·Vlog双轨格式(F02 Vlog纪实 / F08 人物采访)
```
场1:地点·时间(Xs-Xs)
【景别 | 环境 | 光线 | 场景 | 场景元素】
角色名(动作/表情/语气):台词
旁白(语气):台词——画外音配音朗读,第一视角的感受/观察/讲述
(纯动作/空镜描述——无人说话时的画面叙述)
```
**书写规则:**
- 编号用阿拉伯数字:**场1、场2、场3…**
- 场标题:`地点·时间`,不标注情绪(情绪来自画面和对话自然流露)
- 场标题下可加 `【景别 | 环境 | 光线 | 场景 | 场景元素】`,用 `|` 分隔:景别=画面聚焦范围(近景/全景/特写);环境=环境氛围(时间/天气/气氛);光线=光线氛围(暖光/冷光/逆光);场景=具体场景地点;场景元素=关键物件/人物/状态
- **一行一个故事细节**:`角色名(动作/语气):台词` 全部在同一行,不加粗
- **旁白**:画外音配音朗读,标注 `旁白(语气):台词`。第一视角的感受/观察/讲述(博主不出镜时用配音表达,观众能听到)
- **纯动作/空镜**:无台词时用 `(描述)` 括号包裹,独立一行
- 不加列表符号,不加粗
- 慎用花字/字幕(每场≤2条)
---
## C·口播要点格式(F03 干货口播 / F05 教程教学 / F06 盘点解说)
```
**场1:场景/主题(Xs-Xs)**
**{角色名}**(口播·{语气}):口播台词——面向镜头讲述。一句一行,口语化可朗读。
[B-roll:{画面描述}]
**{角色名}**(口播·{语气}):继续口播台词。
```
**书写规则:**
- 编号用阿拉伯数字:**场1、场2、场3…**
- 场标题简化:`场景/主题 + 时长`,不标注情绪
- **口播为主体**:角色面向镜头讲述
- **一行一个故事细节**:`**{角色名}**(口播·{语气}):台词` 全部在同一行,不换行
- **B-roll 标注**:`[B-roll:画面描述]` 标注辅助画面
- 结尾场以实用信息收尾,不强行升华
---
## D·视觉脚本格式(F04 测评种草 / F07 纯视觉短片)
```
**场1:画面主题(Xs-Xs)**
(画面描述——构图、光影、色彩、运镜节奏。视觉脚本的核心是画面本身。)
(配乐/音效:氛围音乐或关键音效,可选。)
(台词/字幕:如有口播或字幕说明,简短标注。台词极少。)
```
**书写规则:**
- 编号用阿拉伯数字:**场1、场2、场3…**
- 场标题:`画面主题 + 时长`
- **画面驱动**:每场核心是画面描述
- **配乐/音效敏感**:台词少,音乐承担情绪引导
- 禁止花字堆砌
## 分镜脚本格式(步骤10专用)
在步骤⑨场次叙事格式脚本基础上,每个段落前增加拍摄标注:
```
【景别 | 场景·光线 | 入镜元素】段落内容
```
**标注规则:**
- **景别**:从标准景别中选择(大远景/远景/全景/中景/近景/特写/大特写)
- **场景·光线**:拍摄场景简述 + 光线方向/色温(如"路灯杆旁·暖黄侧逆光")
- **入镜元素**:该镜头必须出现的核心道具/人物/环境元素(2-5个)
- 保留 S9 所有对白和动作内容,不做修改
- 每个动作叙述段落或台词段落 ≈ 一个镜头单元;若内部有明显景别切换,拆分为多个标注行
**分镜脚本质量要求:**
- 景别选择符合情绪映射(参考知识库 `10_分镜拍摄/景别情绪与运镜组合.md`)
- 相邻镜头景别切换 ≥ 1 级(避免跳切)
- 场景·光线与 S9 内容一致,不矛盾
- 入镜元素具体,不用模糊描述
## 视频时长与镜头数参考
| 视频时长 | 建议镜头数 | 平均单镜头时长 |
|---------|----------|-------------|
| 15s 以内 | 5-8 个 | 2-3s |
| 30s | 8-12 个 | 2-4s |
| 1min | 15-20 个 | 3-4s |
| 3min+ | 25-40 个 | 4-8s |
---
# 四、知识库调用映射表
> 每个步骤的 System Prompt 中均以 `知识库/{分类}/{文件名}.md` 格式引用知识库文件。
> 知识库更新后,AI 执行时自动读取最新版本,无需同步修改步骤 Prompt。
## 知识库分类索引
| 编号 | 分类 | 文件数 | 核心覆盖领域 |
|:---:|------|:---:|------|
| 01 | 账号设定 | 4 | 人设设计选项、IP线索流、IP记忆点、真实IP打造 |
| 02 | 故事选题 | 8 | 元素叠加/跨界重组/元素并置/元素置换、新鲜度维度、落地路径、选题三环模型(共鸣切入点设计)、共鸣的理解(6种共鸣类型+创作公式+自检+验证) |
| 03 | 框架节奏 | 8 | 标准结构模板、冲突/反转叙事、节奏控时、剪辑收尾、编导验收、脚本格式选择 |
| 04 | 爆款开场 | 11 | 10种开场方式 + 全量覆盖分析 |
| 05 | 极致事件 | 5 | 预期反转、荒诞化、无厘头、错位化、抽象化 |
| 06 | 剧情钩子 | 2 | 情绪价值设计、切换关系法 |
| 07 | 情绪共鸣 🆕 | 6 | 三层模型(识别→投射→释放)、网感坐标(赛道×叙事形态→体感映射)、情绪递进设计(四类情绪·递进缺口判断)+ 情感铺垫设计(多维度表达·蓄力释放·留白法则) |
| 08 | 对话风格 | 9 | 口播交流感、横纵二维方法、Vlog创作法、风格映射 |
| 09 | 脚本诊断 | 4 | AI质量检查、编导人工检查、各意图流程、四种意图 |
| 10 | 分镜拍摄 | 3 | 景别情绪与运镜组合、节奏与转场设计、音画配套设计 |
| 11 | 广告植入 | 1 | 植入方法论四级体系(L1铁律/L2结构/L3执行/L4评估) |
| 12 | 拆解评估 🆕 | 8 | 脚本质量自动检查清单(八类32项)、编导意图解析规则(复合意图拆解·误解映射) |
## 步骤→知识库映射
| 步骤 | 核心依赖(★) | 辅助参考(●) |
|:---:|------|------|
| S1 意图识别 | — | — |
| S2 需求完善 | 01_账号设定 △ / 02_故事选题 △ / 03_框架节奏 △ / 08_对话风格 △ | — |
| S3 对标拆解 | — | — |
| S4 账号设定 | 01_账号设定 ★ / 08_对话风格 ★ | — |
| S5 选题 | 02_故事选题 ★ / 04_爆款开场 ● | 07_情绪共鸣 ●(网感坐标·目标体感确定) |
| S6 框架 | 03_框架节奏 ★ / 07_情绪共鸣 ★(情绪·四类情绪·情绪设计卡·弧线类型·蓄力释放·缺口自检) | 04_爆款开场 ● / 05_极致事件 ● |
| S7 大纲 | —(结构模板选择+分段结构展开,情绪维度只引用 S6 不重做) | 03_框架节奏 ●(结构模板参考) |
| S8 广告 | 11_广告植入 ★ | — |
| S9 脚本 | 08_对话风格 ★ / 07_情绪共鸣 ★(多维度表达·蓄力释放演绎·留白法则) / 03_框架节奏 ★(脚本格式选择指南) | — |
| S10 分镜 | 10_分镜拍摄 ★ | — |
| S11 诊断 | 09_脚本诊断 ★ / 07_情绪共鸣 ●(情感表达专项检查) / 12_拆解评估 ●(八类32项·编导意图解析) | 03_框架节奏 ● / 04_爆款开场 ● |
> **引用格式规范:** 每个步骤文件 System Prompt 中使用 `知识库/{编号}_{分类}/{文件名}.md` 路径格式引用。
> 路径解析:`知识库/` → `references/知识库/` + `references-add/知识库/`(两目录合并检索,相对于技能根目录 `脚本创作技能/`)。
> 步骤文件位于 `references/创作流程/`,引用知识库时实际相对路径为 `../知识库/`。
> 知识库更新后,AI 直接读��最新文件内容,步骤文件无需同步修改。
---
# 五、产出路径规范
> 🔴 **每次执行步骤后,必须将产物写入对应文件路径。** 产出根目录默认为**用户电脑桌面**的 `MCNSkillCase/` 文件夹,按运行系统自动解析:**Windows** → `C:\Users\{用户名}\Desktop\MCNSkillCase\`;**macOS** → `~/Desktop/MCNSkillCase/`。开发机与部署机一致,**与技能安装位置无关**;目录不存在时自动创建。
> ⚠️ **用户自定义路径优先**:若 `references-add/路径配置.md` 存在「用户自定义路径」记录,一律以用户指定为准,本默认路径自动失效(AI 每次执行前先查该文件)。
## 输出根目录
```
{产出根目录}/MCNSkillCase/{账号名}/ ← 默认:{用户桌面} 按系统解析(Windows / macOS)
{用户自定义根目录}/{账号名}/ ← 用户指定时(以 references-add/路径配置.md 为准)
```
| 步骤 | 文件名 | 写入路径 | 说明 |
|:---:|------|------|------|
| 1 | 01_需求拆分.md | `脚本{编号}/01_需求拆分.md` | 五维度状态表 |
| 2 | 02_需求拆解.md | `脚本{编号}/02_需求拆解.md` | 内容归类 + AI补全 |
| 3 | 03_对标拆解.md | `脚本{编号}/03_对标拆解.md` | 🔶 可选 |
| 4 | 04_人设卡片.md | `脚本{编号}/04_人设卡片.md` | 账号设定 + 人设卡片 |
| — | {账号名}人设卡片.md | `{账号名}人设卡片.md` | 账号级共享(步骤4同步写入) |
| 5 | 05_故事选题.md | `脚本{编号}/05_故事选题.md` | 选题方案(含切入角度/爆款逻辑/钩子预设/共鸣切入点) |
| 6 | 06_短视频框架.md | `脚本{编号}/06_短视频框架.md` | 框架方案 + 场次结构表 + 情绪设计卡 |
| 7 | 07_短视频大纲.md | `脚本{编号}/07_短视频大纲.md` | 完整大纲 + 标题 + 合规/密度自检 |
| 8 | 08_广告植入.md | `脚本{编号}/08_广告植入.md` | 🔶 可选 |
| 9 | 09_脚本正文.md | `脚本{编号}/09_脚本正文.md` | 对应格式脚本 |
| 10 | 10_分镜脚本.md | `脚本{编号}/10_分镜脚本.md` | 分镜脚本 |
| 11 | 11_诊断报告.md | `脚本{编号}/11_诊断报告.md` | 诊断评分 |
| 🔴 | 创作回顾.html | `脚本{编号}_{标题}_创作回顾.html` | Gate-6确认后自动生成 |
**规则:**
- 步骤1执行时创建目录:在桌面 `MCNSkillCase/` 下先建 `{账号名}/`,再建 `{账号名}/脚本{编号}/`
- `{编号}` 首次为 `01`,后续自增(检查已有文件夹确定编号)
- `{账号名}人设卡片.md` 写入账号根目录(跨脚本复用),步骤4同步写入一份到 `脚本{编号}/04_人设卡片.md`
- 🔶 步骤无对应输入时跳过
- 产出根目录默认固定在用户桌面 `MCNSkillCase/`(开发机与部署机一致),不存在则自动创建,部署到任意电脑均可正常工作
- **用户自定义路径**:用户明确指定其他位置时,以用户指定为准(记录在 `references-add/路径配置.md`,运行时优先);产出结构(`{账号名}/脚本{编号}/`)不变,仅根目录变化
### 🔴 过程产物链铁律(P0,任何产出均适用)
> **任何产出(含只生成大纲/只生成标题),必须按步骤顺序执行并落盘全部中间产物**——步骤 5 → 6 → 7 产物缺一不可,禁止跳步、禁止只出最终产物不落中间文件。
1. **全链落盘**:即使最终目标只是「生成大纲」,也必须依次产出并落盘 `05_故事选题.md` → `06_短视频框架.md` → `07_短视频大纲.md`。中间产物是后续步骤的信息源,缺失即链路断裂。
2. **信息只读已落盘文件**:选题、框架等上游信息只从已落盘的产物文件读取(如从 `05_故事选题.md` 读取选题),**禁止凭对话印象/记忆编造选题内容**。
3. **文件即权威**:产物文件名以本表为准。历史脚本中可能存在的旧命名(`05_选题方案.md`/`06_脚本框架.md`/`07_脚本大纲.md`)读取时按对应新命名文件处理,新产出一律使用新命名。
---
# 六、硬编码禁止规则
> **P0 级别规则。** 创作流程、知识库、素材库标准库中禁止硬编码任何具体账号信息。
## 规则定义
**硬编码** = 将特定账号名、角色名、账号专属机制名、账号专属路径写死在通用文件中,导致文件逻辑只对特定账号成立。
## 分区规则
| 区域 | 路径 | 禁止硬编码 | 允许保留 | 原因 |
|------|------|-----------|---------|------|
| 创作流程 | `references/创作流程/` | 账号名、角色名、具名物品、具体场景词 | 通用占位符 `{账号名}`/`{场景词}`/通用描述 | 引擎文件,硬编码 = AI行为偏移 |
| 知识库 | `references/知识库/` | 账号名、角色名、账号专属机制名 | 通用描述词、方法论术语 | 方法论是通用原则,不是某账号说明书 |
| 素材库·标准库 | `references/素材库/*.md` | 账号名、角色关系绑定(如"XX账号的XX") | 具体物品(菜品/对话/穿搭) | 库本身存具体物品,但不能绑定到某账号 |
| 素材库·分块定义 | `references/素材库/分块定义/` | 账号名、角色名 | 账号A/账号B + 具体物品做格式示例 | 定义文件示格式,不是存数据 |
| MCNSkillCase/ | `{桌面}/MCNSkillCase/{账号名}/`(或用户自定义产出根目录) | — | 全部允许 | 账号专属产出目录(桌面/用户指定位置),就该写具体的 |
## 关键区分:素材库存具体物品 ≠ 硬编码
- ✅ 美食库存"松茸花胶汤" → 这是素材库的设计目的,具体物品就是素材
- ❌ 标准库写"做梦账号的松茸花胶汤" → 这是硬编码,把通用物品绑死到特定账号
- ✅ 分块定义用"账号A/账号B"做示例 → 格式演示,不绑定真实账号
- ❌ 分块定义写"做梦账号的安睡仪式" → 硬编码,示例绑定了特定账号
## 判定标准
**替换测试:** 把文件里的账号名替换成任意其他账号名——
- 文件逻辑仍然成立 → 不是硬编码 ✅
- 逻辑断裂(示例变成错误的) → 是硬编码 ❌
## 命名替换对照表
| 硬编码类型 | 替换为 | 示例 |
|-----------|--------|------|
| 具体账号名 | `{账号名}` 或 账号A/账号B | "俊希账号" → "账号A" |
| 具体角色名 | 角色A/角色B | "做梦" → "角色A" |
| 具体角色关系 | 通用关系描述 | "女老板→做梦" → "角色A→角色B" |
| 账号专属机制 | 通用机制描述 | "金钱机制" → "孩子掌管家庭开支的固定环节" |
| 账号专属路径 | 通用路径占位符 | `MCNSkillCase/做梦/` → `MCNSkillCase/{账号名}/` |
## 验证命令
每次修改通用文件后,执行以下命令验证零硬编码残留:
```bash
# 在技能根目录执行,排除 MCNSkillCase/ 和 scripts/(账号专属产出目录允许硬编码)
grep -rn "做梦\|俊希\|大炮说电影\|旧梦留声机\|温情短剧\|女老板\|小姨\|广西口音\|手绘手表\|金钱机制" --include="*.md" . | grep -v "MCNSkillCase/" | grep -v "scripts/"
```
- 零输出 = 通过 ✅
- 有输出 = 硬编码残留 ❌,需按命名替换对照表修复后重新验证
> **注意:** 验证命令中的账号名列表应随项目实际使用的账号名更新。新增账号后,将其名称加入验证命令。