docs: 归档翻译上下文/字幕审校方案的评审结论与实测数据

- 待办:会话式长上下文方案标记为已技术评审且不实施;补记问题 A 的阶段性结论(暂缓)
- 新增 docs/实验数据-字幕审校定位与修复实验.md:LLM 定位触发率/召回、合成正样本、逐条修复前后对照、成本与复现方式
- 新增 docs/实验数据-字幕重生成成本与耗时.md:单价口径、功率画像、全量推算
- decisions:补充两条决策(会话式长上下文否决、审校定位+定向修复暂缓)
- scripts:归档一次性探测脚本 probe_subtitle_review_stage0.py(含 rebuild 子步骤)
- AGENTS/README:补充实验与改动许可规则、文档索引
This commit is contained in:
2026-09-19 18:33:28 +08:00
parent 2c8bbb6469
commit 5b263171f2
7 changed files with 1187 additions and 0 deletions
+55
View File
@@ -102,8 +102,63 @@
- **并发写**:流水线多线程写产物/进度,SQLite 开 WAL + busy timeout
`WOV_DB_BUSY_TIMEOUT_SECONDS`)。
## 翻译"会话式长上下文"方案否决
- **决定(2026-09 技术评审)**:不实现"翻译阶段复用会话上下文 + 文件夹级共享上下文 +
150k 触发压缩"方案,见
[待办-翻译上下文复用与语义纠错.md](./待办-翻译上下文复用与语义纠错.md)。
- **前提不成立**:该方案预期"长上下文能让模型发现语义不顺从而修掉 ASR 误听",但
同一份待办文档记录的两次实验(`subtitle-correction` 节点 ±60s 上下文、加强提示词
A/B)全部失败。误听句在字面上语法通顺、局部自洽,语境里没有声学证据,模型没有
改写依据——加长上下文只增加同类证据。
- **成本**:会话式每批重发全部历史,输入随批数二次增长;该档 Qwen 在 SiliconFlow
价格表"缓存价格"列为 `-`(无 cached-input 折扣),前缀缓存无法抵消。按实测口径
(批均约 880 tokens、其中输入 529 / 输出 350434 行/素材小时 ≈ 22.5 批/小时)
推算:1.2 小时视频约 3.3×、3 小时视频约 6.5×、15 小时文件夹约 70×(约 ¥30/文件夹),
剩余 187 小时素材由 ¥5.59.4 升到约 ¥300400。
- **阈值踩计费档**`>150k 触发` 越过 `[128k,+∞)` 档(输入 ¥0.4→¥1.6、输出
¥3.2→¥12.8,整请求按该档计价),压缩阈值必须低于 128k,长上下文方案的收益结构
与计费结构天然冲突。
- **与既有设计冲突**:文件夹会话是跨 run 的可变共享状态,与"节点只通过产物 URI
交换数据、每 run 独立产物目录"的不变式、与批量"非 GPU 阶段并行"的调度成果、与
"暂停后整节点重跑、不留半成品"的暂停契约都要冲突,需要新增会话存储子系统并扩展
暂停/幂等语义。
- **未决的替代方向**:问题 A 更可能在 ASR 侧修(`word_timestamps` 已产出的词级
`probability` / `avg_logprob` 目前未被任何节点使用;低置信度片段 + 文件夹级热词
`initial_prompt` 二次解码等),但**尚未评审决定**,需要时另行提方案与代价。
- **实测来源**`data/experiments/regen_plan/app_cloud_run.log`(每批 tokens)、
[实验数据-字幕重生成成本与耗时.md](./实验数据-字幕重生成成本与耗时.md)、
SiliconFlow 价格页 `[0,128k)` / `[128k,+∞)` 分档。
- **字幕审校(定位+定向修复)的实测结论**:见
[实验数据-字幕审校定位与修复实验.md](./实验数据-字幕审校定位与修复实验.md)
## 字幕审校(定位+定向修复)方案暂缓
- **决定(2026-09**:不实施"LLM 定位问题 cue + 定向修复该 cue"的翻译审校节点,
也不改造现有 `subtitle-correction` 节点。实测数据见
[实验数据-字幕审校定位与修复实验.md](./实验数据-字幕审校定位与修复实验.md)。
- **有效的部分**:术语/忠实性类问题(词表违背、译文与日文不一致、称呼跳变)定位与
修复都成立(例:`阴道``小穴`;"生来的里面插着生来的玩具"→"小鸡鸡插进了小穴里"),
合成正样本定位召回 11/14 = 79%,增量成本约 +¥0.04/素材小时(全量约 +¥7)。
- **无效的部分**`字面通顺但语义错`(问题 A,ASR 听岔成正常句子)。实测把中文、
日文原文、邻句、系列词表全部给 LLM:
- 定位:只给中文时三条已知问题 cue 召回 0/3;加上日文也只到 1/3
(三条出问题的共性是**中文读起来完全通顺**,模型没有怀疑动机);
- 修复:三条目标依次改成"声音传送到身体里""继续吃""已经完全进去了"
**全部保留错译**;且出现无依据脑补(`お腹鸣っちゃう`"肚子饿了"→"小穴要湿了")。
- **原因判定**:不是上下文给得不够,而是**当前 LLM 能力不足以从错误的日文原文
反推真实含义**——能依据的日文本身是错的,模型只能沿错译换词。这与待办文档里
记录的前两次失败实验(纠错节点、加强提示词 A/B)结论一致。
- **副产品结论**:① 硬规则(近音匹配)泛化不了——严格口径漏报(目标 0/3),
宽松口径 48.6% 全是假阳性;② 系列自身的译法并不一致(同一个 `おなほ` 被译成
"自慰套/手办/小鼻鼻/嘴"),所以"文件夹级上下文"的价值真实存在,但**惯用译名
靠挖掘挖不出来**,需要人工或强约束固定。
- **若将来重开**:方向应从翻译侧挪回 ASR 侧(只审日文、给候选读法;先建场景再对照),
那里才有声学证据;具体三个可测方向见实验文档第六节。
## 相关文档
- 当前生效的参数与协议:[node-protocol.md](./node-protocol.md)
- 实验数据(成本/耗时、审校定位实验):[实验数据-字幕重生成成本与耗时.md](./实验数据-字幕重生成成本与耗时.md)、[实验数据-字幕审校定位与修复实验.md](./实验数据-字幕审校定位与修复实验.md)
- 运维语义与批量流程:[operations.md](./operations.md)
- 缺陷 ID 与验收标准:[代码审查问题跟踪.md](./代码审查问题跟踪.md)