可编程研究执行系统

Ariadne是一个开源的可编程研究执行系统,能将研究问题转化为结构化的文献综述,并提供完整的审计跟踪、知识图谱和LaTeX导出功能。

  • by cgarryZA
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 cgarryZA/Ariadne

使用说明

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个字符重叠块。

语义搜索管道

三层回退链:

  1. 色度数据库 (持久、即时、块级,带段落预览)-- pip install chromadb
  2. 句子转换 (瞬态,每次查询重新嵌入,论文级)-- pip install sentence-transformers
  3. FTS5 (关键字匹配,始终可用)

数学感知PDF摄取

三层提取链:

  1. 牛轧糖 (Meta的视觉转换器,本地,LaTeX原生)-- pip install nougat-ocr torch
  2. Mathpix (API商用,LaTeX-native)-套装 MATHPIX_APP_ID + MATHPIX_APP_KEY
  3. 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张以上纸张)。

代币预算管理:

  1. 噪声去除(参考文献、附录、致谢)——节省15-25%
  2. 切片(每种任务类型仅相关部分)——额外30-60%
  3. 每个工具的硬令牌上限(4K摘要,12K全文)
  4. 模式验证(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是可选的 --没有它,语义搜索会在每个查询上重新嵌入库。有了它,查询是即时的,但存储空间会增长。

关于名字

在希腊神话中, 阿里阿德涅 在忒修斯进入迷宫面对牛头怪之前,他给了他一个金线球。这根线让他在迷宫中追踪自己的路径,找到了回去的路。

文献综述本身就是一个迷宫——数百篇论文、错综复杂的引文网络、相互矛盾的发现和死胡同。阿里阿德涅是引导你穿过它的线索。


许可证

麻省理工学院