# Writing Dna

> This skill should be used when the user wants to distill their personal writing style, techniques, and thought patterns from their past articles (especially WeChat public account posts) into a reusable writing DNA profile, then write new content in that voice. Covers corpus preparation and metadata tagging, seven-dimension parallel feature collection, triple validation, layered style artifacts, a mandatory pre-writing reading routine, and a post-draft de-AI-tone cleanup pass. Use it to analyze writing samples, extract style fingerprints, generate layered artifacts, and produce new content that faithfully replicates the user's unique voice without machine tells.

- Skill: `konglong87/writing-dna` (Agent Skill, multi-file: 22 files)
- Install (CLI): `npx skillmds@latest add konglong87/writing-dna`
- Raw SKILL.md: https://api.skillmd.com/api/skills/konglong87/writing-dna/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: konglong87 (https://skillmd.com/u/konglong87)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/konglong87/writing-dna

---


# 🖌️ 神笔马良 · 写作DNA蒸馏

将自己公众号/小红书/X/Twitter 的文章蒸馏成属于你自己的「写作基因包」。
核心路径：**语料准备 → 七维并行采集 → 三重验证降噪 → 硬规则/软范式分类 → 分层产物 → 复刻写作 → 成稿收敛**

> 理念来源：借鉴认知蒸馏方法论，将隐性的个人写作风格，
> 转化为 AI 可直接执行的显性规则，本质是**人文本范式的萃取与固化**。

> v2 关键变化：产物从单一档案改为**分层产物**；写作前增加**硬性必读流程**；
> 成稿后增加**去 AI 味收敛工序**。蒸馏解决「像不像你」，收敛解决「像不像人写的」。

---

## 技能触发场景

- 用户提供文章样本，说"蒸馏文章"或"分析我的写作风格"
- 用户说"按我的风格写一篇文章"
- 用户新增文章，说"更新我的DNA"（增量蒸馏）
- 用户查看当前DNA档案
- 用户说"帮我找出我写作的盲区/反模式"
- 用户说"这篇太AI了"或"去掉AI味"（成稿收敛）

---

## 阶段零：语料准备与元数据标注

蒸馏质量的上限由语料决定。样本不足或没有元数据，后面所有步骤都是空中楼阁。

### 语料要求

- **数量**：至少 20 篇完整文章（低于 10 篇只能得到粗略印象，不可当真）
- **格式**：`.md` 或 `.txt`
- **覆盖**：尽量包含不同时期、不同体裁、不同主题的文章

### 目录结构

用脚本一键生成，或复制 `templates/author-corpus/`：

```
corpus/<作者名>/
├── raw/                原始文章语料
├── _meta/              每篇一份结构化标注
├── 语言基因.md          L1 表层语言
├── 结构骨架.md          L2 文章结构
├── 认知素材.md          L3-L5 选题·素材·认知
├── 视觉排版.md          L6 排版与配图（图文类账号必做）
├── 反模式.md            L7 盲区与禁忌（本项目独有）
└── 写作DNA.md           整合文档，≤4000 字
```

raw/ 命名规范：`YYYY-MM-DD 体裁 文章标题-来源.md`

### 元数据标注（不可跳过）

每篇文章在 `_meta/` 建一份标注，schema 见 `templates/author-corpus/_meta/example.schema.json`：

```json
{
  "title": "", "date": "YYYY-MM-DD", "author": "", "column": "",
  "article_type": "访谈|深度分析|短评|观察|综述|教程|故事",
  "topic_tags": [], "hook_type": "问题式|场景式|数据式|观点式|悬念式|故事式",
  "structure_pattern": "总-分-总|时间线|对比式|Q&A|层层递进|问题-分析-方案",
  "source_types": [], "word_count": 0, "notable": ""
}
```

> `article_type` 和 `topic_tags` 是阶段五「选 5 篇原文校准」的检索键。
> 没有元数据，那 5 篇就选不准，语感校准就无从谈起。

---

## 阶段一：文本预处理

1. **格式清洗**：去除多余空行、特殊符号、排版标记
2. **话题语义切片**：不按段落机械切分，按**话题单元**划分（一个完整论点或叙事片段为一个切片）
3. **重复内容识别**：标记在多篇文章中反复出现的段落（固定套路 or 口头禅），这类重复是 DNA 的重要信号
4. **图片内容纳入**：图文类账号必须抽样 5-10 篇逐张查看图片内容。截图、对话记录、数据表格里的文字是论证链的一部分，不看图会漏掉承重结构

