架构变更:把 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>
13 lines
1.3 KiB
Markdown
13 lines
1.3 KiB
Markdown
## 工艺特征比较
|
|
|
|
| 设计范式 | 相较单靶点新增关键步骤 | 单体多样性增加 | 需要异源双链体质控 | 典型GalNAc价态 |
|
|
|---|---|---|---|---|
|
|
| 共价连接串联siRNA | +2–3 | +1种接头亚磷酰胺单体 | 是 | 3 |
|
|
| 多价GalNAc簇 | +2–6(取决于价态) | +0–2种簇臂变体 | 否(单一双链体) | 3–5 |
|
|
| 二价分支构建体/分支骨架 | +3–5 | +0–1 | 是(必须进行核酸酶图谱分析) | 每条链2–3 |
|
|
| 鸡尾酒制剂/muRNA | 每条链0(鸡尾酒);+2(muRNA) | 0 | 部分(比例质控或释放谱质控) | 每条链3 |
|
|
|
|
上表对供应商的影响直接而明确:每一个"+1单体"条目,都意味着一项GMP采购挑战。共价连接串联构建体所用的接头亚磷酰胺单体,以及高价态多价GalNAc骨架所需的簇臂变体,在GMP级别的商业供应上均深度不足 [src_D03][src_D15]。第三行涉及的核酸酶质控酶是另一个独立瓶颈,将在第7章详细讨论。鸡尾酒制剂路线虽具备"单体增量为零"的优势,代价却是需要两条并行的GMP合成轨道,使上游物料需求——亚磷酰胺单体、固相载体、质控试剂——翻倍。这些权衡关系,共同界定了第4章至第8章所展开的上游机会空间。
|
|
|
|
---
|