mcpField
M
ml-paper-writing

ml-paper-writing

github.com/kalarislabs文档处理7770 次安装4 天前更新
代码仓库

关于 ml-paper-writing

ml-paper-writing 为研究人员和 Claude 提供面向主要机器学习与 AI 会议的论文撰写和修订指导。内容结合从研究仓库提取信息、会议要求、LaTeX 模板及程序化引文核验。

主要功能

  1. 01主要机器学习与 AI 会议写作指导
  2. 02研究仓库探索工作流
  3. 03逐章节起草与修订步骤
  4. 04LaTeX 模板和会议要求
  5. 05引文搜索与核验规则

适用场景

  1. 01将研究代码和结果整理成论文初稿
  2. 02根据科学家反馈修订各章节
  3. 03查找并核验相关工作引文
  4. 04将论文调整为另一会议的格式

MCP 相关

该技能建议使用 Exa MCP 实时搜索学术论文,并说明可通过 Semantic Scholar API 核验搜索结果、按 DOI 获取 BibTeX。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill ml-paper-writing

安装后在 Claude Code 中输入/ml-paper-writing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
checklists.md
citation-workflow.md
from-research-repo.md
issues-reviewers-figures.md
latex-templates-and-conversion.md
reviewer-guidelines.md
sources.md
writing-guide.md
writing-philosophy.md
templates/aaai2026/
aaai2026-unified-supp.tex
aaai2026-unified-template.tex
aaai2026.bib
aaai2026.bst
aaai2026.sty
README.md
templates/acl/
acl_latex.tex
acl_lualatex.tex
acl_natbib.bst
acl.sty
anthology.bib.txt
custom.bib
formatting.md
README.md
templates/colm2025/
colm2025_conference.bib
colm2025_conference.bst
colm2025_conference.sty
colm2025_conference.tex
fancyhdr.sty
math_commands.tex
natbib.sty

详细介绍

面向顶级 AI 会议的机器学习论文写作

为投稿 NeurIPS、ICML、ICLR、ACL、AAAI、COLM 撰写可直接发表的论文提供专家级指导。本技能融合了顶尖研究者(Nanda、Farquhar、Karpathy、Lipton、Steinhardt)的写作理念与实用工具:LaTeX 模板、引用验证 API 和会议检查清单。

对于系统领域会议(OSDI、NSDI、ASPLOS、SOSP),请使用 systems-paper-writing 技能。该技能提供段落级结构蓝图、写作模式、针对特定会议的检查清单,以及系统领域会议的 LaTeX 模板。

核心理念:协作写作

论文写作需要协作,但 Claude 应主动提供草稿。

典型工作流从一个包含代码、结果和实验材料的研究代码仓库开始。Claude 的职责是:

  1. 了解项目:浏览代码仓库、结果和现有文档
  2. 提交完整的初稿:对研究贡献有把握时,提供完整初稿
  3. 检索文献:使用网页搜索和 API 查找相关引用
  4. 根据反馈迭代完善:在科学家提供意见后进行修改
  5. 仅在确实无法确定关键决策时请求澄清

关键原则:主动推进。如果代码仓库和结果都很清楚,就提交完整初稿。不要因为每个章节都等待反馈而停滞——科学家很忙。先提供具体内容供他们审阅,再根据反馈迭代。


⚠️ 重要:绝不捏造引用

这是 AI 辅助学术写作中最重要的规则。

问题所在

AI 生成的引用有 约 40% 的错误率。捏造的参考文献——例如不存在的论文、错误的作者、错误的年份或伪造的 DOI——属于严重的学术不端行为,可能导致编辑拒稿或论文撤稿。

规则

绝不要凭记忆生成 BibTeX 条目。务必通过程序获取。

操作✅ 正确做法❌ 错误做法
添加引用搜索 API → 验证 → 获取 BibTeX凭记忆编写 BibTeX
不确定某篇论文标记为 [CITATION NEEDED]猜测参考文献
找不到确切的论文注明:“占位符——需验证”编造一篇听起来相似的论文
无法验证引用时

如果无法通过程序验证某条引用,必须:

% EXPLICIT PLACEHOLDER - requires human verification
\cite{PLACEHOLDER_author2024_verify_this}  % TODO: Verify this citation exists

务必告知科学家:“我已将 [X] 条引用标记为占位符,需进一步验证。我无法确认这些论文确实存在。”

推荐:安装 Exa MCP 以搜索论文

若要获得最佳的论文搜索体验,请安装 Exa MCP,它支持实时学术搜索:

Claude Code:

claude mcp add exa -- npx -y mcp-remote "https://mcp.exa.ai/mcp"

Cursor / VS Code(添加到 MCP 设置中):

