因果
休谟的叉子
两千多年来,“因果”这个词几乎不需要解释。
亚里士多德把因果分成四种——质料因、形式因、动力因、目的因。一座雕像的质料因是大理石,形式因是它的形状,动力因是雕刻家的凿子,目的因是为了纪念某人。四因说不只是一种分类法,它背后的假设是:因果关系是世界的客观结构,人类可以认识它、分类它、确知它。
这个假设统治了西方思想近两千年。直到一个苏格兰人在台球桌前坐下来。
台球桌上的革命
休谟让你做一个思想实验。
想象你第一次看到一个台球撞击另一个台球。第一个球滚过来,碰到第二个球,第二个球动了。
现在,忘掉你此前所有关于台球的经验。仅凭这一次观察,你能推断出”撞击导致运动”吗?
休谟说:不能。
你看到了两个事件的先后相继——球 A 运动,接触,球 B 运动。但你在事件之间看到了什么?什么也没有。你没有看到一股”力量”从 A 传递到 B。你没有看到”导致”这个关系本身。你看到的是:A 先动,B 后动。仅此而已。
那如果你看了一百次呢?一千次呢?
每多看一次,你对”A 撞 B,B 就会动”的信心增加了。但你增加的不是对某种隐藏机制的观察——你增加的只是对一种经验规律的统计信心。你观察到的仍然是恒常连结(constant conjunction):这类事件总是一前一后出现。
你从未观察到”因果”本身。
三条路全部堵死
休谟不是随口说说。他逐一排除了因果推理的所有理性来源。
先验推理?不行。 结果与原因是不同的事件。仅凭检查原因的观念,你推不出结果是什么。一个从未见过火的人,不可能仅凭观察火焰推断它会灼伤。亚当即使拥有最完美的理性能力,在第一次看到水之前,也不可能知道水会淹死人。原因的观念里不包含结果。
经验推理?循环。 你想用过去的经验来论证”未来也会如此”。但这个论证本身需要一个前提:未来将与过去相似——哲学家管这叫齐一性原则(Uniformity Principle)。
问题是:这个原则本身怎么证明?
用演绎?不行——“未来将与过去不同”不构成逻辑矛盾,太阳明天不升起是完全可想象的。用经验?还是不行——“过去的经验表明未来总是与过去相似”这个论证本身就在使用齐一性原则,你拿你要证明的东西来证明它自己。
这是一个正宗的恶性循环。
直接观察必然联系?不可能。 我们在两个事件之间从未观察到任何”联系”。台球碰撞:你看到运动 A,看到接触,看到运动 B。你在哪里看到了”必然”?你的意志控制手臂:你想举手,手就举起来了。但你知道从”想”到”举”中间发生了什么吗?你对这个过程的内部机制一无所知——你感受到的仍然只是”想了”然后”动了”,一前一后,仅此而已。
当我们环顾外部世界,考虑因果的运作时,我们在任何单一事例中都无法发现任何力量或必然联系,无法发现任何将结果与原因联结起来、使一者成为另一者不可避免结果的性质。我们只是发现一者事实上跟随另一者。
三条路全部堵死。先验推理不够,经验推理循环,直接观察看不到。
那我们凭什么做因果推理?
到这里,一个自然的问题出现了:如果因果推理没有理性基础,那人类为什么如此擅长因果推理?我们每天做出无数因果判断——踩刹车减速,打伞挡雨,吃药治病——而且大多数时候这些判断是对的。如果它没有理性基础,它凭什么可靠?
休谟的回答出乎意料:可靠,但不是因为理性。
驱动因果推理的不是理性论证,而是习惯(custom/habit)。
当你反复经历”A 类事件之后出现 B 类事件”的恒常连结后,习惯使你形成一种倾向——再遇到 A 时,你自动期望 B。你不需要做任何推理,不需要援引任何原则。你的心灵被经验训练出了一种模式:看到原因,期望结果。
而那个我们以为存在于事物之间的”必然联系”?它其实是这个习惯性联想过程中的一种内在感受——休谟管它叫”心灵的决定感”(felt determination of the mind)。我们意识到自己被习惯驱使,从一个联想对象不可抗拒地转向另一个,然后把这种主观体验投射到了外部世界。
必然联系在我们之中,不在事物之中。
这不是在否定因果推理的价值——它极其有用,而且大多数时候可靠。但它的基础是习惯,不是理性确证。这件事的颠覆性在于:我们最可靠的知识来源,本身没有理性基础。
三百年前的 distribution shift
休谟的因果性分析引出了一个更深层的问题,后来被称为”归纳问题”(problem of induction)——它的影响远远超出了哲学。
归纳问题的核心很简单:从”过去一直如此”到”未来也将如此”的推理,没有逻辑上的保证。
你见过一万只白天鹅,能推出”所有天鹅都是白的”吗?不能。第一万零一只可能是黑的——而且历史上确实如此(欧洲人到达澳大利亚后发现了黑天鹅)。
你观察到某种药物在临床试验中有效一千次,能保证第一千零一次也有效吗?不能。你在用过去的统计规律预测未来——而这个预测本身依赖于”未来将与过去相似”的假设,而这个假设无法被证明。
20 世纪末,Wolpert 和 Macready 证明了”No Free Lunch 定理”:在所有可能的数据分布上平均,任何学习算法的表现不比随机猜测好。换句话说,没有一种算法在”所有可能的未来”上优于其他算法——优越性只在特定分布上成立。
这是休谟归纳问题第一角(演绎论证无法建立齐一性原则)的精确数学化身。它不是说学习没用——它是说学习的有效性依赖于你对数据分布的假设,而这些假设本身无法从数据中推出。
归纳问题看起来像一个纯哲学问题。但如果你把它翻译成工程语言,它说的是:任何从数据中学习的系统——包括你正在使用的那个——都面临同样的困境。 现代泛化理论(PAC learning、VC 维)确实给出了保证:在同分布的新数据上,模型大概率表现不会差太多。但这个保证是有条件的——它假设测试数据与训练数据来自同一分布。而”未来的数据分布与过去相同”这个假设本身,正是齐一性原则的数学版本。泛化理论不是逃出了休谟的困境——它是把困境精确化了:保证是真实的,但保证的前提本身不可证明。
用机器学习的术语说:distribution shift 不是一个 bug,它是归纳推理的结构性边界。泛化理论在边界之内给你可靠的保证;边界之外——当世界变了——保证失效,而你无法提前知道边界在哪里。
三百年前的苏格兰哲学家,描述了一个你今天每次部署模型时都在面对的问题。
亚里士多德给了世界一个因果分类体系——整齐、自信、以为可以穷尽因果的所有面向。休谟把这份自信拆掉了。他没有否定因果推理的实用性,但他证明了一件事:我们对因果关系的全部”知识”,建立在经验重复形成的习惯之上,而不是建立在对因果机制的直接把握之上。
恒常连结。习惯。心灵的决定感。这就是我们的全部家底。
那么问题来了。如果连人类——拥有物理身体、能直接与世界交互、能动手做实验的人类——都只能依赖恒常连结来做因果推理,那一个完全从文本中学习的系统呢?它从来没有推过台球,从来没有淋过雨,从来没有在湿滑的路面上踩过刹车。它对因果关系的全部”理解”,来自人类用文字记录因果关系时产生的统计副产品。
它的处境比休谟描述的还要极端。
延伸阅读
- David Hume, An Enquiry Concerning Human Understanding, Section VII — 休谟论因果性的原始文本,比《人性论》更精炼也更成熟。如果你只读一篇原典,读这一篇。
- Judea Pearl & Dana Mackenzie, The Book of Why (2018), Chapter 1 — Pearl 用”因果之梯”重新框定了休谟问题,是从哲学跨入现代因果推断的最佳入口。
概念与实体
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
相关性的海洋
休谟证明了一件令人不安的事:即使是人类——拥有物理身体、能亲手推台球、能用实验干预世界的人类——也从未直接观察到因果关系本身。我们依赖的是恒常连结和习惯。
那么,一个完全从文本中学习的系统呢?
Next-token prediction:学习的是什么?
大语言模型的训练目标可以用一句话概括:给定一段文本的前文,预测下一个 token 的概率分布。
这个目标函数简洁到近乎优美。但它学到的是什么?
当模型在训练数据中反复遇到”下雨”之后出现”路滑”,“路滑”之后出现”事故”,它学到的是这些 token 序列的统计共现模式。“下雨”这个 token(或 token 序列)之后,“路滑”的概率高于”天晴”。这是一个关于文本分布的统计事实,不是一个关于物理世界的因果判断。
用休谟的语言来重新描述:next-token prediction 学到的是 token 层面的恒常连结。
“下雨”之后高概率出现”路滑”——因为训练数据中这两个概念经常一前一后出现。模型从这种恒常连结中形成了一种倾向:遇到”下雨”就期望”路滑”。如果我们允许对一个统计模型使用休谟的词,这种倾向就是”习惯”。
这跟休谟描述的人类因果推理有惊人的结构相似性。人类从事件的恒常连结中形成习惯性期望,并将这种期望误认为对因果必然性的把握。LLM 从 token 共现中学习统计规律,并以因果叙事的形式输出这些规律。
区别在于层级。人类至少还有一条通道——你可以动手做实验,主动干预世界,观察结果。你可以自己推那个台球。LLM 没有这条通道。它的全部经验来自文本。它从来没有淋过雨,从来没有在湿滑的路面上踩过刹车。它对因果关系的全部”理解”,来自人类用文字记录因果关系时产生的统计副产品。
恒常连结的惊人力量
但这里有一个需要诚实面对的事实:统计共现的力量远超直觉。
在自然语言中,因果关系和统计相关性高度重叠。如果两件事经常一起出现在人类书写的文本中,它们之间很可能确实存在某种因果关联——因为人类倾向于在描述有意义的关系时把相关事物放在一起。
这就是为什么一个”只是”学习统计共现的模型,能够生成如此像因果推理的输出。它不需要理解因果机制——它只需要学到人类表达因果关系时使用的语言模式。而由于人类在绝大多数时候表达的因果关系是正确的,模型输出的”因果叙事”在大多数时候也是正确的。
这不是巧合,也不是奇迹。这是统计共现在高质量数据上的自然结果。恒常连结不是一个弱信号——在人类精心组织的文本中,它是一个非常强的信号。
信号失真的地方
但”大多数时候”不是”总是”。而且失真的地方不是随机的——它有结构。
公鸡问题。 公鸡在日出前打鸣。如果你从数据中只能学到相关性,公鸡打鸣和太阳升起之间的恒常连结足以让你推断”公鸡打鸣导致太阳升起”。当然没有人真的相信这个。但把场景换成不那么直觉的领域——某个 API 指标在服务崩溃前总是升高——“相关”和”导致”之间的区分就没那么容易了。
Simpson 悖论。 一种药物在男性和女性中分别测试都有效,但合并数据后看起来无效。或者反过来。这不是数据错误——这是因为你没有控制混杂变量。纯粹基于相关性的推理在这类场景下会系统性地给出错误答案。
Collider 结构。 两个独立的原因共同影响一个结果。当你按结果分组后,两个原本独立的原因之间会出现虚假的相关性。这是因果推理中最经典的陷阱之一。
想象一个招聘场景。进入终面的候选人要么技术特别强,要么沟通特别强(或两者兼具)。如果你只看进入终面的候选人的数据,你会发现技术能力和沟通能力之间存在负相关——技术强的人沟通似乎差,沟通强的人技术似乎差。
但这不是真的。在全部候选人中,这两种能力可能完全独立。负相关是”进入终面”这个 collider 变量的选择效应创造出来的。
这不是假设性的风险。当 LLM 面对 collider 结构时,它们系统性地给出错误答案——具体的基准测试证据,下一篇会展开。
这些不是边缘案例。它们是相关性推理的结构性盲区——是统计共现无论多么精确都无法覆盖的区域。不是因为数据不够多,而是因为相关性这种信号本身的分辨率就不够。
不站队,看机制
关于”LLM 到底有没有因果推理能力”,学术界有一场正在进行的认真辩论。
有研究发现 LLM 在某些因果推理基准上表现不错。也有研究指出这些表现可能来自训练数据中因果知识的记忆,而非真正的因果推理——当面对训练数据截止日期之后的新因果结构时,表现显著下降。2025 年的一项初步研究尝试用结构因果模型测量 LLM 内部推理过程的因果结构,发现标准 LLM 的推理步骤中只有少部分符合理想的因果结构。
这场辩论远未结束,它的结论对我们的工程实践有重要含义。但在它结束之前,有一件事可以从机制层面确定:预训练阶段的目标函数——next-token prediction——不区分”因为 A 所以 B”和”A 和 B 经常一起出现”。后续的训练阶段(RLHF、RLVR)引入了额外的信号——人类偏好、推理正确性——这些信号可能隐式编码了某种因果结构。前面提到的研究也确实发现 RLVR 训练能缩小与理想因果结构的差距。但即使如此,差距仍然显著,而且你没有机制性的理由判断它在你关心的具体场景中是否已经够小。
从工程角度看,这意味着:你面前的系统在因果可靠性上不能被默认信任。它可能做对了很多因果推理——预训练学到了统计共现中的因果信号,后训练可能进一步强化了这种信号——但你缺乏一种可靠的方式来判断它在你关心的那个具体场景中,做的是因果推理还是模式匹配。
海洋的边界
相关性的海洋广阔而有用。
大多数日常任务不需要严格的因果推理。“帮我写封邮件”——模型给你统计上最可能合适的措辞,够了。“补全这行代码”——模型给你在类似上下文中最常见的模式,大多数时候够用。“总结这篇文档”——模型给你文本中最显著的信息,没问题。
相关性够用的原因不是它等于因果性——而是在这些场景下,错了也不贵。
但海洋有边界。当你需要回答”为什么”而不只是”什么”的时候,当你需要做出不可逆的决策的时候,当你需要区分”碰巧一起出现”和”一个导致另一个”的时候——你发现脚下的水越来越浅,相关性的分辨率不够了。
你需要一把梯子,从相关性的海面爬到更高的地方。
这把梯子已经被人造出来了。
延伸阅读
- Zhizhang Fu et al., “Correlation or Causation: Analyzing the Causal Structures of LLM and LRM Reasoning Process” (2025) — 首次用结构因果模型测量 LLM 内部推理的因果结构,发现标准 LLM 与理想因果结构差距显著,而 RLVR 训练能缩小这个差距。方法论比结论更有启发。
概念与实体
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
因果的阶梯
相关性的海洋有多深?换一种问法:如果因果推理有”层次”,那么 LLM 停留在哪一层?
这个问题直到 2000 年代才有了精确的回答。回答它的人不是哲学家,而是一位计算机科学家——Judea Pearl。
三层
Pearl 把因果推理分成三层。他管这叫因果阶梯(Ladder of Causation)。
用一个统一的场景来理解它。
第一层:观察(Association)。 “在吃了这种药的人中,70% 病好了。”
这是统计。你在数据中看到了药物与康复之间的相关性。数学上,你在计算 P(Y|X)——在观察到 X 发生的条件下,Y 的概率。
这一层不需要任何因果假设。你只需要数据和统计工具。LLM 在这一层毫无困难——它的整个训练过程就是在学习这种条件概率。
第二层:干预(Intervention)。 “如果我让一个病人吃这种药,他病好的概率是多少?”
这听起来像是同一个问题,但不是。
在观察数据中,吃药的人可能本来就比较注重健康——他们去看医生、拿到处方、按时服药。也许正是这种”注重健康”的倾向让他们康复,而不是药物本身。这就是混杂(confounding):一个隐藏变量同时影响了药物使用和康复结果,创造出虚假的因果印象。
要回答干预性问题,你需要把混杂去掉。你需要的不是 P(Y|X)(观察到吃药的人中康复的比例),而是 P(Y|do(X))——你主动让一个人吃药后康复的概率。这个 do(X) 是 Pearl 引入的操作符,它的意思是:不是被动观察到 X 发生了,而是主动让 X 发生——切断了 X 与它的所有自然原因之间的联系。
随机对照试验(RCT)就是 do 操作符的物理实现:随机分配消除了混杂。
第三层:反事实(Counterfactual)。 “这个病人吃了药,病好了。如果他没吃药,病还会好吗?”
这是最高层——你要在一个已经发生的事实基础上,推理一个从未发生的平行世界。这不是在问群体统计,而是在问一个具体个体的替代历史。
法律中的”but-for”因果检验(若非此因,则无此果)就是一个反事实问题。医学中的”这个药是否救了这个人的命”也是。Pearl 的框架为这类问题提供了精确的数学工具——但它要求你拥有关于因果机制的模型,不只是关于统计关联的数据。
三层为什么不能互相替代
直觉上,更多的第一层数据似乎应该能回答第二层的问题——如果你有足够多的观察数据,难道不能从中推断出因果关系吗?
2022 年,Bareinboim、Correa、Ibeling 和 Icard 证明了一个定理,给出了否定的回答。
因果阶梯的三个层级,在测度论的意义上”几乎总是”互相分离。第一层的完整知识——即所有变量之间的所有统计关联——几乎总是不足以确定第二层(干预)的答案。同样,第一层和第二层的完整知识,几乎总是不足以确定第三层(反事实)的答案。
“几乎总是”是数学术语,意思是:例外的情况在所有可能情况中占据的”体积”为零——就像实数轴上整数点的测度为零一样。理论上存在第一层数据恰好能回答第二层问题的特殊情况,但你碰上的概率为零。
这不是经验观察。这是定理。
它的工程含义直白得近乎粗暴:再多的相关性数据,也回答不了干预性问题。 你可以把世界上所有的文本都喂给一个模型,让它学到所有变量之间的所有统计关联——但这些关联在数学上几乎总是不够回答”如果我做了 X,Y 会怎样”这类问题。
LLM 在阶梯上的位置
有了这个框架,就可以精确地描述 LLM 的处境了。
LLM 的预训练目标——next-token prediction——在结构上对应第一层操作。它学习的是 P(next token | context),即在给定上下文中下一个 token 的条件概率。这是一个关联性(associational)任务。后续的训练阶段(RLHF、RLVR)引入了额外的优化信号,但预训练所建立的统计共现基底不会被替换——后训练是在这个基底之上做调整,不是重建一个新的因果推理引擎。
那 LLM 能不能在某种程度上”爬上”阶梯?
CLadder(2024, NeurIPS)是第一个按 Pearl 阶梯三层设计的大规模基准。10000 个问题,答案由形式化因果推理引擎计算。结果:LLM 在第一层(关联)表现最好,第二层(干预)和第三层(反事实)显著下降。专门设计的”CausalCoT”提示策略有帮助,但不能弥合差距。
CausalBench(2024)评估了 LLM 在不同因果图结构上的表现。关键发现:LLM 在链式结构(A→B→C)上表现不错——因为链式结构中相关性和因果性方向一致。但在 collider 结构(A→C←B)上系统性失败——这恰恰是相关性与因果性分歧的标志性场景。
Chi et al.(NeurIPS 2024)进一步区分了”level-1 因果推理”(从参数化知识中回忆因果关系)和”level-2 因果推理”(对新场景进行真正的因果推断)。他们的结论:LLM 只能做 level-1——本质是模式回忆,不是推理。当面对训练数据中未见过的因果结构时,表现显著下降。
这些证据拼在一起,画面相当一致:LLM 能够令人印象深刻地模仿因果语言——因为训练数据中充满了人类表达因果关系的文本。但模仿和拥有之间,隔着一道由因果层级定理划定的机制性鸿沟。
模型能说出”下雨导致路滑”,不是因为它理解了水减少路面摩擦力的物理机制,而是因为它在训练数据中见过足够多的”下雨”和”路滑”的共现。大多数时候这两者给出相同的答案——但在 collider 结构、Simpson 悖论、混杂变量等场景中,它们分道扬镳。
阶梯与工程
这不是一个关于 LLM “聪不聪明”的判断——这是一个关于工具适用范围的结构性描述。
一把螺丝刀不是一把锤子。这不是对螺丝刀的贬低——它只是说,如果你的任务是敲钉子,你需要另一个工具。同样,如果你的应用需要第二层或第三层的因果推理——需要区分相关和因果,需要回答”如果我做了 X 会怎样”,需要推理反事实——那模型本身不够。系统的某个地方需要补上这个差距。
阶梯告诉我们缺什么。但光知道”缺什么”还不够。下一个问题更实际:一个知道自己的推理引擎停留在第一层的系统,结构上需要什么,才能对自己保持诚实?
延伸阅读
- Elias Bareinboim et al., “On Pearl’s Hierarchy and the Foundations of Causal Inference” (2022) — 因果层级定理的原始论文。证明三层”几乎总是”互相分离。技术性强,但结论的工程含义深远。
- Zhijing Jin et al., “CLadder: Assessing Causal Reasoning in Language Models” (NeurIPS 2024) — 第一个按 Pearl 阶梯设计的 LLM 因果推理基准。如果你想看 LLM 在三层上的具体表现数据,这是最系统的来源。
概念与实体
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
因果纪律
阶梯让我们看清了处境:LLM 天然停留在第一层——关联层。而很多有价值的工程问题需要第二层甚至第三层的推理。
但这里有一个微妙的转向。
问题不是”如何让 LLM 爬到第二层”。也许有一天能做到——RLVR(Reinforcement Learning with Verifiable Rewards)训练等方向正在探索——但目前这不是一个已解决的问题。更切实的问题是:一个知道自己的推理引擎只能做第一层工作的系统,如何对自己保持诚实?
这个问题的答案,不是从任何具体的工程实践中总结出来的。它是从因果性的本质——从休谟的分析、Pearl 的框架、以及推理引擎的机制性局限——自然推导出来的。
证据必须分级
不是所有”知道”都一样可靠。
一个 agent 报告:“数据库延迟飙升导致了 API 超时。“这句话包含一个因果断言。但这个断言的依据是什么?
如果依据是”数据库延迟和 API 超时在同一时间段升高”——这是第一层证据,关联性观察。两者可能都是第三个原因(网络拥堵)的结果。因果方向可能完全弄反了。
如果依据是”我们在灰度环境中人为注入了数据库延迟,观察到 API 超时随之出现”——这是第二层证据,干预性实验。因果方向得到了实验控制。
如果依据是”数据库团队确认了查询优化器回退导致延迟,并解释了延迟如何传播到 API 层”——这是专家判断,通常基于对系统内部机制的理解。
这三种”知道”不在同一个层面上。从因果阶梯直接推出的结论是:不区分证据层级的系统,在用关联性观察的可靠度来支撑因果性断言的重量。
一个没有证据分级的系统,会用关联性观察的语气说出因果性断言——“导致”这个词从它嘴里说出来,和从一个做过 RCT 的研究者嘴里说出来,听起来一模一样,但分量完全不同。
时间箭头不可违反
因果关系有一个物理学保证的结构性属性:原因在先,结果在后。
这听起来太明显了,不值一提。但在 LLM 的世界里,这一点并不是自动保证的。模型可以在任意方向上编织叙事——它可以说”API 超时导致了数据库延迟”,只要这个说法在语言统计上足够合理。语言不强制时间方向。
休谟在分析因果性时列出的三个要素中,时间先后性(temporal priority)是唯一一个纯粹客观的——它不是心灵投射的,不是习惯产生的,它是物理世界的结构性约束。
从这个约束直接推出:一条因果链中,原因的时间戳晚于结果的时间戳,意味着这条链在物理上不成立。 这不是可选的一致性检查——这是物理定律对任何因果叙事的基本约束。
违反时序约束的因果断言不只是”可能错了”——它在结构上不可能是对的。一个诚实的系统不会允许这类断言通过。
假说不能跳过验证
科学方法的核心循环是:观察→假说→预测→验证→接受或拒绝。
这个循环里有一个关键的状态区分:假说和已验证的结论不是同一种东西。“我猜数据库延迟导致了超时”和”实验证实了数据库延迟导致超时”之间的距离,可能是一次灰度实验的距离,也可能是一次事后分析的距离——但不是零距离。
LLM 不做这个区分。它用同样的语气、同样的确定性表达假说和结论。“数据库延迟可能导致了 API 超时”和”数据库延迟导致了 API 超时”在模型的输出概率上的差别,远小于它们在认知状态上的差别。
从认知诚实的角度推出:不区分假说和已验证结论的系统,在用未检验过的猜测来驱动下游决策——而它自己不知道。 假说可以存在,可以被记录,可以等待验证。但假说和结论之间的距离不是零。
这不是过度工程化。想象一个 agent 在长链推理中把一个未验证的假说当作事实,基于它推导出结论,基于结论做出决策,基于决策采取行动——每一步看起来都合理,但整条链子挂在一个没有检验过的钩子上。这就是推理链中的熵增——一个因果纪律缺失的具体症状。
推理链必须可追溯
每一条结论都应该能被追问”你是怎么知道的?”
这不是一个修辞性的要求。在长链推理中,一条看起来合理的结论可能建立在五步之前的一个相关性观察上,而那个观察本身的因果可靠性是有限的。如果你无法追溯这条链子,你就无法评估结论的可信度。
科学出版物的引用系统就是一种推理溯源机制。每一条声称都链接到它的依据,依据链接到更深层的依据。你可以沿着引用链条一路追到原始数据。这不是学术繁文缛节——这是让知识体系可审计的结构性要求。
推理溯源对 agentic 系统的意义尤其重大。当一个 agent 做出一个决策,你需要能够回答:它基于什么观察?它做了什么推断?每一步推断的证据等级是什么?哪些环节是强因果推理(实验验证),哪些是弱因果推理(相关性观察),哪些纯粹是模式匹配?
没有这条追溯链,你面对的是一个黑箱——一个能说出”答案是 X”但无法解释”为什么是 X”的黑箱。对于低风险场景,这也许可以接受。对于高风险场景,这是不可接受的。
四条纪律的统一性
回过头来看,这四条不是独立的”规则清单”。
证据分级是对”知道的层次”的诚实。时序约束是对”因果方向”的诚实。假说验证是对”确认的程度”的诚实。推理溯源是对”依据的链条”的诚实。
它们都是同一个核心需求的不同面向——让系统对”它知道什么”和”它怎么知道的”保持诚实。
这就是因果纪律(causal discipline)。
因果纪律不是因果推理能力本身——它不让系统变得更擅长因果推理。它做的是一件更基本的事:迫使系统在使用它有限的因果推理能力时,对证据质量保持透明。
一个没有因果纪律的系统把最合理的叙事当作事实报告。一个有因果纪律的系统标注:这是一个基于时间共现的假说,证据等级为”关联性观察”,因果方向未经验证,推理链条如下。
区别不在于第二个系统更聪明——而在于它更诚实。
延伸阅读
- Judea Pearl, “An Introduction to Causal Inference” (2010) — Pearl 本人最可读的框架综述。涵盖 SCM、do 算子、后门准则、中介分析,仅约 30 页。如果你想理解”因果纪律”在形式化框架中意味着什么,这是最佳起点。
概念与实体
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
诚实的代价
因果纪律听起来很合理——证据分级、时序约束、假说验证、推理溯源。谁会反对”让系统更诚实”?
但合理和免费不是同一件事。
复杂度
每一条因果纪律都增加系统复杂度。
证据分级需要一套分类体系——什么算”观察性”证据,什么算”干预性”证据,什么算”专家判断”。这些分类需要在系统中编码为类型,需要在每条数据写入时标注,需要在每次查询时过滤。
时序约束需要时间戳管理。不只是”这条数据什么时候产生的”——而是”这条数据声称的事件什么时候发生的”。产生时间和事件时间不一样。你需要两个时间戳,需要一致性检查,需要在构建因果链时验证时序不矛盾。
假说生命周期需要状态机。每条断言有认知状态——假说、验证中、已确认、已否证——状态转移需要触发条件和记录。你需要追踪:谁把它从”假说”变成了”已确认”?基于什么证据?什么时候?
推理溯源需要图结构。每条推断链接到它的前提,前提链接到更深层的前提。这不是一张扁平的表——是一个有向无环图。你需要存储它,遍历它,在需要时回溯它。
一个没有因果纪律的系统只需要存储”答案”。一个有因果纪律的系统需要存储答案、证据等级、时间戳、认知状态、推理链条、以及所有这些东西的更新历史。数据量和结构复杂度不在同一个量级。
速度
因果纪律减慢系统响应。
每条推断产生时,需要标注证据等级——这是一次分类判断。需要检查时序一致性——这是一次约束验证。需要记录推理链条——这是一次写操作。需要检查假说状态——这是一次状态查询。
这些步骤中的每一个本身很快。但它们在每条推断上都要执行,而长链推理中可能有数十条推断。累积延迟不可忽略。
更微妙的是决策延迟。一个没有因果纪律的系统可以在第一次推断后就输出结论。一个有因果纪律的系统可能需要等待——因为结论依赖的某条前提还停留在”假说”状态,需要更多证据才能确认。系统知道自己还不够确定,所以它等。
等待是诚实的代价。
设计负担
因果纪律把大量认知负担从模型转移到了系统设计者。
谁来定义证据等级的分类体系?分几级?每级的边界在哪?“用户说的”算什么等级?“模型推断出来的”算什么等级?“从日志中提取的时间相关性”呢?
谁来决定一个假说何时充分验证?什么样的证据足以把假说升级为结论?需要多少条独立证据?需要什么等级的证据?不同领域的标准一样吗?
这些问题没有通用答案。每一个都需要领域知识和工程判断。因果纪律提供的是结构——需要分级、需要验证、需要追溯——但结构内部的具体参数,是设计者的工作。
这是一个工程权衡,不是一个道德判断。投入更多设计精力以获得更高的因果可靠性——值不值得,取决于场景。
什么时候相关性就够了
不是所有场景都需要因果纪律。
你问模型”帮我写一封邮件”——它给你的是统计上最可能合适的措辞。错了?改两句话的事。
你问模型”补全这行代码”——它给你的是在类似上下文中最常见的模式。大多数时候够用。错了?编译器和测试会告诉你。
你问模型”总结这篇文档”——它给你的是文本中最显著的信息。漏了什么?再问一次,或者自己看原文。
这些场景有一个共同特征:错误是可见的、廉价的、可修正的。
当错误可见时,你不需要因果纪律来保证正确性——反馈循环本身会纠错。当错误廉价时,因果纪律的工程投入不值回票价。当错误可修正时,偶尔出错不会造成不可逆的后果。
在这些场景下,相关性推理的效率优势——快速、轻量、不需要复杂的证据管理系统——远远超过它偶尔犯错的成本。强加因果纪律是过度工程化。
什么时候必须有因果纪律
但有三种情况,相关性的分辨率不够。
错误不可见。 Agent 做出了一个看起来合理但实际上错误的因果判断,而你没有快速发现机制。错误在系统中传播、积累,直到后果已经无法挽回时才暴露。这就是”silent failure”——推理链中因果纪律缺失的最危险后果。
错误昂贵或不可逆。 医疗诊断建议、金融决策支持、安全事件的根因分析——在这些场景中,一个错误的因果判断可能意味着无法撤回的后果。你不能依赖”错了再改”——因为改的成本远高于对的收益。
推理链很长。 这是最被忽视的一类。每一步推理引入一点因果不确定性。在短链推理中——一两步——累积误差可以忽略。但在长链推理中——十步、二十步、甚至更长——不确定性逐步放大。
这最后一点跟本系列的第三章(熵)直接相关。推理链中的信息衰减,有一部分原因正是因果纪律的缺失:每一步从”相关”滑向”导致”的偷换,都在推理链中注入噪声。因果纪律的本质工作之一,是在推理链的每一环强制做信号质量检查——迫使系统在每一步都诚实地标注”这一步的因果可靠性是多少”。
三个因素——可见性、成本、链长——构成了一个判断框架。
| 因素 | 低需求 | 高需求 |
|---|---|---|
| 错误可见性 | 错误很快就能发现 | 错误可能长期不可见 |
| 错误成本 | 错了也不贵,可以重来 | 错了代价高昂或不可逆 |
| 推理链长度 | 一两步就到结论 | 多步推理,不确定性累积 |
当三列都在左边时,相关性就够了。当任何一列移到右边时,因果纪律开始变得必要。当多列同时在右边时——比如一个长链推理产出不可逆决策且错误难以及时发现——因果纪律不是可选项,是生存条件。
这不是工程偏好的推荐——这是场景风险结构的直接推论。因果纪律的必要性不取决于工程师的品味,而取决于错误在那个场景中的行为方式。
延伸阅读
- Haoang Chi et al., “Unveiling Causal Reasoning in Large Language Models: Reality or Mirage?” (NeurIPS 2024) — 区分了 LLM 的 level-1(参数知识回忆)和 level-2(真正的因果推断)能力,发现外部脚手架(G2-Reasoner)能显著提升 level-2 表现。这是”因果纪律的代价值不值得”这个问题的一个实证回答。
概念与实体
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
因果之道
五篇文章走下来,因果纪律的结构已经清晰了。
回到起点:休谟证明我们从未观察到因果本身——只有恒常连结和习惯。LLM 面对同样的困境,而且更极端——它的全部经验来自文本中的统计共现。Pearl 的因果阶梯量化了这个困境:第一层的数据在数学上几乎总是不足以回答第二层的问题。因果纪律——证据分级、时序约束、假说验证、推理溯源——是对这个困境的工程回应。
如果这个结构是对的,那么一些更深层的洞察会自然浮出水面。
反馈环路是因果赌注
本系列的第二章讲控制论——agent 系统的反馈环路:观察→判断→行动→观察。当时的焦点是环路的结构和稳定性。
现在,从因果的视角重新看这个环路。
“观察”意味着:我假设我的观测反映了世界的真实状态。这是一个因果声称——观测数据与世界状态之间存在因果关系。
“判断”意味着:我假设我的推理能正确识别观测数据中的因果结构。这是一个更强的因果声称——我不只是看到了数据,我还从中推断出了因果关系。
“行动”意味着:我假设我的干预能产生预期效果。这是一个第二层(干预层)的因果声称——如果我 do(X),Y 将会发生。
反馈环路的每一步都包含因果声明。它不只是一个”架构模式”——它是一套因果赌注。每一圈循环,系统都在押注:我的观测是可靠的,我的推断是正确的,我的行动是有效的。
大多数时候这些赌注会赢。但当它们输的时候——观测不准确、推断基于虚假相关、行动产生意外后果——整个环路的行为就不再可预测。这就是控制论中的”不稳定”在因果层面的含义:不是参数调错了,而是因果假设错了。
因果纪律在反馈环路中的角色,是让每一步的因果赌注变得显式——至少让你知道你在押什么注,押了多大的注。
熵增是因果纪律缺失的症状
本系列的第三章讲熵——长链推理中的信息衰减。当时的焦点是”无序度自然增加”这个热力学类比。
现在可以给这个类比一个更精确的解释。
长链推理中的信息衰减,有一个重要的来源:从相关性滑向因果性的无声偷换。
链条的第一步观察到”A 和 B 经常一起出现”——这是一个关联性声明。第二步说”A 导致 B”——这悄悄地从第一层滑到了第二层,但系统没有标记这次跃迁。第三步基于”A 导致 B”推出”所以控制 A 就能控制 B”——这是一个干预性结论,建立在一个未经验证的因果假设之上。
每一次”偷换”都在推理链中注入一点噪声——不确定性从”我观察到的相关性有多可靠”变成了”我假设的因果关系有多可靠”,而后者的不确定性严格大于前者(因果层级定理保证了这一点)。
链条越长,累积的噪声越大。这就是推理链中的熵增——不是抽象的比喻,而是信息论意义上的不确定性增加。
因果纪律的工作之一,是在推理链的每一环强制做信号质量检查——标注”这一步是关联性观察”还是”因果性推断”,标注”这个假说已验证”还是”尚未确认”。它不能消除不确定性,但它能阻止不确定性的无声放大。
因果纪律是另一个分形
本系列的第五章讲分形——自相似结构在不同尺度上重复。
因果纪律也有这个性质。
在单个推断的层面:每条推断需要标注证据等级和推理依据。
在单个 agent 的层面:agent 的每次输出需要附带置信度和依据链。agent 内部的推理过程需要维护假说状态和时序一致性。
在多 agent 编排的层面:每个 agent 的输出被当作下游 agent 的输入——证据等级需要跨 agent 传递。一个 agent 输出的”假说”,不应该在传递到另一个 agent 后变成”已确认的事实”。溯源链需要跨 agent 延伸——你需要能追溯到”这个最终结论,最初基于哪个 agent 的哪条观察”。
在系统审计的层面:整个决策链条的因果纪律需要可审查。从触发到决策到执行,每一步的证据等级和推理依据需要完整记录。
四个尺度,同一个结构。证据分级、时序约束、假说验证、推理溯源——在每一层都需要,表现形式不同但核心需求一致。
这不是巧合。因果纪律的自相似性和 agentic 系统架构的自相似性(第五章的核心论点)来自同一个根源:信息在不同尺度之间传递时,面临的质量管理问题在结构上是一样的。
悬而未决的载体问题
到这里,我们知道了因果纪律的四条内容,知道了什么时候需要它,知道了它的代价,也看到了它如何与本系列的前几章形成结构性呼应。
但有一个根本问题还没碰。
因果纪律需要载体——一种能够表达因果结构、执行因果约束、维护因果链条的计算形式。
逻辑系统天生适合这件事。因果图可以编码因果方向,do 算子可以区分观察和干预,反事实推理有精确的数学定义。Pearl 的整个框架就是建立在符号化的因果模型之上的。但逻辑系统有一个致命弱点:它需要人类预先编码因果结构。你得告诉它什么导致什么——它不会自己从数据中发现。
神经网络天生适合从数据中发现模式。它能从数十亿文本中提取出”下雨”和”路滑”之间的统计关联,甚至能用因果语言表达这些关联。但我们已经用了五篇文章的篇幅说明了,它发现的是相关性,不是因果性。
一个擅长结构但不擅长发现。一个擅长发现但不擅长结构。
2024-2025 年的研究中,一条明确的趋势正在浮现:把 LLM 作为知识先验(knowledge prior),与传统因果算法结合使用。LLM 提供关于变量之间可能因果关系的”猜测”,传统算法(如 PC 算法)从数据中验证这些猜测的统计一致性。两者结合的表现显著优于任何一方单独使用。
这不是”让 LLM 做因果推理”。这是让 LLM 做它擅长的事(从文本中提取因果知识的语言表达),然后用形式化工具做它不擅长的事(验证这些表达是否与数据中的因果结构一致)。
因果纪律的工程实现,最终要回答的是:结构与发现——符号系统和神经网络——如何协作?
这个问题的答案,不属于因果性这一章。它属于另一个更古老的分歧——人工智能从诞生之日起就面对的两条路线:符号主义与联结主义。
那是下一章的故事。
延伸阅读
- Shantanu Yanagihara et al., “Failure Modes of LLMs for Causal Reasoning on Narratives” (2024) — 识别了 LLM 因果推理的三种系统性失败模式(时序偏差、长程崩溃、参数知识过度依赖),并发现要求模型先提取因果图再推理可以显著改善表现。这是”因果纪律的载体问题”在实证层面的一个缩影。
概念与实体
本文涉及的核心概念与实体,在项目知识库中有更详细的资料:
- 因果性(休谟) — 全章起点:恒常连结与习惯
- 结构因果模型 — 符号系统承载因果纪律的主要形式
- 因果之梯 — 三层分离定理:相关性数据不足以回答干预性问题
- 误差级联 — 熵增的因果性解释:从相关到因果的无声偷换
- Harness Engineering — 因果纪律的工程上下文:harness 作为控制系统