Files
deep_research/docs/search-playbook.md
T

107 lines
5.0 KiB
Markdown

# Search API Playbook
> v0.9 起,本文件作为搜索 API 选择攻略本。搜索返回本身多为发现入口,结论支撑仍以 AGENTS.md 的 Tier 1-2 信源为准。
## Default Pattern
v0.12 起,默认搜索路径收敛到项目内 Python 网关:
```bash
uv run python scripts/search.py "<query>" --route scholar --num-results 10 --year-low 2023
uv run python scripts/search.py "<query>" --route evidence --num-results 10 --json --trace
uv run python scripts/search.py "<query>" --route patents --num-results 10
uv run python scripts/search.py "<query>" --route news --num-results 10 --time-range m
uv run python scripts/search.py "<query>" --route general --num-results 10
uv run python scripts/ground.py "<query>" --json
```
其中 `scholar / patents / news` 默认走严格模式(Serper 失败不静默降级);需要容错时显式加 `--no-strict-specialized``evidence` 是 v0.20.1 之后新增的受控证据发现路由,优先用 Exa highlights/text 为 evidence packet 提供候选来源。
MCP server 只作为交互式补漏和特殊工具能力,不作为文献、专利、新闻检索主路径。这样 OpenCode、Codex、Gemini CLI、Claude Code 都能复用同一套路由,减少每个平台单独配置 Tavily/Exa/Brave MCP 的依赖。
## Search Sources
### Tavily
- 优点:LLM 友好,摘要质量稳定,适合快速发现方向。
- 用法:初扫、普通网页、报告线索、交叉补漏;`research()` 更适合 Phase 1 初步扫描、薄弱章节补证据、Phase 3 回炉。
- 风险:不能把普通网页当结论支撑,必须追溯原始来源。
- 规则:Tavily Research 输出必须保存为过程文件,并经过 source-quality 评分、去重和 source_id 归一化;不要直接把 Tavily 的综合报告当作章节正文或最终证据。
### Exa
- 优点:neural/agent search,对官网、公司页、长尾专业内容召回好;highlights/text 适合喂给 agent 做证据筛选。
- 用法:`scripts/search.py --route evidence`、术语核查、公司/产品名纠错、专业网页发现、章节证据补强。
- 风险: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` 技巧,不等同官方专利库。
- 项目内调用:`scripts/search.py --route scholar|patents|news`
### PubMed / NCBI
- 优点:生物医药论文的一手入口。
- 用法:机制、临床、系统综述、meta 分析。
- 风险:无 API key 限流较低;摘要不足以替代全文判断。
### ClinicalTrials.gov / ChiCTR
- 优点:临床试验注册的一手来源。
- 用法:管线、适应症、试验阶段、终点设计、入组状态。
- 风险:注册信息不等于结果;需要结合论文、公司披露、监管文件。
### openFDA / FDA / EMA / NMPA
- 优点:监管公告与标签信息,Tier 1。
- 用法:批准状态、安全性、适应症、审评文件。
- 风险:不同监管地区口径不同,必须注明地区与日期。
### Patents
- 优点:IP 与工艺路线研究的核心证据。
- 用法:Google Patents、USPTO、EPO、CNIPA。
- 风险:专利文本难读,权利要求和实施例要分开判断。
## Recommended Profiles
## v0.20 Routing Decision
- Phase 1 初步扫描:Tavily Research + Exa evidence,目标是形成假设、反证方向、章节任务切分。
- Phase 2 evidence packet:优先 `fda/scholar/patents/news` 等专用路由;需要补充候选证据时用 `evidence`,不要只用 `general`
- Phase 3 回炉:按 critique 中的证据缺口定向调用 Tavily Research 或 Exa evidence,输出仍需进入 packet/schema。
- General route:只做宽泛发现和兜底,不作为“默认最佳搜索”。
## Recommended Profiles
### biomed_literature
PubMed / NCBI → ClinicalTrials → FDA/EMA/NMPA → `scripts/search.py --route scholar``scripts/search.py --route evidence` → Tavily/Brave 补漏。
### patent_heavy
`scripts/search.py --route patents` → USPTO/EPO/CNIPA → 公司年报/招股书 → Exa/Tavily 补同族专利线索。
### china_market
NMPA/CDE → 港交所/上交所/深交所披露 → 中文专业数据库/媒体 → Brave/Serper 中文搜索。
### investment
SEC/交易所披露 → Evaluate/IQVIA/咨询报告 → 公司公告 → 新闻仅作时效入口。
## Failure Handling
- 大量 SSL/TLS 错误:先把 workers 降到 3,再重跑。
- API 限流:保留缓存结果,断点续跑,不要强制 `--force`
- 搜索返回普通网页:只做线索,继续追原始论文、监管、专利或公司披露。
- 中英文译名冲突:写入 glossary,标 medium/low confidence,交人工复核。