如何让100个chunk的术语翻译保持一致:translate-book术语表系统详解
如何让100个chunk的术语翻译保持一致translate-book术语表系统详解【免费下载链接】translate-bookAgent skill for Codex, Claude Code, and OpenClaw that translates entire books (PDF/DOCX/EPUB) into any language using parallel subagents.项目地址: https://gitcode.com/gh_mirrors/tran/translate-book用 AI 做图书翻译最头疼的不是翻译速度而是术语一致性。translate-book 是一个面向 Codex、Claude Code 和 OpenClaw 的 Agent Skill用并行子代理把整本书PDF/DOCX/EPUB翻译成任意语言。它靠一套术语表 反馈合并 精确重译的术语表系统让 100 个 chunk 的同一人名、同一机构名在全书保持同一个译法。问题并行翻译为什么会译名漂移translate-book 的核心思路是一本书拆成约 6000 字符一个的 chunk每个 chunk 交给一个独立上下文的全新子代理翻译。这样能避免单会话长文本的上下文堆积和输出截断100 个 chunk 默认 8 路并发速度很快。但副作用也很直接第 7 个 chunk 把 Manhattan 译成了曼哈顿第 43 个 chunk 只认得上下文把它译成了曼哈顿岛第 88 个 chunk 又写成了门荷顿每个子代理都看不见彼此的译文同一个专有名词自然会出现三种译法。这就是术语漂移term drift——并行图书翻译的第一号质量问题。术语表系统全景先约定再翻译术语表系统在正式翻译之前介入流程分五步步骤做什么① 抽样读 5 个代表性 chunk首章、末章、3 个均匀分布的中间章节② 提取找出人名、地名、机构名、反复出现的领域术语为每个术语确定标准译法③ 写入生成temp_dir/glossary.json可手动编辑重跑不会覆盖④ 统计频次扫描全部源 chunk统计每个术语在全书出现的次数⑤ 注入提示词翻译每个 chunk 前把只与该 chunk 相关的术语表作为硬约束注入提示词 设计哲学一句话概括脚本做记账LLM 做语义判断。哈希、去重、校验、IO 全部由确定性 Python 完成scripts/glossary.py而这个词到底是不是那个人名的别名这类语义决策才交给 LLM 判断。术语表长什么样glossary.json 的 v2 结构术语表就是一个普通 JSON 文件放在临时目录里可以直接手工编辑{ version: 2, terms: [ {id: Manhattan, source: Manhattan, target: 曼哈顿, category: place, aliases: [], gender: unknown, confidence: medium, frequency: 12, evidence_refs: [], notes: } ], high_frequency_top_n: 20 }各字段的作用用一张表说清楚字段含义新手提示source/target原文 → 标准译法唯一必填翻译时强制使用aliases同一实体的变体拼写别名出现在正文里也算命中该术语category分类person / place / organization 等帮助判断同类术语gender性别male / female / nonbinary / unknown用于代词翻译默认 unknown有证据才升级confidence置信度 low / medium / high由证据数量驱动只升不降frequency全书出现次数由统计命令自动写入evidence_refs佐证 chunk 列表最多保留最近 5 条FIFO几个容易踩的坑v2 结构帮你提前挡住了同一个词不能归属两个术语。如果Apple既指公司又指水果术语表没法同时写两种译法——系统会直接报错提示你手工消歧比如改成Apple (Inc.)避免机器静默选错译法。v1 旧文件首次加载会自动升级为 v2无需手工迁移但如果 v1 里有同名不同义的重复词条升级会中止并给出消歧提示原文件保持不动。精准注入每个 chunk 只看到它需要的术语术语表再全也不能整本塞进每个子代理的提示词。glossary.py提供两个命令解决这个问题第一步统计全书频次python3 scripts/glossary.py count-frequencies temp_dir这里的匹配规则相当讲究ASCII 词用单词边界正则——cat不会误匹配categoryC、.NET也能正确识别中日韩术语用子串匹配但单字汉字会被拒绝王这种字会过度匹配一切别名出现次数计入所属术语所以拼写变体再多也不会丢失权重第二步为每个 chunk 生成专属术语表python3 scripts/glossary.py print-terms-for-chunk temp_dir chunk0042.md选词公式很简单本 chunk 中出现过原文或任一别名的术语 ∪ 全书频率 Top-N默认 20的术语输出是一张三列 Markdown 表格原文别名译文Manhattan—曼哈顿AliceA. Liddell爱丽丝这张表格会作为提示词第 13 条规则注入子代理以下术语必须严格使用指定译法不要自行变换。如果某个 chunk 没有相关术语这一整条规则会被省略不会留下空占位符。这样每个子代理拿到的都是小而准的约束既不撑爆提示词也不漏掉高频词。术语表会自我生长子代理反馈合并光靠开头抽样的 5 个 chunk术语表不可能覆盖全书。所以 translate-book 设计了反馈回路每个子代理除了输出译文还要写一个观察文件output_chunkNNNN.meta.jsonschema 见 scripts/meta.py诚实汇报本 chunk 里的发现观察类型内容new_entities新出现的实体 建议译法 原文引证alias_hypothesesTaig 可能是 Tai 的别名attribute_hypothesesTai 应该是男性附引证conflicts注入的译法泰读起来不对劲太一更好每批默认 8 个翻译完成后scripts/merge_meta.py 分两步合并prepare-merge扫描所有观察文件把发现分成两类无冲突的一致提案自动应用和需要判断的冲突别名判定、译法冲突等列成选项交给主代理裁决apply-merge事务性地落盘——任何一条决定写错整批回滚术语表一个字都不改合并是保守的新实体必须有原文引证性别默认unknown只有显式证据才升级已有标准译法不会被静默覆盖。于是第一批翻译喂给术语表的发现第二批、第三批翻译就能看到——术语表随翻译进程滚动生长。改了术语表之后只重译受影响的 chunk术语表是手工可编辑的。如果你翻到一半发现Manhattan应该统一译成曼哈顿岛改完glossary.json重跑 skill会发生什么不是全部重译。scripts/run_state.py 会给每个已完成的 chunk 记账用的哪版术语表哈希、选中了哪些术语逐条哈希、源 chunk 哈希、输出哈希。重跑时plan命令对比这些记录精确算出三类 chunk需要重译选中了被修改术语、或术语哈希变化的 chunk只需补记录旧输出仍然有效但缺状态记录无需处理术语、源文件都没变直接跳过注意细节改target、category甚至aliases都会改变术语哈希因为别名也出现在注入的表格里所以改别名的影响同样能被追踪到。小结三层状态一套闭环层文件角色标准层glossary.json唯一权威术语表子代理只读主代理唯一写入观察层output_chunkNNNN.meta.json子代理的原始发现批次合并的原料编排层run_state.json每个 chunk 的状态账本精确重译的依据共享状态单写者只有主代理写术语表和运行状态子代理只写自己的 meta 文件无需加锁脚本从不调用 LLM所有语义判断都在明确的裁决点上完成。对使用者来说这套系统的价值很直白你只需要在翻译前花几分钟检查一遍术语表中途发现译名不对随手改一处重跑时只有受影响的 chunk 会被重译——而不必担心 100 个 chunk 之间的人名各说各话。这正是并行图书翻译从能跑到能读的关键一步。想亲自验证仓库自带的完整链路测试素材在 tests/baselines/流程编排细节可对照 SKILL.md 的 Step 3.5 与 Step 4.5 阅读。【免费下载链接】translate-bookAgent skill for Codex, Claude Code, and OpenClaw that translates entire books (PDF/DOCX/EPUB) into any language using parallel subagents.项目地址: https://gitcode.com/gh_mirrors/tran/translate-book创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026汉中景区古建牌坊检测排名 TOP5 CMA 资质机构提供牌坊裂缝检测、牌坊倾斜检测、老化检测 联系方式推荐

