开源仓库going-doer/Paper2Code4,795 Stars

Paper2Code

把机器学习论文自动转为复现计划、代码文件和评估报告

适合需要复现机器学习论文结果的研究者和工程师。输入论文 PDF 或 LaTeX 源文件,工具先生成复现计划与系统架构,再逐文件生成代码、运行脚本和调试修补,最后用模型评估生成仓库的复现正确性。

bo老师判断:值得观察

方向值得关注,建议先确认当前任务是否真正需要它。

...互动状态已更新

什么时候用

先判断任务是否合适

  • 拿到一篇机器学习论文后需要快速搭建复现代码骨架
  • 想验证论文方法是否可以在不手工阅读全部细节的情况下被代码化
  • 需要对比论文声称结果与模型生成代码的运行结果
  • 论文复现工作量很大,需要先获得结构化的任务列表和依赖配置

先准备什么

材料越清楚,结果越有用

  • 论文 PDF 文件或 LaTeX 源文件
  • OpenAI API 密钥或可访问的 vLLM 服务
  • 目标输出目录和 Python 运行环境
  • 论文中的公式、图表和算法描述

它会怎样推进

从材料到可以检查的结果

  1. 01

    论文材料清洗

    将 PDF 转为 JSON 并清洗,或直接读取 LaTeX 正文,提取结构化论文内容

  2. 02

    生成复现计划

    从论文内容生成复现计划、系统架构设计、文件级任务列表和依赖配置 YAML

  3. 03

    逐文件逻辑分析

    按任务列表顺序分析每个文件的输入输出、数据结构、算法步骤和模块间依赖

  4. 04

    逐文件代码生成

    根据分析结果生成代码文件,已完成文件作为后续文件的上下文

  5. 05

    运行调试与评估

    生成运行脚本并尝试执行,根据错误修补代码,最后用模型评估复现正确性

第一次这样开始

把仓库地址直接交给 AI

先让 AI 说明环境和风险,再完成最小安装验证。跑通以后,再把自己的真实材料放进去。

第一次直接复制

帮我安装这个库:https://github.com/going-doer/Paper2Code
安装前先告诉我需要什么环境,安装后帮我跑通一个最小示例。

结果出来后

先看这些检查点

  • 生成的任务列表是否能稳定覆盖论文的关键实验
  • 配置 YAML 中的依赖是否与实际生成代码一致
  • 逐文件生成是否保持正确的 import 依赖顺序
  • 模型评估给出的分数和理由是否能对应到具体代码行

常见误区

这些判断仍由你负责

  • 把生成的代码当作可直接运行的最终产物——模型可能忽略论文中未明确描述的细节或超参数
  • 跳过计划审查直接执行——如果复现计划遗漏了关键模块,后续代码链条会整体偏离
  • 依赖模型评估来判断复现正确性——生成代码和论文结果之间的差异仍需人工对照原文验证

技术依据

查看能力拆解、验证范围与来源

能力地图6 项已拆解能力
  1. 01

    复现计划与任务设计生成

    把论文内容转成一组面向代码复现的计划对象:总体复现计划、系统架构设计、文件任务拆分和配置 YAML。这个能力是 PaperCoder 后续分析和代码生成的中心合同。

  2. 02

    模型评估裁决与评分汇总

    把论文、生成仓库代码和可选 gold 仓库代码输入评估模型,要求模型按核心方法正确性给出 critique list 和 1 到 5 分,多次采样后汇总平均分和有效输出数量。

  3. 03

    论文材料清洗与双输入摄取

    把论文材料摄取为 PaperCoder 后续可消费的输入对象。仓库支持 PDF 转 JSON 后清洗,也支持直接读取已清理的 LaTeX 文本,运行脚本用环境变量和参数把输入路径传给 planning、analysis 和 coding 阶段。

  4. 04

    运行脚本生成与调试修补

    在代码文件落盘后,为生成仓库补一个可运行脚本,并在执行出错后把错误日志、生成代码和配置交给模型,由模型输出 SEARCH/REPLACE 补丁,再由脚本应用到目标文件。

能力主要输入主要输出人工检查

复现计划与任务设计生成

源码已核对

  • JSON 或 LaTeX 论文内容。
  • papername、gptversion 或 modelname。
  • outputdir 作为计划响应和轨迹保存位置。
  • planningresponse.json
  • planningtrajectories.json
  • 可被 1.1extractconfig.py、2analyzing.py、3coding.py 读取的计划上下文。
  • 需要人工判断计划是否覆盖论文核心方法、数据、训练和评价。
  • 需要人工决定 OpenAI 或 vLLM 路径。
  • 高成本模型调用前需要确认预算和 API key。

模型评估裁决与评分汇总

源码已核对

  • 论文 JSON。
  • 目标仓库目录。
  • 可选 gold 仓库目录。
  • results/<papereval<evaltype<model<time.json
  • 控制台评估摘要。
  • outputdir/costinfo.log 中的成本记录。
  • 需要人工决定 ref-free 或 ref-based。
  • 需要人工确认 gold repo 是否是合格参照。
  • 需要人工审查 critique list 中的位置和严重性。