{
  "mcpServers": {
    "exa": {
      "type": "http",
      "url": "https://mcp.exa.ai/mcp"
    }
  }
}

Exa MCP 支持如下搜索:

  • “查找 2023 年后发表的语言模型 RLHF 相关论文”
  • “搜索 Vaswani 撰写的 Transformer 架构论文”
  • “获取近期关于可解释性稀疏自编码器的研究”

然后使用 Semantic Scholar API 验证搜索结果,并通过 DOI 获取 BibTeX。


工作流 0:从研究代码仓库开始

当用户提供的是代码仓库(结果、配置、日志),而不是论文草稿时,请按照 references/from-research-repo.md 中的代码仓库探索工作流,在写作前提取研究贡献、结果和现有引用。

何时使用此技能

在以下情况下使用此技能:

  • 从研究代码仓库开始撰写论文
  • 起草或修改特定章节
  • 为相关工作查找并验证引用
  • 为会议投稿排版
  • 向不同会议重新投稿(格式转换)
  • 根据科学家的反馈迭代修改草稿

请始终牢记:初稿是讨论的起点,而非最终成果。

主动性与协作之间的平衡

默认做法:主动推进。先交付草稿,再迭代。

信心程度行动
高(仓库情况清晰,贡献显而易见)撰写完整草稿,交付后根据反馈迭代
中(存在一些模糊之处)撰写草稿并标出不确定之处,继续推进
低(存在重大未知因素)提出 1-2 个有针对性的问题,然后撰写草稿

先写草稿,再连同草稿一起提问(而不是事先提问):

部分自主撰写草稿随草稿标注
摘要是“将贡献概括为 X——如有需要,请调整”
引言是“着重强调了问题 Y——如有错误,请指正”
方法是“纳入了细节 A、B、C——请补充遗漏之处”
实验是“突出展示了结果 1、2、3——如有需要,请调整顺序”
相关工作是“引用了论文 X、Y、Z——请补充我遗漏的论文”

仅在以下情况暂停并请求输入:

  • 目标投稿 venue 不明确(会影响页数限制和论述角度)
  • 多种相互矛盾的论述角度看起来同样合理
  • 结果似乎不完整或不一致
  • 明确要求继续前先进行审阅

以下情况不要暂停:

  • 措辞选择
  • 章节顺序
  • 展示哪些具体结果(做出选择,并标注)
  • 引用是否完整(先根据已有信息撰写草稿,并注明缺漏)

叙事原则

最重要的核心见解:论文不是一组实验的集合,而是一个有明确贡献、并由证据支撑的故事。

每篇成功的 ML 论文都围绕 Neel Nanda 所说的“叙事”展开:一个简短、严谨、以证据为依据的技术故事,并得出读者关心的结论。

三大支柱(到引言结尾时必须清晰明确):

支柱描述示例
是什么在统一主题下提出 1-3 个具体的新颖主张“我们证明,在条件 Z 下,X 能实现 Y”
为什么支持这些主张的严谨实证证据强有力的基线、用于区分不同假设的实验
那又如何读者为何应该关注与社区公认问题的关联

如果你无法用一句话陈述自己的贡献,那你还没有真正写出一篇论文。


论文结构工作流

工作流 1:撰写完整论文(迭代)

复制此清单并跟踪进度。每个步骤都包括起草 → 反馈 → 修改:

Paper Writing Progress:
- [ ] Step 1: Define the one-sentence contribution (with scientist)
- [ ] Step 2: Draft Figure 1 → get feedback → revise
- [ ] Step 3: Draft abstract → get feedback → revise
- [ ] Step 4: Draft introduction → get feedback → revise
- [ ] Step 5: Draft methods → get feedback → revise
- [ ] Step 6: Draft experiments → get feedback → revise
- [ ] Step 7: Draft related work → get feedback → revise
- [ ] Step 8: Draft limitations → get feedback → revise
- [ ] Step 9: Complete paper checklist (required)
- [ ] Step 10: Final review cycle and submission

步骤 1:用一句话明确贡献

此步骤需要科学家明确确认。

动笔前,请清晰阐述并确认:

  • 论文的唯一贡献是什么?
  • 你的工作带来了哪些此前不明显或不存在的内容?

“我建议将贡献概括为:‘[一句话]’。这是否抓住了你认为最重要的要点?是否需要调整侧重点?”

步骤 2:绘制图 1

图 1 值得特别关注——许多读者会直接跳到这里。

  • 传达核心观点、方法或最有说服力的结果
  • 使用矢量图形(绘图请使用 PDF/EPS)
  • 编写脱离正文也能独立理解的图注
  • 确保黑白打印时仍清晰可读(8% 的男性有色觉缺陷)

步骤 3:撰写摘要(五句公式)

摘自 DeepMind 的 Sebastian Farquhar:

