TL;DR: 追问协议用七个条件给 AI 的 5-Why 过程设规矩:T1-T3 是地板(不满足不许停),HC1-HC4 是护栏(防止过程失控)。其中 T2 的预防性反事实检验是最关键的设计——预防性 framing 迫使追问走深,同时反事实提问专门构造否定情境来对冲确认偏差。

← 上一篇 上篇诊断了 AI 用 5-Why 时的三个问题:浅尝辄止(深度不够)、单线追踪(广度不够)、确认偏差(推理偏误)。三个问题独立但往往一起出现——浅层结论形成锚定后,会同时压缩探索空间和引导证据筛选偏好。这篇设计追问协议——把人类专家判断「什么时候该停、什么时候该继续」的经验编码成显式规则,让 AI 的思考质量达到 5-Why 正常工作所需的标准。

追问协议的三个终止条件

上篇拆出了三个问题:深度不够、广度不够、推理偏误。三个问题的性质不同,对应的控制方向也不同。

深度不够是 AI 的默认行为——它就是会停早。应对方式是往下推:设一个最低门槛,不满足就不许停。这类条件我叫地板条件(T1–T3)——三个同时满足才能终止,保证 AI 走得够深。

广度不够和推理偏误是追问过程中的跑偏风险——追问越深,越容易钻牛角尖或只找支持证据。应对方式是往内收:限制追问的范围和证据的使用方式,防止过程失控。这类条件我叫护栏(HC1–HC4)。

两组条件解决的问题方向不同:地板是向下推,护栏是向内收。下面先讲三个地板条件。

T1 可执行性

根因必须对应一个具体的修复动作。

这个条件主要约束浅尝辄止。如果得到的结论没有对应的具体修复动作,就说明还没追到位。比如你得出"开发者不仔细"的结论——这个结论没有对应的具体修复动作,就不能停。

T2 预防性反事实检验

T2 要求用反事实提问来检验追到的结论够不够深——“如果 X 不存在,这个 bug 还会发生吗”。但提问的角度决定了检验能不能起到作用。

假设追到的根因是"没有加 null check"。你可以这样问:

“如果加了 null check,还会报这个错吗?”

答案肯定是不会。检验通过了——但根因根本没到。这个提问只是在修补这一个问题,下次还会出现其他类似的空指针错误。

换一个问法:

“如果我们有系统性的空值校验机制(比如类型系统),这类空指针 bug 还会发生吗?”

如果答案是不会,才说明到了系统层的根因。如果答案是"还是会,因为空指针不是校验能防的"——那说明当前追到的根因不够深,或者追错了方向。

这两种提问角度的区别在于:一种从修补层面提问,只看眼前这个 bug;一种从预防层面提问,看的是这类 bug。我管前者叫修补性 framing,后者叫预防性 framing。T2 要求必须用预防性 framing。

T2 怎么对冲确认偏差。 反事实提问的思路来自因果推理中的反事实框架[1]。确认偏差让人只找支持当前结论的证据,而反事实提问专门构造否定情境——迫使 AI 去找能推翻当前结论的信息。比如 AI 得出"模型不遵循 SKILL.md 指令"的结论,T2 要求它反过来想:如果指令格式才是问题呢?如果同一个文件里有能被遵循的段落呢?这种提问是 human expert 做 5-Why 时自然会做的,但 AI 不会主动做。

设计注意:必须用预防性 framing。 如果用修补性 framing(“加了 null check 就好了吗”),T2 在浅层就能通过,起不到检验作用。所以必须明确要求用预防性 framing。

边界情况。 预防性 framing 的目的不是要求所有根因都是系统级重构。有时候预防性 framing 的回答会让你发现根因不在当前追的路径上。举个例子:你追到"缺少并发锁"是根因,预防性 framing 问"如果有完善的锁机制,这类 bug 还会发生吗",回答是"锁能防竞态,但这个 bug 的真正原因是事件处理顺序不对,跟锁无关"——这说明根因在另一个维度,当前路径追得再深也没用,应该换方向。

T3 解释力

根因必须能解释所有已经观察到的症状,不能只解释一部分。

这个条件主要约束单线追踪。如果还有症状解释不通,就说明遗漏了其他分支,必须继续追问。

但要注意,T3 只能检查根因对已观察到症状的解释力。如果症状清单本身不完整,T3 可能给出虚假的通过信号——下一篇会讨论怎么补上这个漏洞。

三个条件必须同时满足,才允许停止追问。这是地板——保证走得够深。

四个护栏

但追问过程本身可能跑偏:追得太深停不下来、分支无限发散、越追越没证据还在硬追、跳到不相关的层面追。四个护栏就是拦这些跑偏的。

HC1 深度上限 5 层

5 层是天花板,不是目标。如果追了 5 层还没满足 T1-T3 的条件,说明当前路径不对,要换方向重新追。

HC2 分支上限 3 条

防止追问无限发散,限制搜索空间。同一层的原因分支最多允许追 3 条。这个数字来自经验——有研究发现人类自然列举的因果数量平均约 3 个[2],3 条分支既覆盖了常见的分支需求,又不超出调查者能有效追踪的范围。

HC3 证据锚定

连续 2 个 Why 没有新的证据支撑,就必须停止。

要注意的是,HC3 只保证每一步追问都有证据,不保证证据的深度。证据的深度还是靠 T1-T3 的门槛来保证。比如"复现实验确认了竞态条件存在"是具体证据,满足 HC3,但只靠这个还过不了 T1-T3 的门槛——还没追到为什么会发生竞态。

HC4 层面限制

根因必须落在代码、架构、配置、流程这四个层里,不允许追到"认知"“文化"这类不可落地的层面。

这个规则排除不可落地的层面,防止 AI 在"认知"“文化"这类听起来深刻但无法操作的层面宣称找到了根因。比如得出"模型能力不足"的结论,不属于这四个允许的层面,就必须继续往下追。

简单说,每个条件约束什么:

条件约束什么
T1 可执行性浅尝辄止(深度不够)
T2 预防性反事实确认偏差(推理偏误)
T3 解释力单线追踪(广度不够)
HC1 深度上限防止过深
HC2 分支上限防止发散
HC3 证据锚定防止无证据推测
HC4 层面限制防止浅尝辄止(停在不可落地的层面)

下篇预告:七个条件能防止追问过程失控,但 AI 自己查自己有没有盲区?这套协议又是怎么从实践中长出来的?下一篇 →

参考文献

  1. Pearl 1999, “Probabilities of Causation: Three Counterfactual Interpretations and Their Identification”, Synthese, vol. 121, https://doi.org/10.1023/A:1005233831499
  2. Kováč 2009, “Causal reasoning: the ‘magical number’ three”, EMBO Reports, vol. 10, no. 5, https://doi.org/10.1038/embor.2009.75

交叉引用