snapshot before v0.5 refactor

This commit is contained in:
kai
2026-04-21 12:31:58 +08:00
commit 4a38f6bed1
82 changed files with 15230 additions and 0 deletions
+188
View File
@@ -0,0 +1,188 @@
---
name: source-quality
description: 信源质量评分系统(0-10 分制)与黑名单机制。规定每个信源入库前的评估维度、硬性淘汰规则、利益冲突检测。所有收集信源的 agent 都必须用此技能给每条信源打分后写入 sources.jsonl。
---
# 信源质量评分(0-10 分制)
## 一、评分维度(满分 10 分)
| 维度 | 满分 | 判断标准 |
|---|---|---|
| 权威性 | 3 | 期刊 IF、机构排名 |
| 时效性 | 2 | 发表时间 vs 主题 |
| 一手性 | 2 | 一手数据 > 综述 > 二次解读 |
| 可验证性 | 2 | 有 DOI/URL/原始数据 |
| 无利益冲突 | 1 | 厂商自发降权 |
### 维度 1:权威性(0-3 分)
| 分值 | 情形 |
|---|---|
| 3.0 | IF ≥ 30NEJM/Lancet/Nature/Science/Cell/JAMA)、FDA/EMA/NMPA 官方、SEC 披露 |
| 2.5 | IF 10-30NatMed/NatBiotech/BMJ/AnnOncol 等)、顶级咨询(MKS/BCG/Deloitte |
| 2.0 | IF 5-10JCO/CircRes/AJRCCM)、IQVIA/EvaluatePharma、系统综述 |
| 1.5 | IF 3-5、券商研报、行业协会白皮书 |
| 1.0 | IF 1-3、专业媒体(BioSpace/Endpoints News |
| 0.5 | 预印本(bioRxiv/medRxiv)、会议摘要 |
| 0 | 自媒体、百家号、未署名博客 |
### 维度 2:时效性(0-2 分)
| 主题类型 | 满分年限 | 每老 1 年扣分 |
|---|---|---|
| 市场 / 监管 / 临床 | 3 年内 | -0.5 |
| 作用机制 / 基础研究 | 10 年内 | -0.2 |
| 政策法规 | **以最新版本为准** | 过时版本 0 分 |
| 历史追溯(有意为之) | 不限 | 不扣 |
### 维度 3:一手性(0-2 分)
| 分值 | 情形 |
|---|---|
| 2.0 | 一手数据(原始 RCT 论文、监管公告、年报原文、专利原文) |
| 1.5 | 系统综述 / Meta 分析 |
| 1.0 | 叙述性综述 / Review |
| 0.5 | 二次解读(新闻报道、券商改写) |
| 0 | 三次传播以上("据报道"/"业内人士") |
### 维度 4:可验证性(0-2 分)
| 分值 | 情形 |
|---|---|
| 2.0 | 有 DOI + 原始数据可下载(如 ClinicalTrials 的 CSR 附件) |
| 1.5 | 有 DOI 或稳定 URL,全文可访问 |
| 1.0 | URL 稳定但需付费墙 |
| 0.5 | 仅有 URL,无唯一标识符 |
| 0 | URL 失效 / 404 / 无法验证 |
### 维度 5:利益冲突(0-1 分)
| 分值 | 情形 |
|---|---|
| 1.0 | 独立研究(学术机构、政府)、无资助声明冲突 |
| 0.5 | 有 industry funding 但已声明且方法独立 |
| 0 | 厂商自发报告 / 直接商业软文 |
| **-1**(惩罚) | 声明冲突但方法可疑、或对比实验明显偏向资助方 |
---
## 二、综合评分硬规则
| 评分 | 可用性 |
|---|---|
| 8.0+ | 可作为核心论据,单独支撑结论 |
| 6.0-7.9 | 可用,但结论需 ≥2 个独立信源 |
| 4.0-5.9 | 仅作为参考,**不得作为唯一支撑** |
| < 4.0 | **禁止**用于结论佐证,只能入发现库 |
---
## 三、黑名单(直接拒绝入库)
以下信源**无论评分多少都禁用**
### 1. 明确劣质信源
- 百家号(baijiahao.baidu.com
- 头条号(toutiao.com 非原创栏目)
- 知乎回答(除非作者本人为业内专家且有实名背书)
- 小红书、抖音笔记
- 未署名作者的 wordpress / medium 博客
### 2. 被撤稿论文
- 查询 Retraction Watch 数据库(https://retractionwatch.com/
- Crossref API 检查论文状态:`https://api.crossref.org/works/<DOI>`
### 3. 明显软文/PR 稿
识别特征(命中任意 2 条即拒):
- 标题含 "重磅发布" "首创" "引领" 等夸张词
- 通篇无具体数据,只有 CEO/专家口头引述
- 发布渠道是企业官网的"新闻中心"且无交叉第三方验证
- 仅讲优势不讲局限
### 4. 时效过期
- 综述 > 5 年(机制研究可放宽)
- 政策/监管 > 1 年(以最新版本为准)
- 市场数据 > 2 年
### 5. 维基百科
- **仅可作术语理解入口**
- 结论永不引用
- 如从 Wiki 发现了参考文献,**回溯到原始来源**再引用
---
## 四、利益冲突检测要点
### 常见利益冲突场景
- 药企赞助的 RCT 对自家产品评价极高 → 查对比剂、盲法、样本量
- 咨询公司报告引用自家客户数据 → 查 acknowledgment 段
- 行业协会报告涉及会员企业 → 查资助方名单
- 券商研报 + 该券商是相关公司的保荐人 → 查 IPO/承销记录
### 操作方法
每条信源入库前检查:
1. 作者/机构是否与被评估的公司/产品有商业关联?
2. 资助声明(funding statement)里提到什么?
3. 利益披露(disclosure)是否完整?
**发现强利益冲突**:评分 ≤ 3(等同废弃);写入 `sources.jsonl``"conflict_of_interest": "..."` 字段。
---
## 五、评分执行流程(伪代码)
```
for each candidate_source in search_results:
# 1. 黑名单快筛
if is_blacklisted(candidate_source):
log("BLACKLIST: " + source.url); continue
# 2. 撤稿检查
if has_doi(source) and is_retracted(source.doi):
log("RETRACTED: " + source.doi); continue
# 3. 评分
score = 0
score += authority_score(source) # 0-3
score += recency_score(source, topic) # 0-2
score += primacy_score(source) # 0-2
score += verifiability_score(source) # 0-2
score += coi_score(source) # 0-1 or -1
# 4. Tier 加权
if source.tier == 1: score *= 1.2
# 5. 入库
if score >= 4.0:
append_to_sources_jsonl(source, score)
else:
log("LOW SCORE (" + score + "): " + source.url)
```
---
## 六、输出字段(写入 sources.jsonl
```jsonl
{
"id": "src_042",
"score": 8.6,
"tier": 1,
"authority": 3.0,
"recency": 2.0,
"primacy": 2.0,
"verifiability": 2.0,
"coi": 1.0,
"conflict_of_interest": null,
"blacklist_checked": true,
"retraction_checked": true,
"notes": "NEJM 2025 原文,RCT 独立研究"
}
```
---
## 七、审计留痕
所有被**拒绝**的信源,也要写入 `projects/<slug>/phase2/rejected-sources.jsonl`(注明原因)。这是事后复盘的关键,不要静默丢弃。