---

## 阶段二：七路并行特征采集（7-Collector）

读取 `references/writing-dna-framework.md` 获取每个维度的详细分析指南。
七个维度**独立并行**分析，各自提取碎片化特征，最终汇入「原始特征池」：

| # | 采集器 | 萃取内容 |
|---|--------|----------|
| 1 | **表达范式** | 词频、句式习惯、标志性词汇、口头禅、修辞手法、中英混用 |
| 2 | **思维逻辑** | 开头钩子、论证套路、推理路径、转折方式、结尾收束 |
| 3 | **知识与素材** | 高频话题领域、类比素材库、素材来源策略、权威对象选取、数据使用方式 |
| 4 | **情感决策** | 与读者的关系定位、情绪调性频谱、共情策略、价值观优先级 |
| 5 | **选题视角** | 切入时机与角度、标题命名规律、话题优先级、明确不写什么 |
| 6 | **节奏控制** | 句长分布、段落节奏、短句爆破节点、留白风格、标点习惯 |
| 7 | **反模式** ⚠️ | 思维盲区、逻辑漏洞、表达短板、禁忌话题、负面口头禅 |

> 反模式维度同等重要——知道这个人**不会/不该**怎么写，和知道他擅长怎么写一样关键。

### 可选扩展维：视觉排版（L6）

图文类账号（公众号、小红书）**必做**，纯文字账号可跳过。
分析配图策略、图片功能分类、加粗密度、小标题字数、段落长度、色彩与强调、图文协作模式。
详见 `templates/author-corpus/视觉排版.md`。

---

## 阶段三：三重验证降噪（Triple Validator）

原始特征池中混有大量偶然发挥、情绪话、一次性观点，必须经过三道过滤，
只保留**稳定、可信、具有代表性**的特征：

#### ✅ 验证一：频次验证（Frequency Check）
- 同一特征必须在**多篇不同文章、不同话题切片**中重复出现
- 阈值：见 `config.yaml` → `validation.frequency_threshold`（默认 ≥3 篇）
- **丢弃**：仅出现一次、无法确认是否稳定的特征

#### ✅ 验证二：语境一致性验证（Context Consistency Check）
- 同一特征在**不同话题、不同情绪**的文章中表现稳定
- **丢弃**：只在特定类型文章中出现、其他文章完全没有的孤立特征

#### ✅ 验证三：逻辑自洽验证（Internal Consistency Check）
- 提炼出的多条特征之间无明显矛盾
- **处理**：标记冲突特征为 `[待确认]`，不直接丢弃，等待更多样本裁定

经过三重验证后：低质特征被丢弃，剩余**有效稳定特征集**进入下一阶段。

---

## 阶段四：特征聚合与分层产物

### 双轨分类

#### 🔴 硬规则（Hard Rules）— 直接执行
不需要 AI 理解，直接做成拦截/替换指令：
- 口头禅：`必须出现 / 偶尔出现 / 绝不出现` 的固定词语
- 禁忌话题：明确不写的领域或表达方式
- 固定句式模板：开头/结尾的标准格式
- 标题规则：字数限制、是否用数字、标题结构

#### 🔵 软范式（Soft Paradigms）— Few-shot 引导
需要 AI 理解后模仿，以示例形式呈现：
- 思维框架示例：「先给结论 → 再讲原因 → 最后补故事」的完整段落示例
- 情感调性示例：典型的情感表达段落
- 论证模式示例：典型的反直觉切入段落

### 分层产物输出

分析结果**分散写入五份分层产物**，再整合成一份整合文档：

| 分层产物 | 内容 | 对应维度 |
|----------|------|---------|
| `语言基因.md` | 词频表、句长分布、标点画像、口头禅 | 1 + 6 |
| `结构骨架.md` | 开头钩子、正文组织、结尾收束、按体裁模板 | 2 |
| `认知素材.md` | 选题逻辑、素材策略、认知框架、情感立场 | 3 + 4 + 5 |
| `视觉排版.md` | 配图策略、排版格式、色彩与强调 | 可选维 |
| `反模式.md` | 盲区、短板、漏洞、禁忌、负面口头禅 | 7 |
| `写作DNA.md` | 整合文档，**≤4000 字** | 全部 |

> **为什么分五份**：整合文档是压缩后的结论。句子的呼吸感、段落怎么接、
> 什么时候突然一个短句，只存在于分层产物和原文里。只喂整合文档，等于只给骨架没给血肉。
>
> **整合文档超过 4000 字 = 没蒸馏干净**，回去重新抽象。

