247 lines
9.6 KiB
Markdown
247 lines
9.6 KiB
Markdown
---
|
||
name: search-strategy
|
||
description: 生物医药深度研究的统一检索策略。规定信源优先级金字塔、检索轮次、关键词策略、API 调用顺序,以及何时切换到专业信源。所有做信息收集的 agent(dr-searcher/dr-analyst/dr-verifier/dr-plan)必须加载此技能。
|
||
---
|
||
|
||
# 检索策略总纲(Deep Research 黄金法则)
|
||
|
||
## 一、信源优先级金字塔
|
||
|
||
**永远从上至下尝试,不要从 Tier 4 开始**:
|
||
|
||
```
|
||
╱ Tier 1 ╲ 最高权重
|
||
╱ (一手) ╲
|
||
╱──────────────╲
|
||
╱ Tier 2 ╲ 标准权重
|
||
╱ (权威二手) ╲
|
||
╱──────────────────╲
|
||
╱ Tier 3 ╲ 辅助权重
|
||
╱ (预印本/会议/券商) ╲
|
||
─────────────────────────
|
||
Tier 4 仅做发现入口
|
||
(通用搜索 + Wiki)
|
||
─────────────────────────
|
||
【黑名单】禁用
|
||
```
|
||
|
||
### Tier 1(优先使用,加权 1.2x)
|
||
- **论文**:PubMed、Cochrane、顶刊(NEJM/Lancet/Nature/Science/Cell/JAMA/NatMed)
|
||
- **监管**:FDA/EMA/NMPA/PMDA 官网、openFDA
|
||
- **临床试验**:ClinicalTrials.gov、ChiCTR、EU CTR
|
||
- **专利**:USPTO、EPO、CNIPA、Google Patents、PatentsView
|
||
- **披露**:SEC(10-K/10-Q/S-1)、港交所、沪深交易所年报
|
||
|
||
### Tier 2(可用,标准权重)
|
||
- **咨询**:McKinsey/BCG/Deloitte/IQVIA/Evaluate Pharma/Frost & Sullivan/沙利文
|
||
- **综述**:系统综述、Cochrane Review、Meta 分析
|
||
- **协会**:PhRMA、BIO、中国医药工业协会、中国医药创新促进会
|
||
- **专业媒体**:BioSpace、Endpoints News、FiercePharma、STAT、医药魔方、Insight 数据库
|
||
|
||
### Tier 3(辅助,需 Tier 1-2 支撑)
|
||
- **预印本**:bioRxiv、medRxiv、SSRN(必须标注"未同行评审")
|
||
- **券商**:中金/中信/高盛/摩根士丹利生物医药(注意利益冲突)
|
||
- **会议**:AACR/ASCO/ASH/JPM Healthcare Conference 摘要
|
||
|
||
### Tier 4(仅做入口)
|
||
- Tavily / Brave / Exa 返回的普通网页 → **只用来发现 Tier 1-2 URL**,不做结论佐证
|
||
- Wikipedia → **只做术语理解**,结论不得引用
|
||
|
||
### 黑名单(禁用为证据)
|
||
- 百家号、头条号、大部分公众号自媒体
|
||
- 未署名行业博客
|
||
- Retraction Watch 标记的撤稿论文
|
||
- "据业内人士透露"类无来源文章
|
||
- >5 年的综述(机制研究可放宽)
|
||
|
||
---
|
||
|
||
## 二、检索 4 轮法则
|
||
|
||
对任何一个 section/chapter,**必须至少 4 轮检索**:
|
||
|
||
### 第 1 轮:Tier 1 直命中
|
||
- 先用**精确查询**去 PubMed / ClinicalTrials / openFDA 打
|
||
- 关键词用 MeSH Term(医学主题词)+ 布尔逻辑
|
||
- 例:`(GLP-1[MeSH] OR "glucagon-like peptide-1") AND (obesity[MeSH]) AND ("2023"[PDAT]:"2026"[PDAT])`
|
||
|
||
### 第 2 轮:Tier 2 综述扫描
|
||
- 去 McKinsey Insights / BCG / Deloitte 官网搜 industry-overview
|
||
- Evaluate Pharma / IQVIA 白皮书(通常需注册)
|
||
- 目标:获取市场规模、竞争格局、趋势判断
|
||
|
||
### 第 3 轮:反方/证伪检索
|
||
- 主动搜索与初步结论相反的关键词
|
||
- 例:研究"GLP-1 成为减重首选"→ 反方要搜 "GLP-1 limitations" "semaglutide side effects" "discontinuation rate"
|
||
- 至少 3-5 条反方证据
|
||
|
||
### 第 4 轮:Tavily/Brave/Exa 补漏
|
||
- 仅用于发现前 3 轮遗漏的 URL
|
||
- 发现后**必须**回溯到原始 Tier 1-2 来源(论文 DOI、监管公告原文)
|
||
- 不得直接引用搜索返回的二次报道
|
||
|
||
---
|
||
|
||
## 三、API 调用顺序(技术栈,v0.8 更新)
|
||
|
||
**按"查询类型"路由到最合适的 API**,而不是一律走通用搜索。
|
||
|
||
```
|
||
┌──────────────────────────────────────────────────────────────┐
|
||
│ 查询类型 首选 备选 │
|
||
├──────────────────────────────────────────────────────────────┤
|
||
│ 专利 Serper Patents Google Patents 爬页 │
|
||
│ (site:patents.google.com) │
|
||
│ │
|
||
│ 学术论文 Serper Scholar PubMed E-utils │
|
||
│ (带引用数/年份/期刊) (原始数据库) │
|
||
│ │
|
||
│ 新闻 / 行业动态 Serper News Tavily │
|
||
│ (时效性敏感) │
|
||
│ │
|
||
│ 临床试验 ClinicalTrials.gov ChiCTR │
|
||
│ (原始 API) │
|
||
│ │
|
||
│ 监管公告 openFDA / FDA 搜索 EMA / NMPA 官网 │
|
||
│ │
|
||
│ 公司/机构识别 Exa Tavily │
|
||
│ (LinkedIn/官网召回强) │
|
||
│ │
|
||
│ 通用网页 Exa Tavily / Brave │
|
||
└──────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Serper(google.serper.dev)使用模板
|
||
|
||
**专利检索**:
|
||
```python
|
||
from scripts.lib.search_client import SearchClient
|
||
with SearchClient() as c:
|
||
hits = c.patents("dual-target siRNA GalNAc", num_results=10)
|
||
```
|
||
|
||
**学术论文**:
|
||
```python
|
||
hits = c.scholar("dual-target RNAi 2024", num_results=10, year_low=2023)
|
||
# hits[i].snippet 里包含引用数和期刊信息
|
||
```
|
||
|
||
**新闻(时效性)**:
|
||
```python
|
||
hits = c.news("Arrowhead ARO-DIMER-PA clinical trial", time_range="w") # 最近一周
|
||
```
|
||
|
||
### Tavily MCP 调用模板(通用网页 - Phase 1 初扫)
|
||
```
|
||
工具名:tavily_search
|
||
参数:
|
||
query: "<关键词>"
|
||
search_depth: "advanced"
|
||
max_results: 10
|
||
include_domains: ["pubmed.ncbi.nlm.nih.gov", "nejm.org", "lancet.com"]
|
||
exclude_domains: ["baijiahao.baidu.com", "toutiao.com"]
|
||
time_range: "year"
|
||
```
|
||
|
||
### 何时用哪个
|
||
|
||
- **专利相关问题**("谁拥有技术 X"、"FTO 自由度分析")→ `c.patents()`,**永远先走 Google Patents**
|
||
- **需要引用数排序的论文**("找影响力最大的 N 篇")→ `c.scholar()`
|
||
- **近期新闻**("2025 年 Q4 交易"、"上月 IND 批准")→ `c.news(..., time_range="m")`
|
||
- **快速概念验证 / 术语理解** → `c.search()`(通用)
|
||
|
||
### PubMed E-utils(bash 调用示例)
|
||
```bash
|
||
# 1. esearch 拿 PMID 列表
|
||
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=GLP-1+obesity&retmax=20&api_key=$NCBI_API_KEY&retmode=json"
|
||
|
||
# 2. efetch 拿摘要
|
||
curl -s "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pubmed&id=PMID1,PMID2&rettype=abstract&retmode=xml&api_key=$NCBI_API_KEY"
|
||
```
|
||
|
||
### ClinicalTrials.gov v2 API
|
||
```bash
|
||
curl -s "https://clinicaltrials.gov/api/v2/studies?query.term=semaglutide&pageSize=20&format=json"
|
||
```
|
||
|
||
### openFDA
|
||
```bash
|
||
curl -s "https://api.fda.gov/drug/event.json?search=patient.drug.medicinalproduct:semaglutide&count=patient.reaction.reactionmeddrapt.exact&limit=20"
|
||
```
|
||
|
||
---
|
||
|
||
## 四、关键词策略
|
||
|
||
### 中英双语必备
|
||
- 任何生物医药主题**必须同时用中英文检索**
|
||
- 中文关键词去找:中国监管(NMPA)、A股研报、医药魔方、Insight
|
||
- 英文关键词去找:PubMed、FDA、顶刊、欧美研报
|
||
|
||
### MeSH Term 优先于自由词
|
||
- PubMed 查询必须用 MeSH Term(医学主题词表)
|
||
- MeSH Term 能自动扩展同义词,召回更全
|
||
- 例:`obesity[MeSH]` 会自动包含 `adiposity`, `body weight, excess` 等
|
||
|
||
### 布尔逻辑 + 时间过滤
|
||
- 默认加 `("2023"[PDAT]:"2026"[PDAT])` 时间窗
|
||
- 机制研究可放宽到 10 年,新药/市场/政策必须近 3 年
|
||
|
||
### 反方关键词清单(备忘)
|
||
- `limitations` / `adverse events` / `side effects` / `discontinuation`
|
||
- `failed trial` / `FDA rejection` / `withdrawn`
|
||
- `conflict of interest` / `industry-funded`
|
||
- `retraction` / `replication failure`
|
||
|
||
---
|
||
|
||
## 五、每条信源的提取字段(标准化)
|
||
|
||
任何信源进 `sources.jsonl` 必须有以下字段:
|
||
|
||
```jsonl
|
||
{
|
||
"id": "src_001",
|
||
"tier": 1,
|
||
"score": 9.2,
|
||
"type": "journal" | "trial" | "regulatory" | "patent" | "report" | "news",
|
||
"url": "https://...",
|
||
"doi": "10.xxxx/...",
|
||
"title": "...",
|
||
"authors": ["...", "..."],
|
||
"year": 2025,
|
||
"venue": "NEJM",
|
||
"impact_factor": 176.0,
|
||
"accessed_at": "2026-04-20",
|
||
"abstract": "...",
|
||
"key_data": {
|
||
"market_size_2025": "12.3B USD",
|
||
"cagr": "23%"
|
||
},
|
||
"used_in": ["ch01", "ch03.sec2"],
|
||
"notes": "关键图表见 Fig 2"
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 六、失败兜底
|
||
|
||
- 某个 API 限流/超时:**等 5s 重试 3 次**,仍失败则跳过并在日志标注
|
||
- 某个信源 404:在 sources.jsonl 标 `"dead_link": true`,不删除(审计用)
|
||
- 关键数据查不到:**不要编造**,在正文写 "该数据暂未找到公开来源(截至 2026-04)"
|
||
|
||
---
|
||
|
||
## 七、硬规则总结
|
||
|
||
1. ✅ 每 section 至少 4 轮检索
|
||
2. ✅ 中英双语必查
|
||
3. ✅ PubMed 用 MeSH Term
|
||
4. ✅ 反方关键词必查
|
||
5. ✅ Tier 4 结果只做发现,不做佐证
|
||
6. ✅ 所有信源写入 sources.jsonl 并评分
|
||
7. ❌ 不得引用 Wikipedia 做结论
|
||
8. ❌ 不得编造数据、URL、DOI
|
||
9. ❌ 不得使用黑名单信源
|