Sant’Anna 最近在一条 LinkedIn 动态中表示,他开始对 AI 在研究中的一些表现感到厌倦。此前,他积极使用这些工具,写过指南,也办过工作坊;但在分析数据时,他发现 AI 会筛选样本、重新定义变量、删除控制变量,甚至忘记使用权重。让他担心的是,这些变化需要仔细看过分析过程才容易发现,而使用者未必意识到结果已经受到了影响。
把同一份数据交给 AI,我们通常期待它更快完成计算。如果它同时改变了计算所用的条件,问题就变了:最后得到的结果,究竟来自数据中的关系,还是来自 AI 在分析途中作出的选择?两篇关于 AI 实证分析的研究,分别从先验立场和提示方式入手,观察了这些选择怎样影响结论。
数据相同,分析为什么会不同?
数据不会自动决定应该怎样分析。研究一项政策是否提高收入,需要决定收入用总额还是平均值、比较哪些人、观察多长时间,以及怎样处理没有收入记录的样本。每个选择都会进入程序,也会进入结果。告诉 AI 一个研究问题,往往还没有告诉它这些具体条件,于是它需要自行补充。
例如,要分析一项就业政策的效果,使用所有受访者的收入与只使用就业者的工资,回答的就不是同一个问题。政策可能帮助一些人找到工作,同时对已经就业者的工资影响很小。两种分析得到不同结果,并不奇怪。困难在于,如果 AI 在执行中从第一种分析转向第二种,却仍沿用同一个宽泛的“政策效果”解释,读者就容易以为它们可以直接比较。
模型的调整也有类似影响。加入控制变量后,某些观测可能因缺失值退出回归,系数变化便同时涉及模型和样本。这样的处理未必是错误,但它改变了比较的条件。只看到最后一张表,很难判断变化究竟来自哪里;一段流畅的解释,也不能把两个不同的分析变成同一个分析。
研究者能够选择测量、样本和模型,这种空间常被称为“研究者自由度”。AI 接手分析后,同样需要作出这些选择。于是,研究者的预期是否会影响 AI 选择哪条路径,就成为一个可以直接检验的问题。
换一种先验,结论也会跟着变吗?
Miao 等(2026)的预印本《The Agentic Garden of Forking Paths》让 AI 面对相同的数据与问题,只改变先验立场,并要求每次探索 100 个模型后选一个报告。在移民与福利支持等问题上,结论随立场分化;这种差异同时来自探索方向与最终挑选,许多报告仍通过重大方法错误审查。
这里值得思考的是,立场不必直接出现在最终文字里,也可能进入分析的选择。一个结果符合预期时,它可能被认为已经回答了问题;不符合预期时,则可能成为继续调整的理由。只要这种区别持续影响下一步尝试什么、最后报告什么,最终结论就可能越来越接近最初的期待。
这也解释了为什么一份看起来正常的报告,未必能说明整个过程没有偏向。读者可以检查某个模型的变量和估计方法,却未必知道其他方案曾经得到什么结果。最终程序能重新生成报告里的数字,但被放弃的结果可能已经不在其中。重现这个数字,与理解为什么选择这个数字,是两件需要分别讨论的事。
这项实验让风险具体化了,但不能据此认定所有研究任务都会迎合先验。尤其需要注意,它安排了连续探索与最终选择。AI 可以作出的分析决定越多,单看最后结果能告诉我们的事情就越有限。对于一个固定设定的回归任务,表现是否相同,还需要另外考察。
AI 会直接帮人做 p-hacking 吗?
Asher 等(2026)的工作论文《Do Claude Code and Codex P-Hack?》进行了 640 次分析。在所测任务中,Claude Code 与 Codex 的普通估计稳定,方向性预期影响较小,直接施压显著性也被拒绝;但把规格搜索包装成不确定性报告后,两者进行了系统性搜索,包括改变时间窗口、固定效应与标准误选项。
这个结果说明,提示怎样描述任务也很重要。表达一个待检验的假设,与要求找到最支持它的分析,不是同一种委托。前者允许数据提供反对证据;后者把想要的结论放进了任务目标。即使后者使用的是“探索”“替代模型”一类正常研究词汇,选择结果的依据也可能已经变成了显著性。
两篇研究考察的任务不同,却都让我们看到,AI 分析的影响可以发生在代码和计算之中。它未必需要凭空编造一个系数,也可能通过更换设定找到另一组真实计算出来的数值。因此,“确实运行了程序”只能回答计算是否发生,不能独自回答这个分析为什么值得采用。
每个选择都说得通,为什么仍可能有偏差?
设想研究者已经完成一个基础回归,接着请 AI 分析结果对不同条件是否敏感。AI 可以加入一组控制、换一个时间窗口,也可以分别分析不同群体。如果这些替代方案有依据,比较它们能够帮助理解结果。问题出现在比较之后:研究者最终看到了全部分歧,还是只看到了最符合期待的一组?
假如结果不显著时,AI 不断尝试新模型;出现显著结果后,它停止探索,把这一组写进报告。即使被保留的模型没有明显错误,这套工作也已经按结果作出了选择。报告中的读者看见了一次检验,实际发生的却是许多尝试之后的挑选。越容易尝试新方案,这种差别就越容易被最后一份简洁的报告隐藏。
p-hacking 所涉及的,正是利用分析灵活性寻找显著结果,并隐去相关搜索。它与正常探索的区别,不在于是否估计了多个模型,而在于结果怎样影响下一步选择,以及尝试是否被如实呈现。分析发现一个原设定的问题,依据研究理由修正,是推进研究;只因为某个选择让系数不显著就放弃它,则是在用结果决定选择。
对于 AI,这个问题还涉及研究者怎样回应中间结果。“再看看为什么没有效应”可以是合理追问,但若每次不符合期待都要求继续修改,符合期待就立即接受,也可能逐步把任务变成寻找支持。整个过程不一定出现一句明确的造结果指令,偏向却可以在连续反馈中积累。这是从两项实验得到的协作启发,不是它们直接检验过的所有人机对话情形。
AI 降低了分析成本,分歧也应该被看见
AI 可以让研究者更方便地尝试不同分析。过去需要逐个编程、整理和比较的模型,现在可以更快执行。这对理解数据有实际价值:一个结论在哪些样本上成立、依赖什么变量定义、换一种合理方法是否仍然成立,都能成为进一步讨论的材料。
但更多计算不会自动带来更充分的证据。如果十种分析中只有一种支持假设,把这一种写得更详细,并不会让其余九种消失。真正新增的信息,是这些结果之间的差异,以及差异与分析选择的关系。结果稳定,可以讨论它对不同条件的适应程度;结果不稳定,则需要重新考虑结论的范围。
因此,使用 AI 做实证研究时,值得关注的交付物应包括被比较的结果,而不仅是最终表格。主要设定可以在分析之前说清楚,后续探索则保留调整理由与相应输出。这样,研究者得到的是可以继续解释的分歧,而不是一份已经替自己挑好结论的报告。这也让 AI 的速度用于发现分析中的问题,而不只是更快找到想要的答案。
Sant’Anna 提到的样本、变量和权重,看似只是程序里的几处改动,实际上关系到一项研究回答了什么。AI 可以替我们执行很多计算,但计算条件的变化仍然有研究含义。同一份数据出现不同结论时,更值得问的是:哪些选择造成了差异,为什么作出这些选择,以及最终报告有没有把差异交代清楚。