---

## 阶段五：风格复刻（Replication）— 硬性流程

用户要求按此风格写作时，**必须完整走完以下四步**。不允许只凭整合文档或上一轮对话的记忆下笔。

### 第 1 步：读完全部产物

四份分层产物 + 整合文档，**一份都不能跳过**：

| 读什么 | 提取什么 |
|--------|---------|
| `写作DNA.md` | 总体约束与优先级 |
| `语言基因.md` | 高频词、句长分布、标点习惯、中英混用方式 |
| `结构骨架.md` | 匹配本次体裁的那一套结构模板 |
| `认知素材.md` | 切入角度、素材偏好、核心命题、情感立场 |
| `视觉排版.md` | 配图位置与类型、加粗密度、段落节奏、分隔方式 |
| `反模式.md` | 不能踩的雷 |

### 第 2 步：读 5 篇原文校准语感

从 `raw/` 中选 5 篇与本次写作**体裁和题材最接近**的文章通读：

1. 优先用 `_meta/` 的 `article_type` 和 `topic_tags` 筛选
2. 匹配超过 5 篇时取时间最近的 5 篇（近期更代表当前风格）
3. 不足 5 篇时用同体裁不同题材补齐
4. 元数据缺失时按文件名中的日期和标题判断

> 读原文**不是为了找素材**，是为了校准分层产物描述不出来的东西：
> 句子的实际呼吸感、段落之间怎么接、什么时候突然用一个短句、口语和书面语怎么混。
> **读完要能说出这 5 篇的共同语感，再动笔。**

### 第 3 步：按规则写

1. 先执行**硬规则**（口头禅、禁忌、句式模板、标题规则）
2. 再调用**软范式**（Few-shot 示例引导整体风格）
3. 套用匹配当前体裁的结构模板
4. 遵守反模式里的禁止清单

### 第 4 步：成稿收敛（两道工序）

1. **减法** — 跑 `references/ai-tone-rules.md` 清理机器痕迹
2. **加法**（可选）— 跑 `references/human-voice-rules.md` 注入作者口味，强度按体裁定
3. 对照七维逐项自检，尤其检查反模式是否误触
4. 自检不合格则对照分层产物重写

### 冲突优先级

规则打架时按此顺序取舍：

1. **用户本次的明确指令**（题材、长度、平台、语言）
2. **匹配当前体裁的结构模板**
3. **语言特征与视觉风格**
4. **认知框架**（决定观点立场和素材选择，不决定句式）

> 原文里的具体观点和事实**不能直接搬进新文章**——复刻的是写法，不是内容。

---

## 阶段六：成稿收敛（减法 + 加法）

成稿之后有两道独立的工序，**先减法再加法，顺序不可颠倒**。
反过来会把机器痕迹一起加固。

### 6a 减法 · 去 AI 味

**蒸馏解决「像不像你」，去 AI 味解决「像不像人写的」。这是两个问题。**
风格对了，句子仍可能一眼看出是机器写的。

读取 `references/ai-tone-rules.md` 处理成稿。要点：

- **白名单式改写**：只处理规则清单内明确列出的问题，未命中的文字逐字保留
- **信息守恒**：不许新增任何原文没有的信息，也不许删掉限定词和让步
- **不动结构**：标题层级、段落顺序、列表、引用、代码块位置一律保留
- **反向清单同样重要**：句长参差、被动句、名词化、句内排比、问句、比喻本身，
  这些看着像 AI 味其实不是，凭语感去改最容易把正常中文改坏

### 6b 加法 · 人味注入（可选）

去 AI 味只是把机器痕迹抹掉，抹完仍是平的中性文。
**加人味是往回注入作者口味**——人称、口头禅、语气词、金句、结尾调性。

读取 `references/human-voice-rules.md` 处理。要点：

- **七条机制**：人称拉近、停顿制造、情绪起伏、术语落地、重复递进、金句提炼、软着陆
- **机制不带词表**：具体用哪些词、密度多少，一律由 DNA 档案提供。
  这样任何作者都能用机制，而不会被强行注入别人的「哈哈」
- **风格强度三档**：强（闲聊/随笔）/ 中（观察/评论）/ 关（财报/法律/学术/新闻）。
  严肃体裁默认关闭——财报里写「哈哈哈」是事故，不是人味
