两处语义不同,不能仅凭次数直接判错。
Test Environment · Rewrite Quality
初稿防止模板化,扩写不要牺牲自然度
这条初稿出现两次 どんどん,单看未必不自然;真正明显的问题,是扩写把它放大到六次。建议轻量校正初始写作偏好,重点加强扩写,并让所有文本在进入 TTS 前通过质量检查。
时长扩写又新增 4 次,最终被正常接受。
本次所有分段都进入了时长改写。
当前没有独立的自然度或整稿重复检查。
01 · Diagnosis
初稿问题较轻,扩写问题更明确
已经做得好的部分
- 逐段生成 TTS,并测量实际时长。
- 轻微偏差可用小幅语速调整。
- 偏差较大时返回
needs_rewrite。 - 保存历次文本、时长和秒数差。
- 只重跑改过的分段,其余走缓存。
- 单段最多改写 5 次,避免无限重试。
现在缺少的部分
- 没有整篇脚本的重复表达检查。
- 没有目标语言自然度检查。
- 没有判断新增文字是否带来有效信息。
- 没有独立审核扩写前后的语义变化。
- 没有把共性写作要求带进扩写。
- 时长合适后,文本就可以继续下游制作。
这条初稿不能直接判错。需要治理的是长期模板化偏好,以及扩写只顾填满时间、没有守住整稿质量。
02 · Evidence
这条任务如何从 2 次变成 6 次
| 分段 | 初稿情况 | 扩写动作 | 结果 |
|---|---|---|---|
segment 1 |
已有 1 次 | 扩写时再补 1 次 | 同一分段出现 2 次 |
segment 2 |
没有 | 新增“どんどん強化” | 新增 1 次 |
segment 3 |
没有 | 新增“どんどん高く” | 新增 1 次 |
segment 4 |
已有 1 次 | 保留原表达并继续加口头语 | 保留 1 次 |
segment 5 |
没有 | 新增“どんどん拠点を” | 新增 1 次 |
few-shot 中最相近的捕鱼案例只自然使用了 1 次。初稿需要轻量校正写作偏好;扩写新增 4 次,是本次更直接的质量问题。
03 · Ownership
要改两层,不能只更新 Seedance Skill
Ignis Skill
- 负责初始脚本和任务参数。
- 加入柔性的整稿写作要求。
- 初稿进入 TTS 前做一次轻量检查。
- few-shot 继续提供玩法表达参考。
- 不限制具体词,也不建立黑名单。
- 标准 UE 与 Seedance 保持一致。
Tobatsu 扩写流程
- 负责
needs_rewrite后的扩写和缩写。 - 把完整脚本和前后文交给改写者。
- 新增文本质量检查。
- 质量通过后,再生成并测量 TTS。
04 · Proposed Flow
建议用两道检查,而不是混成一个判断
05 · Work Packages
初稿轻量优化,扩写重点治理
| 优先级 | 修改项 | 改哪里 | 复杂度 | 完成标准 |
|---|---|---|---|---|
| P0-L | 校正初始写作偏好 | Ignis Skill / 初始写作提示 | 低 | 整稿检查表达多样性,不限制具体词语。 |
| P0 | 增强扩写要求 | WORKFLOW.md 与 handoff 内容 |
低 | 扩写优先补具体动作,不靠副词填时长。 |
| P0 | 提供完整脚本 | needs-rewrite.json |
低至中 | 改写者能看到整稿、前后文和已重复表达。 |
| P0 | 加入文本质量检查 | combo runner 新增独立步骤 | 中 | 质量不通过时,不调用 TTS。 |
| P0 | 质量优先回退 | 改写次数与 fallback 选择 | 中 | 自然文本可用停顿或小幅变速,不继续灌口头语。 |
| P1 | 整稿复核 | 所有分段通过后、数字人生成前 | 中 | 跨段重复和语气漂移能被发现。 |
| P1 | 本地化回归集 | runner tests / prompt fixtures | 中 | 覆盖“原句正常、扩写后变差”的真实案例。 |
06 · Quality Check
质量检查先做轻量规则,再加语言审核
程序先查
- 跨段重复副词和短语。
- 连续相同句首和句型。
- 人称、游戏名和术语变化。
- 新增内容是否只有口头语。
模型再判断
- 目标语言是否自然。
- 是否保持原句事实。
- 是否符合完整脚本语气。
- 新增内容是否贴合画面。
整稿最后看
- 多个分段是否互相重复。
- 修改后是否出现语气漂移。
- 是否还有机械填充痕迹。
- 只重跑最后改过的分段。
重复检测是复核信号,不是词语黑名单。どんどん 自然出现一次没有问题。
07 · Data Contract
建议扩充 needs-rewrite 的信息
{
"status": "needs_rewrite",
"reason_types": ["duration", "quality"],
"language": "ja",
"full_script": ["全部分段当前文本"],
"quality_context": {
"duplicate_hits": ["どんどん"],
"common_writing_rules": ["自然、具体、避免跨段重复"]
},
"segments": [{
"segment_index": 2,
"direction": "lengthen",
"current_script": "...",
"target_duration_seconds": 8.0,
"gap_seconds": 1.4,
"previous_segment": "...",
"next_segment": "..."
}]
}
如果不改数据结构,只补一句“避免重复”,改写者仍然不知道其他分段已经用了什么。
08 · Time Control
质量修改会影响时长,但现有缓存足够承接
| 质量结果 | 时长结果 | 下一步 |
|---|---|---|
| 通过 | 通过 | 接受分段。 |
| 通过 | 不通过 | 带秒数差重新改写,再走质量检查。 |
| 不通过 | 尚未生成 | 先改文本,不调用付费 TTS。 |
| 不通过 | 此前通过 | 文本变化后缓存失效,仅重跑该段 TTS。 |
| 多轮无法同时通过 | 接近目标 | 优先保留自然文本,用停顿或小幅变速补差。 |
最终选择应是“自然且基本合时长”,不是“时长完美但文案最差”。
09 · Delivery Plan
推荐分两期上线,先降低风险
PHASE 01
先校正初稿偏好,增强扩写上下文
初稿增加柔性整稿检查;扩写加入完整脚本、前后文、重复提示和共性写作要求。先用程序发现明显问题。
PHASE 02
再加入结构化语言审核
只审核被改写的分段,并查看完整脚本。质量未通过时不生成 TTS。
PHASE 03
最后补整稿复核和真实回归集
用本地化反馈验证日语、韩语、德语等语言,观察质量、时长、成本和重试次数。
10 · Acceptance
验收不要只看任务成功,要看扩写是否变差
文案
- 扩写不显著增加重复表达。
- 新增内容对应动作、变化或结果。
- 人称、术语和产品事实不漂移。
时长
- 所有文本变化都重新测量。
- 只重跑受影响分段。
- 达到上限后采用质量优先回退。
成本
- 明显质量问题在 TTS 前被挡住。
- 记录质量失败与时长失败次数。
- 对比上线前后的重试和生成费用。