深色模式
cite-verify:参考文献真实性核对
逐条到 Crossref、OpenAlex、arXiv、DBLP 检索 BibTeX 条目,找出查不到(可能是 AI 编造的)和作者、年份对不上的参考文献。
为什么需要
大模型编造的参考文献常见两种:标题看起来合理但查不到;标题对得上,作者或年份却是错的。它们看起来和真的一样,靠肉眼很难发现。会议已经开始严查:ICLR 2026 明确规定,论文中出现编造的参考文献可以直接拒稿。
能做什么
- 读取
.bib,默认只核对正文中实际引用了的条目; - 按标题依次在 Crossref、OpenAlex、arXiv、DBLP 中检索,找到标题足够相似的记录;
- 比较年份(允许预印本和正式版相差 1 年)和第一作者;
- 输出“找到 / 信息不一致 / 查不到 / 检索失败 / 跳过”五类结果,查不到的给出最接近的检索结果,方便判断是不是标题记错了。
同一个标题可能有多条记录(正式版、预印本、别人上传的副本),只要有一条的作者和年份对得上就算找到,避免误报。
只是偶尔用一下?
网页版:科研工具箱 · 参考文献真实性核对,粘贴 .bib 就能核对(检索 Crossref、OpenAlex 和 Semantic Scholar,不查 arXiv、DBLP,也没有缓存)。只有标题、第一作者姓氏和年份会发给这些检索服务,整个 .bib 不会上传。
安装
装到当前项目(.claude/skills/),macOS / Linux
curl -LO https://skills.bnuai.com/download/skills/cite-verify.zip && mkdir -p .claude/skills && unzip -o cite-verify.zip -d .claude/skills装到个人目录,所有项目都能用,macOS / Linux
curl -LO https://skills.bnuai.com/download/skills/cite-verify.zip && mkdir -p ~/.claude/skills && unzip -o cite-verify.zip -d ~/.claude/skills装到当前项目,Windows PowerShell
Invoke-WebRequest https://skills.bnuai.com/download/skills/cite-verify.zip -OutFile cite-verify.zip; Expand-Archive cite-verify.zip -DestinationPath .claude\skills -Force压缩包从本站下载,不需要 Node.js 或 GitHub。带脚本的技能需要 Python 3.9 以上。更新时重新下载解压、覆盖原文件夹即可。
怎么用
text
帮我核对一下 paper/ 里引用的参考文献是不是都真实存在。AI 帮你写过相关工作或参考文献之后,也建议跑一遍。Agent 会运行脚本,再对“查不到”的条目逐条联网搜索,最后告诉你哪些必须自己确认来源。
示例
对一份掺了一条编造文献、一条信息错误的 .bib 运行核对:
text
# 参考文献核对结果
核对了 5 条(全部):找到 2,信息不一致 1,查不到 1,检索失败 0,跳过 1。
> 注意:DBLP 请求失败(返回了人机验证页面(HTTP 202))。这些条目的结果只基于其他数据源。
## ❌ 查不到(1)
- li2024fake:Hierarchical Reinforcement Learning for Layer-Aware KV Cache Offloading in
Edge-Cloud LLM Serving with Diffusion Policies
## ⚠️ 信息不一致(1)
- ho2020wrong:Denoising Diffusion Probabilistic Models
- 年份不一致:bib 中是 2017,OpenAlex 中是 2020
- 第一作者不一致:bib 中是 smith,OpenAlex 中是 Jonathan Ho
## ➖ 跳过(1)
- vllm:(无标题)
- 没有 title 字段,跳过(网页、软件等条目请人工核对)
## ✅ 找到(2)
- vaswani2017attention:Attention Is All You Need
- arXiv:http://arxiv.org/abs/1706.03762v7
- kwon2023paged:Efficient Memory Management for Large Language Model Serving with PagedAttention
- Crossref:https://doi.org/10.1145/3600006.3613165某个数据库访问失败时(例如 DBLP 有时要求人机验证),结果开头会注明,其他数据库照常检索。
直接运行脚本
bash
python3 skills/cite-verify/scripts/citeverify.py 论文目录/ # 只核对正文引用了的条目
python3 skills/cite-verify/scripts/citeverify.py refs.bib # 核对全部条目
python3 skills/cite-verify/scripts/citeverify.py refs.bib --strict # 有问题时返回退出码 1,可以放进 CI检索结果缓存 30 天。设置环境变量 CITEVERIFY_MAILTO=你的邮箱 可以使用 Crossref 和 OpenAlex 的礼貌访问池。
权限说明
会联网访问 api.crossref.org、api.openalex.org、export.arxiv.org、dblp.org,只发送参考文献的标题、第一作者姓氏和年份。缓存写在 ~/.cache/research-skills/。
局限
- “查不到”不等于一定是编造的:很新的论文、中文文献、技术报告、书籍章节可能没有被收录,需要人工确认。
- 只核对文献是否存在、元数据是否正确,不核对论文是否真的说了你引用它的那句话。引用的观点要自己读原文确认。