Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
216 lines
7.1 KiB
Markdown
216 lines
7.1 KiB
Markdown
---
|
|
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
|
|
⊢ 并发写作踩坑记录 · 永久有效
|