# Novelist Humanize

> 去 AIGC / 去 AI 味——把读起来"像 AI 生成"的小说正文改回"像人写的", 降低 AIGC 检测特征同时提升可读性。当用户说"去AI味/降AIGC/这段太AI了/去机器味/人味润色/过检测"时调用; 也被 novelist-write / novelist-rewrite 的生成后收尾链引用。去味时**先运行时发现并依次执行用户已安装的所有 humanizer 类 skill(动态发现, 不硬编码路径)**, 再用本插件 humanizer agent 补小说特化去味(对话破坏/情感呈现)。诊断三层 AI 味(统计指纹/通用tells/小说特有)。只改文字纹理, 不动剧情设定。

- Skill: `lazygophers/novelist-humanize` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add lazygophers/novelist-humanize`
- Raw SKILL.md: https://api.skillmd.com/api/skills/lazygophers/novelist-humanize/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: lazygophers (https://skillmd.com/u/lazygophers)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/lazygophers/novelist-humanize

---


# novelist-humanize — 去 AIGC / 去 AI 味

把"像 AI 生成"的正文改回"像人写的"。**目标不是骗过检测器, 是真·提升人味与可读性**——检测器本身误报率高(非母语英文作文误报达 61%), 锚定真人味比锚定某检测器弱点更稳。只改文字纹理层, 不动剧情/设定/人物关系。

## AI 味三层(诊断靶子)

### 层 1 — 统计指纹(检测器看什么)
| 指标 | AI 特征 | 改写方向 |
|---|---|---|
| 困惑度 perplexity | 太可预测(逐 token 高概率采样) | 引入低概率但合理的词/意象(专名/方言/不常见动词), 抬局部困惑度 |
| 突发性 burstiness | 句长方差小, 像节拍器 | **制造句长突发性**(单点性价比最高): 长短句暴力交错, 段中插两三字独立句 |
| 句式回归均值 | 过分工整 | 句式不重复: 陈述句后跟疑问/感叹/省略 |

> 注: 现代检测器(GPTZero/Turnitin)是学习型分类器, 不止看 perplexity——单破坏统计指纹不够, **必须同时改风格层 tells(层2/3)**。

### 层 2 — 通用 tells(肉眼+分类器都吃)
- **三段式/三点排比** — 见三连排比就砍, 留一组或打散成不对称; 删「首先/其次/再次/最后」整套。
- **机械过渡词** — 删「然而/此外/值得注意的是/总而言之/不难发现」, 删后通顺就别加回。
- **空泛抽象+拔高** — 删「标志着/彰显/重要的一步/毋庸置疑」, 用具体替代(专名/数字/感官细节)。
- **否定式平行** — 「不是X而是Y」「不仅X更是Y」是最常见单一 tell, 删伪反转直接陈述 Y, 整篇最多留一两处真张力。
- **破折号滥用 / 翻译腔长定语** — 破折号改逗号句号; 「一个…的…的…」长定语拆短句, 被动改主动。
- **跑步机效应(信息密度低)** — 删重述/铺垫性总结, 一段只推进一件新事。

### 层 3 — 小说特有 AI 味(与提升文学质量重合度最高)
- **对话太规整** — 人人完整句不打断不结巴。加对话破坏: 打断/噎住/答非所问/停顿/口头禅, 让说的≠想的(留潜台词)。
- **告诉而非呈现 + 情感喂饭** — 删「她很愤怒」式标签与解释, 用动作/身体语言/没说出口的话呈现, 情绪埋伏式冒出。
- **节奏匀速无起伏** — 紧张处连短句, 抒情处放一个长复句; **朗读自检, 读起来卡的地方就是 AI 味**。
- **描写套路 / 形容词堆砌 / 陈词意象** — 强动词换掉「形容词+副词」堆叠; 用角色专属、出人意料的具体细节替代通用描写; 见熟套意象就换。
- **过度全知 / 视角无杂质** — 允许不完美: 保留无关细节、半成型反应、视角人物的偏见, 故意不解释某些东西(人类式跳跃留白)。

## 工作流(按序)

1. **定范围(免输入)** — 用户给了范围用之; **未给 → 默认本次/最近新写或重写的章, 不追问**。
2. **取文风基准** — 读本书 `novelist-craft` 选定的叙事镜片, 去味要服务该风格, 不是套通用模板。
3. **发现并接力外部 humanizer 类 skill(必做, 运行时动态发现)** — 去 AIGC 不只靠本插件方法, 必须复用生态里所有去 AI 味能力:
   - **发现**: 扫描当前**已安装的可用 skill 列表**, 凡名称或描述匹配 `humanizer / humanize / 去AI味 / 去AIGC / 降AI / deaigc / AI 检测` 的, 全部列为去味工具。**禁硬编码路径**——按运行时可用 skill 列表发现, 用户装了哪些就用哪些。
   - **依次执行**: 对目标正文, **逐个调用**发现到的外部 humanizer skill(一个跑完再跑下一个, 接力去味); 每个都是真实调用(`Skill` 工具或其约定入口), 不是口头宣称。
   - **无外部 skill**: 一个都没发现 → 跳过本步, 仅用 step 4 本插件 humanizer agent(降级提示「未发现外部 humanizer, 仅用内置」)。
4. **派本插件 humanizer 做小说特化补充(可改, 范围受限)** — 外部 humanizer 多为通用文本去味, **小说专属 AI 味(对话破坏/情感呈现/视角杂质/叙事节奏)**靠本插件 agent 补。真实 `Agent` tool_use 派 `humanizer`, 6 字段 prompt: 目标(去 X 范围残余 AI 味) / 已知(三层诊断要点 + 文风基准 + `references/research/01-deaigc.md` + 外部 humanizer 已处理过) / 范围(只改文字纹理, 禁改剧情/设定/走向) / 输出格式(逐条: 位置+改前+改后+命中特征#) / 验收(可读性不降、不伤风格一致性) / 失败处理(过度去味 → 撤回)。
5. **熔铸/指纹互消(高 AI 味段落专用)** — 对改完后人味分仍 ≤95 的段落，用指纹互消法打散 AI 公约数:
   - 对目标段落生成 **5 份独立改写**(同一 agent 5 次，每次不看前次输出，prompt 强制「重新开始」)
   - 对比 5 份找**共同出现 ≥ 3/5 的词汇/句式/意象** = AI 公约数(高概率路径)
   - 在最终版本中**主动替换**这些公约数为任一版本中出现但非共有的低频表达
   - 结果必须经 score_aitaste.py 验证人味分提升后才采用
6. **改写顺序(给 agent 的)** — 先砍 tells(过渡词/排比/华丽词)→ 再制造节奏 burstiness → 最后注入具体细节与口语毛刺。
7. **AI 味人味分 + 棘轮** — 改写**前后各算一次**人味分(客观: tells 计数 + 句长方差, 用本 skill 自带脚本):
   ```bash
   python3 ${CLAUDE_PLUGIN_ROOT}/skills/novelist-humanize/scripts/score_aitaste.py <章节文件>
   ```
   人味分 = 100 − tells惩罚 − 匀质惩罚(越高越像人写)。**棘轮: 改后人味分必须 > 改前**, 否则白改/改坏了 → 回退重改。目标 >95(≤95 报「AI 味偏重」)。前后分跨外部+内置全部去味后一并计。
8. **报告 + 落盘** — 清单存 `元数据/校对报告/<日期>-deaigc-<范围>.md`(注明用了哪些外部 humanizer + 内置); 正文就地改。章节状态可推进「定稿」(收尾链最后一环)。

## 修改阈值(宁缺毋滥)

**每段先判"有没有 AI 味", 有才改**。某段已自然无明显 AI 特征 → 保留原文, 不为改而改。过度去味伤可读性与一致性, 把改写当外科手术不当地毯式轰炸。

## 与 proofread 的边界

- proofread = 文字**对不对**(错别字/语法/标点)。
- humanize = 文字**像不像人写**(AI 味/匀质/陈词/模板腔)。
- 二者都在文字层、都不碰剧情, 但目标正交; 收尾链里 proofread 先(改对)→ humanize 后(改活)。

## 失败模式(触发 → 一线修复 → 仍失败兜底)

| 触发 | 一线修复 | 仍失败兜底 |
|---|---|---|
| 范围过大 | 分章去味再汇总 | 仍大 → 优先处理状态「已校对」的新章 |
| 过度去味伤可读性 | 撤回该处, 只改明确 AI 味点 | 反复失衡 → 缩小授权, 只破坏统计指纹层 |
| 去味改了剧情/对话内容走向 | 撤销该改动, 重申只改纹理层 | 反复越界 → 缩范围重派 |
| 把有意风格化(精确修辞/有意排比)当 AI 味删 | 保留风格, 只改无意的匀质/套路 | 拿不准 → 标出请用户定 |
| 为降检出率改到支离破碎 | 可读性优先, 回退过度改写 | —— 检测器误报高, 不值得过度优化 |
| 发现到外部 humanizer skill 但跳过没调 | 必依次真实调用, 接力去味 | 跳过 = 浪费生态能力, 仅内置覆盖不全 |
| 硬编码某 humanizer 路径 | 运行时按可用 skill 列表动态发现 | 写死路径在别人机器上不存在 |

## 反例黑名单(命中=错, 重来)

| # | 禁做 | 改为 |
|---|---|---|
| 1 | 借去 AI 味改剧情/设定/对话走向 | 只动文字纹理, 剧情交 check/rewrite |
| 2 | main 自己逐段改不派 agent | 派 humanizer(真实 Agent tool_use) |
| 3 | 口头说"已去味"无 Agent 调用 | 宣称≠调用, 必有真实 tool_use |
| 4 | 只换词破坏统计指纹, 不改风格 tells | 三层一起改, 单破坏 perplexity 不够 |
| 5 | 把有意风格化表达当 AI 味抹平 | 保留风格, 只改无意匀质/套路 |
| 6 | 为过检测把通顺正文改到支离破碎 | 可读性优先于检测器分数 |
| 7 | 地毯式逐段都改 | 宁缺毋滥, 每段先判有无 AI 味再改 |
| 8 | **只用本插件方法, 不发现/不接力外部 humanizer skill** | 运行时动态发现所有 humanizer 类 skill 依次执行, 再用内置补小说特化 |
| 9 | **硬编码外部 humanizer 路径** | 按运行时可用 skill 列表发现, 用户装啥用啥 |

## 反AI-创作黑名单（文字层具体禁令，命中即改）

### 标点禁令
| 禁 | 改为 |
|---|---|
| 连续两个以上感叹号 `！！` | 一个或改为句号收 |
| 破折号作为"补充说明"（——指的是……） | 直接新句说明，删破折号 |
| 句末省略号营造"沉默感"（她沉默了……） | 用行为/身体反应替代 |
| 分号列举三项以上 | 拆成两句或用逗号重排 |

### 禁用句式
| 禁用句式 | 原因 | 替代 |
|---|---|---|
| `不是X，而是Y` / `不仅X，更是Y` | 伪反转，AI 最爱 | 直接陈述 Y，省掉对比前缀 |
| `首先……其次……最后……` / `第一……第二……第三……` | 三段排比机械感 | 打散成不等长叙述，去掉序号词 |
| `值得注意的是` / `不难发现` / `毋庸置疑` / `总而言之` | 分析腔过渡词 | 直接进下一句，不加过渡词 |
| `(人名)深吸一口气` / `(人名)心跳加速` / `热血沸腾` / `眼眶湿润` | 情感喂饭模板 | 用具体动作/感官细节：手指扣紧椅背 / 喉咙发干 |
| `不禁` / `不由得` 引出反应 | 多余修饰，AI 高频 | 直接写反应，删引导词 |
| 以形容词+名词堆叠开头的景物描写 | 匀质高概率 | 动词开头：飞鸟掠过 / 雨打铁皮 |
| 对话后带"他/她说" + 解释语气的副词（她冷静地说/他愤怒地吼道） | 告诉不呈现 | 用动作标签替代（她把杯子推到桌边 / 他的椅子腿刮出一声响） |

### 禁用描写套路
| 模板描写 | 替代方向 |
|---|---|
| 夕阳西下 / 朝霞满天 / 繁星点点 | 具体气象+角色感知（风吹过腐叶气味的那个下午） |
| 眼神深邃 / 气质非凡 / 风度翩翩 | 一个奇怪具体的细节（领口绽开的线头/总摸右耳的习惯） |
| 心如刀割 / 五味杂陈 / 百感交集 | 身体层：胃缩紧/嘴里发苦/手不知道该放哪里 |
| 沉默是金 / 时光荏苒 / 岁月如梭 | 禁用，无替代，直接删 |

## 诚实边界

- **检测器不可靠**: Stanford 测 7 个检测器, 非母语英文作文误报率达 61%。别把"过检测"当唯一目标——它连人类原创都常误杀。
- **军备竞赛无终局**: 检测与规避持续对抗, 今天有效的手法明天可能失效; 本 skill 锚定"真·人味"而非某检测器当下弱点。
- **去味 ≠ 提升文学质量**: 只换词不懂角色会出戏。最可靠工作流 = chapter-writer 生成 + humanize 精修; craft 手法(呈现/变速/分层对话)比自动改写更管用。
- 正确目标不是"100% 像人", 是"好到读者不在乎"。

## 调研来源

- `references/research/01-deaigc.md` — 检测器原理(GPTZero perplexity/burstiness、Raschka 综述)+ 通用 tells(Wikipedia: Signs of AI writing)+ 小说手法 + 局限(Stanford 误报研究、Krishna/Sadasivan 规避论文)

> 被 novelist-write / novelist-rewrite 收尾链引用(生成→检查→校对→去AIGC→定稿); 派 humanizer agent; 与 proofread 边界正交; 只改纹理不动剧情。

