架构变更:把 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>
1006 B
1006 B
合成模式比较
| 模式 | 最大实用长度 | 2'-修饰引入 | GMP先例 | 1 kg规模成本/克 | 绿色评分 | 双靶点适用性 |
|---|---|---|---|---|---|---|
| 固相合成(SPOS) | 60–80 nt;搭配ALE可达~215 nt | ✅ 成熟 | ✅ 已建立 | |
低 | 适用于≤21-mer简单构建体;多价/串联结构适用性下降 |
| 液相合成(AJIPHASE®) | 最优区间15–40 nt | ✅ 已验证 | ✅ 部分(PMO已商业化) | $$$ | 中 | 分支结构受限;高产量单链适用性强 |
| 酶连接 | 组装后40–120 nt | ✅ 片段级(工程化连接酶) | 🔶 新兴(2025年3 kg临床级;2027年GMP) | $$ | 高 | GMP产能建立后,复杂/长链双靶点结构适用性极佳 |
| 无细胞体外转录(IVT) | 无限制 | ❌ 极低(无治疗级2'-修饰) | ❌ | $ | 极高 | 暂不适用——目前仅限农用dsRNA |
| TdT无模板合成 | 600+ nt(DNA) | ❌ RNA 2'-修饰为限速步骤 | ❌ | $$ | 高 | 未来可期(3–5年) |