TL;DR: 追问协议的最后一道防线是独立确认——用一个没有确认偏差的视角,对整个假说系统做可证伪性检验找反例。本文还讲了追问协议的来路(从 18 个 bug 的实践到写文章时发现的漏洞),以及未来自反性的计划。
← 上一篇 中篇讲了追问协议的七个条件:T1-T3 三个地板条件保证 AI 走得够深,HC1-HC4 四个护栏防止追问过程失控。这篇讲最后一道防线和协议的来路。
独立确认:可证伪性检验
即使有七个条件兜底,AI 自己查自己还是有盲区。确认偏差不是 AI 才有的问题,但 AI 对自己的错误结论没有人类那种"不对劲"的直觉。
所以我们加了最后一道防线:独立确认。
在当前版本中,独立确认者是人类审查者。长期目标是让独立的 AI agent 担任这个角色,但这要求 agent 之间有足够的视角差异来避免共享同一套确认偏差——这是一个尚未解决的挑战。
独立确认的本质不是重新跑一遍 T2 检验,而是用没有确认偏差的视角,对整个假说系统做可证伪性检验。这个方向受到波普尔科学哲学的启发[1]。调查者自己查自己的假说,天然带有确认偏差,会主动找支持自己的证据,忽略矛盾的证据。独立确认者没有这个包袱。
独立确认只做一件事:找反例。
最终会有三种结果:
- 找不到反例,说明假说系统完整且正确,确认通过,进入修复阶段。
- 找到推翻性反例,说明假说系统有根本错误,反例变成新的证据,回到 5-Why 流程重新调查。
- 找到边界性反例,说明假说系统不完整,需要补充适用边界,完善之后再确认。
独立确认是追问协议的兜底机制,用一个外部视角检查前面七个条件没拦住的问题:
- 对于单线追踪,反例可能揭示被遗漏的症状。
- 对于确认偏差,反例可能暴露被选择性忽略的证据。
- 对于浅尝辄止,反例可能证明当前结论在边界条件下站不住脚,说明追得还不够深。
三个问题性质不同:浅尝辄止是深度不够,单线追踪是广度不够,确认偏差是推理偏误。后两个因锚定而加剧。反例的作用就是证明浅层解释站不住脚——无论问题出在哪个维度。
这个方法不是凭空设计的。可证伪性检验的思路在软件调试领域已经被不少从业者显式采用——falsification 驱动的排障流程在 SRE 和安全运营中有实际应用。更直接的证据来自 AI 调试领域:最新的多 agent 调试系统(如 FVDebug、AgentForge、DoVer)都引入了独立的 critic 或 verifier agent,消融实验证明独立验证角色能显著提升诊断准确性[3][4][5]。
这里有两个设计决策值得解释。
第一,为什么只做一轮确认,不做循环。 这是一个工程性的权衡:一轮太少容易漏,两轮以上边际收益不抵成本。如果一轮确认加上反例作为新证据再加上继续 5-Why 还是得不出结论,说明问题已经超出了追问协议的处理能力,升级给用户是更合理的路径。
第二,为什么独立确认只找反例,不做全量检验。 找反例是发散思维,AI 在收敛方向走了很远,需要一个外部视角用力拉一下。全量检验是重复收敛的工作,没有必要。
从实践到协议的迭代
这篇文章不是先有理论再套实践的产物,它是我最近几个月踩坑的完整记录:
- 实践阶段:Aristotle 项目里最终统计了 18 个 bug,都是我靠人工追问驱动 AI 挖到根因的。
- 提炼阶段:把这些零散的实践经验整理成 tdd-pipeline 的 Phase 6 追问协议,版本是 v0.4.0。
- 反思阶段:写这篇文章的大纲时,我给协议做逻辑审查,发现两个设计漏洞:一是 T2 的 framing 没有明确要求预防性,二是独立确认的范围太窄,之前只是复查 T2。
- 升级阶段:补充了设计文档,协议从"T2 复查"升级为"可证伪性检验",版本升级到 v0.4.1,目前还没上线。
- 待验证阶段:协议里的每个环节都是从 18 个 bug 攻坚中提炼出来的——比如我拿"ROUTE 段为什么能被遵循"这个反例推翻 AI 的"模型不配合"归因,就是找反例的实际运用。v0.4.1 把这些做法全部显式编码成了协议流程。下一步就是把 v0.4.1 跑起来。
追问协议的最终目标,是把人类追问的经验自动化,让 agent 能在没有人类干预的情况下,完成同等质量的根因调查。
但要诚实地说:这次"实践→反思→升级"的循环是由人驱动的。是我在写文章审查逻辑的时候发现了协议的漏洞,不是协议本身具有自我改进的能力。T1-T3 是单次调查的停止规则,独立确认是对单次假说的可证伪性检验,两者都不涉及对协议自身的反思。协议的自我改进目前还是依赖人的介入。
已知局限与后续计划
当前协议有两个已知局限。
第一,它不能区分"修复失败是因为协议没拦住错误"和"修复失败是因为 bug 超出了协议能力"。
第二,追问协议把人类专家判断终止条件的经验编码成了显式规则,让 AI 能正确使用 5-Why。但 5-Why 本身的适用范围有限——Card 指出它对多因子交互问题的覆盖率低[2]。追问协议让 AI 在 5-Why 能用的场景里用好它,但不能让 5-Why 覆盖它本来就覆盖不了的场景。
后续的计划是给协议加上自反性能力。Aristotle 的反思系统已经有现成的模式可以迁移:代码出错→反思错误→提炼预防规则→commit 到规则库。嫁接到追问协议上的流程是:修复失败→重新调查 bug→同时调查协议哪里没拦住→产出协议修正案→升级协议。
触发自反性流程的条件有三个:同一个 bug 修复失败 2 次以上,每次得到的根因都不一样;需要回滚到比协议建议更深的层面才能解决问题;独立确认通过了但修复仍然失败。协议修正案本身也要通过 T1-T3 的检验才能生效。
v0.4.1 升级的起因有些偶然:不是在实战中发现的漏洞,而是在写这篇文章时审查协议逻辑发现的。后续迭代的目标是把自反性机制内置到协议里,让这类升级可以自动化,目前正在做方案设计,需要整合 Aristotle 的能力。
参考文献
- Popper 1959, The Logic of Scientific Discovery, Hutchinson, https://www.routledge.com/The-Logic-of-Scientific-Discovery/Popper/p/book/9780415278430
- Card 2017, “The problem with ‘5 whys’”, BMJ Quality & Safety, vol. 26, no. 8, https://doi.org/10.1136/bmjqs-2016-005849
- Bai et al. 2025, “FVDebug: An LLM-Driven Debugging Assistant for Automated Root Cause Analysis of Formal Verification Failures”, arXiv:2510.15906, https://arxiv.org/abs/2510.15906
- Kumar et al. 2026, “AgentForge: Execution-Grounded Multi-Agent LLM Framework for Autonomous Software Engineering”, arXiv:2604.13120, https://arxiv.org/abs/2604.13120
- Ma et al. 2025, “DoVer: Intervention-Driven Auto Debugging for LLM Multi-Agent Systems”, arXiv:2512.06749, https://arxiv.org/abs/2512.06749
交叉引用
- 上篇:AI 用不好 5-Why:浅尝辄止、单线追踪与确认偏差
- 中篇:给 AI 套上质量缰绳:追问协议的七个条件
- 之前的文章《修不完的 bug 与逃不出的循环》讲的是四条根因诊断的经验总结,本文是把经验转化为可执行流程的落地篇
- tdd-pipeline 项目:https://github.com/alexwwang/tdd-pipeline
