DESIGN.md@wjs-distilling-style · git:20260620.2f8ced5 · 2026-06-20 · sha256 9650954f2f98e5d1

DESIGN.md@wjs-distilling-style git:20260620.2f8ced5A

Immutable. This exact content never changes and is served at /api/v1/blob/9650954f2f98e5d1.

# 设计:wjs-distilling-style

> 从手头几篇样本文章里蒸馏出一个作者的写作 DNA(Style Fingerprint),存成可复用的
> Style Card,再用它把任意一篇文章改写成那个作者的味儿——带一个独立判官盲测闭环,
> 防止改写滑回平庸的 AI 声音。
>
> 设计定稿日期:2026-06-20。通用工具,任意作者;王建硕本人只是常用对象之一。

## 它不是什么(与相邻 skill 的边界)

- `huashu-nuwa`(女娲造人)蒸馏的是一个人**怎么思考**(心智模型 + 决策启发式),
  做深度网络调研,产出可角色扮演的 person-skill。
- `wangjianshuo-perspective` 是那种蒸馏的成品。
- **本 skill 不做**角色扮演、不做网络调研、不提炼世界观。它只吃**手头的几篇文章**,
  蒸馏**怎么写**(声音 / 句法 / 结构 / 修辞指纹),目的是**改写一篇具体文章**。

## 两个操作模式

- **蒸馏 (distill)**:输入 N 篇样本 → 产出 `style-card.md`
- **改写 (rewrite)**:输入一篇目标文章 + 一个 Style Card → 产出改写稿
  (保事实,换声音 + 可调结构)

## 存储(独立库,不进公开 repo)

```
~/code/style-cards/<author-slug>/
  samples/          # 原始样本文章(喂进来的)
  style-card.md     # 蒸馏出的 Style Fingerprint
  rewrites/         # 历史改写稿(可选留痕)
```

理由:wjs-* skill 会被 publish-hook 自动同步到公开 repo。别人的稿子和卡片放这个
**独立库**里,不外泄。蒸馏王建硕自己时也走同一套路径,不与 STYLE.md 冲突。

## Style Card 结构 —— Style Fingerprint(9 轴)

每一轴都写三件事:**观察**(从样本里看到了什么)、**可执行规则**(改写时怎么照做)、
**锚点原句**(从样本里摘 2–3 句真实原句当锚,防止抽象规则空转)。

| # | 轴 | 抓什么 |
|---|---|---|
| 1 | 句子节奏 sentence rhythm | 长短句分布、长短交替的拍子、标点签名(破折号/省略号/问句/感叹) |
| 2 | 段落长度 paragraph length | 平均段长、有没有单句成段、长段密度 |
| 3 | 词汇 vocabulary | 高频词、口头禅、自造词、人称、成语/网络语倾向、中英混用、用词雅俗 |
| 4 | 语气腔调 tone | 自信度、距离感(亲密 vs 客观)、正式度、幽默 |
| 5 | 论证结构 argument structure | 断言先行 vs 层层铺垫、是否用小标题/列表/表格、推进路径 |
| 6 | 比喻运用 use of analogy | 家常 vs 抽象、频率、抽象↔具体之间怎么架梯子 |
| 7 | 情绪强度 emotional intensity | 情绪温度、克制 vs 喷发、感叹密度 |
| 8 | 开头与收尾 opening & ending | 怎么起(断言/场景/钩子)、怎么落地收束 |
| 9 | 雷区 things to avoid | 他绝不会做的事(含反小白钩子、不写没验证过的等) |

外加两件贯穿全卡的东西:

- **锚点原句**:每轴 2–3 句真实摘录。规则可以骗人,原句不会。
- **「调料不是公式」校准注**:签名动作(造词 / 家常比喻 / 小标题 / 单句成段)是**工具**
  不是**清单**。短内容就短写,别把每个签名动作都堆满——堆满就成了拙劣模仿。
  (这条是从 `wangjianshuo-perspective` 已经踩过的坑里继承来的。)

## 蒸馏流程 (distill)

1. 样本入库:建议 3–6 篇,覆盖不同主题 / 长度,存入 `samples/`。少于 3 篇要提示
   指纹会不稳。
2. (可选)起一个 subagent 做 9 轴拆解,避免把长样本污染主上下文;只回收结构化结果。
3. 逐轴分析 + 摘锚点原句。
4. 写出 `style-card.md`。
5. 让用户过目 / 手改——卡片是人可读、可手编的真源。

## 改写流程 (rewrite) —— 带验证闭环

1. 读目标文章 + Style Card,先抽原文的**事实骨架**(论点 / 信息 / 结论)。这是
   「保事实」的锚。
2. 按 Style Card 逐轴改写,允许调开头 / 收尾 / 节奏 / 小标题,但**事实骨架不增不减**。
3. **盲测验证**:起一个独立**判官 subagent**,只给它 Style Card 锚点 + 改写稿
   (**不给原文、不告诉它这是 AI 改的**),让它判:
   - 逐轴相似度评分(1–5)
   - 具体「出戏句」列表(哪几句不像 X)
   - 缺失 / 过载的签名动作(哪些该有没有、哪些堆多了)
4. 不过标 → 拿判官的**具体意见**回炉重改 → 再测,最多 2–3 轮。
5. 同时对照事实骨架自查:有没有篡改 / 丢失原文事实。

判官子 agent 是「同一个模型既当运动员又当裁判」的解药——它盲、独立、只认 Style Card。

## 触发词

「蒸馏风格」「提炼 XX 的文风」「把这篇改成 XX 的味儿」「学某某笔法改写」
「distill style」「/wjs-distilling-style」。

## 验收

- 蒸馏:给 3+ 篇样本,产出一份 9 轴齐全、每轴带锚点原句的 `style-card.md`。
- 改写:给一篇文章 + 一个 card,产出改写稿;判官盲测平均分达标(默认 ≥4/5)且无
  事实篡改;不过标时能看到回炉痕迹。