v0.9: parallelize phase4 and add model/search playbooks

This commit is contained in:
kai
2026-04-24 10:19:48 +08:00
parent c444007f04
commit c93fce5078
13 changed files with 626 additions and 100 deletions
+85
View File
@@ -0,0 +1,85 @@
# Codex Usage
> v0.9 的 Codex 兼容是第一阶段:不复刻 OpenCode subagent,而是沿用 AGENTS.md 的研究规则和 Python 脚本流水线。Codex 负责规划、审阅、修补、执行脚本;确定性编排交给脚本。
## Setup
```bash
cd /Users/tankai/Documents/Projects/deep_research
source scripts/activate.sh
```
Codex 会读取项目根目录的 `AGENTS.md`,研究方法、信源分级、输出规范仍与 OpenCode 一致。
## Recommended Codex Workflow
### Phase 1-3
OpenCode 仍是主入口,因为 `.opencode/commands` 与 subagent 调度已经稳定:
```bash
opencode
/dr-init <topic>
/dr-frame <slug>
/dr-research <slug>
/dr-review <slug>
```
Codex 可用于:
- 审阅 `framework.md``critique.md`
- 修正文档、脚本和配置
- 运行静态检查、引用检查和出稿脚本
- 对某个章节做人工式复核建议
### Phase 4
Codex 可直接运行 Python 化流水线:
```bash
uv run python scripts/translate.py <slug> --workers 4
uv run python scripts/build_glossary.py <slug> --workers 4
uv run python scripts/apply_glossary.py <slug> --input phase4/final_zh.md --dry-run
uv run python scripts/apply_glossary.py <slug> --input phase4/final_zh.md
uv run python scripts/polish.py <slug> --workers 4
uv run python scripts/build_report.py <slug>
```
网络不稳时:
```bash
uv run python scripts/translate.py <slug> --workers 1
uv run python scripts/polish.py <slug> --workers 1
uv run python scripts/build_glossary.py <slug> --workers 3
```
## Git Hygiene
本仓库常有大量 `projects/**` 研究产物处于修改状态。Codex 提交系统迭代时必须只 stage 相关系统文件:
```bash
git add README.md PLAN.md docs configs scripts .opencode/commands/dr-finalize.md
git diff --staged --name-only
```
提交前确认 staged 列表不包含:
- `projects/**`
- 已生成 PDF/DOCX/TXT
- 临时检查脚本或一次性研究产物
## What Codex Should Not Do Yet
- 不直接替代 OpenCode 的 `/dr-research` 多 agent 调度。
- 不在 Codex 内复刻 dr-analyst/dr-verifier 的长流程并行。
- 不把普通网页当作 Tier 1-2 证据。
- 不在未检查 staged 列表前 commit。
## Future Platform Adapters
后续 Gemini CLI / Claude Code 兼容应沿用同一原则:
1. 共享 `AGENTS.md` 方法论。
2. 共享 `scripts/` 的确定性流水线。
3. 平台只提供交互、审阅、调度或修补能力。
4. 不为每个平台复制一套研究逻辑。
+80
View File
@@ -0,0 +1,80 @@
# Model Playbook
> v0.9 起,本文件作为模型选择攻略本。`.opencode/opencode.json` 仍是 OpenCode 的模型白名单,`configs/model_profiles.yaml` 是跨平台策略参考。
## Profiles
### premium
用于高价值、长上下文、强叙事任务。成本最高,但最稳。
- dr-planClaude Opus 4.7cache
- dr-editor-in-chiefClaude Opus 4.7cache
- dr-pm / dr-analystClaude Sonnet 4.6cache
- dr-chief-editorGemini 3.1 Pro Preview
- dr-verifierGPT-5.4
- translate / polishClaude Sonnet 4.6
适用:投资报告、管理层决策报告、需要交付 PDF/DOCX 的正式项目。
### balanced
默认推荐。保留关键环节的强模型,把机械任务交给更便宜模型。
- dr-planClaude Opus 4.7cache
- dr-editor-in-chiefClaude Opus 4.7cache
- dr-pm / dr-analystClaude Sonnet 4.6cache
- dr-searcherClaude Haiku 4.5
- dr-verifierQwen3.6 Plus 或 GPT-5.4
- translate / polishClaude Sonnet 4.6`--workers 4`
适用:大多数 10,000-35,000 中文字报告。
### budget
用于探索性研究或内部草稿。牺牲部分风格和深度,换取成本控制。
- dr-planClaude Sonnet 4.6 或 Qwen3.6 Plus
- dr-editor-in-chiefClaude Sonnet 4.6
- dr-analystQwen3.6 Plus / DeepSeek V3.2
- dr-verifierMiniMax M2.7 / Kimi K2.5
- translate / polishQwen3.6 Plus 或 Claude Haiku 4.5(需要人工抽检)
适用:快速扫盘、预研、内部初稿。不建议直接用于最终交付。
### cn-heavy
用于中国市场、NMPA、企业工商/中文媒体密集场景。
- dr-analystClaude Sonnet 4.6 + Qwen3.6 Plus 交叉
- dr-verifierQwen3.6 Plus
- dr-searcherHaiku + Serper/Brave 中文关键词
- translate / polishClaude Sonnet 4.6
适用:中国药企、国产替代、供应链、政策环境、中文专有名词较多的研究。
### verifier
用于交叉模型验证,避免同模型同偏差。
- 首选:GPT-5.4
- 备用:Qwen3.6 Plus
- 低成本:MiniMax M2.7 / Kimi K2.5
规则:dr-verifier 不使用 Claude 家族,除非用户明确接受同源偏差风险。
## Switching Rules
- 高层结构、最终合稿、Executive Summary:优先 Opus。
- 章节深研:Sonnet 是默认;预算敏感时用 Qwen/DeepSeek,但必须加强 verifier。
- 事实核查与术语核查:优先 Haiku + 搜索 API;低置信度条目人工复核。
- 翻译与润色:默认 Sonnet;并发提速优先调 `--workers`,不要盲目换便宜模型。
- 限流时:先降并发,再换模型。
## Operational Defaults
```bash
uv run python scripts/translate.py <slug> --workers 4 --model anthropic/claude-sonnet-4.6
uv run python scripts/polish.py <slug> --workers 4 --model anthropic/claude-sonnet-4.6
uv run python scripts/build_glossary.py <slug> --workers 4 --model anthropic/claude-haiku-4.5
```
+78
View File
@@ -0,0 +1,78 @@
# Search API Playbook
> v0.9 起,本文件作为搜索 API 选择攻略本。搜索返回本身多为发现入口,结论支撑仍以 AGENTS.md 的 Tier 1-2 信源为准。
## Search Sources
### Tavily
- 优点:LLM 友好,摘要质量稳定,适合快速发现方向。
- 用法:初扫、普通网页、报告线索、交叉补漏。
- 风险:不能把普通网页当结论支撑,必须追溯原始来源。
### Exa
- 优点:neural search,对官网、公司页、长尾专业内容召回好。
- 用法:术语核查、公司/产品名纠错、专业网页发现。
- 风险:macOS 代理环境容易 TLS EOF,项目内 `SearchClient` 已使用 `trust_env=False` 绕开系统代理。
### Brave
- 优点:独立搜索引擎,适合与 Tavily/Exa 交叉验证。
- 用法:Phase 1 初扫、反方证据、中文/英文混合搜索。
- 风险:结果质量波动,需要人工筛 Tier。
### Serper
- 优点:Google Search / Scholar / News 代理,免费额度较高。
- 用法:Google Scholar、Google Patents、新闻时效检索。
- 风险:专利是 `site:patents.google.com` 技巧,不等同官方专利库。
### PubMed / NCBI
- 优点:生物医药论文的一手入口。
- 用法:机制、临床、系统综述、meta 分析。
- 风险:无 API key 限流较低;摘要不足以替代全文判断。
### ClinicalTrials.gov / ChiCTR
- 优点:临床试验注册的一手来源。
- 用法:管线、适应症、试验阶段、终点设计、入组状态。
- 风险:注册信息不等于结果;需要结合论文、公司披露、监管文件。
### openFDA / FDA / EMA / NMPA
- 优点:监管公告与标签信息,Tier 1。
- 用法:批准状态、安全性、适应症、审评文件。
- 风险:不同监管地区口径不同,必须注明地区与日期。
### Patents
- 优点:IP 与工艺路线研究的核心证据。
- 用法:Google Patents、USPTO、EPO、CNIPA。
- 风险:专利文本难读,权利要求和实施例要分开判断。
## Recommended Profiles
### biomed_literature
PubMed / NCBI → ClinicalTrials → FDA/EMA/NMPA → Serper Scholar → Tavily/Exa 补漏。
### patent_heavy
Google Patents/Serper → USPTO/EPO/CNIPA → 公司年报/招股书 → Tavily/Exa 补同族专利线索。
### china_market
NMPA/CDE → 港交所/上交所/深交所披露 → 中文专业数据库/媒体 → Brave/Serper 中文搜索。
### investment
SEC/交易所披露 → Evaluate/IQVIA/咨询报告 → 公司公告 → 新闻仅作时效入口。
## Failure Handling
- 大量 SSL/TLS 错误:先把 workers 降到 3,再重跑。
- API 限流:保留缓存结果,断点续跑,不要强制 `--force`
- 搜索返回普通网页:只做线索,继续追原始论文、监管、专利或公司披露。
- 中英文译名冲突:写入 glossary,标 medium/low confidence,交人工复核。