- **信息守恒例外**：金句、人设评价、俏皮话允许新增，但不得引入新事实、新数字、新案例

### 冲突仲裁

三套规则打架时的优先级：

```
用户本次指令 > DNA 档案 > 人味注入（加法）> 去 AI 味（减法）
```

**DNA 档案永远赢通用规则。** 作者爱用破折号，减法不许删；
作者说不用「首先其次」，虽然减法认为那不是机器痕迹，也得删。
跑去 AI 味之前先读一遍 DNA 的标点与禁用清单，否则会把作者风格当成痕迹删掉。

---

## 质量标准

蒸馏产物完成后，用以下标准自检：

- [ ] 整合文档 ≤4000 字（过长 = 没蒸馏干净）
- [ ] 结构模板覆盖 ≥3 种体裁
- [ ] 元数据覆盖 ≥80% 语料
- [ ] 认知框架提炼 ≥3 条非显而易见的命题
- [ ] 反模式维度已完整分析（最容易被跳过）
- [ ] 每条特征都注明了来源（Article-[N]）与置信度
- [ ] 盲测：把产物喂给一个没读过该作者的人，写出的文章 ≥7/10 像
- [ ] 图文类账号已完成视觉排版维度

---

## 增量蒸馏（Incremental Update）

新增文章时**无需全量重跑**：

```
新文章 → 预处理 → 七路采集新特征片段
→ 与已有特征库对比 → 再走三重验证
   ✅ 验证通过：合并入库，更新分层产物
   ❌ 验证不通过：丢弃，不影响现有 DNA
→ 更新写作DNA.md 版本号与变更说明
```

触发增量蒸馏：用户说"更新我的DNA"或"我有新文章要加进去"

---

## 蒸馏命令

| 命令 | 效果 |
|------|------|
| `蒸馏文章` / `distill` | 分析文章，三重验证后生成/更新分层产物与DNA档案 |
| `建语料库` / `init corpus` | 生成标准语料目录骨架与元数据模板 |
| `增量更新` / `update dna` | 只分析新文章，合并入已有档案 |
| `DNA档案` / `show dna` | 展示当前写作DNA全貌 |
| `硬规则` / `hard rules` | 只展示可直接执行的规则 |
| `软范式` / `soft paradigms` | 只展示风格示例 |
| `反模式` / `anti patterns` | 展示写作盲区与禁忌 |
| `按我风格写 [主题]` | 走完四步流程，创作新内容 |
| `去AI味` / `de-ai` | 减法：对成稿清理机器痕迹 |
| `加人味` / `humanize` | 加法：按 DNA 配额注入口语风格（强度按体裁） |
| `人味体检` / `voice check` | 量化检测语气词密度、段落行数、人称比例等 |
| `重置DNA` | 清空当前档案，重新蒸馏 |

---

## 核心原则

- **忠实优先**：复刻风格时，宁可保留"不完美"也要保持原汁原味，不擅自优化用户的表达习惯。
- **稳定特征优先**：只蒸馏反复出现的特征，一次性灵感不入库。
- **来源可溯**：每条DNA规则都应标注来自哪篇文章（Article-[N]），出错可回溯。
- **DNA 是活的**：文章越多越准确，用 `config.yaml` 中的阈值控制蒸馏严格度。
- **反模式同权重**：盲区和禁忌与优点一样重要，不得忽略。
- **分层优于整合**：整合文档是索引，语感细节只在分层产物和原文里。
- **写法可复刻，内容不可搬运**：原文的观点和事实不能直接搬进新文章。

---

## 参考资源

- `references/writing-dna-framework.md` — 七维分析框架详细指南
- `references/ai-tone-rules.md` — 成稿收敛 · 减法：去 AI 味规则集（白名单式）
- `references/human-voice-rules.md` — 成稿收敛 · 加法：人味注入规则集（按 DNA 配额）
- `references/dna-template.md` — 单档案模式下的输出模板
- `references/my-writing-dna.md` — 用户个人写作DNA档案（自动生成/增量更新）
- `templates/author-corpus/` — 语料目录骨架、元数据 schema、五份分层产物模板
- `templates/author-corpus/examples/口语闲聊风/` — 完整示例 DNA，示范风格如何写成可执行规则
- `scripts/distill_writing_dna.py` — 批量蒸馏 + 三重验证 + 增量更新 + 语料初始化
- `config.yaml` — 验证阈值、采集规则、产物路径配置
- `../docs/usage-boundaries.md` — 使用边界与版权提醒

