v0.6-wip: Python-based Phase 4 translation pipeline

架构变更:把 dr-translator 从 opencode agent 降级为 Python 脚本编排下的 LLM
调用。根本原因是 agent 一次性处理 19k 英文词整文,单次 output token 接近
Sonnet 4.6 上限(~32k),多次重跑都卡在同一个坑里——问题是架构本身,不是
prompt。

新架构:

scripts/lib/zenmux_client.py     HTTP 客户端,指数退避重试、token 统计
                                  JSONL 日志、secrets.env 自动加载
scripts/lib/markdown_chunker.py   按 H1/H2 切块,稳定 anchor ID(order+title
                                  sha1),支持合并/统计
scripts/prompts/translate_system.txt  英译中 prompt,用自定义 <<<TRANSLATION>>>
                                       分隔符格式(规避 Markdown-in-JSON 问题)
scripts/prompts/polish_system.txt     中文润色 prompt(留给下一步 polish.py)
scripts/translate.py              主入口:章节级切块 → 逐块翻译 → 拼接

关键设计:
- 0 依赖 LLM 遵从性:Python 控制切块/循环/重试,LLM 只做单块翻译
- 断点续传:每块翻译完立即写 phase4/zh_chunks/<order>-<anchor>.md
- 术语表累积:每块的 glossary_patch 合并回 phase4/glossary.json
- 失败隔离:单块失败不影响其他块,重跑只补缺
- 调试友好:--only N,M / --limit K / --force

实测(dual-target-rnai-pipeline-2026):
- 63 块全部成功,17 分钟,$1.70
- 33,441 中文字(符合"研究类 ≥30,000 字"硬标准)
- 310 条双语术语
- 翻译质量:接近母语咨询分析师写作

下一步:polish.py(按 H2 section 润色)、merge_chapters.py(从 phase2/drafts
合并生成 final_en.md)、重构 dr-editor-in-chief 调度脚本、更新 /dr-finalize。

Co-authored-by: User <human>
This commit is contained in:
kai
2026-04-22 10:43:43 +08:00
co-authored by User <human>
parent 701bc1887e
commit 1b47b50d3c
74 changed files with 2792 additions and 3 deletions
@@ -0,0 +1,7 @@
## 反驳证据:固相合成为何不会快速衰退
制约转型速度的力量有三。其一,监管惯性:所有已获批的siRNA治疗药物均采用固相合成(SPOS),阿尔尼拉姆法规事务CMC高级总监在2026年3月OPT大会上就"酶连接(enzymatic ligation)寡核苷酸合成的技术与监管考量"发表演讲,明确指出FDA尚无正式指南,行业仍在摸索监管路径。其二,规模产能:Codexis的ECO GMP生产中心最早要到2027年底才能投入运营;三家合同开发与生产组织(CDMO)验证合作伙伴——Bachem、Nitto Denko Avecia、ST Pharm——目前仍处于商业GMP批次评估阶段。2026至2027年间需要10 kg以上批量的III期项目,根本没有经过验证的商业化酶连接货源,只能回归SPOS。其三,构建体多样性:鸡尾酒制剂方案(两条21-mer共同给药、无共价连接臂)对SPOS的链长没有任何挑战,仍是最简洁的CMC路径,在当前双靶点管线中占据相当大的比例。
这场转型将以构建体类别为单位分步推进。酶连接将率先占据>40 nt组装构建体及复杂骨架的市场;液相合成(LPOS)将承接大批量单链商业化生产;而高度修饰的短链片段将长期留在SPOS体系内,当前管线中的大多数品种至少在2028年前仍将依赖SPOS。
---