1. What you achieved: "We introduce...", "We prove...", "We demonstrate..."
2. Why this is hard and important
3. How you do it (with specialist keywords for discoverability)
4. What evidence you have
5. Your most remarkable number/result

删掉“大语言模型取得了巨大成功……”之类的泛泛开场白。

步骤 4:撰写引言(最多 1–1.5 页)

必须包括:

  • 2–4 条贡献列表(双栏格式下每条最多 1–2 行)
  • 清晰的问题陈述
  • 简要的方法概述
  • 方法部分最晚应从第 2–3 页开始

步骤 5:方法部分

确保他人能够复现:

  • 概念性概要或伪代码
  • 列出所有超参数
  • 提供足以复现的架构细节
  • 展示最终设计决策;消融实验放在实验部分

步骤 6:实验部分

对每项实验,明确说明:

  • 它支持什么主张
  • 它与主要贡献有何关联
  • 实验设置(细节见附录)
  • 应观察什么:“蓝线显示了 X,这证明了 Y”

要求:

  • 误差棒及其计算方法(标准差还是标准误)
  • 超参数搜索范围
  • 计算基础设施(GPU 类型、总时长)
  • 随机种子的设置方法

步骤 7:相关工作

按方法分类,而非逐篇介绍:

良好示例:“一类工作采用 Floogledoodle 的假设 [refs],而我们采用 Doobersnoddle 的假设,因为……”

不佳示例:“Snap 等人提出了 X,而 Crackle 等人提出了 Y。”

充分引用——审稿人很可能就是相关论文的作者。

步骤 8:局限性部分(必需)

所有主要会议都要求提供此部分。反直觉的是,坦诚有助于论文:

  • 审稿人收到的指示是,不应因坦诚承认局限性而扣分
  • 先指出弱点,以预先回应批评
  • 解释为何这些局限性不会削弱核心主张

步骤 9:论文清单

NeurIPS、ICML 和 ICLR 都要求提供论文清单。请参阅 references/checklists.md。


顶级机器学习会议的写作理念

references/writing-philosophy.md 介绍了句子层面的清晰度、用词、时间分配以及审稿人实际会阅读的内容。润色文字前请先阅读。

会议要求速查

ML/AI 会议
会议页数限制终稿额外页数关键要求
NeurIPS 20259 页+0必须填写清单,录用论文需提供通俗摘要
ICML 20268 页+1必须提供广泛影响声明
ICLR 20269 页+1必须披露 LLM 使用情况,需参与互惠评审
ACL 20258 页(长文)不定必须包含局限性章节
AAAI 20267 页+1严格遵循样式文件
COLM 20259 页+1聚焦语言模型

系统会议(OSDI、NSDI、ASPLOS、SOSP):页数限制、模板、截止日期和投稿规则,请参阅 systems-paper-writing 技能。

通用要求:

  • 双盲评审(投稿时需匿名)
  • 参考文献不计入页数限制
  • 附录页数不限,但评审者没有义务阅读
  • 所有投稿场合均需使用 LaTeX

**LaTeX 模板:**所有会议模板请参阅 templates/ 目录。


使用 LaTeX 模板及在不同投稿场合之间转换

从捆绑模板开始撰写论文(工作流 4)、编译、模板常见陷阱,以及被拒稿后转换投稿场合(工作流 3)的内容,详见 references/latex-templates-and-conversion.md。请始终从 templates/ 复制完整的模板目录,而不要凭记忆编写 LaTeX 导言区。

引用工作流(防止幻觉)

⚠️ 关键提示:AI 生成的引用错误率约为 40%。切勿凭记忆编写 BibTeX。

黄金法则
IF you cannot programmatically fetch a citation:
    → Mark it as [CITATION NEEDED] or [PLACEHOLDER - VERIFY]
    → Tell the scientist explicitly
    → NEVER invent a plausible-sounding reference
工作流 2:添加引用
Citation Verification (MANDATORY for every citation):
- [ ] Step 1: Search using Exa MCP or Semantic Scholar API
- [ ] Step 2: Verify paper exists in 2+ sources (Semantic Scholar + arXiv/CrossRef)
- [ ] Step 3: Retrieve BibTeX via DOI (programmatically, not from memory)
- [ ] Step 4: Verify the claim you're citing actually appears in the paper
- [ ] Step 5: Add verified BibTeX to bibliography
- [ ] Step 6: If ANY step fails → mark as placeholder, inform scientist

步骤 0:使用 Exa MCP 进行初步搜索(推荐)

如果已安装 Exa MCP,请使用它查找相关论文:

Search: "RLHF language model alignment 2023"
Search: "sparse autoencoders interpretability"
Search: "attention mechanism transformers Vaswani"

