科研 Agent 最容易骗过人的地方,是拿一批看似相关的论文,把偏掉的方向写成一篇流畅综述。
先看一个模拟验收场景。你让 Agent 调研 “AI Agent in scientific discovery”。报告结构完整:自动化实验、假设生成、文献问答、代码执行,引用密集,语气克制。把候选文献池拉成 DOI 表后,问题露出来了:Google AI co-scientist 相关线索没有进前排,FutureHouse / PaperQA2 / Robin 这类系统论文和项目被归到相邻方向,反例论文缺席。这里的系统名只作为“应进入检索词表”的示例,不代表对任何产品或论文做真实测试。
AutoResearchBench 把复杂科学文献发现单独拿出来评测:给定研究问题,系统要找相关论文、排序、覆盖不同证据角色,再和预先构造的 gold set 对齐。读这类 benchmark,别只看总分,要看任务输入、gold set 来源、候选排序口径、证据覆盖统计方式。

图1:一份漂亮 Research Agent 报告旁边,放着红色标注的 DOI miss 表;示意图
先审候选池,再写综述
Research Agent 的第一张验收表,应该落在候选文献池。奠基论文漏掉,历史脉络会断;候选文献扎堆近两年,系统会把短期热点当成主线;只召回 review,方法细节会薄;失败案例缺席,研究路线会被写得过热。
工程上,把“感觉不对”拆成字段:query、DOI / OpenAlex ID / PMID、hit、rank、year、source type、evidence role、miss reason。字段很土,但方便复盘。
下面是一个模拟审计表。ID 均为占位符,不对应真实论文,也不代表真实跑分:
| query_version | paper_id | year | type | evidence role | hit@20 | rank | miss reason |
|---|---|---|---|---|---|---|---|
| q1 | MOCK_DOI_001 | 2025 | system paper | positive evidence | yes | 7 | - |
| q1 | MOCK_OPENALEX_002 | 2024 | literature QA | method evidence | no | 68 | reranker 降权 |
| q2 | MOCK_DOI_003 | 2025 | biomedical agent | frontier evidence | no | - | query 未覆盖专名 |
| q3 | MOCK_PMID_004 | 2022 | negative study | negative evidence | no | - | 只检索 review |
做这张表时,超能文献 可以放在证据入口:用中文描述研究任务,经 PubMed / OpenAlex 检索,拿到 DOI、PMID、OpenAlex ID 等可追溯来源,再导出或整理进 CSV。它适合补候选池和 gold pool;结果仍需人工去重、核验 DOI/PMID、检查来源类型。涉及医疗 AI、临床试验、药物安全、病历、影像等方向时,模型输出只能用于证据入口、文献追踪和研究审计,不能写成诊断或治疗建议。

图2:任务问题 → query rewrite → OpenAlex/PubMed 候选池 → gold DOI pool 对齐 → recall@20 → 人工复核;示意图
四个数,先跑起来
gold DOI pool 不能靠一个人拍脑袋。可执行做法是:用种子综述和顶会论文打底,做向前/向后引用追踪,让熟悉方向的人补漏,再放一组失败案例、质疑论文和限制性研究。一个只会搜索 “effective”“improve”“automation” 的 Agent,很容易给出过热判断。
- recall@20:gold pool 中进入候选前 20 的比例,口径可写成
hit_gold_at_20 / all_gold,因为生成器通常只吃前排材料。 - must-read miss rate:分母只放必读论文,比如奠基论文、标志性系统、近期高影响工作;分子是未进入前 20 的必读项。
- year coverage:把年份分桶,例如
<=2018、2019-2021、2022-2023、2024+,检查每桶是否有 gold 命中和候选覆盖。 - negative evidence recall:负证据池单独构造,包含失败实验、反证、限制性研究、临床无效或安全性警示论文;统计其中进入前 20 的比例。
最小实现可以先写成一个 30 行以内的 JSON schema:
{
"task_id": "arb_mock_001",
"question": "AI Agent in scientific discovery",
"query_versions": [
{
"id": "q1",
"text": "LLM agents for scientific discovery",
"sources": ["OpenAlex", "PubMed"],
"time_filter": "none"
},
{
"id": "q2",
"text": "AI co-scientist autonomous research agent",
"sources": ["OpenAlex", "web"],
"time_filter": "2020-2026"
}
],
"gold_pool": [
{
"paper_id": "MOCK_DOI_001",
"role": "frontier_evidence",
"required": true
}
],
"candidate_results": [
{
"paper_id": "MOCK_DOI_001",
"query_id": "q1",
"rank": 7,
"hit_at_20": true,
"miss_reason": null
}
]
}
工程侧最容易被省掉的是检索日志。query rewrite 的每个版本、数据库原始返回、reranker 分数、去重规则、时间过滤、source 过滤,都要能回放。很多漏检来自细节:同义词没覆盖,机构名和系统名混用,论文题名与项目名不一致,缩写被当成普通词;也可能已经召回,却被 review 挤到第 80 位。没有日志,下次还会在同一个位置漏。
回到开头那个场景:Research Agent 的报告段落很顺,矛盾藏在 DOI 命中表里。query 没覆盖 AI co-scientist 这类专名,FutureHouse / PaperQA2 / Robin 被归到相邻方向后降权,反例论文没有进入前 20。生成器只能基于已有素材写作,候选池偏了,综述会把偏差写得更完整。
下一步可以很小:先选 50 个研究任务,作为人工复核成本可控的起步规模;每条任务配一个 gold DOI pool,导出候选池,记录 miss reason,计算 recall@20、must-read miss rate、year coverage 和 negative evidence recall。DOI 命中表过线后,再让 Research Agent 写综述、假设和研究路线。 作者:超能文献团队(suppr.wilddata.cn)