1  从顶刊复现项目开始:实证研究的完整流程

本讲要点
  • 实证研究的基本链条:问题、数据、模型、结果、论文;
  • 复现项目的文件夹结构、README、主脚本和输出文件;
  • 原始数据、中间数据、分析样本、图表结果之间的关系;
  • 如何识别一个复现包的主程序、数据处理脚本和结果输出脚本;
  • 如何用 AI 辅助阅读 replication package,而不是让 AI 替代研究判断;
  • Lane (2025) 中政策行业、产业代码、工业面板、IO 表和贸易数据之间的映射关系;
  • 从复现文档中学习研究设计、数据处理和结果组织。
本讲配套材料
  • 本讲用到的 skillsskills/core/01-paper-context · skills/core/02-paper-strategy · core/03-replication-navigator · skills/core/06-repro-logger。skill 是什么、怎么安装、怎么在不同 agent(Claude Code / Codex / OpenCode) 里触发,见《AI 工作流与 skills 上手》。
  • 配套阅读笔记 (可在书内浏览,也可下载):借助 AI 对主案例 Lane (2025) 生成的四份角度笔记——整体介绍实证方法与识别复现材料导览迷你文献定位
  • 本讲为解读型章节,以提示词与 skills 调用为主,绝大多数任务在网页版 AI 助手里即可完成,不涉及自研 Stata/Python 代码。
想运行完整 Lane 复现包?请用 GitHub Desktop 克隆

Lane 的复现包含 Git LFS 管理的大型 .dta 文件。要在本地运行,请优先用 GitHub Desktop 克隆仓库,不要下载网页 ZIP;安装、克隆与更新步骤见课件使用说明GitHub Desktop 教程。若数据仍缺失,再按附录 C从 Dataverse 补齐。

1.1 实证研究的完整流程:先看清全局

在动手复现一篇顶刊之前,先花点时间看清:一项实证研究,到底是怎么一步步做出来的。有了这张全局图,你才明白后面复现顶刊,究竟在练什么。

1.1.1 研究问题从哪里来:现实观察与文献阅读

好的实证研究,往往不是从方法开始的,而是从一个真问题开始。问题意识通常来自两个地方:对现实的观察,和对文献的阅读。更重要的是,问题不是一次想好的,而是在不断了解制度和数据的过程中逐步长出来、逐步修正的。举两个例子 (有关这两个例子的详情,参见 连玉君,2026,因果推断与政策评估,chapter 01)。

例一:政府引导基金。 研究者最初可能只是拿到一份基金数据,自然的第一反应,是把它当成一种带政府背景的风险投资,去问:它是否促进了被投企业的创新、融资或成长?这条路能走,但未必抓住要害。等到进一步读地方政府的设立文件、管理办法和新闻报道,会发现它们反复强调本地优势产业、产业链补短板、供应链安全——于是问题可能升级为:政府引导基金是否推动了地方产业链协同与供应链韧性?同一份数据,问题却因为对政策理解的深入而变了。

图 1.1: 政府引导基金:研究问题如何形成

例二:韩国重化工业政策。 1970 年代,韩国政府在特定的安全与工业化背景下,集中扶持钢铁、造船、石化等六大产业。这段真实的历史,引出一个被经济学界争论了近半个世纪的问题:这种由政府定向扶持特定产业的产业政策,到底有没有用? 这,正是本讲主案例 Lane (2025) 要回答的问题。

图 1.2: Lane (2025):从政策背景到研究设计

可见,问题意识来自把现实和文献先读厚、再读薄:读厚,是把制度细节、数据口径、已有研究都了解清楚;读薄,是从中提炼出一个别人还没讲清、而你有办法回答的问题。

1.1.2 厘清问题之后:研究设计在做什么

有了问题,下一步是设计一个能回答它的比较。这一步要回答几个朴素但关键的问题:

  • 什么比?也就是,如果没有这项政策或冲击,本来会是什么样 (这叫反事实);
  • 受影响、没受影响,这条边界从哪里来;
  • 政策或冲击什么时候真正改变了对象面临的处境;
  • 研究对象怎么落到数据上——政策可能作用于产业,而你手上的数据是企业或地区。

这些判断,决定了后面用什么数据、构造什么变量、选什么方法。所以方法不是研究的起点,而是被问题和事实一步步逼出来的结果。 至于这些比较具体怎么做 (如何构造对照、如何估计),是本课程后面几讲要一步步学的内容,这里先不展开。

1.1.3 从数据到结果,再到论文:实证研究的基本链条

把上面这些串起来,一项实证研究无论多复杂,都可以还原成一条链:

研究问题 → 数据 → 模型 → 结果 → 论文

  • 问题:想回答什么。它决定了后面一切——要什么数据、比较谁和谁、看什么结果。
  • 数据:用什么材料回答。原始数据往往不能直接分析,要经过清洗、合并、构造,才变成能上模型的分析样本。
  • 模型:用什么方式从数据里「读出」答案。它不是凭空选的,而是被问题和数据结构逼出来的。
  • 结果:模型算出来的图和表。
  • 论文:把上面四者组织成一个别人能看懂、能检验的叙述。

这条链最重要的一点是:五个环节是一个整体。你平时纠结的那些局部问题 (变量要不要取对数、样本量为什么变了、这张表用的什么方法),其实都是这条链上的某一环。看懂了整条链,局部问题才有位置感。

1.1.4 研究设计是一门手艺:为什么从「临摹」顶刊入手

看清了这条链,一个自然的疑问是:既然如此,第一讲为什么不直接讲方法,而要去复现一篇论文?

因为研究设计是一门手艺,光靠听讲学不会,得靠临摹入门。学书法要先临帖,学画要先临摹——为的是在一笔一画里,体会整幅作品的谋篇布局。只把单个字、单个技术点练好 (取一次对数、算一次聚类标准误),是写不出一幅完整作品的,也做不出一篇完整研究。

复现一篇规范的顶刊论文,就是实证研究里最好的临摹。 它让你在一个真实、完整的作品里,一次性看全:问题怎么界定、研究怎么设计、数据怎么清洗、指标怎么选取、模型怎么设定、结果怎么解读、论文怎么组织。这些环节各自都有讲究,但只有放进一篇完整论文里,你才能看清它们如何彼此配合。

这,就是本讲从复现一篇顶刊开始的原因。接下来,我们请出主案例。

1.2 案例情境:请出主案例 Lane (2025)

上一节说到,复现一篇规范的顶刊论文,是快速看全实证研究各环节的最好方式。这一节就正式请出本讲的主案例,交代它是什么、我们打算怎么读它。

1.2.1 AI 让「读懂顶刊」的门槛降下来了

过去,读懂一篇顶刊的实证论文,往往要具备相当的方法基础,还要耐着性子啃完全文。现在,工作方式正在改变:你可以把论文和它的复现包交给 AI 与 agent,让它先帮你把背景、方法、数据、复现流程各自梳理一遍,你再带着具体问题去追问、去核对。这不是让 AI 替你做研究,而是让它把你从「不敢开始」的门口,快速领进门。

一个更具体的目标感受是:借助 AI,一个上午就能大致读懂三四篇顶刊,判断哪些值得精读、哪些方法可能迁移到自己的研究里。本讲的主案例,就用来把这个过程走一遍。

一条贯穿全讲的底线

AI 负责快速起草,你负责判断对错。研究问题、样本定义、变量构造、模型设定和结果解释,始终由研究者自己负责。后面每一个借助 AI 的环节,都会配一句:人工核对。这正是本课程反复强调的分工。

1.2.2 主案例:Lane (2025, QJE)

本讲的主案例是一篇产业政策领域的顶刊论文:

Lane, N. (2025). Manufacturing Revolutions: Industrial Policy and Industrialization in South Korea. The Quarterly Journal of Economics, 140(3), 1683–1741. Link (rep), PDF, Google, Replication.

它研究韩国 1973–1979 年的重化工业驱动 (Heavy and Chemical Industry Drive, HCI drive) 这项产业政策,是否真的促进了目标产业的发展。之所以选它做主案例,有三个原因:一是它的复现包组织得非常规范,官方来源是 Harvard Dataverse,课程期间的完整副本位于 examples/Lane_2025_QJE_paper_codes/,是学习「一个专业复现项目长什么样」的好范本;二是它同时用到 Stata 和 R、涉及多源数据,正好训练我们阅读多语言、多数据的复现材料;三是它的政策背景清楚、故事完整,适合初学者建立「从政策事实到研究设计」的整体认知。若克隆后数据不完整,按课程数据集说明从 Dataverse 下载并放回同一目录。

本讲怎么用这个案例

本讲把 Lane (2025) 定位为顶刊解读的演练场不逐表复现。目标不是把论文的每张表都跑出来,而是让零基础的你,借助 AI 与 skills,在较短时间内读懂它的研究背景、主要贡献和实证策略,并学会把这套读法迁移到自己关心的论文上。真正想动手复现的同学,可参考复现材料导览,再从课程仓库中的完整副本按其指引进行。

1.2.3 关键手法:把「读一篇论文」切成几个任务

初学者用 AI 读论文,最容易犯的错误,是一上来就把整篇 PDF 丢给 AI,让它写一份大而全的读书笔记。结果往往是:每个方面都浅尝辄止,篇幅很长却抓不住重点,你也无从判断它写得对不对。

本讲主张一种更有效的做法——任务切割:把「读一篇论文」拆成几个角度,每个角度让 AI 单独生成一份短笔记。我们对 Lane (2025) 就切了四刀,形成四份配套笔记:

角度 回答什么 配套笔记
整体介绍 研究背景、问题、思路、主要结论——最快了解全貌 整体介绍
实证方法与识别 用了什么方法、识别策略、怎么处理内生性 实证方法与识别
复现材料导览 复现包怎么组织、主程序在哪、数据分几层 复现材料导览
迷你文献定位 站在哪些文献之间、如何找到相关高水平文献 迷你文献定位

这四份笔记是本讲的核心成果,每一份都给出了生成它的提示词建议调用的 skill,你可以照着自己复现一遍。后面的小节会先讲清概念,再逐一演示怎么用 AI 把它们做出来。

1.3 概念讲解:一个复现项目的骨架

一个规范的复现项目,正是把上一节那条「问题 → 数据 → 模型 → 结果 → 论文」的链条,固化成了文件和脚本。这一节就来拆解它的骨架,方法是先讲人话、再给直觉、最后落到复现包的真实结构上。Lane 案例的逐项细节,放在复现材料导览 里,本节只讲通用的看法。

1.3.1 一个复现包长什么样:README、主脚本、输出

打开一个规范的复现包 (replication package),你通常会看到这样几类东西:

  • README:说明书。讲清楚这个包怎么组织、要什么软件、怎么一步步跑起来。读复现包,永远从 README 开始。
  • 主脚本 (入口):一个「驱动别人」的总程序。你运行的就是它,它再按顺序去调用一堆干具体活的子脚本。
  • 子脚本:分工干活的——有的做数据处理,有的跑回归,有的出图出表。
  • 数据目录与输出目录:前者放输入和中间数据,后者放最终生成的图表。

以 Lane (2025) 为例,整个复现由一个入口脚本 master.R 驱动,它会先跑 Stata 分析、再用 R 出图出表。目录的骨架大致是:

├─ master.R          ← 唯一入口,你运行的就是它
├─ config.yml        ← 配置:填你的 Stata 路径和版本
├─ README.md         ← 说明书,先读它
├─ code/             ← 全部脚本(Stata 分析 + R 出图出表)
├─ data/             ← 数据(分多层,见下)
└─ output/           ← 最终生成的图和表

看到一个陌生的复现包,先问自己四个问题——入口在哪、目录怎么分、数据分几层、能复现到什么程度。这四问的 Lane 版详细答案,见复现材料导览

1.3.2 原始数据、中间数据、分析样本、图表结果之间的关系

「数据」在复现包里不是一堆文件,而是一条流水线

原始数据 → 中间数据 → 分析样本 → 图表结果

  • 原始/输入数据:最初拿到的材料 (如手工数字化的普查、贸易数据、政策文书)。它往往不能直接分析。
  • 中间数据:清洗、合并、构造之后产生的过程性结果,通常由脚本运行时生成
  • 分析样本:真正喂给模型的那份数据——已经定好了样本范围、处理组对照组、核心变量。
  • 图表结果:模型跑出来、写进论文的图和表。

理解这条链有一个很实际的好处:你能看懂一个复现包为什么要这样分目录。比如 Lane 的包,把输入数据、运行时生成的中间数据、预先算好的结果、最终输出分别放在不同目录里;甚至专门预存了一部分依赖非公开数据的中间结果,好让你缺了原始微观数据也能把图画出来。这些安排不是多余的,正是「原始 → 中间 → 样本 → 结果」这条链在文件系统里的投影。

1.3.3 怎么识别主程序、数据处理脚本和结果输出脚本

面对几十上百个脚本文件,怎么快速分清谁是谁?有几个通用窍门:

  • 主程序:名字里常带 mastermainrun,或以 0_ 这类序号前缀开头;它的内容大多是「按顺序调用别的脚本」。
  • 数据处理脚本:读入原始数据、做清洗合并构造、写出中间数据;关键词常是 clean、build、prepare、merge。
  • 结果输出脚本:读分析样本、跑回归或画图、把图表写进 output;关键词常是 figure、table、analysis、regress。

一个可靠的判断法则是:被别人反复调用的,是干活的子脚本;调用别人的,是主程序。 顺着主程序一层层读下去,整个复现流程就展开了。在 Lane 案例里,这条线是 master.R → 0_master_run_analysis.do → 各 run_*_analysis.do →(R 出图出表脚本);哪个分析对应哪个脚本,作者在 README 里给了对照表——读代码前先看这张表,能省大量时间。

1.3.4 Lane 案例:政策产业如何映射到数据

Lane 研究的 HCI drive,集中扶持钢铁、有色金属、造船、机械、电子、石化六大战略产业。一项「政策」要变成可以分析的数据,中间有一条清晰的映射链:

政策法案 (点名的产业)→ 产业分类代码 (KSIC)→ 行业面板 / 贸易数据 / 投入产出表

图 1.3 概括了从政策背景一步步走向研究设计的思路:左侧是政策的历史背景与时间线,中间是目标产业与数据的映射,右侧是识别策略与结果变量。

图 1.3: Lane (2025):从政策背景到研究设计

这条链上的每一步,都对应复现包里的一类材料:

  • 政策文件告诉我们哪些产业是目标 (处理组)、政策何时启动 (时间);
  • 制造业普查面板用来看目标产业的产出、就业、生产率等结果;
  • UN COMTRADE 贸易数据用来看出口和比较优势;
  • 韩国银行投入产出表用来看政策对下游产业的溢出。

也就是说,同一项政策会进入多种数据,每种数据回答一个不同的问题。看懂这张映射图,你就明白 Lane 的复现包为什么会有那么多不同来源的数据文件——它们不是堆在一起的,而是各自对应研究设计里的一个环节。

想更深入政策背景与数据映射

本讲只讲到与「读懂复现项目」直接相关的程度。政策背景与数据映射的更完整讨论,可参阅连享会《因果推断》讲义:从政策背景到研究设计政策如何进入数据,以及 HCI 政策背景。这些属于进阶延伸,行有余力再看。

1.4 用 AI 做任务切割:把一篇顶刊拆成四份笔记

前面反复说过一句话:不要一上来就把整篇 PDF 丢给 AI 写一份大而全的笔记。这一节,我们就把「任务切割」真正做一遍,看看四份笔记是怎么一份份生出来的。

1.4.1 先破畏难:三分钟拿到第一份笔记

打开任意一个 AI 助手 (网页版 ChatGPT、Claude、Codex、OpenCode 都行),把 Lane (2025) 的 PDF 传上去,只问它一个角度——整体介绍。几分钟后,你就得到了一份讲清「研究背景、问题、思路、结论」的短笔记。这份笔记长什么样、用的什么提示词,见配套的整体介绍

就这么简单的一步,已经能帮你回答最要紧的问题:这篇文章和我的研究相关吗,值不值得往下读? 畏难情绪,往往就在这三分钟里破掉了。

1.4.2 四刀,切出四个角度

一份整体介绍还不够。把「读一篇论文」继续切开,我们对 Lane (2025) 一共切了四刀,每一刀都是一个独立、可核对的小任务:

  • 整体介绍:最快了解全貌,判断相关性。→ 整体介绍
  • 实证方法与识别:用了什么方法、凭什么可信、怎么处理内生性 (只讲是什么、为什么)。→ 实证方法与识别
  • 复现材料导览:复现包怎么组织、主程序在哪、数据分几层、能复现到什么程度。→ 复现材料导览
  • 迷你文献定位:它站在哪些文献之间,怎么找到相关的高水平文献。→ 迷你文献定位

四份笔记各回答一类问题,你可以按需取用:先看整体介绍判断相关,再看方法能否迁移,想动手复现就看复现导览,想顺藤摸瓜找文献就用文献定位。每份笔记的开头,都附了生成它的提示词建议调用的 skill,你完全可以照着自己跑一遍。

1.4.3 一条不能省的底线:AI 辅助,不是 AI 替代

任务切割让 AI 帮了大忙,但有一件事必须讲清楚——这些笔记是 AI 起草的初稿,不是定论。(对应大纲要点:用 AI 辅助阅读 replication package,而不是让 AI 替代研究判断。)

  • AI 可能读错:把相关说成因果、把稳健性检验当成主结果、把某个数字记串;
  • AI 可能编造:尤其在文献那一份笔记里,它可能列出看似合理、实则不存在的参考文献。

所以每一份笔记,都要你回到原文核对:结论对不对,看对应的图表编号;文献是真是假,用检索工具查实。研究判断——这篇文章好不好、方法能不能用在我的问题上——永远是你自己的事。 把这条守住,AI 才是帮手而不是坑。

1.5 AI 协作训练

契约边界

本节逐条覆盖大纲「AI 协作训练」清单,不删项、不缩范围。每条给一份可复制的提示词、标注对应的 core skill,并说明怎么人工核对。这些任务,网页版 AI 助手大多都能完成。

下面四项训练,都围绕 Lane (2025) 的复现包展开。课程期间,直接打开 examples/Lane_2025_QJE_paper_codes/replicationpackage/ 中的 README.md 和目录清单即可;官方来源仍是 Dataverse

1.5.1 训练 1:让 AI 根据 README 生成复现路线图

任务:把复现包的 README.md 交给 AI,让它给出一张「先跑什么、再跑什么」的路线图。

提示词

这是一篇顶刊论文复现包的 README.md(附文本)。请帮我生成一张复现路线图:按实际运行顺序,列出从入口脚本到最终图表的每一步,每步标明运行哪个脚本、读什么数据、产出什么。只依据 README,不确定的地方标出来让我核对。

对应 skillcore/03-replication-navigator人工核对:对照 README 里的脚本清单,检查路线图有没有漏掉或杜撰脚本名;不放心就翻到复现材料导览 对一遍。

1.5.2 训练 2:让 AI 解释文件夹结构和主程序调用关系

任务:让 AI 讲清楚各目录分别装什么、主程序怎样一层层调用子脚本。

提示词

这是该复现包的目录清单 (附)。请帮我:(a) 用一句话说明每个主要目录 (如 code/data/output/) 装的是什么;(b) 画出主程序的调用关系——谁调用谁,从入口一直到出图出表。只依据我给的目录和 README,不要编造文件。

对应 skillcore/03-replication-navigator人工核对:用「被反复调用的是子脚本、调用别人的是主程序」这条法则,抽查一两个它给出的调用关系对不对。

1.5.3 训练 3:让 AI 读一段代码,说明它在复现流程中的位置

任务:挑复现包里的一段代码 (Stata 或 R 都行),让 AI 说明它在整个流程里干什么、对应论文的哪张图表。这一项也顺便兑现大纲「R 作为补充」的要求——我们不学 R 语法,只借 AI 读懂 R 代码在流程中的角色

提示词

这是该复现包里的一段代码 (附,语言为 Stata 或 R)。请说明:(a) 它大致在做什么;(b) 它读入什么、产出什么;(c) 它对应论文里的哪张图或哪张表、处在复现流程的哪一步。不用教我语法,只讲它在整个复现流程里的位置。不确定就标出来。

对应 skillcore/03-replication-navigator人工核对:对照 README 的「脚本—论文内容」对照表,确认 AI 说的图表编号对得上;方法名词若超出你目前掌握,记下来即可,后面几讲会学到。

1.5.4 训练 4:让 AI 总结「从数据到结果」的复现日志

任务:跑通 (或读通) 一部分复现后,让 AI 帮你把「从哪份数据、经过哪些步骤、得到哪个结果」整理成一份复现日志。

提示词

我正在复现这篇论文。以下是我跑过的脚本、用到的数据和得到的产出 (附)。请帮我整理成一份「从数据到结果」的复现日志:按步骤记录输入数据 → 处理脚本 → 产出 (中间数据/图/表),并标出哪些步骤因为缺数据或缺许可跑不了。只依据我提供的信息,不要补全我没给的内容。

对应 skillcore/06-repro-logger人工核对:检查日志里每一步的输入输出是否和你实际跑的一致,跑不了的步骤有没有如实标注——一份诚实的复现日志,比一份漂亮但注水的更有价值。

1.6 小结与练习

本讲从「一项实证研究是怎么做出来的」讲起,用书法临摹作比,说明复现一篇规范的顶刊论文,是全面掌握问题界定、研究设计、数据处理、结果解读各环节的最好方式。随后以 Lane (2025) 为例,我们看清了一个复现包的骨架 (README、主程序、数据四层、脚本分工),并用「任务切割 + AI 协作」的方法,把读懂一篇顶刊拆成了四个可核对的小任务。(对应大纲要点:从复现文档中学习研究设计、数据处理和结果组织。)

一句话带走:AI 让你更快地读懂顶刊,但读得对不对、用不用得上,始终由你判断。

1.6.1 练习

练习 1(手工判断)

下面是某复现包的部分文件名,请判断哪个最可能是主程序、哪些是数据处理脚本、哪些是结果输出脚本,并说明理由:0_master_run_analysis.dobuild_industry_panel.doFigure2.Rmerge_trade_data.doTable1.R

  • 主程序0_master_run_analysis.do——0_ 前缀加 masterrun,典型的总驱动脚本,内容多为按序调用别人。
  • 数据处理脚本build_industry_panel.do(build,构造面板)、merge_trade_data.do(merge,合并数据)——读原始数据、写中间数据。
  • 结果输出脚本Figure2.RTable1.R——直接对应论文的图 2 和表 1,读分析样本、出图出表。
练习 2(概念)

用你自己的话,说清楚原始数据、中间数据、分析样本、图表结果四者的关系;并解释为什么 Lane 的复现包要专门预存一部分「非公开数据的中间结果」。

四者是一条流水线:原始数据经清洗、合并、构造成为中间数据,再定好样本范围与核心变量成为分析样本,最后由模型产出图表结果。预存「非公开数据的中间结果」,是为了让没有微观数据访问权限的人,也能把依赖这些数据的图表复现出来——这是复现包「分级透明」的一种做法。

练习 3(交给 agent 并审计)

任选一篇你自己研究领域的论文 (最好带复现包),用本讲「训练 1」的提示词,让 AI 生成一张复现路线图;然后回到 README 核对,找出 AI 的路线图里至少一处不准确或存疑的地方,并说明你是怎么发现的。

本题没有标准答案,重点在「审计」这一步。合格的回答应能指出 AI 的具体错处 (如杜撰了一个不存在的脚本、把运行顺序排错、漏掉一个数据处理步骤),并说明核对依据 (README 的脚本清单、目录实际文件、脚本对照表)。能稳定地发现并纠正 AI 的错误,正是本讲要练的能力。

1.7 延伸阅读

  • 进阶观摩:一位博士生的多角度精读成品。 一位连享会助教用多个 agent 对本文生成了一整套精读笔记 (framing / summary / methods / derivation / replication 五个角度,外加逐行代码注释和一份 agent 协作工作流),可作为「用 AI 读顶刊能到什么程度」的参照——完整内容见这份进阶参照页(不在正式目录中,从此处跳转浏览)。其中方法与推导部分含较多计量方程,属进阶内容,初级班点到为止;那份多 agent 工作流属高级可选,不要求复刻。我们课上做的,是它的简化版。
  • 扩展案例:Akcigit et al. (2022)《Taxation and Innovation in the Twentieth Century》(QJE)。 作为课后扩展案例,可用本讲的任务切割法自行解读;完整引文见阅读清单
  • 方法进阶留待高级班。 本讲只帮你读懂 Lane 用了哪些方法、为什么用;这些方法 (动态 DID、双重稳健、三重差分,以及更前沿的现代 DID 估计量) 本身怎么做,属于进阶内容,可参考连享会关于现代 DID 的整理,并留待高级班系统学习。
  • 政策背景延伸见前面「概念讲解」末尾给出的《因果推断》讲义链接。