然后使用 Semantic Scholar 核实每条结果,并通过 DOI 获取 BibTeX。

步骤 1:搜索 Semantic Scholar

from semanticscholar import SemanticScholar

sch = SemanticScholar()
results = sch.search_paper("attention mechanism transformers", limit=5)
for paper in results:
    print(f"{paper.title} - {paper.paperId}")
    print(f"  DOI: {paper.externalIds.get('DOI', 'N/A')}")

步骤 2:核实论文是否存在

确认论文至少出现在两个来源中(Semantic Scholar + CrossRef/arXiv)。

步骤 3:通过 DOI 获取 BibTeX

import requests

def doi_to_bibtex(doi: str) -> str:
    """Get verified BibTeX from DOI via CrossRef."""
    response = requests.get(
        f"https://doi.org/{doi}",
        headers={"Accept": "application/x-bibtex"}
    )
    response.raise_for_status()
    return response.text

# Example
bibtex = doi_to_bibtex("10.48550/arXiv.1706.03762")
print(bibtex)

步骤 4:核实论述

若要为某个具体论述添加引用,请先查阅论文,确认其中确实包含所归属的论述。

步骤 5:明确处理失败情况

如果在任何步骤中都无法核实引用:

% Option 1: Explicit placeholder
\cite{PLACEHOLDER_smith2023_verify}  % TODO: Could not verify - scientist must confirm

% Option 2: Note in text
... as shown in prior work [CITATION NEEDED - could not verify Smith et al. 2023].

务必告知研究人员:

“我无法核实以下引用,因此已将它们标记为占位项:

  • Smith 等人,2023 年,关于奖励黑客——在 Semantic Scholar 中找不到
  • Jones,2022 年,关于缩放定律——找到了一篇类似论文,但作者不同 请在投稿前核实这些引用。”
总结:引用规则
情况操作
找到论文、获取 DOI 并取得 BibTeX✅ 使用该引用
找到论文,但没有 DOI✅ 使用 arXiv BibTeX,或根据论文手动录入
论文存在,但无法获取 BibTeX⚠️ 标记为占位项,并告知研究人员
不确定论文是否存在❌ 标记为 [CITATION NEEDED],并告知研究人员
“我记得有篇关于 X 的论文”❌ 切勿引用——先搜索,或标记为占位项

🚨 切勿凭记忆生成 BibTeX——务必通过程序获取。🚨

完整的 API 文档请参阅 references/citation-workflow.md。


故障排查、评审标准与图表

常见写作问题的故障排查、评审者评分标准,以及表格和图表规范,详见 references/issues-reviewers-figures.md。

参考资料与资源

参考文档(深入阅读)
文档内容
writing-guide.mdGopen 与 Swan 的 7 项原则、Ethan Perez 的微观技巧、用词选择
citation-workflow.md引用 API、Python 代码、BibTeX 管理
checklists.mdNeurIPS 16 项清单、ICML、ICLR、ACL 要求
reviewer-guidelines.md评估标准、评分、答辩回复
sources.md所有来源的完整参考书目
from-research-repo.md工作流 0:将代码仓库转化为论文
writing-philosophy.md时间分配、清晰度、用词选择、审稿人会读什么
latex-templates-and-conversion.md模板设置、编译、常见问题、会议格式转换
issues-reviewers-figures.md常见问题、审稿标准、表格和图
LaTeX 模板

templates/ 目录中的模板:

  • ML/AI:ICML 2026、ICLR 2026、NeurIPS 2025、ACL/EMNLP、AAAI 2026、COLM 2025
  • 系统(OSDI、NSDI、ASPLOS、SOSP):请参阅 systems-paper-writing 技能

编译为 PDF:

  • VS Code/Cursor:安装 LaTeX Workshop 扩展和 TeX Live → 保存文件即可自动编译
  • 命令行:latexmk -pdf main.tex,或使用 pdflatex + bibtex 工作流
  • 在线:上传至 Overleaf

详细设置说明请参阅 templates/README.md。

重要外部来源

写作理念:

API: Semantic Scholar | CrossRef | arXiv

ML/AI 会议: NeurIPS | ICML | ICLR | ACL

系统会议: 有关 OSDI、NSDI、ASPLOS、SOSP 的链接和指南,请参阅 systems-paper-writing 技能

相关技能

  • systems-paper-writing:为面向 OSDI、SOSP、ASPLOS、NSDI 和 EuroSys 的 10-12 页系统论文提供段落级结构蓝图。
  • rebuttal-and-response-to-reviewers:规划并撰写同行评审回复,包括修改后重投时的期刊“审稿意见回复”信函,以及会议答辩回复 un…
  • reproducibility-statement:准备论文中的可复现性、透明度和开放科学部分,包括数据与代码可用性声明、可复现性…

评论

支持 Markdown