AI 翻译精修器——在上下文中修正机器翻译的二次校对
机器翻译对每一行都止步于第一个看似合理的解读。RuneTranslate 的 AI 精修器是一道可选的二次处理:它把每一行译文与原始日文以及周围的行放在一起重读,再重写——修正误译、生硬的措辞和语气。并行的按批精修器如何工作、为什么用你自己的 API 密钥就能免费使用、“便宜首轮 + LLM 精修”的成本组合,以及可自定义的精修器提示词。
机器翻译一次处理一批,速度很快,而且对每一行都止步于第一个看似合理的解读。遇到简单的行没问题;遇到难的——省略了主语、一句成语、一个双关、一行意思全靠上一行撑着——这第一次猜测就会显得生硬、直译,或者干脆是错的。而你通常要等到几个小时后在游戏里读到结果时才会发现。
AI 精修器是一道二次处理,在这些问题进入游戏之前就把它们抓出来。一行译好之后,AI 模型会把它与原始日文和周围的行放在一起重读,然后重写它——修正误译、抚平直译的措辞、贴合语气、在一个场景内保持术语一致。而且它在翻译的其余部分还在进行时就运行,所以你不必接连熬完两整轮处理。
精修器到底做了什么
它不是从头重译。对每一行,精修器都会拿到三样东西:
- 原文——原始日文,作为这一行本应表达什么的参照。
- 当前译文——首轮处理的服务商所产出的内容。这正是精修器要改进的对象。
- 周围的行——这一批中的其余部分。由于各行按提取顺序处理,一批就是一段连续的文本——通常是同一个场景或同一个文件——所以模型能免费获得大约两打相邻行的上下文。
这份上下文正是关键所在。有了它,精修器就能解决逐行处理的服务商根本无法解决的问题:
- 省略的主语。日文常常省去动作的执行者。相邻的行往往能让它一目了然;精修器可以把正确的人称代词补回去。
- 含糊的指代。
それ(“那个”)到底指什么、一行到底是疑问还是感叹、谁在对谁说话。 - 语气与语域。一句随口带过的轻松台词被译成生硬正式的英文,或者反派的威胁被译得像客服邮件。
- 直译的成语和拟声词——首轮处理逐字翻译,而没有按意思翻译。
- 术语漂移——在一个场景内,同一个术语相隔三行就被译成了两种不同的说法。
它并行运行——你不必翻译两遍
当你启动一次翻译时,会弹出一个窗口询问是否同时运行精修器。选是,它就会按批工作:一批刚译好,就在下一批还在翻译的同时把它交给精修器。多个工作线程同时运转,精修与翻译相互重叠——所以开启精修器所增加的实际耗时,远少于事后再跑一整轮所需的时间。
它还是尽力而为的。在精修器碰它之前,这一行就已经译好了,所以如果某次精修调用失败,或者你取消了任务,就直接保留首轮的译文。绝不会因为精修出了岔子而丢失某一行。
你可以全程看着它发生:一条专门的精修器进度条会在主翻译进度条旁边跟踪已精修的行,而任务结束时的汇总会告诉你精修器究竟改进了多少行。
任选一个 LLM,输入模型名
精修需要一个能听指令的模型,所以精修器运行在 LLM 服务商上:OpenAI、Anthropic、兼容 OpenAI 的接口(OpenRouter、NanoGPT 之类),或者通过 Ollama / LM Studio 运行的本地模型。你在弹窗里选好服务商,输入你想要的确切模型名——gpt-4o、某个 claude- 模型、某个本地模型 id,只要你有对应密钥的都行。快速的统计式服务商(Google、DeepL)非常适合做首轮,但当不了精修器——它们不接受指令。
你的选择会被记住,作为下次的默认值;还有一个始终精修开关,如果你想每次任务都开着它,就能彻底跳过弹窗。
省钱的聪明组合:便宜首轮,聪明精修
精修器最出彩的用法,是作为双服务商策略的后半段。首轮用免费的 Google 或 DeepL翻译,然后用 Claude 或 GPT-4o 精修。你最终得到 LLM 级别的成品,却只为一轮 LLM 付费——免费那轮挑起了大梁,LLM 只是在其上校对和润色。对大多数项目而言,这就是成本与质量之间的甜蜜点。
用你翻译时同一个 LLM 来精修也有帮助——精修这一轮能看到整批的上下文,还有一条首轮所没有的明确“改进这个”指令——但它会让你在那个服务商上的 token 花费大致翻倍。把同服务商精修留给每一行都至关重要的项目。
无论哪种方式,都把它算进预算:每一行精修都是一次额外的(成批的)模型调用。好消息是,翻译记忆库的缓存命中会被跳过(下文详述),所以重跑依然便宜。
对所有人免费
翻译记忆库、服务商路由和术语表都是 Supporter 功能。精修器不是。它完全运行在你自己的 API 密钥——或你自己的本地模型——之上,所以提供它对我们毫无成本,每一档都能用,免费档也包括在内。你唯一要付的,就是你服务商的 token 费用。
自定义精修器提示词
精修器有它自己的提示词,与翻译提示词分开,位于设置 → 翻译中。默认提示词已经在要求模型提升自然度与准确度、保留每一个占位符和标签、沿用既定术语,并且绝不输出日文。你可以覆写它来强制执行自家风格——某种语域、如何处理敬称、内容分级、目标受众:
只有当前译文会被遮罩再还原,所以你的引擎标签(RPG Maker 控制码、KAG 标签、Ren'Py 插值)以及任何术语表词条都能毫发无损地走完这趟精修往返。模型看到的只是与首轮相同的、形如 [[T0]] 的不透明占位符。
它不会碰的东西
- 翻译记忆库命中。从你的 TM 提供的行,是你已经选定或手工编辑过的译文;精修器不去动它们,只处理刚刚由机器翻译出来的行。
- 占位符和引擎标签。它们在精修这一轮里的遮罩方式与普通翻译中完全一样,所以控制码、注音文字和插值都会原样返回。
- 失败的行。精修器改进的是既有译文;它不是独立的翻译器。首轮失败的行(例如某个服务商原样返回了日文)不会被神奇地修好——换个服务商,把那些行重跑一遍。
如何使用
- 像平常一样启动一次翻译,选好你的首轮服务商(免费的 Google / DeepL 在这里是很好的选择)。
- 在弹窗里选择一并精修,挑一个 LLM 服务商,输入模型名。若想下次跳过这一步,就打开始终精修。
- 盯着两条进度条——翻译进度,外加专门的精修器进度条。
- 检查结果;任务汇总会显示精修器改进了多少行。
- 想要特定风格?在设置 → 翻译中编辑精修器提示词,然后重跑——只有待处理和已改动的行会被重新处理。
小结
首轮机器翻译能把你带到“可读”。精修器是越过这条线最便宜的办法——第二个模型,对照原文逐行在上下文中阅读,修正那目光短浅的首轮所犯的错。把它与便宜的首轮服务商加一个强力的精修模型以及一份用于人名的术语表搭配起来,你的成品就稳稳落在“稍加手工编辑即可作为粉丝翻译发布”的区间里。
下载 RuneTranslate,在真实项目上试试精修器——它在每一档都免费,用你自己的 API 密钥或本地模型即可。
