作者基于三个月、16 种语言的实践指出,字幕翻译的难点在于发现错误、局部修订并度量整体质量,而不只是优化提示词。生产流程需要组合首轮翻译、确定性校验、LLM 审核、定向重译和高风险内容人工复核。
构建覆盖 16 种语言的多语言字幕翻译工作流三个月以来的经验
LLM 字幕翻译最难的部分,并不是偶尔获得一次高质量的翻译。
真正困难的是检测模型何时出错、仅修复受影响的字幕行,以及衡量整个系统是否确实得到了改进。
过去三个月里,我一直在研究基于 LLM 的视频字幕翻译,将中文字幕翻译成包括英语、日语、韩语和西班牙语在内的多种目标语言,共覆盖 16 种语言。
在处理生产用例之前,我曾认为核心问题很简单:选择一个能力足够强的模型,再编写一个足够详细的提示词。
但这一设想没能经受住生产环境的检验。
一条字幕可能在语义上合理,却仍然无法使用:它可能太长、被分配给错误的字幕 ID、与既定角色名称不一致、使用了错误的语体,或者混入了尚未翻译的源语言文本。
因此,一个可靠的生产工作流需要的远不止翻译提示词。它需要初次翻译、确定性验证、基于 LLM 的审查、针对性修订、针对高风险情况的人工审核,以及一个能够将失败案例转化为评估数据的反馈闭环。
本文中的示例均经过简化和匿名化处理。文中的结论来自视频字幕翻译,不一定能直接适用于文学、法律或其他专业翻译任务。

