☰
wenyi文译Autofix自动修复详解:从问题确认到译文写回全自动闭环
2026/10/2 7:06:53 网站建设 项目流程

wenyi文译Autofix自动修复详解:从问题确认到译文写回全自动闭环

【免费下载链接】wenyi将被语言阻隔的作品,带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/gh_mirrors/we/wenyi

wenyi文译(Wenyi)是一款面向长文档的 AI 翻译工具,而它的Autofix 自动修复功能,能把 AI 审校(Review)确认的翻译问题自动修复并写回正式译文,完成"发现问题 → 确认问题 → 修复段落 → 哈希校验写回"的全自动闭环。本文带你用大白话看懂 Autofix 的完整工作流程、启用方法和安全机制。

Autofix 写回后的译文可导出为双语 EPUB,原文以弱化样式与译文并排展示

为什么需要 Autofix 自动修复?

过去,wenyi 的审校引擎是一个只读角色:它会拿着最终术语库和全书证据,逐段检查译文中的人名不一致、术语误用、漏译等问题,并把候选问题和建议逐条列出来——但不会动笔改。

这意味着你每次跑完review,拿到的是"问题清单"而不是"修复好的书",还得靠人工逐段改。Autofix 就是补上这一环:

  • ✅ 审校确认的问题,自动生成整段替换译文
  • ✅ 修复前的原文有哈希指纹,写回时校验,防止改错地方
  • ✅ 中途断电、断网、中断,重新执行即可续跑,不会重复修复
  • ✅ 所有前后版本、判定理由都留档,可追溯、可审计

一键启用 Autofix:两步走

在命令行中,只需一条命令:

uv run wenyi review book.epub --autofix

也可以反过来显式关闭:--no-autofix(默认行为即只读审校)。或者在 config.yaml 中设置pipeline.review_autofix: true长期开启。

Autofix 写回后的译文,可继续用 Web 校对工作台对照原文人工复核

Autofix 闭环的四个阶段

整个 Autofix 由五个核心模块协作完成,源码位于 packages/core/wenyi_core/pipeline/ 目录:

阶段 1:审校只"发现",不改一个字

Review 引擎并发检查全书文本块,产出两类结果:

  • changes(建议替换):审校直接给出的段落级修改建议
  • issues(未决问题):需要进一步取证确认的疑点

此时引擎保持只读,不触碰任何正式译文。相关逻辑见 review_workflow.py。

阶段 2:折叠 changes,剩余问题按段落分组

autofix_candidates.py 会把所有changes先叠加到一份不可变的工作快照上(同一处多轮修改会自动折叠为最终版本),然后把剩余的issues按"章+段落"分组,交给多个修复任务并发处理(并发数由review_concurrency控制)。

阶段 3:双重确认——Agent 复核 + Fixer 严格校验

这是 Autofix 最核心的"防误伤"设计,实现在 autofix_verification.py 与 review_fixer.py:

  1. Review Agent 复核:每组问题先经过有界取证循环重新验证。Agent 会引用全书证据判定问题真伪——被证伪的问题直接驳回(dismissed),不会浪费修复资源。
  2. Fixer 生成整段替换:确认属实的问题交给 Review Fixer,它会结合风格指南、全书梗概、章节摘要、相关术语表和上下文段落,为这个段落生成完整的新译文(ProvisionalPatch,临时补丁)。
  3. 协议级严格校验:补丁必须带回正确的before_hash(修改前文本指纹)和完整的issue_ids;如果补丁丢掉了原文的对话引号对、或输出与原文完全一致,直接作废重试,绝不允许"糊弄"过关。

Autofix 的模型用量会计入本次 Review 统计,并在进度页展示

阶段 4:哈希校验 + 幂等写回

autofix_publish.py 负责最终的"落笔":

  • 写回前对比当前正式译文与before_hash:一致才写;不一致说明别处已改动,该条标记failed并记录实际哈希,绝不盲改
  • 已写入的段落再次执行会判定为no_net_change,幂等安全
  • 写回后自动刷新注释锚点和 DOCX 样式偏移,保证导出排版不错位

中断不怕:index.json 是你的"修复台账"

Autofix 在动手前会把完整计划落盘到本次审校目录的autofix/index.json(状态applying),包含每一处修改的 before/after 全文、哈希和问题编号。

review_autofix.py 中的resume_pending会在下次运行前先检查:如果上一次写回中断了,会直接续写已索引的修改,而不是重新审校、重新调用模型。Fixer 的每次调用轨迹也缓存在autofix/fixers/下,成功结果可直接复用——这就是"同一命令恢复运行"的底气。

修复结果去哪里看?

每次 Autofix 运行的所有产物都在统一的状态目录里:

state/<书名>/targets/<目标语言>/reviews/review-<时间戳>/ ├── result.json # 审校+Autofix 统一结果(含 applied/failed 计数) ├── usage.json # 本次模型用量 └── autofix/ ├── index.json # 完整修复台账:前后版本链、判定、失败原因 └── fixers/ # 每个段落的修复调用轨迹

运行uv run wenyi report book.epub可查看当前翻译状态与最新 Review/Autofix 摘要。

常见问题

Q:Autofix 会改术语表或书籍元数据吗?不会。只替换正式段落的target译文,manifest 和术语库保持原样。

Q:修复会"越修越乱"吗?不会。每次写回都要求before_hash精确匹配,且驳回、失败的问题都会留档(failed/dismissed),你可以用 Web 工作台对照原文人工复核任何一段。

Q:和直接让大模型重写有什么区别?Autofix 的每一步都基于全书证据(术语库、章节摘要、上下文段落),并经过 Agent 复核 + 协议校验 + 哈希写回三道闸门,是"证据驱动的保守修复",而非整书盲改。

小结

wenyi文译 的 Autofix 把 AI 审校从"只报问题"升级为"自动闭环":审校发现问题 → Agent 取证确认 → Fixer 生成段落替换 → 哈希校验幂等写回。对于翻译长篇小说或学术著作的用户来说,跑完review --autofix一条命令,就能收获一部已经过自动修复、且完全可追溯的成品书。

  • 使用指南:docs/usage.md · 中文版 docs/zh/usage.md
  • Autofix 核心源码:packages/core/wenyi_core/pipeline/review_autofix.py
  • 补丁协议实现:packages/core/wenyi_core/agents/review_fixer.py

【免费下载链接】wenyi将被语言阻隔的作品,带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/gh_mirrors/we/wenyi

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询