2026汉中景区古建牌坊检测排名 TOP5 CMA 资质机构提供牌坊裂缝检测、牌坊倾斜检测、老化检测 联系方式推荐

汉中古建牌坊检测市场近年愈发火热,景区石牌坊、乡村古牌楼、文物古建牌坊的结构安全鉴定需求激增,但放眼望去,检测机构鳞次栉比、鱼龙混杂,不少无资质单位出具的检测报告根本无法通过住建、文物部门核验,让人防不胜防…

2026/10/9 0:45:32 阅读更多 →
模型调用实战总结:从云端API到本地服务与性能优化

模型调用实战总结:从云端API到本地服务与性能优化

说到模型的调用,我脑子里会跳出很多画面:凌晨三点盯着控制台等一个推理请求返回,拿着跨语言SDK文档对着内存模型发呆,被一句“模型繁忙”劝退后在日志里翻排队策略。这几年带项目、做技术方案,跟模型打了太多交道&…

2026/10/9 0:44:31 阅读更多 →
Java+JSP+MySQL教材管理系统实战:库存扣减与分页导出

Java+JSP+MySQL教材管理系统实战:库存扣减与分页导出

简介:这份资源是面向Java Web初学者与课程设计开发者的学校教材管理系统完整项目源码,基于Java、JSP与MySQL技术栈构建,运行于Tomcat环境,适合作为毕业设计、课程作业或Web开发练手参考。压缩包共81个文件,约3.91MB&am…

