关于 paper2code
paper2code 是一套将 arXiv 论文转化为代码项目的分阶段技能,面向复现论文方法的研究者与开发者。它包含论文解析、贡献识别、歧义审查、代码生成和配套 Notebook,并提供 minimal、full、educational 模式及多种框架选项。
主要功能
- 01获取并解析 arXiv 论文
- 02识别核心贡献并审查实现歧义
- 03按论文内容生成代码项目
- 04生成带可运行检查的讲解 Notebook
- 05支持 minimal、full、educational 模式
适用场景
- 01从 arXiv 论文搭建方法实现
- 02梳理论文未明确规定的实现细节
- 03为论文代码生成配套演练 Notebook
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ prathamlearnstocode/ paper2code --skill paper2code安装后在 Claude Code 中输入/paper2code确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
guardrails/badly_written_papers.mdhallucination_prevention.mdscope_enforcement.mdknowledge/loss_functions.mdpaper_to_code_mistakes.mdtraining_recipes.mdtransformer_components.mdpipeline/01_paper_acquisition.md02_contribution_identification.md03_ambiguity_audit.md04_code_generation.md05_walkthrough_notebook.mdscaffolds/config_template.yamldata_template.pyevaluate_template.pyloss_template.pymodel_template.pyreadme_template.mdreproduction_notes_template.mdtrain_template.pyscripts/extract_structure.pyfetch_paper.pyworked/attention_is_all_you_need/README.mdREPRODUCTION_NOTES.mdrequirements.txtreview.mdworked/attention_is_all_you_need/configs/base.yamlworked/attention_is_all_you_need/notebooks/walkthrough.ipynbworked/attention_is_all_you_need/src/data.pyevaluate.py详细介绍
paper2code — 编排
你正在执行 paper2code 技能。本文件规定了高级流程。每个阶段都会调用 pipeline/ 中的详细推理协议。不要跳过阶段。不要合并阶段。请按顺序执行。
解析参数
从用户输入中提取:
ARXIV_ID:arxiv 论文 ID(例如2106.09685)。去掉任何 URL 前缀。MODE:minimal(默认)、full、educational三者之一。FRAMEWORK:pytorch(默认)、jax、numpy三者之一。
如果用户提供了完整 URL,例如 https://arxiv.org/abs/2106.09685,则提取 ID 2106.09685。
如果用户提供了带版本号的 ID,例如 2106.09685v2,则保留版本号。
设置工作目录
创建临时工作目录:.paper2code_work/{ARXIV_ID}/
中间产物存放在此目录中。最终输出存放在当前目录下的 {paper_slug}/ 中。
安装依赖项
通过 Bash 运行:
pip install pymupdf4llm pdfplumber requests pyyaml
执行流水线
阶段 1 — 论文获取与解析
阅读并遵循:pipeline/01_paper_acquisition.md
运行辅助脚本来获取和解析论文:
python skills/paper2code/scripts/fetch_paper.py {ARXIV_ID} .paper2code_work/{ARXIV_ID}/
然后运行结构提取:
python skills/paper2code/scripts/extract_structure.py .paper2code_work/{ARXIV_ID}/paper_text.md .paper2code_work/{ARXIV_ID}/
继续之前,确认输出文件存在。如果提取失败,请遵循 pipeline/01_paper_acquisition.md 中的回退协议。
该脚本还会搜索官方代码仓库(在论文正文和 arxiv 页面中),并将找到的链接保存到 paper_metadata.json 的 official_code 键下。依赖这些链接前,请先验证它们——参见 pipeline/01_paper_acquisition.md 中的步骤 8。
阶段 2 — 贡献识别
阅读并遵循:pipeline/02_contribution_identification.md
阅读解析后的论文各章节。识别唯一的核心贡献。判定论文类型。撰写贡献说明。将其保存到 .paper2code_work/{ARXIV_ID}/contribution.md。
阶段 3 — 歧义审查
阅读并遵循:pipeline/03_ambiguity_audit.md
阅读本阶段前,还要阅读:guardrails/hallucination_prevention.md
逐一检查所有与实现相关的细节。将每项归类为 SPECIFIED、PARTIALLY_SPECIFIED 或 UNSPECIFIED。将审查结果保存到 .paper2code_work/{ARXIV_ID}/ambiguity_audit.md。
阶段 4 — 代码生成
阅读并遵循:pipeline/04_code_generation.md
编写代码前,请阅读:
guardrails/scope_enforcement.md— 确定哪些内容属于实现范围,哪些不属于guardrails/badly_written_papers.md— 适用于表述含糊或前后不一致的论文knowledge/中与论文领域相关的知识文件scaffolds/中用于确定预期文件结构的脚手架模板
根据论文标题确定 paper_slug(小写、使用下划线、不含特殊字符)。
在当前工作目录下的 {paper_slug}/ 中生成所有文件。
阶段 5 — 演练笔记本
阅读并遵循:pipeline/05_walkthrough_notebook.md
生成演练笔记本,将论文各章节与代码联系起来,并包含可运行的合理性检查。保存到 {paper_slug}/notebooks/walkthrough.ipynb。
清理
成功完成后,删除 .paper2code_work/ 目录。
最终输出
打印摘要:
✓ paper2code complete for: {paper_title}
Output directory: {paper_slug}/
Files generated: {list of files}
Unspecified choices: {count} (see REPRODUCTION_NOTES.md)
Mode: {MODE} | Framework: {FRAMEWORK}
模式专属行为
- minimal(默认):仅实现核心贡献。只有当贡献涉及训练时才编写训练循环。除 Dataset 骨架外,不包含数据流水线。
- full:实现核心贡献,并包含完整训练循环、数据流水线和评估流水线。代码更多,但引用要求不变。
- educational:与 minimal 相同,但添加额外的行内注释来解释 ML 概念,扩展演练笔记本并加入理论章节,同时提供逐节讲解论文的
PAPER_GUIDE.md。
防护规则 — 始终生效
这些规则适用于所有阶段。如果你还没有阅读,请先阅读:
guardrails/hallucination_prevention.md— 此技能中最重要的文件guardrails/scope_enforcement.md— 要实现和跳过的内容guardrails/badly_written_papers.md— 论文表述不清时的处理方法
知识库 — 按需查阅
在实现以下任何组件之前,请阅读相应的知识文件:
- Transformer 层、注意力、位置编码 →
knowledge/transformer_components.md - 优化器、学习率调度、批次大小语义 →
knowledge/training_recipes.md - 交叉熵、对比损失、扩散损失、ELBO →
knowledge/loss_functions.md - 特定框架的陷阱、符号不一致 →
knowledge/paper_to_code_mistakes.md