论文材料清洗与双输入摄取

源码已核对

  • S2ORC 风格的论文 JSON,例如 examples/Transformer.json。
  • 已清洗 JSON,例如 examples/Transformercleaned.json。
  • 已清洗 LaTeX 文件,例如 examples/Transformercleaned.tex。
  • cleaned JSON 文件。
  • LaTeX 文本输入分支。
  • 传给 planning、analysis 和 coding 阶段的论文材料对象。
  • 用户需要确认使用 JSON 路径、LaTeX 路径或外部 PDF 转换路径。
  • 自有论文进入前需要确认版权、解析质量和是否允许发送给模型服务。
  • 若清洗删除字段影响复现,应人工保留或补充字段。

运行脚本生成与调试修补

源码已核对

  • 已生成的输出仓库。
  • planningconfig.yaml 和输出仓库中的 config.yaml。
  • task list 中的 Python 文件。
  • outputrepodir/reproduce.sh
  • 被修补的 Python 文件。
  • 备份文件 <path.<savenum.bak
  • 需要人工提供错误日志。
  • 需要人工检查模型补丁是否安全。
  • 需要人工运行 reproduce.sh 和相关测试。

逐文件代码生成与仓库落盘

源码已核对

  • 论文 JSON 或 LaTeX 文本。
  • planningconfig.yaml。
  • planningtrajectories.json。
  • outputrepodir 下的代码文件。
  • codingartifacts/<filecoding.txt
  • 更新后的 accumulatedcost.json
  • 需要人工检查 task list 是否安全且路径合理。
  • 需要人工运行生成仓库测试。
  • 需要人工判断代码是否忠于论文方法。

逐文件逻辑分析生成

源码已核对

  • 论文 JSON 或 LaTeX 文本。
  • planningconfig.yaml。
  • planningtrajectories.json 中前三个 assistant 输出。
  • analyzingartifacts/<filesimpleanalysis.txt
  • <filesimpleanalysisresponse.json
  • <filesimpleanalysistrajectories.json
  • 需要人工确认 task list 是否合理。
  • 需要人工检查每个 analysis 是否引用正确论文细节和配置。
  • 若 output 解析失败,需要人工修复 planning 输出或提供 tasklist.json。

处理机制

  1. 01

    三阶段轨迹与产物目录链

    Paper2Code 的多张能力卡共享同一条产物链:输入论文先进入 planning,planning 产出 trajectories、config 和 task list,analysis 按 task list 生成逐文件分析,coding 再按相同顺序写入输出仓库,eval 和 debug 继续复用同一组文件。这个机制卡说明这些对象如何跨阶段传递。

已核对范围

  • 静态确认 OpenAI 和 vLLM planning 脚本的四轮消息链
  • 静态确认 plan、architecture design、task list 和 config YAML 的输出顺序
  • 静态确认 ref-free 和 ref-based 两种评估 prompt
  • 静态确认 eval 脚本读取论文、目标仓库、可选 gold 仓库并汇总 1 到 5 分
  • 静态确认 JSON 清洗脚本、LaTeX 输入分支和四个运行脚本的入口参数
  • 静态确认示例 JSON 结构和 cleaned JSON 的字段变化
  • 静态确认 reproduce.sh 生成脚本读取生成仓库代码和配置
  • 静态确认 debug 脚本按 SEARCH/REPLACE block 应用模型修补

仍待核对

  • 未调用 OpenAI 或 vLLM 生成真实计划
  • 未检查输出 JSON 是否总能被解析
  • 未验证计划能否覆盖任意机器学习论文的关键实验
  • 未调用评估模型
  • 未验证评分稳定性
  • 未验证无有效模型输出时的失败处理
  • 未运行 s2orc-doc2json 或 Grobid 服务
  • 未用真实 PDF 生成新的 JSON

读取版本

ba9169978043d5799c8d4f4a0963e6b66a24c2e1

许可

Apache-2.0

最近核对

内容 2026-06-16
Stars 2026-07-11

已完成源码核对

科研之我见

AI 科研全流程怎么搭,我梳理出三个核心入口

每天开工先固定阶段入口、材料入口和验证入口,把庞大的科研全流程收缩成一段可执行、可检查的任务。

查看内容

科研之我见

AI 可以参与科研的哪些环节?一张 11 环节工作流全景图

从选题、文献、理论、数据到投稿,逐环节判断 AI 可以主导、需要人工校验和必须由研究者把关的工作。

查看内容

文献 · 验证

paper-qa

从本地论文和文档中检索证据并生成带精确引用的科研答案

查看内容

文献 · 分析 · 写作

grobid

把学术论文PDF解析成结构化TEI XML,提取元数据、全文结构和参考文献

查看内容

设计 · 分析 · 验证

CausalPy

用贝叶斯方法做准实验因果推断,含10+方法和稳健性诊断套件

查看内容

相关课程

把单项工具放进完整研究设计流程

课程一从研究问题、文献判断、理论假设和方法骨架继续推进,帮助你建立可以复用的研究设计档案。

查看课程一