使用说明
A programmable research execution system.
Research question in, structured literature review out — with full audit trail, knowledge graph, and LaTeX export.
Powered by Semantic Scholar + OpenAlex + arXiv · Built on FastMCP
Ariadne是一个开源的MCP服务器,它将Claude变成了一个完整的学术研究系统。它执行系统文献综述的每个阶段——多源发现、PRISMA筛选、结构化提取、概念图构建、对抗性质量评估、牛津三步分类、矛盾检测和LaTeX导出的最终综述汇编——具有局部持久性、语义搜索和方法论严谨性。
89个工具。12个数据库表。5 API集成。20次集成测试。一切都是当地的。所有内容都会在会话期间持续存在。
建筑
User
|
Claude (Agent)
/ | \
Planner Executor Synthesizer
|
MCP Tool Layer (89 tools)
/ | | \ \
Semantic OpenAlex arXiv GitHub Internal LLM
Scholar API API API (Haiku/Sonnet)
\ | / |
SQLite + FTS5 ChromaDB
(Knowledge Store) (Vector Store)
/ | | \ |
Papers Concepts Citations Embeddings
| | | (persistent)
Extraction Concept Citation |
+ Schema Graph Network Passage
Validation | | Retrieval
| |
Theorem Citation
Dep DAG Context
|
Synthesis Engine
/ | | \
Review BibTeX LaTeX Research
Draft Export Export Gap Gen
代理角色:
- 规划师 --生成搜索策略,提出审查大纲,建议查询改进,找出差距
- 执行者 --运行搜索、下载PDF、提取结构化数据、构建引文和概念网络
- 合成器 --发现矛盾、红队质量评估、对行动进行分类、汇总审查
运作原理
1.定义 --你提出了一个研究问题。Ariadne配置特定于域的支柱和提取字段,或从您的论文中自动检测它们。
2.发现 --同时查询语义学者(2亿多篇论文)、OpenAlex(2.5亿多篇)和arXiv。追踪引文线索,绘制合著者网络图,发现相互关联的作品。使用DOI、标题和语义相似性在不同来源之间进行重复数据消除。
3.屏幕 --符合PRISMA标准的摘要筛选,具有可配置的包含/排除标准。自动重复数据删除(DOI、精确标题、模糊Jaccard、语义嵌入)。完整的审计跟踪 generate_prisma_report().
4.分析 --每篇论文:综合总结、关键发现提取、质量评分和结构化字段提取。当 ANTHROPIC_API_KEY 设置好后,这些程序会在廉价型号(Haiku)上自动运行——克劳德永远看不到全文。对于关键论文, red_team_assess() 生成对抗性代理,对论文的质量进行辩论,并生成一个平衡的限制段落。
5.组织 --牛津三步分类(基础/间隙/平行)、主题标注、概念图构建。 build_theorem_graph() 将数学证明依赖关系解析为DAG。 extract_concepts() 绘制想法层面的关系图(介绍、扩展、评论、替换)。
6.合成 — detect_contradictions() 在多篇论文中发现了相互矛盾的主张。 auto_synthesize() 识别方法论阵营并跟踪其演变。 generate_future_research_gaps() 将计算限制与理论框架进行交叉引用,以提出博士级开放问题。 standardize_notation() 将论文中的数学符号翻译成你的术语表。
7.验证 — github_reality_check() 抓取链接的repos,并提取论文中省略的未记录的实现技巧(批处理规范、梯度剪裁、超参数)。 extract_citation_context() 对每篇论文引用另一篇论文的方式进行分类:支持、对比或提及。
8.搜索 — semantic_search() 按含义而不是关键字查找论文。 passage_search() 在整个库中查找精确的文本段落。三层回退:ChromaDB(即时、持久)->句子转换(瞬态)->FTS5关键字。
9.写 --根据牛津指南选择块状、平行或混合结构。批准大纲。Ariadne将完整的评论与 [AuthorYear] 引文和章节之间的平滑过渡。
10.出口 --BibTeX带有消歧义的引用键。LaTeX导出 \cite{} 文章、IEEE或ACM模板中的命令。上传到Overleaf并编译。
所有内容都在SQLite+ChromaDB中跨会话本地保存。
管道
三层确定性、记录的审查流程:
| 管道 | 论文 | 深度 | 时间 |
|---|---|---|---|
quick-review |
15-30 | 关键论文,概述 | ~30分钟 |
standard-review |
30-80 | 结构化提取、矛盾分析 | ~2小时 |
deep-review |
80-150+ | 完全提取、概念图、红队、代码验证 | ~4+小时 |
每条管道都遵循固定的测井工具顺序。每一步都记录在 pipeline_runs --使用 explain_pipeline_run() 看看到底发生了什么。
1. DEFINE setup_review() + generate_search_strategy()
2. DISCOVER multi_search() + batch_add() + build_citation_network()
3. SCREEN screen_papers() + deduplicate_library() -> generate_prisma_report()
4. EXTRACT extract_structured_claims() + bulk_extract()
5. ANALYSE summarize_paper() + extract_key_findings() + red_team_assess()
6. ORGANISE classify_moves() + extract_concepts() + build_theorem_graph()
7. SYNTHESIZE detect_contradictions() + auto_synthesize() + generate_future_research_gaps()
8. VERIFY github_reality_check() + extract_citation_context()
9. SEARCH semantic_search() + passage_search()
10. STRUCTURE generate_review_outline(style) + assign_chapter()
11. WRITE assemble_review() + draft_section()
12. EXPORT export_bibtex() + compile_to_latex()
快速开始
1.安装
# Core (required)
pip install fastmcp httpx aiosqlite pydantic bibtexparser tiktoken
# PDF text extraction (recommended)
pip install pdfplumber
# Internal LLM for auto-extraction (recommended — saves conversation tokens)
pip install anthropic
# Semantic search + dedup (recommended)
pip install sentence-transformers
# Persistent vector store for instant passage retrieval
pip install chromadb
# Math-aware PDF extraction (LaTeX-native, extracts equations/theorems)
pip install nougat-ocr torch
# Visual dashboard
pip install streamlit networkx pyvis
# Or install everything:
pip install -e ".[all]"
2.连接到克劳德代码
添加到您的项目 .mcp.json:
{
"mcpServers": {
"ariadne": {
"command": "python",
"args": ["/absolute/path/to/ariadne/server.py"],
"env": {
"S2_API_KEY": "your_optional_key_here",
"ANTHROPIC_API_KEY": "your_optional_key_here"
}
}
}
}
语义学者API密钥 (免费)--将您的费率限制从1 RPS提高到10 RPS。得到一个在 语义学院.org/product/api.
无烟煤API键 (可选)--启用内部LLM路由。摘要和提取在Haiku上运行,而不是消耗你的对话上下文。大幅降低代币成本。
3.开始使用它
Search for papers on transformer attention mechanisms from 2020 onwards
Do a full literature review on mean-field game theory applied to financial markets
Red-team assess this paper and check if its GitHub repo matches the claims
首次用户: 呼叫 setup_review() 配置您的域,或只是开始搜索和使用 auto_detect_pillars() 一旦你有了大约10篇论文。
它取代了什么
| 付费工具 | Ariadne会做什么 |
|---|---|
| 引出 (10-49美元/月) | 在3个数据库中搜索4.5亿多篇论文,通过模式验证提取结构化字段,构建比较矩阵 |
| 相关论文 | 爬取引文网络,构建概念+定理依赖图,查找跨柱桥论文 |
| SciSpace深度评论 | 草稿使用牛津三步结构、内联引用和LaTeX导出完成评论部分 |
| 共识 | 综合证据,通过自动成对比较检测矛盾,对支持与反对进行分类 |
| 你知道的。ai (每月20美元) | 提取引文上下文——将每条引文分为支持、对比或提及 |
| 带代码的论文 | GitHub现实检查——抓取仓库,提取未记录的技巧(批处理规范、梯度裁剪、超参数) |
| 佐特罗 | 本地SQLite库,带有标签、支柱、章节、阅读状态、BibTeX+LaTeX导出、持久向量存储 |
| 笔记本LM | 概念图、作者网络映射、差距识别、研究问题提炼、文章搜索 |
| 语义学者 | 将S2+OpenAlex+arXiv与联邦数据消除相结合,然后添加S2不做的一切(筛选、合成、编写) |
费用:免费。 用于更高速率限制和内部LLM路由的可选API密钥。所有数据都保留在本地。
技术设计
检索策略
使用联合重复数据消除的多源查询:
- 语义学者 --2亿多篇论文,强大的引用数据,人工智能生成的TLD
- OpenAlex --2.5亿多篇论文,完全开放,丰富的作者/机构元数据
- arXiv --预印本,尚未经过同行评审的前沿工作
- GitHub --实现代码链接自机器学习论文
重复数据删除使用四层:DOI匹配、标准化标题匹配、Jaccard词集相似度(>0.85)和语义嵌入相似度(安装句子转换器时)。
知识表示
SQLite有12个表:
| 表 | 目的 |
|---|---|
papers |
完整元数据+用户注释(31列) |
citations |
纸对纸引用边 |
concepts |
学术概念、方法、理论、定理、引理 |
concept_paper_links |
概念论文关系(介绍、扩展、应用、评论、使用) |
concept_edges |
概念到概念的关系(扩展、替换、矛盾、要求) |
structured_claims |
用于算法比较的具有度量/值/数据集的可伪造声明 |
pipeline_runs |
管道执行日志——每个步骤、时间、结果 |
extraction_cache |
本地LLM结果缓存--重复查询时为$0 |
search_history |
查询PRISMA报告的审计跟踪 |
watch_seeds |
引文监测观察名单 |
pdf_fulltext |
提取的PDF文本(摄取时去除噪声) |
config |
审查配置(支柱、字段、术语表) |
FTS5 用于排序全文关键字搜索的虚拟表。
色度数据库 (可选)用于即时语义搜索和段落检索的持久向量存储。论文在下载时自动索引,有800个字符重叠块。
语义搜索管道
三层回退链:
- 色度数据库 (持久、即时、块级,带段落预览)--
pip install chromadb - 句子转换 (瞬态,每次查询重新嵌入,论文级)--
pip install sentence-transformers - FTS5 (关键字匹配,始终可用)
数学感知PDF摄取
三层提取链:
- 牛轧糖 (Meta的视觉转换器,本地,LaTeX原生)--
pip install nougat-ocr torch - Mathpix (API商用,LaTeX-native)-套装
MATHPIX_APP_ID+MATHPIX_APP_KEY - PDF 管道工 (明文回退)--
pip install pdfplumber
数学感知方法提取结构化组件:方程、定理、引理、定义、假设和证明。这些数据以JSON格式存储,并由以下人员使用 build_theorem_graph() 和 standardize_notation().
LLM成本编排
当 ANTHROPIC_API_KEY Ariadne将提取任务路由到内部廉价模型:
| 任务 | 模型 | 为什么 |
|---|---|---|
summarize_paper |
俳句 | 文本提取,无需推理 |
extract_key_findings |
Haiku | 结构化提取 |
extract_concepts |
Haiku | 命名实体提取 |
assess_quality |
十四行诗 | 需要判断 |
detect_contradictions |
Sonnet | 跨纸张比较 |
red_team_assess |
十四行诗 | 对抗性多智能体辩论 |
信心级联: Haiku返回了一个信心得分。低于阈值(默认值75)时,任务会自动升级到Sonnet。
快速缓存: 纸张文本块使用Anthropic cache_control: ephemeral --在同一张纸上运行summare->extract_indings->assess_quality时,只有第一次调用支付全部输入价格。后续通话可享受90%的折扣。
提取缓存: 本地SQLite表存储 (hash(paper_text + task), result_json)。精确重复查询的成本为0美元,返回时间为毫秒。
批次API: batch_extract() 使用Anthropic的Message Batch API,批量操作成本降低50%(5张以上纸张)。
代币预算管理:
- 噪声去除(参考文献、附录、致谢)——节省15-25%
- 切片(每种任务类型仅相关部分)——额外30-60%
- 每个工具的硬令牌上限(4K摘要,12K全文)
- 模式验证(Pydantic模型拒绝格式错误的LLM输出)
没有API键,一切都和以前一样——工具返回格式化的提示,Claude处理它们。
MCP工具参考(89个工具)
设置和配置(4)
| 工具 | 说明 |
|---|---|
setup_review() |
首次运行向导——配置支柱、字段、研究问题 |
auto_detect_pillars() |
分析库并建议领域支柱 |
get_review_config() |
显示当前配置 |
update_extraction_fields() |
更改每个域的提取字段名称 |
探索(8)
| 工具 | 说明 |
|---|---|
search_papers() |
搜索语义学者(2亿多篇论文) |
search_openalex() |
搜索OpenAlex(超过2.5亿篇论文,完全开放) |
search_arxiv() |
搜索arXiv预印本 |
multi_search() |
同时搜索所有三个,重复数据消除 |
get_citations() / get_references() |
引文遍历(将边存储到数据库) |
find_related() |
S2人工智能建议 |
seed_library() |
浏览作者目录 |
build_citation_network() |
带边缘存储的递归引文抓取 |
图书馆管理(17)
| 工具 | 说明 |
|---|---|
add_paper() / add_paper_openalex() / batch_add() |
添加来自任何来源的论文 |
remove_paper() |
从库中删除 |
list_library() |
使用过滤器浏览(状态、支柱、标签、章节) |
get_paper_details() / get_fulltext() |
检索纸张内容(预算上限) |
tag_paper() / remove_tag() / list_tags() |
标签管理 |
set_pillar() / set_status() / rate_paper() |
分类 |
assign_chapter() / annotate() / set_extraction() |
元数据 |
semantic_search() |
按意义搜索(ChromaDB->嵌入->FTS5) |
passage_search() |
查找所有论文中的确切段落 |
index_library() |
将大量索引文件放入持久向量存储 |
筛选和重复数据删除(4)
| 工具 | 说明 |
|---|---|
screen_papers() |
PRISMA摘要筛选标准 |
bulk_extract() |
批量结构化提取 |
generate_prisma_report() |
PRISMA 2020流程图 |
deduplicate_library() |
DOI+标题+Jaccard+语义嵌入 |
分析与合成(11)
| 工具 | 说明 |
|---|---|
compare_papers() |
并排提取字段比较 |
find_bridges() |
横柱桥纸 |
identify_gaps() |
覆盖率和差距分析 |
evidence_consensus() |
是/否问题的证据综合 |
generate_synthesis_matrix() |
跨纸对照表 |
extract_structured_claims() |
提取具有度量/值/数据集/条件的可证伪声明 |
detect_contradictions() |
三层:算法索赔比较->LLM评估->手动 |
auto_synthesize() |
检测方法论阵营、进化、回归 |
refine_research_question() |
分析覆盖范围并提出改进建议 |
suggest_new_queries() |
通过有针对性的搜索填补空白 |
generate_future_research_gaps() |
交叉引用限制与博士级提案框架 |
standardize_notation() |
将数学符号翻译成您的主术语表 |
阅读与质量评估(7)
| 工具 | 说明 |
|---|---|
summarize_paper() |
自动汇总(LLM)或手动格式 |
extract_key_findings() |
自动提取(LLM)或手动格式化 |
assess_quality() |
标准质量/严谨性评估(1-5) |
red_team_assess() |
对抗性多主体辩论(支持者vs批评者->平衡得分) |
download_pdf() |
下载PDF,提取文本(Nougat/Mathpix/pdfplumber),自动索引 |
store_summary() / store_key_findings() / store_quality() |
持续评估 |
概念与定理图(6)
| 工具 | 说明 |
|---|---|
extract_concepts() |
从论文中自动提取概念(LLM或手动) |
add_concept() / link_concepts() |
手动构建图形 |
query_concept() |
在论文中查找概念+相关概念 |
list_concepts() |
浏览完整的概念图 |
build_theorem_graph() |
将定理/引理依赖关系解析为DAG |
分类(3)
| 工具 | 说明 |
|---|---|
classify_moves() |
牛津基础/缺口/平行分类格式 |
set_move() / set_themes() |
店铺分类 |
作者与机构网络(2)
| 工具 | 说明 |
|---|---|
map_author_network() |
通过OpenAlex建立合著者网络+机构联系 |
map_institution_landscape() |
按主题查找机构的研究人员 |
代码与纸张对齐(2)
| 工具 | 说明 |
|---|---|
github_reality_check() |
自动检测纸上的GitHub仓库,提取未记录的技巧 |
github_reality_check_url() |
根据论文的声明分析特定的回购 |
写作管道(5)
| 工具 | 说明 |
|---|---|
generate_search_strategy() |
系统化的多主题搜索计划 |
draft_section() |
起草评论部分的背景(4种风格) |
generate_review_outline() |
块状/平行/混合牛津轮廓 |
assemble_review() |
从结构化大纲完成审查 |
compile_to_latex() |
导出到.tex \cite{} (文章/IEEE/ACM模板) |
进出口(2)
| 工具 | 说明 |
|---|---|
export_bibtex() |
导出为 .bib 带有消除歧义的引用键 |
import_from_bibtex() |
批量导入来源 .bib S2富集 |
管道与测井(5)
| 工具 | 说明 |
|---|---|
log_pipeline_start() |
启动记录的管道运行 |
log_pipeline_step() |
记录带有结果的步骤 |
log_pipeline_complete() |
用摘要标记跑步完成 |
explain_pipeline_run() |
显示每一步,过滤了什么,不确定性最高的地方 |
list_pipeline_runs() |
列出所有管道运行及其状态 |
监测与引文分析(4)
| 工具 | 说明 |
|---|---|
watch_add() / watch_remove() / watch_check() |
引文监测 |
extract_citation_context() |
对一篇论文引用另一篇论文的方式进行分类(支持/对比/提及) |
评估
性能比较
| 专题 | 阿里阿德涅 | 名人录 | 相关论文 | Scite.ai | Zotero |
|---|---|---|---|---|---|
| 多源检索 | 3个数据库 | 1 | 1 | 1 | 0 |
| PRISMA工作流程 | 已满 | 无 | 无 | 没有 | 无 |
| 结构化提取 | 可配置+验证 | 固定字段 | 无 | 无 | 手动 |
| 牛津三步模型 | 原生 | 无 | 无 | 没有 | 无 |
| 概念图 | 双向 | 无 | 仅引用 | 无 | 无 |
| 定理依赖DAG | 来自LaTeX | 无 | 无 | 没有 | 没有 |
| 矛盾检测 | 结构化声明+算法+LLM | 无 | 无 | 没有 | 没有 |
| 红队质量评估 | 对抗性多智能体 | 无 | 无 | 没有 | 没有 |
| 引文上下文分类 | 支持/对比/提及 | 无 | 无 | 原生 | 无 |
| 代码与纸张对齐 | GitHub抓取 | 无 | 无 | 没有 | 没有 |
| 语义搜索 | ChromaDB+嵌入+FTS5 | 基本 | 无 | 无 | 基本 |
| 段落级检索 | 整个库 | 无 | 无 | 论文中 | 无 |
| 作者网络映射 | 通过OpenAlex | 无 | 无 | 没有 | 没有 |
| 具有数学感知的PDF提取 | 牛轧糖/Mathpix | 无 | 无 | 没有 | 无 |
| 符号标准化 | LLM支持的术语表 | 无 | 无 | 没有 | 没有 |
| 博士生缺口生成 | 跨领域提案 | 无 | 无 | 没有 | 无 |
| LaTeX导出 | 带 \cite{} 命令 |
无 | 无 | 没有 | 只有BibTeX |
| 内部LLM路由 | Haiku/Sonet级联+缓存 | N/A | N/A | N/A | N/m |
| 成本 | 免费+可选API密钥 | $10-49/月 | 免费层受限 | $20/月 | 免 |
| 数据所有权 | 100%本地 | 云 | 云 | 本地 |
代币效率
- 噪声去除 每张纸可节省15-25%的输入令牌
- 切片 额外节省30-60%
- 内部LLM路由 阻止全文进入对话
- 信心级联 使用Haiku进行约80%的提取
- 快速缓存 每张纸多次提取可享受90%的折扣
- 提取缓存 重复查询可享受100%折扣
- 批次API 批量操作可享受50%的折扣
配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
S2_API_KEY |
(无) | 语义学者API密钥(免费,10 RPS) |
OPENALEX_MAILTO |
(无) | OpenAlex礼貌池的电子邮件 |
ANTHROPIC_API_KEY |
(无) | 内部LLM路由(可选) |
GITHUB_TOKEN |
(无) | 用于代码对代码检查的GitHub API令牌 |
MATHPIX_APP_ID |
(无) | Mathpix API(可选数学OCR) |
MATHPIX_APP_KEY |
(无) | Mathpix API密钥 |
ARIADNE_DB |
./papers.db |
SQLite数据库路径 |
ARIADNE_PAPERS_DIR |
./pdfs/ |
PDF存储目录 |
ARIADNE_EXPORT_DIR |
./ |
默认导出目录 |
ARIADNE_CHROMA_DIR |
./chroma_db/ |
ChromaDB存储路径 |
ARIADNE_FAST_MODEL |
claude-haiku-4-5-20251001 |
快速层任务模型 |
ARIADNE_REASONING_MODEL |
claude-sonnet-4-5-20241022 |
推理层任务模型 |
ARIADNE_CASCADE_THRESHOLD |
75 |
Haiku向Sonnet升级门槛 |
ARIADNE_CACHE_EXTRACTIONS |
1 |
设置为 0 禁用提取缓存 |
研究支柱
完全可配置:
setup_review(pillars='genomics|proteomics|metabolomics')
setup_review(pillars='theoretical|experimental|computational')
或者从您的库中自动检测: auto_detect_pillars()
提取字段
也可按域配置:
update_extraction_fields('methodology|sample_size|population|outcome_measure|bias_risk')
违约: methodology | limitations | math_framework | convergence_bounds
流线型仪表板
python -m streamlit run app.py
四页: 仪表板 (统计数据、管道、优先级队列), 论文 (带内联编辑的可过滤列表), 引文图 (交互式网络), 编辑纸张 (完整元数据格式)。
测试
pip install pytest pytest-asyncio
pytest tests/test_integration.py -v
20个集成测试用合成论文验证关键不变量(没有API调用):
- 重复数据删除检测到完全相同的标题重复
- 提取字段已正确填充
- 支柱验证通过建议拒绝未知名称
- 纸张ID解析处理前缀、标题词和作者姓名
- 结构化索赔通过数据库往返
- 矛盾的主张在算法上是可检测的
- 管道测井生命周期端到端工作
- 噪声去除会删除引用
- 代币预算得到执行
- 所有89个刀具均无错误
电流可靠性
Ariadne是一个用于研究的结构化推理环境,而不是专家判断的替代品。它加速了审查结构、发现和比较——人类验证。
什么效果好:
- 多源发现和重复数据删除具有确定性和可靠性
- 引文网络构建从API中生成地面实况边缘
- PRISMA审计跟踪在结构上是正确的
- BibTeX/LaTeX输出机械性能良好
需要人工验证的内容:
- 总结和关键发现由LLM生成,可能包含错误或遗漏
- 质量评估(包括红队)反映的是法学硕士的判断,而不是事实真相
- 矛盾检测比较结构化的声明,但可能会产生幻觉分歧或错过数学假设中的细微差异
- 概念提取是近似的——概念可能太宽泛、太窄或分类错误
现在还为时过早:
- 数学内容被提取出来,但没有经过正式验证——符号标准化是启发式的,而不是象征性的
- 定理依赖解析依赖于正则表达式模式,最适合LaTeX提取的文本
- GitHub代码到纸张的对齐捕捉到了常见的机器学习技巧,但不会发现特定领域的实现差距
最佳实践: 使用Ariadne构建脚手架(查找论文、绘制连接图、构建评论结构),然后运用你的领域专业知识来验证每一项主张,尤其是任何定量或数学的主张。
局限性
- API依赖性 --搜索质量取决于Semantic Scholar、OpenAlex和arXiv索引。不在这些数据库中的论文将无法找到。
- PDF提取方式各不相同 --pdfplumber在方程式和复杂的布局上苦苦挣扎。Nougat生产出色的LaTeX,但需要GPU并且速度较慢。Mathpix速度很快,但需要付费的API密钥。
- SQLite缩放 --足以进行个人评论(数百至数千篇论文)。不是为机构规模部署而设计的。
- ChromaDB是可选的 --没有它,语义搜索会在每个查询上重新嵌入库。有了它,查询是即时的,但存储空间会增长。
关于名字
在希腊神话中, 阿里阿德涅 在忒修斯进入迷宫面对牛头怪之前,他给了他一个金线球。这根线让他在迷宫中追踪自己的路径,找到了回去的路。
文献综述本身就是一个迷宫——数百篇论文、错综复杂的引文网络、相互矛盾的发现和死胡同。阿里阿德涅是引导你穿过它的线索。
许可证
麻省理工学院