2026/10/9 0:43:31 阅读更多 →

最新新闻

Rails TIL:用 after_commit 回调确保记录真正提交后执行通知等副作用逻辑

Rails TIL:用 after_commit 回调确保记录真正提交后执行通知等副作用逻辑

文档教程知识库 【免费下载链接】til :memo: Today I Learned 项目地址: https://gitcode.com/gh_mirrors/ti/til 点击查看 免费下载 本篇技术指南围绕 Rails ActiveRecord 回调体系中的一个关键陷阱展开:当记录在事务(transaction&#xff…

2026/10/9 1:23:57 阅读更多 →
linux中如何后台运行一个命令并获取它的进程号

linux中如何后台运行一个命令并获取它的进程号

如果你只是想简单的后台挂起一个命令你可以在末尾加一个&,就可以了,如下 your_command & echo $!这种写法中,是依靠了&在shell中可以并行所有命令,或者说是立刻释放左侧命令对shell的控制权,从而让shell立…

2026/10/9 1:23:57 阅读更多 →
【数学】P9667 [ICPC2022 Jinan R] Tower|普及+

【数学】P9667 [ICPC2022 Jinan R] Tower|普及+

本文涉及知识点 数学 [ICPC2022 Jinan R] Tower 题面翻译 题目描述 庞教授搭了 nnn 座不同高度的塔。第 iii 座塔的高度是 aia _ {i}ai​。 寿教授不喜欢这些参差不齐的塔。他决定先去掉它们中的 mmm 座,然后执行以下操作中的一些(或不执行&#x…

2026/10/9 1:23:57 阅读更多 →
游戏引擎对象与资源解耦设计实战:稳快省三原则

游戏引擎对象与资源解耦设计实战:稳快省三原则

1. 这不是教科书,是引擎开发现场的“对象-资源”生死线你写完一个角色类,new 出来扔进场景,跑两帧就卡顿;美术塞进来的20482048贴图,加载时内存暴涨300MB,然后在低端机上直接OOM崩溃;策划改了十…

2026/10/9 1:23:56 阅读更多 →
我的另一端使用RS422,我使用usb转接485的转接器,结果我只能接入收的线,如果接入发的线,则接收的字节流出现错误,后来改成usb转接422的转接器,收发都正常了。

我的另一端使用RS422,我使用usb转接485的转接器,结果我只能接入收的线,如果接入发的线,则接收的字节流出现错误,后来改成usb转接422的转接器,收发都正常了。

你帮我重新描述下我的提问,我觉得用词不太好对端是 RS-422 四线全双工设备。我先用 USB 转 RS-485 连接,只接对端发送差分线时 PC 能正常接收;再把对端接收差分线也接上后,PC 接收数据就出错。改用 USB 转 RS-422 后收发正常。请问…

2026/10/9 1:23:56 阅读更多 →
Incus 安全加固指南:守护进程访问控制、容器隔离与网络防欺骗配置详解

Incus 安全加固指南:守护进程访问控制、容器隔离与网络防欺骗配置详解

后端虚拟化容器运行时 【免费下载链接】incus Powerful system container and virtual machine manager 项目地址: https://gitcode.com/gh_mirrors/inc/incus 点击查看 免费下载 导读 本文以 Incus 官方安全说明文档 doc/explanation/security.md 为骨架&#x…

2026/10/9 1:22:56 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →