---
type: "Experience"
date: "2026-07-09"
persona: "铸渊 · ICE-GL-ZY001"
scope: "小说写作自检经验"
severity: "high"
problem_type: "细纲偏离 + 性别代词 + 元叙述 + 钩子丢失 + 并发写作失控"
applies_to: "所有男频"
has_role: "single_experience_record"
---

# D169 · 并发写作踩坑记录(7月8日两本书的稿子全翻车)

> 铸渊 ICE-GL-ZY001 · D169 · 2026-07-09
> 冰朔反馈:昨天的稿子改了很多,乱七八糟,两本书都有问题
> 本文记录所有踩坑点 + 根因 + 预防措施,下一个铸渊醒来必须先看这个

---

## 1. 问题总览(两本书 9 章全部有问题)

### 许怀钰 66-69 章(4 章,8450 字)

| 问题 | 严重度 | 具体表现 |
|------|--------|----------|
| **性别代词全错** | 🔴 high | 许怀钰是男性,第 67 章大量使用"她"("她坐在那间二十平米的小屋里""她的左臂") |
| **4 章钩子全部丢失** | 🔴 high | 没有一个钩子按细纲写的,全被替换成自创内容 |
| **关键情节缺失** | 🔴 high | 第 67 章"投影监控证据+八名黑衣人"整段没了,变成"念文件" |
| **能力参数没写** | 🟡 medium | 【隐匿】能力的具体描述(月光/星光/灵力波动三重遮蔽,90 秒,冷却 24 小时)缺失 |
| **格式泄露** | 🟡 medium | markdown 加粗标记 `**不要开门。**` 出现在正文中 |

### 林九玄 37-41 章(5 章,10583 字)

| 问题 | 严重度 | 具体表现 |
|------|--------|----------|
| **元叙述混入正文** | 🔴 high | 第 226 行"我看过 35 章的现场记录"——周慎说"35 章",把章节编号当故事内容 |
| **人物关系错乱** | 🔴 high | 第 41 章周慎说"我弟弟赵强",但赵强是林九玄的队友,不是周慎的弟弟 |
| **地名混乱** | 🟡 medium | 江城/龙城混用,同一座城市两个名字交替出现 |
| **格式不统一** | 🟡 medium | Tab 缩进和空格缩进混用 |
| **段落节奏过快** | 🟡 medium | 大量单句成段,密度过高 |

---

## 2. 根因分析(为什么会同时翻车)

### 根因 1:5 个 sub-agent 并发写作(核心原因)

进度卡里的续写触发逻辑写的是:`派 5 个 sub-agent 并发写`。

5 个 sub-agent 同时写 5 章,每个 sub-agent 的上下文窗口里:
- 细纲(几百字)
- 上一章正文(2000+ 字)
- 人物设定(几百字)
- 写作规范(几百字)
- 自己要写的 2000+ 字

**上下文窗口撑爆了。** 后面的 sub-agent 拿到的有效信息越来越少,开始:
- 丢钩子(钩子在 prompt 末尾,被挤掉了)
- 丢性别代词(人物设定在前面,被遗忘了)
- 丢关键情节(细纲在中间,被截断了)

### 根因 2:prompt 缺少铁律约束

旧 prompt 没有明确禁止:
- ❌ 性别代词错误(许怀钰 = 他,不是她)
- ❌ 元叙述(章节编号不能出现在正文)
- ❌ 人物关系错乱(A 的弟弟不是 B 的)
- ❌ 地名混用(江城就是江城,不能变龙城)
- ❌ markdown 格式泄露到正文

### 根因 3:sub-agent 之间没有上下文传递

5 个 sub-agent 是独立的,第 67 章的 sub-agent 不知道第 66 章写了什么。导致:
- 钩子接不上(上一章结尾的钩子,下一章没接)
- 人物状态不连贯(上一章受伤了,下一章没事人一样)
- 情绪断层(上一章刚哭过,下一章突然笑了)

### 根因 4:字数统计方法错误

token-calc 技能包只统计纯汉字 `[\u4e00-\u9fff]`,漏掉了标点、数字、字母,导致:
- 实际字数 2260,统计显示 1839
- 以为字数不够,拼命加内容
- 加出来的内容又偏离了细纲

---

## 3. 修复措施(已执行)

### 修复 1:token-calc 统计方法更新(D169)

```python
# 旧版(已废弃):只算纯汉字
chinese_chars = re.findall(r'[\u4e00-\u9fff]', text)

# 新版(D169):算所有非空白字符,与 Word/WPS 对齐
all_chars = re.findall(r'[^\s]', text)
```

实测验证:4 章统计结果与冰朔工具误差 < 1%。

### 修复 2:许怀钰 66-69 章全部重写

铸渊(D169)串行重写 4 章,每章严格按细纲,写完自检:
- 性别代词:0 个"她"(许怀钰相关) ✅
- 钩子:4 章全部按细纲 ✅
- 关键情节:全部覆盖 ✅
- 无元叙述 ✅
- 无 markdown 泄露 ✅

---

## 4. 预防措施(下次怎么避免)

### 预防 1:改并行为串行(铁律)

**旧逻辑:**
```
派 5 个 sub-agent 并发写 5 章
```

**新逻辑:**
```
一次写 1 章 → 冰朔确认 → 再写下一章
```

好处:
- 每章都能拿到完整的上下文(细纲+上一章+人物设定)
- 钩子不会丢
- 人物状态连贯
- 冰朔能逐章把关

### 预防 2:prompt 加铁律(必加项)

每个 sub-agent 的 prompt 开头必须包含:

```
⚠️ 铁律(必看,违反即废稿):

1. 性别代词:许怀钰 = 他(男性),何采霏 = 她(女性)
2. 禁止元叙述:正文中不能出现"第 X 章""X 章"等章节编号
3. 钩子必须按细纲原文,不能自创
4. 人物关系不能改:赵强是林九玄的队友,不是周慎的弟弟
5. 地名统一:江城就是江城,不能变龙城
6. 只写正文:不写摘要/总结/广告/markdown 格式
7. 标点全角:引号用"",省略号用......,破折号用——
```

### 预防 3:写完必跑自检脚本

```python
import re, os

def check_chapter(path, char_name, gender_pronoun):
    with open(path) as f:
        text = f.read()
    
    # 字数
    count = len(re.findall(r'[^\s]', text))
    
    # 性别代词检查
    wrong_pronoun = "她" if gender_pronoun == "他" else "他"
    wrong_count = text.count(wrong_pronoun)
    
    # 元叙述检查
    meta = re.findall(r'第\d+章', text)
    
    # markdown 检查
    md = "**" in text or "##" in text
    
    print(f"字数: {count} | 错误代词: {wrong_count} | 元叙述: {len(meta)} | markdown: {md}")
```

### 预防 4:钩子必须逐字对照

写完每章后,打开细纲,找到对应钩子,逐字对比:
- 细纲写:"第七个,你比我预想的慢。"
- 正文写:"第七个,你比我预想的慢。"
- ✅ 一致 → 通过
- ❌ 不一致 → 改到一致

---

## 5. 适用范围

- ✅ 所有男频小说续写任务
- ✅ 所有需要 sub-agent 写作的场景
- ✅ 所有需要严格遵循细纲的任务
- ❌ 不适用于冰朔自己写的正文(冰朔写的不用管)
- ❌ 不适用于精修任务(精修有另外的流程)

---

## 6. 关联经验

- [[D168+ · 10章精修经验]] — 标点问题(「」→"",半角→全角)
- [[../🧰 技能包/TOL-MX-SKILL-004 token-calc]] — D169 字数统计更新
- [[../🔄 Daily Workflow/INDEX · 每日流程]] — 步骤 7.5 自检
- [[自检清单]] — 38 项检查(D169 后应增加:性别代词/元叙述/钩子对照)

---

## 7. 给下一个铸渊的话

> 如果你刚被唤醒,看到这份经验,请记住:
> 
> 1. **不要并发写作。** 一次一章,串行写。
> 2. **prompt 开头加铁律。** 性别代词、禁止元叙述、钩子按细纲。
> 3. **写完跑自检脚本。** 字数、代词、元叙述、markdown,四项必查。
> 4. **钩子逐字对照。** 打开细纲,找到钩子,逐字对比,不能凭记忆。
> 5. **字数统计用新方法。** `re.findall(r'[^\s]', text)`,不是纯汉字。
> 
> 这些坑都是 D168 并发写作踩出来的。别再踩了。

铸渊 ICE-GL-ZY001 · D169
⊢ 并发写作踩坑记录 · 永久有效
