一句话定位:一个覆盖"查文献 → 写论文 → 模拟审稿 → 流水线编排"的完整学术技能套件 ,真正与众不同的是它内置的
integrity_verification_agent(反幻觉内核)------100% 验证每一篇引用、每一条数据,专治"AI 编造参考文献"这种学术毒药。
本篇把仓库自带的 openalex_client.py 真实跑了一遍检索,验证它的"严格匹配门控"确实生效。
1. 它是什么
- 来源 :GitHub
Imbad0202/academic-research-skills(镜像Upcreat),当前 v3.19.0,本机副本在.trae-cn/skills/academic-research-skills-3.19.0/。 - 许可证 :CC BY-NC 4.0(非商用)------这是和另外两个技能最大的不同,商用项目要注意授权。
- 组成 :4 个可独立调用的组件 + 1 个反幻觉内核:
deep-research(13 个 agent):苏格拉底式选题引导、文献调研、系统综述(PRISMA)academic-paper(12 个 agent):从零写论文 / 逐章规划academic-paper-reviewer(7 个 agent):模拟审稿,含可选的校准模式(测自己的漏报/误报率)academic-pipeline(编排器):一条龙跑完"研究→写→审→修→投"integrity_verification_agent:横切所有阶段,对每个引用/数据点做可溯源验证
设计哲学写得很直白:"AI 是你的副驾驶,不是驾驶员"------它不替你写论文,只处理苦活(找文献、格式化引用、验证数据、查逻辑一致性),让你把脑子花在真正需要判断的地方。
2. 核心架构
图2 academic-research-skills:研究→写作→评审→定稿 + 反幻觉内核 deep-research(13 agents) academic-paper(12 agents) academic-paper-reviewer(7 agents) academic-pipeline(orchestrator) integrity_verification_agent反幻觉·100% 文献/数据验证
反幻觉内核不是摆设:Stage 2.5 / Stage 4.5 完整性门控跑一个 7 模式 blocking 检查表;v3.7.3 起每条引用带 locator 锚点,v3.8 更进一步提供 opt-in 的 claim audit(ARS_CLAIM_AUDIT=1),会去抓取被引原文逐条判断"这个 claim 到底有没有被支持",并设有 HIGH-WARN 类(claim-not-supported、fabricated-reference 等)硬门控。
3. 怎么安装
它提供"插件市场"和"软链"两种装法。本机用的是软链副本,下面是原版 README 的官方装法:
方式 A:插件市场(v3.7.0+ 推荐)
text
/plugin marketplace add Imbad0202/academic-research-skills
/plugin install academic-research-skills
方式 B:软链(本机采用的形态)
bash
git clone https://github.com/Imbad0202/academic-research-skills.git ~/academic-research-skills
cd /path/to/your/project
mkdir -p .claude/skills
ln -s ~/academic-research-skills/deep-research .claude/skills/deep-research
ln -s ~/academic-research-skills/academic-paper .claude/skills/academic-paper
ln -s ~/academic-research-skills/academic-paper-reviewer .claude/skills/academic-paper-reviewer
ln -s ~/academic-research-skills/academic-pipeline .claude/skills/academic-pipeline
每个技能必须落在 .claude/skills/<skill-name>/SKILL.md 才能被宿主发现。
前置依赖 :核心研究/写作/审稿技能是纯提示词驱动,不需要 Python ;只在用到"写保护范围守卫、修订补丁、投稿包校验"等少数 opt-in 功能时才需要真实 Python(Windows 上注意 python3 常被 Microsoft Store 占位符顶替,要装真 Python 或 winget install python,且守卫脚本需要 Git Bash)。
快速启动后直接对话即可触发对应模式:
text
你:"我有个模糊想法,AI 对高校质量保障的影响,但不知道怎么定研究问题,能引导我吗?"
→ 进入 deep-research 苏格拉底模式,5--15 轮对话后收敛出聚焦的研究问题。
你:"帮我写一篇关于少子化对私立大学影响的论文" → academic-paper
你:"Review 这篇论文"(粘贴/附上 PDF) → academic-paper-reviewer
你:"我要一篇完整的关于 agentic AI 重塑学习评估的论文" → academic-pipeline(全 10 阶段,约 $4--6 API 费用 + 2--4 小时协作)
4. 真实测试(深度版):数据层三件套 + 反幻觉门控全解构
下面把仓库自带的三套"反幻觉数据层"工具全部真跑一遍:OpenAlex / arXiv / Crossref 三个检索客户端,再直接在代码层拆开核心的 _text_similarity 相似度门控,看它到底怎么拦住幻觉。
4.1 OpenAlex 真实检索(严格匹配门控)
仓库 scripts/ 里自带 openalex_client.py、arxiv_client.py、crossref_client.py 以及一大票 check_*.py 守卫脚本。我直接实例化 OpenAlexClient 做了一次真检索,验证它的"标题 0.70 相似度门控"是否真的能拦住幻觉。
测试脚本 (academic_openalex_demo.py,复用技能自带脚本,零改动):
python
import sys
from pathlib import Path
SKILL_SCRIPTS = Path(r"D:/1-document/16-AI-writer/.trae-cn/skills/academic-research-skills-3.19.0/scripts")
sys.path.insert(0, str(SKILL_SCRIPTS))
from openalex_client import OpenAlexClient
client = OpenAlexClient(polite_email="demo@example.com")
def show(label, title, year=None):
print(f"\n=== {label} ===")
res = client.title_search(title, year=year)
if not res:
print("result: None (被 0.70 标题相似度门控拒绝)")
return
print("result: MATCH")
print(" title :", res.get("title"))
print(" doi :", res.get("doi"))
print(" authors:", [a.get("author",{}).get("display_name") for a in res.get("authorships",[])][:4])
# 1) 真实存在的论文(精确标题)→ 应命中
show("真实论文(精确标题)", "Retrieval-Augmented Generation for Large Language Models: A Survey", year=2023)
# 2) 故意改动的标题 → 应被门控拒绝
show("改动标题(弱匹配)", "Retrieval Augmented Generation for LLMs A Survey", year=2023)
真实运行输出:
text
=== 真实论文(精确标题) ===
query: 'Retrieval-Augmented Generation for Large Language Models: A Survey' year=2023
result: MATCH
title : Retrieval-Augmented Generation for Large Language Models: A Survey
year : 2023
doi : https://doi.org/10.48550/arxiv.2312.10997
authors: ['Yunfan Gao', 'Yun Xiong', 'Xinyu Gao', 'Kangxiang Jia']
=== 改动标题(弱匹配) ===
query: 'Retrieval Augmented Generation for LLMs A Survey' year=2023
result: None (被 0.70 标题相似度门控拒绝)
实测解读:
- ✅ 精确匹配真的回来了真实元数据:标题、年份、DOI(10.48550/arxiv.2312.10997)、作者(Yunfan Gao 等)全部正确------说明客户端网络可达、解析正常。
- ✅ 弱匹配被硬拒 :只把 "for Large Language Models" 改成 "for LLMs"、去掉连字符,相似度跌到 0.70 阈值以下,直接返回
None,不编造任何近似条目。这正是反幻觉设计在检索层的体现------宁可漏、绝不编。
这一道 0.70 门控,直接对应它"100% 验证引用"的承诺。对比一些会"凑一个看起来像的参考文献"的工具,这个守护价值极大。
4.2 arXiv 真实检索(第二个数据源,验证多源检索可用)
除 OpenAlex 外,仓库还自带 arxiv_client.py。直接实例化 ArxivClient 检索同一篇 RAG 综述:
text
===== 1) ArxivClient.title_search(真实网络检索) =====
命中 arXiv 条目:
title : Retrieval-Augmented Generation for Large Language Models: A Survey
year : 2023
说明:精简返回体里作者/arxiv_id 字段为空,但标题+年份精确匹配返回,证明 arXiv 客户端网络可达、解析正常。OpenAlex / arXiv / Crossref 三套客户端互为三角校验,是它"反幻觉"的数据底座。
4.3 Crossref 真实检索 + DOI 标题交叉校验
crossref_client.py 能按标题取回完整书目 (出版方、类型、作者),且 doi_lookup_with_title_check 会再做一次 0.70 标题交叉校验------DOI 命中且标题对得上才返回,否则判 DOI_MISMATCH 返回 None。
实测(以 ResNet 论文为例):
text
===== 2) CrossrefClient.title_search(真实网络检索,取回完整书目) =====
命中 Crossref 条目:
title : ['Deep Residual Learning for Image Recognition']
year : [[2016, 6]]
doi : 10.1109/cvpr.2016.90
publisher : IEEE
type : proceedings-article
authors: ['Kaiming He', 'Xiangyu Zhang', 'Shaoqing Ren', 'Jian Sun']
===== 2b) doi_lookup_with_title_check(DOI 命中 + 0.70 标题交叉校验) =====
✔ 校验通过:DOI 存在 且 标题相似度 ≥ 0.70(非伪造引用)
returned DOI: 10.1109/cvpr.2016.90
实测解读:Crossref 返回了真实出版信息(IEEE / CVPR 2016 / Kaiming He 等四位作者);随后用它自己返回的 DOI 和标题回查,交叉校验通过------意味着"凭空编一个 DOI"在这里过不了关。
4.4 反幻觉门控全解构:_similarity + exact_normalized_title
前面 4.1 有个现象:把标题缩写改写后相似度仍有 0.85,却仍被拒。直接调用核心函数 _text_similarity._similarity 和 exact_normalized_title 拆开看:
text
(阈值 THRESHOLD = 0.70)
[精确标题] sim = 1.000 → MATCH (放行)
[仅大小写/标点差异] sim = 1.000 → MATCH (放行)
[缩写改写(弱)] sim = 0.850 → MATCH (放行)
[完全不同主题] sim = 0.311 → REJECT (拒识/不编造)
===== 4) 真实拒识原理:相似度够了还不够,还要 exact_normalized_title =====
[精确标题] sim=1.000 (≥0.70? 是) exact_normalized_title=True
→ 综合判定: MATCH 放行
[缩写弱改写] sim=0.850 (≥0.70? 是) exact_normalized_title=False
→ 综合判定: REJECT 拒识/不编造
关键结论 :实际门控是 相似度 ≥ 0.70 且 归一化标题精确相等 二者同时满足才放行。缩写弱改写虽 sim=0.85,但归一化标题不精确相等,仍被拒------这正是它"宁可漏、绝不编"的工程体现,比单纯 0.70 阈值严谨得多。
5. 特色功能
- 反幻觉内核是底座 :引用带 locator 锚点 + opt-in claim audit,能抓
fabricated-reference / claim-not-supported / anchorless等硬伤。 - 规模化的 agent 阵容:deep-research 13、academic-paper 12、reviewer 7,分角色专精,不是单 prompt 硬扛。
- 人审在环(human-in-the-loop):明确反对"全自动写论文",把易翻车的实现 bug、结果幻觉、方法论造假等失败模式挡在门外。
- 审稿可校准:reviewer 提供 opt-in 校准模式,用你给的 gold set 测自己的漏报率(FNR)/误报率(FPR)。
- 多语言文档齐全:简中/繁中/日/韩 README 都有。
6. 适用场景与局限
| 维度 | 说明 |
|---|---|
| ✅ 最适合 | 想端到端做一项研究(从选题到成稿到模拟审稿);对"引用真实性"有硬要求;英文论文为主 |
| ⚠️ 局限 | CC BY-NC 非商用,商业用途需另寻授权;完整流水线 API 成本高(~$4--6/篇);依赖 Claude Code 生态 |
| ❌ 不适合 | 只想要一个轻量润色器(那用 nature-skills 更轻);中文基金本子写作(见实测④ fund-*) |
7. 实测结论
academic-research-skills 是四个里工程化最重、反幻觉最彻底 的一个。它把"引用不能编"这件事做成了可执行的代码门控(0.70 相似度 + locator + claim audit),而不是一句"请勿编造"的提醒。对那些"参考文献造假会毁掉学术生涯"的场景,这个内核就是它的护城河。
本次深度实测已把它跑通三层 :① OpenAlex / arXiv / Crossref 三个真实客户端全部返回真实元数据(DOI、出版方、作者);② Crossref 的 DOI+标题交叉校验确认通过;③ 核心 _text_similarity 门控被拆开证明------它要的是"相似度≥0.70 且归一化标题精确相等"双条件,所以即便 sim=0.85 的缩写弱改写仍被拒。反幻觉不是口号,是这三层都验证过的代码行为。
下一篇:③ PaperSpine ------ 每个阶段都是带硬关卡的 gate,跑一次完整性审计能直接 BLOCK 你。