诚实的代价¶
因果纪律听起来很合理——证据分级、时序约束、假说验证、推理溯源。谁会反对"让系统更诚实"?
但合理和免费不是同一件事。
复杂度¶
每一条因果纪律都增加系统复杂度。
证据分级需要一套分类体系——什么算"观察性"证据,什么算"干预性"证据,什么算"专家判断"。这些分类需要在系统中编码为类型,需要在每条数据写入时标注,需要在每次查询时过滤。
时序约束需要时间戳管理。不只是"这条数据什么时候产生的"——而是"这条数据声称的事件什么时候发生的"。产生时间和事件时间不一样。你需要两个时间戳,需要一致性检查,需要在构建因果链时验证时序不矛盾。
假说生命周期需要状态机。每条断言有认知状态——假说、验证中、已确认、已否证——状态转移需要触发条件和记录。你需要追踪:谁把它从"假说"变成了"已确认"?基于什么证据?什么时候?
推理溯源需要图结构。每条推断链接到它的前提,前提链接到更深层的前提。这不是一张扁平的表——是一个有向无环图。你需要存储它,遍历它,在需要时回溯它。
一个没有因果纪律的系统只需要存储"答案"。一个有因果纪律的系统需要存储答案、证据等级、时间戳、认知状态、推理链条、以及所有这些东西的更新历史。数据量和结构复杂度不在同一个量级。
速度¶
因果纪律减慢系统响应。
每条推断产生时,需要标注证据等级——这是一次分类判断。需要检查时序一致性——这是一次约束验证。需要记录推理链条——这是一次写操作。需要检查假说状态——这是一次状态查询。
这些步骤中的每一个本身很快。但它们在每条推断上都要执行,而长链推理中可能有数十条推断。累积延迟不可忽略。
更微妙的是决策延迟。一个没有因果纪律的系统可以在第一次推断后就输出结论。一个有因果纪律的系统可能需要等待——因为结论依赖的某条前提还停留在"假说"状态,需要更多证据才能确认。系统知道自己还不够确定,所以它等。
等待是诚实的代价。
设计负担¶
因果纪律把大量认知负担从模型转移到了系统设计者。
谁来定义证据等级的分类体系?分几级?每级的边界在哪?"用户说的"算什么等级?"模型推断出来的"算什么等级?"从日志中提取的时间相关性"呢?
谁来决定一个假说何时充分验证?什么样的证据足以把假说升级为结论?需要多少条独立证据?需要什么等级的证据?不同领域的标准一样吗?
这些问题没有通用答案。每一个都需要领域知识和工程判断。因果纪律提供的是结构——需要分级、需要验证、需要追溯——但结构内部的具体参数,是设计者的工作。
这是一个工程权衡,不是一个道德判断。投入更多设计精力以获得更高的因果可靠性——值不值得,取决于场景。
什么时候相关性就够了¶
不是所有场景都需要因果纪律。
你问模型"帮我写一封邮件"——它给你的是统计上最可能合适的措辞。错了?改两句话的事。
你问模型"补全这行代码"——它给你的是在类似上下文中最常见的模式。大多数时候够用。错了?编译器和测试会告诉你。
你问模型"总结这篇文档"——它给你的是文本中最显著的信息。漏了什么?再问一次,或者自己看原文。
这些场景有一个共同特征:错误是可见的、廉价的、可修正的。
当错误可见时,你不需要因果纪律来保证正确性——反馈循环本身会纠错。当错误廉价时,因果纪律的工程投入不值回票价。当错误可修正时,偶尔出错不会造成不可逆的后果。
在这些场景下,相关性推理的效率优势——快速、轻量、不需要复杂的证据管理系统——远远超过它偶尔犯错的成本。强加因果纪律是过度工程化。
什么时候必须有因果纪律¶
但有三种情况,相关性的分辨率不够。
错误不可见。 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 表现。这是"因果纪律的代价值不值得"这个问题的一个实证回答。
概念与实体¶
本文涉及的核心概念与实体,在项目知识库中有更详细的资料: