「芝研」AI 论文复现:AEA 官方下场,论⽂审稿流程正在被重写

最近和一个期刊的 editor 聊天,他说 AEA 的 data editor 昨天刚开源了一个东西,叫 replication-template。
本着没事也凑个热闹,我跑去 GitHub 上看了一眼,进到 GitHub 一看,就看到了 CLAUDE.md 和两个配套 SKILL。
这个顶级经济学期刊的 data editor 办公室,把 AI 写进了自己的工作流,还开源了。
最近我构建的一个桌面科研智能体正在想办法从上万篇论文复现包中进行学习如何整理复现包,那正好借着这件事聊聊 AI 根据论文整理复现包。
论文的可复现性与学术造假
论文的可复现性在自然科学里面是长期被讨论的,如果一篇文章不能够成功通过实验进行复现,在自科里大概率会被认为是学术造假。
而社会科学的特点是研究对象是人,很难通过做重复实验来验证某个结论,并且社科的实验动辄百万,ROI 肯定是算不过来的,像是一些发展经济学的实验,要常年在非洲待着,这就更难了。
做发展经济学的还有一个笑话,一个中国留学生拿到了 Stanford 的 Offer,在抵达后的第二天被告知要去中国西北做调研,原地回家了属于是。(题外话)
但社科研究也不是完全不可复现的,只要是一样的数据,一样的代码,没有随机数存在的话跑出来的结果大抵是相同的。
AEA 呢从 2019 年开始要求,带实证、模拟或实验的论文,接收前得交出能让别人复现结果的数据、代码和说明。
这条政策叫 Data and Code Availability Policy,覆盖 AER 和 AEA 旗下所有期刊。
数据编辑团队是真的会下载你的代码跑,逐个核对论文里的数字和表格,然后写复现报告。不过关就改,改完再审,循环到合格为止。从 2019 年到现在,一直这么干。
很多人以为复现包就是把代码打包传上去。
其实 AEA 要求很细,README 要写清每个文件干嘛、数据哪来的、运行顺序、预期输出;数据可用性声明要说明哪些公开哪些受限、怎么获取;代码得能在合理时间和资源内跑通。缺一样都可能被打回。
我自己投过 AER Insight,那投过 AER 的朋友都知道这个过程是多痛苦。
论文过了审稿人以为没事了,结果复现报告一来,全是细节:路径写死了、依赖版本没标、某个中间文件忘了放、表格数字和代码输出对不上。单个看都不大,凑一起够你返工好几轮。
更可怕的是他们会让你把 python 包的版本号写死,你用的是 numpy 那你就要说你用的具体是哪个版本,数据还要经过学术伦理审查,这个过程别提多痛苦了。
AEA 的 data editor
执行这条政策的是 Lars Vilhuber,AEA 首任数据编辑,康奈尔 ILR 的研究教授。他在康奈尔还主持 Labor Dynamics Institute,做劳动经济学数据和计算方法研究的。
让一个既懂经济学又懂数据基础设施的人干这个,AEA 选人挺准。
他的复现实验室从 2019 年 9 月跑到现在,一年处理约 400 篇。
差不多每个工作日都有一篇复现包在被审。
带计算成分的投稿都要过这条流水线,编辑偶尔抽查这种事在这不存在。
Lars 在学术界挺活跃的。
除了 AEA 数据编辑,还参与搞了经济学界通用的 DCAS 标准(Data and Code Availability Standard),后来很多期刊都采纳了。
他也经常在会议上讲复现性,观点很直接:复现是研究本身的一部分,论文附属品这个说法他不认。
他自己也在推开源,你看他的 GitHub 绿墙就知道他的工作量有多大了。
AEA 数据编辑办公室的工具和模板很多都放 GitHub 上,包括这次的 replication-template。把审查流程公开这件事,在学术出版圈里不多见,大部分期刊的复现审查都是黑盒。
AI 进入复现流程
replication-template 这个模板本身不稀奇,里面内置的 AI 协作层才是重点。一份 CLAUDE.md 写了 AI 做代码审查的规则和提示词,.claude/skills 下还有两个技能。

第一个 aea-replication-run,负责跑作者的复现包,检查代码能不能跑、论文数字对不对得上,把发现写进 REPLICATION.md。设计得挺细:先找主程序文件,优先跑作者自己的入口;再查有没有受限数据要单独处理;然后在容器化的 Stata 里跑代码。
第二个 aea-report-finalize,把各环节的审查结论汇总、打标签,起草给作者的报告。从跑代码到出报告,这两个技能覆盖了完整流程。
我翻了下 CLAUDE.md,里面的规则写得非常具体:怎么处理容器运行、怎么判断一次运行是真结束还是被杀掉、怎么区分内存不足和代码问题。细到什么程度呢,就是一个真正在一线做复现审查的人,把自己每天踩的坑都写进去了。
AEA 数据编辑办公室没自己造 AI 工具,直接用 Claude Code + Skill 的方式把审查流程固化成模板。在他们看来,AI 已经能嵌入正式的学术出版流程了,还在实验阶段这个说法站不住。
这套 AI 流程怎么跑
模板里写的流程分得很细。
先找主程序文件,优先跑作者自己的入口。
很多复现包目录结构乱,AI 随便挑一个文件跑,很可能跑的不是作者 intended 的流程。
模板要求先看 README 里指定的主程序,找不到再自己判断,误判少很多。
然后查受限数据。
经济学里很多数据不能公开,普查数据、行政记录、企业机密数据这些,但复现审查又得用。
模板要求 AI 识别哪些受限、要单独接线,别直接报错说找不到数据。
接着在容器化的 Stata 里跑代码。(说到这个 Stata 容器,Stata-MCP 最初的 Docker Image 就是基于他们的容器构建的)
细节很多:容器怎么配、Stata 许可证怎么处理、依赖怎么装、日志怎么记。
模板里连怎么判断一次运行是真结束还是被杀掉、怎么区分内存不足和代码问题都写了。
这些坑,真跑过复现包的人才懂。
代码跑通离复现成功还差得远。
AI 得把论文逐表核对,数字对不上的地方要记录。
这才是复现审查的核心,代码能跑只是最低要求,跑出来的数字和论文里对得上才算数。
模板要求每个表格每个数字都核对,对不上的写清哪个表、哪个数字、差多少。
最后把发现写进报告、分类标注。必须改的(数字对不上)、建议改的(文档不清楚)、可以忽略的小问题,都要分开。
作者拿到报告才知道哪些必须动、哪些可以商量。
AI 干的是把复现这件重复又磨人的活儿做得更可复现。最终结论还是人定,AI 把执行层的工作标准化了而已。
写在最后
投稿前你也能用同一套工具自己先跑一遍。
以前复现包是黑盒,不知道编辑怎么审,只能等被打回来再改。
现在官方把流程和技能都开源了,先跑一遍,数字对不上的、依赖缺的、路径写死的,提前清掉。
用法不复杂,直接和你的 Agent 说用 AEADataEditor/replication-template 来跑一下 aea-replication-run 就行。
它按 AEA 数据编辑的标准跑代码、逐表核对,然后告诉你哪有问题。
相当于投稿前先让 AI 做次模拟审查。
我自己的体会是,复现包被打回大多是细节问题,大的方法问题反而少。
路径写死、中间文件忘放、依赖版本没标、表格数字差一点点。
单个看都不大,凑一起够返工好几轮。
投稿前自己跑一遍,这些细节提前清掉,后面返工少很多。
把不确定性前置,总比等编辑报告出来再返工来得安心。
用官方标准自查,也比自己凭感觉检查靠谱,知道编辑看什么、怎么审,就知道该补什么。
当然这个模板目前主要服务 AEA 数据编辑内部,普通作者用起来可能还要点配置和学习成本。
不过复现审查从黑盒变白盒,作者能提前知道标准、提前自查,怎么看都是好事。
我自己也在做科研工具,对这件事感受可能比一般研究者深。
AI 进学术出版流程是迟早的事,但我没想到来得这么快、这么正式。
AEA 数据编辑办公室直接把 AI 写进日常工作流,这个速度说实话有点超出我预期。
以后看一篇经济学论文能不能顺利走完投稿,除了审稿意见,也多看看复现包。
复现包的质量,现在能在投稿前提前验证了。