Imported from Analyst1981/reference-test-skill (
SKILL.md). Install upstream withnpx skills add Analyst1981/reference-test-skill. Copyright stays with the author (MIT).
reference-test — 参考文献真实性核查技能
核心理念:让 AI 做它最擅长的事(联网检索、多源交叉比对、格式校验),把最难的事(最终判断、学术决策)留给最懂领域的人。
设计原则:宁可严格标记可疑问题,也不要把无法确认的参考文献默认为正确。
1. 技能做什么
reference-test 是一个「较真」的参考文献审计技能。它对给定的参考文献列表进行逐条、结构化、可追踪的核验,专门解决 AI 时代越来越严重的"假文献"问题。
1.1 它能解决的问题
AI 在写作时经常"编造"看起来合理但实际不存在的文献:
- 🔴 完全捏造:标题、作者、年份整体虚构
- 🔴 嵌合体(chimeric):真实标题 + 错误作者,或真实作者 + 错误期刊——最危险的"看似真"类型
- 🔴 篡改条目:基于真实文献微调元数据,DOI 指向另一篇
- 🟡 格式问题:标点、大小写、缩写不统一、缺字段
- 🟡 预印本 vs 正式版:arXiv/bioRxiv 早已正式发表,但引用了旧版本
- 🟡 重复条目:同一篇文献被列了两次
- 🟡 国内期刊黑名单命中:参考但需人工复核的期刊名出现
1.2 它不能替代的事
- ❌ 不替代人工最终复核——被标记为 Critical、Major、Manual Check 的文献必须由人动手确认
- ❌ 不替代文献管理软件(EndNote/Zotero/Mendeley)的格式化功能
- ❌ 不替代导师/编辑的学术判断
1.3 适用场景
| 场景 | 典型用户 |
|---|---|
| 论文投稿前自查 | 研究生、青年学者 |
| 课题申报书引用校验 | 各类项目申请人 |
| 综述写作(几十上百条文献) | 综述作者 |
| 中文核心 / CSSCI / CSCD 投稿 | 国内作者(技能 1.1+ 专项强化) |
| AI 辅助写作后自查 | 所有用 AI 写论文的人 |
| 编辑部投稿前质控 | 学术期刊编辑 |
| 文献管理软件批量导出后质控 | EndNote/Zotero 重度用户 |
2. 何时调用(触发场景)
满足以下任一条件时应主动调用 reference-test:
- 用户说"检查我的参考文献是否真实/帮我核对文献/audit references/verify my bibliography/check if my citations are real"
- 用户说"我用了 AI 写论文,怕有假文献/AI 生成的参考文献不敢用"
- 用户说"查一下我引用中文文献是不是真的/用知网查一下/用万方查一下/查国内期刊" ← v1.1 强化
- 用户准备投稿、提交课题申报书或答辩 PPT,但参考文献来源不可靠
- 用户收到审稿人/导师质疑"参考文献里有错"
- 用户从 AI、复制他人论文、非数据库检索等非可信渠道获取了文献
不要在不相关时调用——如用户只是在问文献综述写作技巧、文献管理软件使用、或者只是问某个概念,不需要审计文献。
3. 工作流程(七步)
默认逐条核查,禁止抽样;用户明确要求抽样时例外。当列表超过 30 条时,分批处理(建议每批 ≤20 条),并明确告知"本轮查了哪几条、还剩几条"。
Step 1:收集输入
向用户索要两类材料:
- 参考文献列表:可以是 Markdown 文本、Word/PDF 文档、EndNote/Zotero 导出文件、纯文本粘贴
- 可选元数据(强烈建议提供,可大幅提升准确率):
- 中文文献:中文原题名(而非英文译名)、期刊全称、ISBN、授予单位、导师
- 英文文献:DOI、PMID、完整作者列表
- 图书:ISBN
- 标准/专利:标准号/专利号
如果输入是文档(.docx/.pdf),先用 Read 或 Bash(pdftotext / docx2txt)提取纯文本,再分离出参考文献条目。
Step 2:解析与结构化
逐条解析参考文献,提取字段:
| 字段 | 说明 |
|---|---|
id |
内部序号([1][2][3]...或 APA 风格的 (Smith, 2020)) |
type |
期刊论文 / 会议论文 / 图书 / 学位论文 / 标准 / 专利 / 预印本 / 网页 |
title |
题名 |
title_en |
英文题名(如有) |
authors |
作者列表(中文姓在前 / 外文姓在前归一化处理) |
authors_en |
英文署名(如有) |
journal |
期刊/来源全称 |
year |
出版年份 |
volume / issue / pages |
卷期页 |
doi |
DOI(如果有) |
pmid |
PMID(如果有) |
isbn |
ISBN(如果有) |
url |
URL(如果有) |
lang |
zh / en / mixed(自动识别) |
cn_inclusion |
CSSCI / CSCD / 北大核心(自动核验,详见 references/zh-cn-databases.md §7) |
解析规则:
- 全文检索时优先用题名前 4–6 个实词作为关键词,避免命中参考文献列表
- 作者名要消歧:Smith, J. 和 Smith, John 在首次出现时合并归档
- 处理常见缩写:
et al.、等、N/A、~等 - 中文文献严格区分中英文题名,优先用中文原题名检索
Step 3:多源级联验证
核心方法:对每条文献按"优先级从高到低"逐级尝试源,任一源命中并匹配完整元数据即通过;否则继续向下一源走。
3.1 中文文献溯源链(v1.1 强化)
| 优先级 | 数据源 | 适用文献类型 | 调用方式 |
|---|---|---|---|
| ★★★ | 知网 cnki-mcp-server | 期刊、学位论文、会议 | MCP 工具 find_best_match / get_paper_detail(推荐,无 API Key) |
| ★★★ | 知网 WebFetch | 同上(无 MCP 环境的备选) | https://www.cnki.net 公开页面(注意反爬) |
| ★★ | 万方开放平台 | 同上,工科/标准 | https://api.wanfangdata.com.cn(需 APPCODE) |
| ★★ | 万方 WebFetch | 同上 | https://www.wanfangdata.com.cn |
| ★★ | 维普 WebFetch | 工科期刊 | https://www.cqvip.com |
| ★ | 百度学术 WebFetch | 兜底聚合 | https://xueshu.baidu.com(必须二次核对原始来源) |
| ★ | 期刊官网 | 终审 | 直达期刊主页检索 |
| ★ | CSSCI / CSCD / 北大核心 | 收录状态核验 | https://cssci.nju.edu.cn / http://www.cscd.cn |
调用约束:
- 中文文献永远不要只查一条源——必须知网+万方+维普三库至少两库命中才标 verified
- 知网走 cnki-mcp-server 时务必设置
NO_PROXY=cnki.net,*.cnki.net(绕过腾讯 EdgeOne CDN 拦截) - 中英文混合关键词在 CNKI 引擎效果差,建议英文缩写替换为中文全称
- 万方 APPCODE 个人可申请,1–3 工作日审批,每天 1000–5000 次免费额度
详细中文溯源方法、API Key 申请指引、AI 编造特征清单见 references/zh-cn-databases.md。
3.2 英文文献溯源链
| 优先级 | 数据源 | 适用文献类型 | 调用方式 |
|---|---|---|---|
| ★★★ | Crossref | 英文期刊、英文图书、英文会议 | https://api.crossref.org/works/{DOI} 或 ?query.bibliographic=... |
| ★★★ | Semantic Scholar | 英文为主,arXiv 强项 | https://api.semanticcholar.org/graph/v1/paper/search 或 /paper/DOI:{doi} |
| ★★★ | PubMed | 生物医学 | https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi |
| ★★ | OpenAlex | 兜底,覆盖预印本/非英文 OA | `https://api.openalex.org/works?filter=doi:... |
| ★★ | DOI.org 重定向 | 任一类型 | https://doi.org/{DOI} 检查 HTTP 状态 + 标题 |
调用约束:
- Crossref / OpenAlex 请求需带
User-Agent: reference-test/1.1 (mailto:your@email.com)进入 polite pool - Semantic Scholar 单 IP 限流约 100 req/5 min,超大批量请加
x-api-keyheader - 英文文献 2+ 源匹配即标 verified(弱于中文的"三库两命中"原则)
Step 4:元数据匹配度评估
对每条命中的文献,计算"四维相似度":
| 维度 | 权重 | 计算方式 |
|---|---|---|
| 题名 | 30% | 归一化 Levenshtein 距离,忽略大小写、标点、LaTeX 命令 |
| 作者 | 35% | 作者数 + 姓名匹配(首姓 + 首字母)。作者权重最高——这是识别 chimeric 的关键 |
| 期刊 | 20% | 标准化期刊名对比(处理缩写 Nat. Commun. ↔ Nature Communications) |
| 年份 | 15% | 完全匹配 ±1 年可接受 |
总分 ≥ 0.85 → verified;0.65–0.85 → partial_match;< 0.65 → mismatch
中文特别处理:
- 期刊名 "计算机学报" 和 "计算机学報" 视为同一期刊(自动繁简转换)
- 作者 "王明" 和 "Wang Ming" / "Wang M." 视为同一作者(多语言姓名归一化)
- 中英文题名不一致时取较长的相似度分数
Step 5:嵌合体(chimeric)专项检测
嵌合体是最危险的"看似真"类型——真实题名搭配错误作者/期刊。专用规则:
- 若题名在源中能查到,但作者列表与源中所有同名论文均不一致 → Critical: chimeric
- 若题名能查到,对应多条候选论文,提交条目错选了其中一个 → Major
- 若 DOI 真实存在,但 DOI 解析到的文献题名/作者与提交条目不一致 → Critical: doi_mismatch
Step 6:格式与完整性审计
除真实性之外,并行执行:
| 检查项 | 触发条件 | 等级 |
|---|---|---|
| 题名为空 | title 为空字符串 |
Critical |
| 作者为空 | authors 为空 |
Critical |
| 年份在未来 | year > 当前年份+1 |
Critical |
| DOI 格式错误 | 不符合 10.xxxx/... 正则 |
Major |
| ISBN 格式错误 | 不符合 ISBN-10/13 校验位 | Minor |
| 期刊论文缺 issue 或 pages | type=article 且缺其一 | Minor |
| 会议论文缺 pages | type=inproceedings | Minor |
| 学位论文缺授予单位 | type=thesis | Minor |
| 中英文标点混用 | 同一列表内 "Smith, J." 和 "Smith,J." 共存 | Minor |
| 期刊名未标准化 | 同一列表内 "Nature Communications" 和 "Nat. Commun." 共存 | Minor |
| 作者占位符 | "刘某"、"王某"等带"某"字署名 | Critical |
| 国内期刊黑名单命中 | 期刊名在参考黑名单上(如"中国科技信息") | Major: journal_blacklist_warn |
| 中英文题名互相翻译对不上 | 中文题与英文译名意思不一致 | Major |
| 自引率过高 | 第一作者自我引用 > 30% | Manual Check |
| 重复条目 | 两条 DOI 或题名完全相同 | Major |
Step 7:生成结构化输出
详见第 5 节。每批结束输出一张表,全部完成后再出一份汇总报告。
4. 输入格式
4.1 用户最小输入
请用 reference-test 核查我下面的参考文献(GB/T 7714-2015):
[1] 王明, 李华. 深度学习在医学影像分析中的应用研究[J]. 计算机学报, 2023, 44(5): 1023-1040.
[2] ...
4.2 完整输入(推荐)
请用 reference-test 核查:
- 文档:[上传文件]
- 引用风格:APA 7 / GB/T 7714-2015 / Vancouver / 不指定
- 文献语言:纯中文 / 纯英文 / 中英文混合
- 关注点:[DOI/真实性/格式/重复/自引/CSSCI 收录]
- 期望输出:[详细表格/简明列表/仅 Critical 项]
- 中文溯源通道:[cnki-mcp-server / 万方 API / WebFetch 公开页面]
4.3 从 Zotero/EndNote 导出
如果用户提供 RIS / BibTeX / EndNote XML 文件,直接解析后进入 Step 2,无需再次 OCR。
5. 输出格式
5.1 单批核查表(必出)
每批完成后输出:
| # | 题名(提交) | 作者 | 期刊 | 年份 | DOI/溯源 | 核查路径 | 匹配质量 | 问题等级 | 置信度 | 修复建议 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 深度学习在医学影像分析中的应用研究 | 王明, 李华 | 计算机学报 | 2023 | — | 知网 ✅ + 万方 ✅ + 维普 ✅ | 0.97 ✅ | — | 高 | 无 |
| 2 | 注意力机制新进展 | 刘某, 等 | 中国科技信息 | 2025 | — | 知网 ❌ + 万方 ❌ + 期刊黑名单 ✅ | 0 🔴 | Critical | 高 | 多源未命中 + 期刊黑名单 + 作者占位符"刘某",疑似 AI 捏造 |
| 3 | A study on X | Smith J. | Nat. Commun. | 2020 | 10.1038/...12345 | Crossref | 0.96 ✅ | — | 高 | — |
5.2 汇总报告(全部完成后必出)
📋 参考文献审计汇总
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
总条目:N 条
✅ Verified(通过):X 条
🔴 Critical(致命):Y 条 — 必须处理,疑似假文献
🟠 Major(严重):Z 条 — 题名/作者/期刊明显错配
🟡 Minor(轻微):W 条 — 格式/标点/缩写
⚪ Manual Check(人工复核):V 条 — 数据库不可达或证据不足
⚠️ 重点关注:
→ [#] 的 DOI 无法解析,疑似虚假文献(给出原始 DOI 和检索证据)
→ [#] 涉嫌嵌合体——题名真实但作者/期刊错配
→ [#] 预印本已有正式发表,建议更新引用版本
→ [#] 中文期刊黑名单命中,建议人工复核
📊 CSSCI/CSCD 收录状态核验(中文文献适用):
→ [#] [#] 发表在 CSSCI 来源期刊
→ [#] [#] 发表在 CSCD 来源期刊
→ [#] [#] 发表在北大核心
→ [#] [#] 未被收录或非核心
💡 自引率:第一作者自引 X / Y = Z%
5.3 严重问题的可选深度报告
对标记为 Critical 的条目,额外提供:
- 三类数据库(CNKI / Wanfang / Crossref 等)的检索回显前 200 字
- 期刊官网 / DOI 直链验证截图描述
- 建议的人工核对路径
6. 边界情况与降级策略
| 情况 | 降级方案 |
|---|---|
| Crossref 命中但 Semantic Scholar 没记录 | 标 verified,仅注明 S2 未收录(可能较新) |
| 知网 cnki-mcp-server 不可用 | 降级到万方 API → WebFetch 百度学术 → 标 Manual Check(不得仅因未联网判假) |
| CNKI 返回 418(CDN 反爬) | 设置 NO_PROXY=cnki.net,*.cnki.net 重试;多次失败则降级 |
| 中文文献无 DOI | 转知网/万方/百度学术检索;查不到则标 Manual Check(不得仅因无 DOI 判为无法验证) |
| CSSCI 收录名单未更新到当年 | 人工查 https://cssci.nju.edu.cn 最新版本,标注核验日期 |
| 用户无 API Key | 用 WebSearch/WebFetch 代替 API,效果相当但更慢 |
| 扫描版 PDF(无文字层) | 标记 Manual Check,建议先用 OCR |
| 检索源被反爬拦截 | 切换 WebSearch 直接搜,标注 Manual Check |
| 列表超过 100 条 | 分批(建议每 20 条一批),每批明确进度 |
| 同一文献有多个候选 | 列出前 3 个候选,标 Major 并请用户判断 |
| 用户使用网络受限环境 | 跳过所有联网验证,仅做格式与内部一致性检查,输出明确降级声明 |
7. 与相关工具的关系
| 工具/技能 | 区别 | 是否替代 |
|---|---|---|
| EndNote/Zotero 样式检查 | 只查格式,不查真实性 | 互补 |
| 通用 AI 直接问"这些文献是真的吗?" | 通用 AI 易幻觉,常给出错误"通过"判断 | 本技能替代 |
| ai4scholar 文献审计助手 | 类似但侧重英文 DOI 自动审计 | 互补 |
| 医统双擎 reference-checker | 侧重"文档原句 vs 文献原文"对照 | 互补 |
| Liuxiangjian-ai/reference-checker-skill | 类似但分离 SKILL.md | 设计灵感来源 |
| cnki-mcp-server(xxxxchaos) | MCP 工具,专门查知网,无真实性判定 | 互补(本技能调用它做溯源) |
| wanfangdata/wfdata-open-skills | MCP 工具,专门查万方 | 互补 |
8. 一句话总结
AI 帮你写论文是好事,但 AI 编的假文献是定时炸弹。
reference-test不替你做学术判断,只帮你把每一条参考文献在数据库里实地走一遍、给出一份可以人工复核的证据表。写完论文,跑一遍
reference-test,确认每一条都是真的——这不是可选步骤,是底线。
9. 进阶:与 MCP 服务协同(v1.1+ 推荐)
9.1 推荐的 MCP 集成方案
将本技能与以下 MCP 服务联合使用,可获得自动化的国内期刊溯源:
// ~/.cursor/mcp.json 或 ~/.config/opencode/config.json
{
"mcpServers": {
"cnki": {
"command": "python",
"args": ["-m", "cnki_mcp"],
"env": {
"NO_PROXY": "cnki.net,*.cnki.net"
}
},
"wanfang": {
"command": "npx",
"args": ["-y", "@wanfangdata/open-skills"]
}
}
}
9.2 触发协同的提示词
请使用 reference-test 技能,配合 cnki MCP server 逐条核查我的中文参考文献。
每条按以下流程:
1. cnki.search_cnki 检索"篇名" + "作者"
2. cnki.find_best_match 验证提交题名是否真实
3. cnki.get_paper_detail 取完整元数据
4. 与提交条目做四维比对,输出 Critical/Major/Minor/Manual Check
参考文献列表:
[粘贴]
9.3 MCP 安装指引
详细安装方法见 references/zh-cn-databases.md §2.3 和 TUTORIAL.md 教程 9。