Wenyi AI审校流水线深度解析证据循环、跨块仲裁与影子修复的完整机制【免费下载链接】wenyi将被语言阻隔的作品带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/BigDawnGhost/wenyiWenyi 是一款面向长文本小说、专著、叙事非虚构的 AI 翻译与审校工具在批量翻译之外内置了一条基于证据的整书 AI 审校流水线翻译完成的稿子会经过分块并行审校、证据循环核验、跨块冲突仲裁再到影子修复与盲复查全程不直接污染正式译文直到你确认后才由 Autofix 发布。本文带你从机制层面读懂这条流水线是如何运转的以及它如何保证长文翻译的一致性与质量。1️⃣ 全局视角审校在流水线中的位置Wenyi 的完整流程是「整书预读 → 批量翻译 →可选润色 → 整书审校 → 导出」。审校Agent Review是最后一个模型驱动的语义质检环节且要求所有章节都已翻译完毕、术语表Glossary已定型才会启动。整个审校引擎本身是只读的它从不修改正式章节、清单manifest或术语表只在「影子译文Shadow Translation」上做文章。理解这一点是理解后面所有机制的钥匙。核心入口在 review_workflow.py 中的ReviewService配合 docs/pipeline.md 中的流程图可以快速建立全局认知。2️⃣ 证据循环审校员如何按需查资料而不是背整本书分块并行扫描审校先把整书按章节切成连续块约相当于 3 个翻译批次的规模用线程池并行发送审校请求。每个响应都必须带回执被审段落数 complete: trueJSON 严格校验对格式坏掉的块会递归二分重查最小到单段重试——这套自适应恢复逻辑在 review_chunks.py 中。四个受限证据工具当某个块审出了候选问题且开启了review_agent_loop时一个有界 Agent Loop接手确认或驳回候选。它不能凭感觉下结论只能通过四个工具向 BookEvidenceIndex 发起证据请求glossary_term按原文或别名查单个术语的标准译法term_occurrences查某术语在全书中的首次/中间/末次等选点出现位置segment_context取某段落前后的源文译文上下文可跨章book_context取风格指南、全书梗概、章节摘要等限定章节的分析材料。循环规则与反幻觉校验每轮最多 4 个请求、总轮数受review_agent_max_evidence_rounds限制重复请求会被去重拦截单次返回超过 64KB 会被拒绝并要求收窄查询见 evidence.py 的 execute。最关键的一条审校员在最终结论中引用的每个evidence_refs必须来自本次循环真实获取过的证据否则直接判协议违规见 validate_evidence_refs。这从协议层面堵住了编造证据的路。3️⃣ 跨块仲裁平行的审校块打架了怎么办每个审校块独立工作于是常见一个尴尬场景同一个术语A 块建议译作龙鳞B 块建议译作龙甲。Wenyi 对此有专门的确定性流程归一化所有原始问题先按位置排序、去重、生成跨轮稳定的issue_keyconflicts.py冲突分组同一一致性键kind:canonical_key下来自不同块且提出两个以上互斥值时才升级为冲突组build_conflict_groups仲裁ReviewConflictArbiter 对每个冲突组发起一次有界证据循环每个候选值只抽样首/中/末代表段落且推荐值必须是已被块内提出过的值之一——仲裁员无权发明新译名。仲裁同样可以再次请求证据但只能引用自己看到的段落应用结果仲裁通过的值胜出落选块的位置保留、建议改写成采用胜出值仲裁前版本存档备查apply_review_arbitrations。仲裁失败或超限时冲突标记unresolved相关位置不会进入自动修复。4️⃣ 影子修复盲复查 摘要防震荡确认后的问题按段落分组交给 Fixer 生成整段替换而非 diff同一轮所有 Fixer 读的是同一份不可变影子快照补丁整轮结束后才一次性生效propose_review_patches。影子覆盖层与指纹生效的替换存进内存中的target_overrides覆盖层构建证据索引时影子文本只对审校可见BookEvidenceIndex 初始化。每轮计算整个覆盖层的 SHA-256 摘要摘要与上轮相同 →无进展停止no_progress摘要出现在历史集合里 → 检测出A→B→A 震荡停止cycle_detected干净轮次累计达到review_clean_confirmations→clean_confirmed通过。盲复查修复真的生效了吗下一轮整书审校读的是更新后的影子文本但不携带上一轮的问题说明——这是盲复查修复位置若再次被报出说明补丁无效needs_revision且该问题进入blocked_issues防止后续轮次忘记报它而制造虚假干净session.py。终止条件一览终止状态含义clean_confirmed连续 N 轮干净审校通过 ✅max_rounds达到修复轮数上限no_progress本轮没有任何可应用补丁cycle_detected影子文本进入循环震荡unresolved_fixes仍有修复失败/未解决项5️⃣ 从影子到正式Autofix 安全发布审校结束后若开启review_autofix独立的发布服务才会动手review_autofix.py先折叠应用影子变更剩余未决问题再走一遍 Agent Loop 与 Fixer 复核每个候选都带 before/after 哈希全部写入autofix/index.json之后才替换正式target中途崩溃也能幂等恢复。想保持只读传--no-autofix或设pipeline.review_autofix: false即可。6️⃣ 运行目录、检查点与中断恢复每次审校独享一个时间戳目录state/书名/targets/目标语言/reviews/review-YYYYMMDD-HHMMSS-ffffff/ ├─ rounds/ # 每轮的问题、冲突、仲裁、补丁快照 ├─ usage.json # 本次审校的模型用量 └─ autofix/index.json # 发布索引启用 Autofix 时扫描完成后即落检查点用量先持久化再进入修复阶段——即使修复期崩溃也不丢账。重跑同一命令时若正文内容、审校配置、术语表指纹三者全部匹配会直接复用已有结果不匹配则续跑未完成轮次。详见 docs/pipeline.md 与 docs/configuration.md。7️⃣ 快速上手一键开启 AI 审校# 翻译完成后独立跑一次整书审校 uv run wenyi review book.epub # 审校 自动修复发布 uv run wenyi review book.epub --autofix常用配置项pipeline.review总开关、review_agent_loop证据循环、review_conflict_arbitration跨块仲裁、review_fix_max_rounds/review_clean_confirmations终止策略、review_agent_max_evidence_rounds证据轮数上限。一句话总结Wenyi 的审校不是翻译完再看一眼而是一套可审计、可恢复、抗幻觉的工程体系——证据循环管住依据跨块仲裁管住一致性影子修复与盲复查管住质量闭环最后才由 Autofix 谨慎落笔。【免费下载链接】wenyi将被语言阻隔的作品带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/BigDawnGhost/wenyi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考