一般的文本翻译通常围绕含义、流畅度和风格进行评估。
字幕还增加了几项额外约束:
每条源字幕都必须与正确的字幕 ID 保持对应;
文本必须能够在其屏幕显示时长内被读完;
角色名称和项目术语必须保持一致;
换行和标点必须遵循特定语言的规范;
输出中不得包含解释或多余的格式内容;
压缩文本时不得删除会改变剧情的信息。
这些目标之间可能相互冲突。
降低 CPS(即每秒字符数)或许能提高可读性,但也可能造成重要信息丢失。过于机械地保留中文的分行边界,则可能导致目标语言中的语序不自然。
因此,系统需要明确的优先级顺序。
在我目前采用的方法中,优先级如下:
语义准确性和完整性 > 字幕对齐和术语一致性 > CPS 和可读性 > 风格润色。
核心原则很简单:
绝不能为了解决低优先级问题而制造高优先级问题。
对于一条略长的字幕,应当进行修订,但不能以改变否定含义、数字、人物关系或关键剧情事件为代价。
初次翻译仍然是最重要的语义生成阶段。
如果模型误解了说话者的意图、角色之间的关系或否定表达的作用范围,后续的格式规则就无法可靠地还原原意。
来看一个经过简化、用于表达不确定性的中文源句:
她不会发现我拿这笔钱给别人买了房子吧?
一个有问题的译文实际表达的可能是:
她永远不会知道我拿这笔钱买了房子。
整体事件仍然可以辨认,但几个重要细节已经发生了变化:
不确定变成了确定;
焦虑的语气消失了;
“给某人买房”变成了单纯的“买房”;
参与者之间的关系变得更加模糊。
这种问题无法通过删除标点或缩短句子来解决。必须重新理解源文,并对受影响的字幕行进行针对性的重新翻译。
不过,强调初次翻译的重要性,并不意味着应把所有业务规则都塞进第一次翻译的提示词中。
一种更实用的职责划分方式是:
初次翻译应重点关注:
语义的准确性和完整性;
上下文、共指关系和角色关系;
否定、数字、时间及其他关键细节;
目标语言中的自然表达;
角色名称和关键术语。
确定性验证器应重点关注:
缺失的字幕 ID;
无效的输出结构;
违反 CPS 或长度限制;
重复标点;
明显无效的文字系统、字符或标记。
可以将其概括为:
初次翻译决定质量上限,验证器守住质量下限。
提示词应以获得正确结果为目标,但不应负责处理所有能够由软件进行确定性验证的条件。
面对翻译错误,一种常见的处理方式是不断添加否定性指令:
不要改变行数;
不要残留源语言文本;
不要输出解释;
不要超过长度限制。
这些指令很有用,但不断增长的禁令列表并不能告诉模型,当约束发生冲突时应该如何处理。
“保持简洁”可能与“不得遗漏信息”冲突。
“保留字幕边界”可能与“使用自然的目标语言语序”冲突。
一个更清晰的翻译提示词应当明确组织任务:
[Task]
Translate the source subtitles into the target language
for on-screen video subtitles.
[Priority Order]
1. Preserve semantic accuracy and completeness.
2. Preserve subtitle alignment and approved terminology.
3. Control length without losing meaning.
4. Improve naturalness and platform-appropriate style.
[Hard Constraints]
- Every input item must have exactly one output item.
- Do not omit, merge, or add subtitle IDs.
- Do not modify approved terminology.
- Do not output explanations or additional text.
- Follow the required output structure exactly.
[Soft Constraints]
- Use natural target-language syntax.
- Prefer concise, conversational phrasing.
- Avoid unnecessary repetition.
- Keep subtitles readable without removing critical meaning.
[Context and Terminology]
Provide relevant story context, character relationships,
and approved terminology.
[Output Protocol]
Return a stable format that can be parsed by software.
提示词最重要的作用并不是穷举所有可能出现的错误。
而是告诉模型:
哪些要求是强制性的,哪些要求属于优化目标,以及在发生冲突时应如何解决。
生成参数也需要结合具体模型和测试集进行评估。字幕翻译通常适合使用相对保守的生成设置,但并不存在一种对所有模型和所有语言都最优的通用 temperature 或采样配置。
即使提示词明确要求逐行一一对应,LLM 仍然可能:
合并两三条字幕;
将某一行的含义放到相邻的 ID 下;
返回数量正确的 ID,但其中的内容在语义上并未对齐;
为了让目标语言听起来更自然而重新组织字幕结构。
这里有一个重要区别:
生成约束并不等同于确定性保证。
要更可靠地保障字幕完整性,最好使用明确的协议:
Input:
101 | First source subtitle
102 | Second source subtitle
103 | Third source subtitle
Output:
101 | First translated subtitle
102 | Second translated subtitle
103 | Third translated subtitle
随后,软件可以验证:
每个预期 ID 是否都存在;
是否添加了非预期 ID;
是否存在空输出;
响应是否能够被解析。
但结构有效并不等于语义有效。
模型可能返回所有预期 ID,却把字幕 102 的含义放到了字幕 103 下。ID 集合虽然完整,内容却仍然发生了错位。
检测这种故障可能需要结合以下方法:
重复内容检测;
相邻字幕行对齐检查;
针对高风险内容的人工审核。
这就是为什么相比让模型“反思整段翻译”,我更倾向于进行针对性诊断。
检查翻译的准确性、流畅度和风格。
应当提出具体问题:
是否缺少任何字幕行?
哪一行包含未翻译的源语言文本?
特定行中是否缺少已批准的术语?
某条字幕是否疑似包含相邻 ID 的内容?
哪一行超过了可读性限制?
一个实用的工作流如下:
First-pass translation
→ deterministic validation and LLM-based checks
→ identify the affected IDs and error types
→ revise only the problematic lines
→ validate again
其运行原则是:
先检测,再根据错误类型进行分流,并且只修改确实需要调整的内容。
这可以减少不必要的模型调用,并降低修正一行时破坏其他多行正确译文的风险。
一句简短的中文疑问句,例如:
在另一种语言中可能会显著变长。
为了保证字幕的可读性,可能需要缩短译文,但在压缩之前,首先应该回答以下几个问题:
被删除的信息是否已经可以从画面或上下文中明确得知?
是否删除了否定、数字、关系或关键动作?
说话者的语气是否发生了变化?
原本明确的指代是否变得含糊?
更安全的 CPS 修订流程是:
判断长度超标是由直译、重复还是不必要的扩写造成的;
删除目标语言中可以自然省略的信息;
保留关键动作、否定、数字和关系;
压缩后重新检查语义和术语。
应将 CPS 视为一种检测信号,而不是盲目删减文本的许可。
在多阶段翻译过程中,人名、地名、组织名称和项目特有表达经常会发生偏移。
同一个角色可能出现以下情况:
在一行中使用音译,在另一行中使用意译;
在一个阶段使用全名,之后却使用不一致的缩写;
初次翻译时采用已批准的形式,但在 CPS 修订后被改成其他形式。
仅在提示词中写明“保持术语一致”可能并不足够。
更可靠的技术包括:
在翻译前检测并替换已批准的术语;
将已批准的术语作为受保护的锚点;
在翻译、审校和修订阶段始终使用同一份术语表;
在所有修改完成后,验证最终的术语使用情况。
这会让系统从:
希望模型记住术语
转变为:
主动保护已批准的术语。
多语言系统可以共享:
字幕 ID 协议;
重试和故障处理机制;
评估和回归工作流。
但不应盲目共享所有特定语言规则。
英语通常需要关注文本膨胀、受中文影响的语序、跨行句法、人名、货币和称谓形式。
日语需要谨慎处理性别化表达、敬语、第一人称代词和句末表达。由于中文和日文共享许多字符,如果把每个 CJK 字符都视为中文泄漏,就会产生误报。
韩语需要针对敬语、语序、句尾形式和文字体系泄漏进行特定语言处理。自然的语序变化不应自动归类为行对齐错误。
西班牙语需要关注语法性别、数的一致性、呼语标点和问号惯例。
更具可扩展性的设计是:
使用共享的系统架构,并配合特定语言的质量控制。
特定语言的配置可以包括:
CPS 和长度策略;
标点与空格;
源语言泄漏检查;
敬语和语法性别;
断行惯例;
验证器允许列表和例外规则。
对一种语言效果良好的检测器,应用到另一种语言时可能会变成误报生成器。
修改提示词、添加验证器或再引入一次 LLM 调用,并不自动意味着系统有所改进。
少数几个表现更好的示例可能只是个别现象。减少一种错误,也可能在其他方面引入回归。
一个有效的反馈闭环应记录:
初次翻译的输出;
修订前后的译文;
人工编辑后的最终版本;
模型和提示词版本;
术语表和规则版本;
延迟和模型使用量;
人工编辑的类型和数量。
有用的指标可以包括:
严重误译率和漏译率;
字幕对齐失败率;
术语一致性;
自动修订率;
人工编辑量;
初次翻译或轻度编辑后的通过率;
单位内容的成本和延迟。
字符编辑率可以作为衡量人工返工量的有效替代指标,但它本身无法衡量质量。
在项目的某个阶段,机器输出与最终人工版本之间的字符编辑率变化如下:
数值越低,意味着人工编辑修改的字符越少。
在这五种语言中,引入翻译智能体工作流后,字符编辑率显著下降。对于另外经历了提示词优化阶段的三种语言,编辑率进一步降低。
不过,不应将这一指标理解为翻译质量的完整衡量标准。
修正标点符号和纠正关键否定词,所涉及的字符修改数量可能相近,但二者带来的业务风险完全不同。
因此,字符编辑率应与以下错误分类体系结合使用:
高风险:含义颠倒、身份错误或人物关系被破坏;
中风险:遗漏、术语错误、数字错误或时间指代错误;
体验问题:表达不自然或 CPS 过高;
低风险:标点、空格和格式问题。
一个可靠的优化循环如下:
收集生产环境中的失败案例
→ 对错误类型和严重程度进行分类
→ 将代表性案例添加到回归测试集
→ 修改提示词、术语、规则或路由
→ 运行离线回归测试
→ 检查是否出现新的回归
→ 在有限流量下进行验证
→ 决定是否扩大变更范围
如果没有回归测试,就很容易只修复当前示例,却不知道还有哪些地方变得更糟。
经过三个月的多语言字幕翻译工作,我目前得出的结论是:
初次翻译决定了质量上限,但不应承担所有职责。
提示词设计的核心是明确任务优先级,而不是罗列无穷无尽的禁令。
生成约束无法替代确定性验证。
通用的自我反思并不总是有效;有针对性的诊断通常更加稳定。
多语言系统应该共享框架,而不是共享所有语言规则。
如果没有反馈和回归评估,所谓的改进可能只是一种局部印象。
面向生产环境的质量工作流可以概括为:
初次翻译
→ 确定性验证和基于 LLM 的审校
→ 有针对性的修订
→ 对高风险案例进行人工审核
→ 反馈与评估闭环
最终目标并不只是提高某个抽象的翻译分数。
在生产环境中,真正重要的是:
严重错误是否减少;
人工编辑时间是否缩短;
初次翻译通过率是否提高;
单位内容成本是否降低;
随着语言种类和内容量的增长,系统能否保持稳定。
LLM 字幕翻译的难点,不是偶尔生成一次译文。
真正的难点,是将概率性的模型输出转化为一个能够被检查、纠正、评估并持续改进的系统。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。