关于 IRP
IRP 是供编码 Agent 和研究人员重建计算研究论文的 MCP 服务及命令行工具。它运行实现,并根据可验证的哈希链证据日志生成逐项主张报告;所有操作在本地执行,且不调用模型。
主要功能
- 01论文导入与章节提取
- 02主张和方法跟踪
- 03本地及 Docker 环境
- 04记录命令运行和指标
- 05基于证据给出主张判定
- 06哈希链报告验证
适用场景
- 01根据计算论文重建代码
- 02将测量结果与论文主张比较
- 03追踪方程对应的实现代码行
- 04核查复现报告的证据
MCP 相关
IRP 将支持 MCP 的编码 Agent 连接到论文导入、环境、运行、测量和判定工具。安装程序可配置 Claude Code、Codex 和 Cursor;其他 MCP 客户端可手动注册。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
17收录的工具列表 · 更新于 6 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| paper | string | 是 | arXiv ID 或 URL(例如 '2501.12345' 或 '2501.12345v2')、直接 PDF URL,或指向 PDF、LaTeX 源目录或 .tar.gz/.zip 源文件包的本地路径。 |
| study | string | 是 | 研究目录的绝对路径。fetch_paper 会创建该目录;其他所有工具都会读取并追加到其中的证据日志。 |
| parser | enum | 否 | 未使用 LaTeX 时采用的 PDF 文本解析器。'auto' 会在已安装 Docling 时使用它,否则使用 pypdf。auto | pypdf | docling |
| prefer | enum | 否 | 存在 LaTeX 源文件时优先读取(公式更精确),否则读取 PDF。latex | pdf |
| with_pdf | boolean | 否 | 同时下载 PDF,以便 get_page_image 显示图、表和公式。 |
详细介绍
English · 简体中文 · 日本語 · 한국어 · Español · Italiano
IRP:复现任意论文,验证每项声明。
一个 MCP 服务和命令行工具,让你的编码 Agent 将研究论文转化为可运行的代码、运行代码,并逐项验证结果与论文的接近程度。
给它一篇论文,就能得到可运行的代码和一份无需信任 Agent 也能核查的报告。
快速开始 · IRP 的工作原理 · 报告 · 可复现的内容 · 常见问题 · 文档
uvx irp-agents setup
重要
请从 Noshadi-sec/irp 或 PyPI 上的 irp-agents 软件包获取 IRP。请通过这些官方来源访问安装和发布链接。仓库名称相似或 README 被复制,并不能证明下载来源官方。
找到一篇没有代码,或者代码不可信的论文?让你的 Agent 使用 IRP 复现它。Agent 阅读论文,记录它声称的每个数字,编写实现、运行代码并比较结果。IRP 负责获取论文、运行代码和记录过程,并拒绝走捷径:手动输入的数字不算数,缩短的运行不算数,报告也只能根据证据日志编写。
IRP 将你的 Agent(Claude Code、Codex 或 Cursor)连接到用于论文导入、环境、运行、测量和判定的工具。你也可以在终端使用相同的工具。所有操作都在本地运行;IRP 从不调用模型,数据只会发送到你指定的位置。
快速开始
配置 Agent
安装 uv 后,运行:
uvx irp-agents setup
选择要配置的 Agent,检查拟议的更改并批准。设置过程会添加 IRP 的 MCP 服务及其工作流技能,并备份现有配置。之后重启 Agent。
设置支持 Claude Code、Codex 和 Cursor。其他 MCP 客户端可以使用手动注册。
向 Agent 提出要求
Build arXiv 2501.12345 and check Table 2.
你将获得一个包含可运行代码的文件夹和一份报告,其中列出每项声明、论文中的数值、你的数值以及判定结果。
使用终端
每个工具也都有对应的命令。将论文获取到一个新研究项目中,并查看其大纲:
irp fetch 2501.12345 --study ~/studies/example
irp section index --study ~/studies/example
如需安装 irp 命令以便日常使用:
uv tool install irp-agents
irp --help
完整的终端工作流请参见 CLI 指南。
检查就绪状态
irp doctor
Doctor 会检查 Python、uv、git、Docker、GPU、磁盘空间以及 Agent 注册情况,不会进行任何更改。
更新 IRP
IRP 更新频繁。对于已安装的命令:
irp update
如果使用 uvx,请运行 uvx irp-agents@latest setup 刷新 Agent 设置,检查计划并重启 Agent。
IRP 的工作方式
Agent 思考,IRP 执行操作并保留凭据。Agent 阅读论文、编写代码并决定运行什么。每项操作都经过同一个核心,因此 CLI 和 MCP 服务的行为一致,而且每个步骤都会写入仅追加、经哈希链连接的证据日志。报告完全根据该日志生成。
| 阶段 | 工具 | 功能 |
|---|---|---|
| 采集 | fetch_paper | 下载 arXiv LaTeX 源文件或 PDF,为其计算哈希,并将其拆分为各个章节 |
| 采集 | get_section、get_page_image | 返回某一章节的文本(含文件名和行号),或返回某一页的图像以查看公式和图表 |
| 声明 | add_claim、list_claims | 记录每项声明:指标、数值、出现位置以及成功标准 |
| 计划 | add_guess | 记录缺失的细节、所做的选择及原因 |
| 计划 | map_method | 将公式或算法步骤关联到文件及行号 |
| 构建 | create_env | 创建 uv 环境或 Docker 镜像,并写入锁定文件 |
| 运行 | run、run_status | 运行一条命令;保存输出、退出代码、耗时、内存、随机种子、提交版本和文件 |
| 运行 | run_remote | 在付费 GPU 提供商上执行相同操作,但须先估算费用并获得批准 |
| 测量 | extract_metrics | 从日志和结果文件中提取数值,并记录文件名和行号 |
| 判定 | compare、add_note | 并列展示声明和测量结果,并给出四种判定之一 |
| 报告 | report、verify、study_status | 根据日志生成 report.md 和 report.json;重新检查哈希链 |
工作流技能为 Agent 设定了六条硬性规则,工具也会在可行范围内强制执行这些规则:
- 绝不手动输入、估算或复制任何数值作为结果。
- 绝不更改论文的方法来让运行成功;遇到这种情况应记录猜测。
- 如果无法运行,应报告“无法运行”及阻塞错误,而不是强行继续。
- 首先运行最小但忠实于原文的版本;缩短运行不计入结果。
- 编写任何代码之前,先记录所有声明。
- 任何付费计算都必须先征求同意。
报告
报告就是交付成果:任何人都必须能够在不信任 Agent 的情况下核查每项判定。报告包含五个部分:声明表、四种判定(已复现、接近复现、未复现、无法运行)、猜测列表、将公式映射到代码行的方法映射,以及来源信息(arXiv ID 和版本、文件哈希、git 提交版本、锁定文件、GPU、随机种子、每条命令及其退出代码,以及用于重新检查哈希链的 verify 命令)。
每项声明都有证据支持的判定后,Agent 才能完成任务。
report.md 示例(数字为虚构):
# Reproduction report: Example Paper (arXiv 2501.12345v2)
Result: 2 reproduced, 1 close, 1 could not run (of 4 claims)
| Claim | Where | Paper | Ours | Verdict |
| --- | --- | --- | --- | --- |
| c1 Test accuracy | Table 2, row 3 | 94.1% | 93.8% (3 seeds, std 0.2) | close |
| c2 Training loss | Figure 4 | 0.31 | 0.31 (3 seeds) | reproduced |
| c3 Speed-up | Section 5.2 | 2.0x | 2.1x | reproduced |
| c4 ImageNet top-1 | Table 3 | 81.2% | not run: needs 8 GPUs for 2 days | could not run |
## Guesses
- g1 Warmup length not stated: used 5 epochs. Why: as in cited paper [12].
## Method map
- Eq. 3 (loss) -> code/src/loss.py:41
- Algorithm 1, line 4 -> code/src/train.py:88
## Provenance
- Paper: arXiv 2501.12345v2, source and PDF hashes
- Code: git commit 3f2a9c1 (clean)
- Commands logged: 37, 37 with an exit code
- Evidence log: 112 records, head sha256:…, verified
- Verify: `irp verify --study ~/studies/example`
每个字段的说明请参阅证据和报告。
你可以复现什么
IRP 要求在 macOS 或 Linux 上使用 Python 3.11+。具体所需的其他工具取决于论文:
| 需求 | IRP 使用的工具 | 要求和指南 |
|---|---|---|
| 论文采集 | 优先使用 arXiv LaTeX 源文件,PDF 作为备用;数学公式和图表使用页面图像 | 可访问 arXiv 网络;论文采集 |
| 更好的 PDF 结构 | 使用 Docling 处理文本和表格 | 可选的 irp-agents[docling];论文采集 |
| 环境 | 使用带锁定文件的 uv 虚拟环境,或使用 Docker 镜像进行隔离 | uv 或 Docker;环境 |
| 计算 | 使用你的 CPU 或 GPU;估算费用并获得批准后,可使用 Modal GPU 沙盒(实验性) | 可选的 irp-agents[modal];计算 |
| Agent | Claude Code、Codex、Cursor;也可手动使用任何 MCP 客户端 | 安装 |
IRP 支持计算类论文,包括机器学习、算法和模拟。不支持湿实验室工作或任何与武器相关的内容。
基准测试
五篇轻量论文——均有官方代码,每篇都能在 CPU 上几分钟内运行完——仅依据论文重建,并逐条核查其声明。每个数字都来自经过验证的证据日志;使用 irp verify --study benchmarks/studies/<name> 重新核查任意研究。
| 论文 | 声明数 | 结果 |
|---|---|---|
| Fashion-MNIST (1708.07747) | 3 | 1 项复现,1 项接近,1 项未复现 |
| KMNIST (1812.01718) | 2 | 两项均已复现 |
| MNIST-1D (2011.14439) | 1 | 已复现 |
| fastText (1607.01759) | 1 | 已复现(92.86% vs 92.5%) |
| QMNIST (1905.10498) | 1 | 已复现(2.95% vs 2.95%) |
在 8 项声明中:6 项已复现,1 项接近,1 项未复现(87.5% 已复现或接近);每篇论文约耗时 160s,付费计算成本为 $0。筛选标准和完整列表见 benchmarks/golden/papers.json;协议和 summarize.py 位于 benchmarks/。
如果你使用 IRP 重建论文,欢迎在 问题 中分享报告,并附上论文、你的问题以及发现。
常见问题
哪些 Agent 可以使用 IRP?
任何支持本地 MCP 服务的 Agent 都可以使用。设置过程会配置 Claude Code、Codex 和 Cursor;其他客户端可以使用手动注册。
IRP 会调用 AI 模型或上传我的论文吗?
不会。你的 Agent 才是核心;IRP 从不调用模型,也不需要 API 密钥。 它会从 arXiv 下载论文,通过 uv 或 Docker 安装软件包,并在你的计算机上运行代码。你的 Agent 会收到工具结果,而其模型提供商有自己的数据政策。
运行论文代码安全吗?
运行代码就是运行代码。uv 虚拟环境并非沙盒:代码会以你的权限运行。对于你未编写或不信任的代码,请使用 create_env 和 backend: "docker";运行时只会挂载该研究的代码目录。参见安全。
“未复现”是什么意思?
这表示本次运行使用记录的尝试参数,未能在规定的标准范围内达到论文报告的数值。报告会写明“本次运行未复现”,并列出每次尝试的参数。这是关于一次尝试的证据,并非对论文的定论;发布之前请联系作者。
论文有官方代码。我应该使用 IRP 吗?
IRP 会根据论文补全缺失的代码。如果要检查现有代码能否复现其 README 中的数值,paper-repro 之类的工具更合适。IRP 仍可用于测试论文:先隐藏其代码,完成重建后再与原代码比较。
IRP 会产生费用吗?
只有在付费 GPU 服务提供商上才会产生费用;而且必须先在终端通过 irp budget 记录价格和预算,并在批准 Agent 显示的估算费用后才会运行。运行时限等于估算时长。
遇到错误时该怎么办?
请先更新;较新的版本可能已经修复问题(运行 irp update,或 uvx irp-agents@latest setup)。如果问题仍然存在,请提交问题,并附上 IRP 版本、irp doctor --json 的输出、复现步骤和错误信息。
- 安装和设置:Agent 注册、更新和卸载。
- CLI:所有命令、输出和退出状态。
- MCP 合约和Agent 提示词:工具结果、错误和生成的工具目录。
- 证据和报告:日志、门槛和验证。
- 论文接收、环境和计算。
- 基准测试:如何衡量 IRP。
- 路线图:从 v0.1 到 v1.0 及其间的各道门槛。
通过 SECURITY.md 报告漏洞。
免责声明
请参阅 DISCLAIMER.md 了解负责任使用指南。IRP 用于合法研究、教育以及对已发表计算工作的验证。“未复现”的判定是关于一次运行的证据,并非对论文或其作者的评价。
贡献
欢迎贡献。提交问题 以报告错误或建议功能,或 提交拉取请求。
请参阅 CONTRIBUTING.md 了解开发环境设置和检查, 参阅测试了解验证流程,并参阅 架构图了解项目结构。
许可证
由 IRP 编写的代码采用 MIT 许可证。第三方材料保留其 各自的许可证和声明;请参阅第三方声明。 论文和数据集保留其作者的许可证;IRP 不会重新分发 这些内容。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。