Files
deep_research/.agent/skills/source-quality/SKILL.md
T

7.7 KiB
Raw Blame History

name, description
name description
source-quality 信源质量评分系统(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 禁止用于结论佐证,只能入发现库

三、检索回执与原文访问

Gemini / Antigravity 模式下,信源质量评分必须和检索回执绑定。任何来源进入 sources.jsonl 前,必须能追溯到 search_log.jsonl 中的至少一条记录。

search_log.jsonl 最低字段

{
  "receipt_id": "srch_0001",
  "timestamp": "YYYY-MM-DDTHH:MM:SSZ",
  "tool": "search-cli|browser|project-search|other",
  "mode": "academic|scholar|patents|news|extract|general|deep",
  "query_or_url": "...",
  "purpose": "which task/card/chapter this supports",
  "result_count": 10,
  "opened_urls": ["https://..."],
  "status": "ok|partial|failed",
  "failure_reason": null
}

sources.jsonl 追加字段

{
  "id": "src_042",
  "search_receipt_ids": ["srch_0001"],
  "raw_url": "https://...",
  "canonical_url": "https://...",
  "source_type": "paper|regulator|trial_registry|patent|filing|database|consulting|media|other",
  "access_status": "opened_original|opened_abstract|paywalled|failed|snippet_only",
  "evidence_locator": "page/table/section/trial id/patent claim",
  "independence_cluster": "cluster_..."
}

硬规则:

  • snippet_only 只能作为发现线索,不能支撑正文事实。
  • failed 必须保留失败原因,不能根据标题或搜索摘要推断具体数据。
  • paywalled / opened_abstract 可以用于发现方向,但核心结论还需要至少一个可打开原文或官方记录支撑。
  • 同一公司新闻稿、同一试验登记、同一专利族、同一券商报告转载链,必须归入同一个 independence_cluster

四、黑名单(直接拒绝入库)

以下信源无论评分多少都禁用

1. 明确劣质信源

  • 百家号(baijiahao.baidu.com
  • 头条号(toutiao.com 非原创栏目)
  • 知乎回答(除非作者本人为业内专家且有实名背书)
  • 小红书、抖音笔记
  • 未署名作者的 wordpress / medium 博客

2. 被撤稿论文

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

{
  "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,
  "search_receipt_ids": ["srch_0001"],
  "access_status": "opened_original",
  "evidence_locator": "Table 2",
  "independence_cluster": "cluster_trial_001",
  "notes": "NEJM 2025 原文,RCT 独立研究"
}

八、审计留痕

所有被拒绝的信源,也要写入 projects/<slug>/phase2/rejected_sources.jsonl(注明原因、对应 receipt_id、拒绝规则)。这是事后复盘的关键,不要静默丢弃。