小说蒸馏·拆解·复刻流水线
把一部小说"拆成可复用的写作基因",再"装进全新故事"。核心交付物不是读后感,而是可量化指纹 + 可套用红线 + 可微调数据集 + 抗 AI 味校验。
何时用本 skill
- 用户给了
xxx.txt(某小说/网文)要求"全面解析""拆解""学习写作" - 用户要"复刻某作者风格写新故事""换世界观保同质感"
- 用户要"给某文体做训练集""侧写/文风微调数据"
- 用户贴了朱雀/AI 检测分段结果,要求"降 AI 值""修写作味"
工作流总览(按此顺序推进)
① 指纹采集 → corpus_analysis.py(全本量化,产 fingerprint.json)
② 七维蒸馏 → references/七维蒸馏方法学.md(骨架/文笔/情绪/规则/人物/落地/切片)
③ 十维拆解 → references/十维拆解框架.md(novel-deconstruction 十维报告)
④ 红线反推 → references/误移植红线清单.md(跨书移植禁忌 + Desktop v4.0 十八条)
⑤ 试写复现 → 按 DNA 写全新章节,gen 脚本配对中文引号
⑥ 红线校验 → verify_chapter.py(七条硬上限 + 诊断)
⑦ 数据集策展 → build_dataset.py(Alpaca 合规 + DPO 红线违例对照)
⑧ 进化闭环 → self-evolution 记录反馈、沉淀经验规则
> 铁律:步骤 ① 必须先做。没有指纹基线就直接"套风格"= 盲写,必踩误移植红线(见 references/误移植红线清单.md)。
① 指纹采集(一切的起点)
运行脚本对源书做量化:
python scripts/corpus_analysis.py --src 小说.txt \
--out 量化/fingerprint.json \
--benchmark 基准指纹.json \ # 可选,做差异对标
--names 主角A,主角B,反派 \
--terms 侧写,法医,凶手 # 题材关键词
产出 fingerprint.json,关键字段含义见 references/指纹对标框架.md。
核心用途:拿到本书的"冷/热"坐标——句长、对话占比、叹号密度、语气词密度、第一人称纯度、破折号癖好、对话动词前后置率。这些就是步骤 ④ 反推红线的原料。
② 七维蒸馏(七种拆解视角)
读 references/七维蒸馏方法学.md,按七种方法逐一落地(每种对应不同"适合目标"):
| 维 | 主攻 | 适合目标 | 交付 |
|---|---|---|---|
| 1 蒸馏 | 故事骨架、情节结构 | 学整体故事设计、起承转合、节奏节点 | 骨架图 + 案件引擎提炼 |
| 2 拆解 | 段落叙事、文笔技巧 | 学钩子、情绪铺垫、句子控制、视角 | 笔法样本库 |
| 3 转译置换 | 情绪曲线、冲突模式 | 换世界观但保同质感 | 压力类型表(可移植) |
| 4 反推约束 | 底层创作规则 | 提炼固定叙事准则套新故事 | 红线清单 |
| 5 角色抽离 | 人物动机、行为模式 | 学人物塑造、反应逻辑 | 人物反应矩阵 |
| 6 重写复现 | 情绪效果落地 | 练笔对比找差距 | 高光段复写 + 差距分析 |
| 7 切片重组 | 短句、小钩子技巧 | 零散积累最小叙事切片 | 切片库 |
③ 十维拆解(novel-deconstruction 框架)
读 references/十维拆解框架.md,产出十维报告:叙事架构 / 人物系统 / 情绪工程 / 文笔文风 / 主题核心 / 冲突模式 / 节奏节点 / 世界观 / 钩子设计 / 类型惯例。每维给出量化指标 + 可套用准则 + 反例。
④ 红线反推(防误移植——最关键的一步)
读 references/误移植红线清单.md。跨书风格移植最大的坑是"把 A 书的显性习惯套到 B 书",例如:
- 藏地密码是"对话动词前置律",犯罪心理档案是"后置主导 86.7%"——照搬前置立即露馅;
- 某书叹号/千字 1.68,你写 5.0 就 AI 味爆表;
- 破折号在本案应永久为 0,你用了就是红线违例。
红线来自:指纹基线(步骤①)+ 本书题材惯例 + Desktop v4.0 反 AI 十八条(见 references/误移植红线清单.md 附录)。把它们写成 --redline JSON 喂给步骤⑥。
⑤ 试写复现(换壳不换核)
按 DNA 写全新章节:保留核心团队/内核,全部更换世界观、人物、事件。
必须用生成脚本配对转换中文引号(半角引号必被朱雀误判):
# 配对转换 ASCII " -> 中文引号,并在强调处用中文单引号 ''
out=[]; open_count=0
for ch in raw:
if ch=='"':
out.append('“' if open_count%2==0 else '”'); open_count+=1
elif ch=="'":
out.append('‘' if open_count%2==0 else '’'); open_count+=1
else: out.append(ch)
⑥ 红线校验(交付前必跑)
python scripts/verify_chapter.py --path 试写章节.txt \
--redline 红线.json --base 量化/fingerprint.json
七条硬上限(默认,可在 redline JSON 覆盖):
- 句长均值 ≥ 34 | 对话段占比 55–75% | 引号对/千字 ≤ 14
- 叹号/千字 ≤ 2.5 | 破折号/千字 ≤ 1.2 | 语气词/千字 ≤ 6
- ASCII 半角引号 = 0 | 第一人称独白段 = 0
诊断项(不强制但打印):对话动词后置率、我/千字对标。
任一 ❌ 必须修复后再交付——常见病灶见 references/误移植红线清单.md 的"AI 味病灶对照表"。
⑦ 数据集策展(dataset-curator)
python scripts/build_dataset.py --out 数据集 --author 作者标识
- Alpaca:instruction/input/output,output 必须过红线(合规写法)
- DPO:每条 prompt 配
chosen(合规)与rejected(显式编码红线违例:前置动词、情绪名词、总结腔、叹号滥用、讲义段、半角引号)
替换指引:把 ALPACA 的 output 换成目标作者 DNA 合规写法;把 DPO 的 rejected 换成同意图下的红线违例写法。内置样例来自《犯罪心理档案》蒸馏,作示范。
⑧ 进化闭环(self-evolution)
每次任务结束记录反馈、沉淀经验规则:
python ~/.workbuddy/skills/self-evolution/scripts/se.py log \
--task "本次任务" --bad "踩了什么坑" --lesson "学到什么规则" \
--good "做对了什么" --score N --tags "标签"
python ~/.workbuddy/skills/self-evolution/scripts/se.py promote
python ~/.workbuddy/skills/self-evolution/scripts/se.py apply --all
python ~/.workbuddy/skills/self-evolution/scripts/se.py check
常见需沉淀的规则:半角引号必转中文、写完必跑 verify、跨书移植先量对话动词前后置。
配套资源
- scripts/corpus_analysis.py — 全本指纹量化(参数化)
- scripts/verify_chapter.py — 红线校验(七上限 + 诊断,参数化)
- scripts/build_dataset.py — Alpaca+DPO 数据集生成
- references/七维蒸馏方法学.md — 七种蒸馏方式详解
- references/十维拆解框架.md — novel-deconstruction 十维
- references/误移植红线清单.md — 跨书移植禁忌 + Desktop v4.0 十八条 + AI 味病灶对照
- references/指纹对标框架.md — 指纹字段含义与对标方法
失败/反模式提醒
- ❌ 没跑指纹就直接写"复刻章节" → 必误移植
- ❌ 把侧写/独白写成"结论宣读"(信息未过行为)→ 朱雀片段 AIGC 飙升
- ❌ 用半角引号、排比三连、对称句、双工整明喻堆砌 → AI 味
- ❌ 修复 AI 味时改出对话占比/引号密度超标 → 红线副作用,需回收
- ❌ 交付前没跑 verify_chapter.py → 不知是否越界