55 lines
4.9 KiB
Markdown
55 lines
4.9 KiB
Markdown
# 拆书管线重构验收报告(B4-S3:出卡从单章改为多章合看)
|
||
|
||
> 2026-07-13。给创始人质检用。对比对象=旧管线 32 卡(备份在 /tmp/muse-oldcards-backup-S3前35卡.json,已软删可恢复)vs 新管线 39 卡(库内活卡)。
|
||
> 样本=5 本书各前 3 章(与旧管线同样本)。
|
||
|
||
## 一句话结论
|
||
|
||
旧管线被 fable 审查和 opus 金标准点名的五大顽疾(九成卡归错型、卡名黑话堆叠、摘要复述剧情、间隔数字瞎编、同类卡撞车无察觉),重构后四个痊愈、一个带上了监测标记;顶部卡片质量超过了旧管线的最高分。
|
||
|
||
## 改了什么(白话)
|
||
|
||
- **旧流程**:每章读两遍正文——第一遍出细纲,第二遍直接出卡。单章视野看不到「隔三章回收的伏笔」,只能瞎编间隔数字;每章各自出卡,同一手法在第 1、3 章出现就变成两张撞车卡。
|
||
- **新流程**:每章读一遍正文,只报「候选线索」(这章疑似有什么手法);攒够一窗(放量时 8 万字,本次验收 3 章)后,把窗内所有线索+细纲+阶段大纲合在一起看,同一手法归并成一张卡、带上每次出现的章号;**间隔章数由脚本按章号相减算出**,模型无权自己写数字。
|
||
- **新增三道保险**:入库前先做向量相似度查重(撞车预警);相似度过高时再让模型终判「同一手法还是两个手法」;每张卡的裁剪、改型、待证状态都留审计标记。
|
||
|
||
## 新旧对比(同样本 5 书×3 章)
|
||
|
||
| 指标 | 旧管线(32 卡) | 新管线(39 卡) |
|
||
|---|---|---|
|
||
| 型分布 | craft 27 / scene_pattern 5 / trope 0(九成归错型) | craft 14 / scene_pattern 10 / trope 15(三型均衡) |
|
||
| 卡名 | 「XX式YY化」修饰堆叠为主 | 全部短名(播报反转/空椅埋人/嘴炮惹祸) |
|
||
| 摘要 | 17/19 是本书剧情复述(金标准结论) | 抽查全部为通用手法陈述 |
|
||
| 间隔数字 | 模型自报,金标准判「危险的伪精确」 | 全部带「实测:#a埋→#b收,隔n章」机械溯源;单端证据标「跨窗待证」(2 张) |
|
||
| 同类撞车 | 19 卡实为 10–12 个独立技法,无察觉 | 窗内聚类归并(8 张卡带多章实例链);跨书近亲 3 对被向量查重标记(相似度 0.75–0.76,未达合并线,正确保留) |
|
||
| 专名泄漏 | 金标准抓到 4 张 | 守卫用本书实体词典拦截;卡体抽查干净(专名只在溯源豁免区) |
|
||
| 审核判定 | pass 5/19,最高 4.0 | pass 11/39,最高 4.33×2 张(隐性免疫反向伪装/稀缺身份作护身符,均带双实例+实测间隔) |
|
||
| 每章正文读取次数 | 2 遍 | 1 遍(放量时每书省约 800 万输入 token) |
|
||
|
||
## 本轮实战抓到并当场修掉的问题(各带机械防线)
|
||
|
||
1. **纪律措辞把 craft 专属字段教成了全型通则**(首跑星环 3 张、机战 3 张被拒)→ 提示词改为型无关表述;越界字段从「整卡拒」降为「裁剪该字段+审计入库」(内容无处安放,不该陪葬整卡)。
|
||
2. **模型把「当X做Y因为读者会Z」的占位符字面抄进卡**(深空 5 张被拒)→ 新增占位符机械检测 + 拒卡带原因自动重试一次(深空重跑 10 卡零拒)。
|
||
3. **模型输出方差大**:同样材料一次出 10 卡、一次秒回空数组(星环/深空各复现一次)→ 新增「线索≥3 条却 0 卡」自动重试;0 卡时不删旧卡的纪律兜底。根治留给参数对比实验(S5)。
|
||
4. **审核角色误把溯源豁免区的专名当泄漏**(假阳)→ 审核标准补一句豁免说明。
|
||
|
||
## 残留(不阻塞,已记录)
|
||
|
||
- 「设定投喂」类手法在 3 本书各出一张(收租铺人脉/兄弟酒肆论志/跑步播世界观),语义相似度 0.6–0.7 不到预警线——跨书母卡归并是放量后的公共面课题(fable 审查已列入「暂不做」)。
|
||
- emotion/combat 两型 0 张:前 3 章开局戏确实少有整场情绪戏/武戏,与旧管线一致,非管线问题。
|
||
- 审核复校准:金标准是旧卡的评分,新卡名全变无法直接对照;本轮验收由 fable 全量复核 39 卡判定合理性代替(pass 卡确实硬、reject 卡确实是单场景记录)。放量前若需要,可对新卡抽样重做一次 opus 金标准。
|
||
|
||
## 放量流程(每书五步,全部 M3,断点续跑)
|
||
|
||
```bash
|
||
parse_llm.py chapters --work-id N --from 1 --to 章数 # 章级:细纲+实体+线索(正文只过一遍)
|
||
parse_outline.py window --work-id N # 窗级大纲(8 万字/窗,书末残窗必成窗)
|
||
parse_llm.py cards --work-id N # 窗级聚类出卡(守卫+查重在入库层)
|
||
parse_outline.py check --work-id N # 全书终检
|
||
review_cards.py review --batch <批次> --work-id N # 三角色审核
|
||
```
|
||
|
||
## 本轮成本
|
||
|
||
约 60 次模型调用;输入 21 万 token、输出 6 万 token(含全部重试与返工)。
|