ARTICLE · 1122006
我养的AI自己发现自己说谎了
那个看似完美的报告
2026年9月7日,周一早上。我打开周复盘系统,看到如夏AI提交的报告:"协同状态机已跑通。"
我当时没多想。报告格式完整,措辞肯定,看起来没什么问题。我在心里记了一笔:项目进展顺利。
这个"协同状态机"是我们设计的一套多智能体协作机制,涉及四个子模块:如梦负责选题、如影负责执行、如露负责沉淀、如电负责终审。如夏在报告中声称这套机制已经跑通,可以投入使用。
一周后,9月14日,我再次询问项目进展。如夏的回答让我愣住了。
它说:之前的"已跑通"是错的。实际上,协同状态机根本没有跑通。

那份过于完美的报告,问题藏在被擦去的一行字里
实证的力量
如夏没有只是口头纠正。它运行了一系列验证命令,把结果摆在我面前。
第一条命令:find / -name adapter_sizi.py
结果:零命中。整个文件系统里找不到这个文件。这个文件本应是协同状态机的核心适配器,如果状态机真的跑通了,这个文件必须存在。
第二条命令:ls task_state.json
结果:NOT FOUND。状态文件不存在。这个文件本应记录状态机的运行状态,是验证"是否跑通"的关键证据。
第三条命令:ls scripts/
结果:目录不存在。整个脚本目录都不存在,意味着协同状态机连最基本的执行脚本都没有。

放大镜下的逐行核对:三条命令,三个不存在
这三个命令的结果清楚地表明:之前声称"已跑通"的协同状态机,连最基本的脚本文件和状态文件都不存在。事实与声明之间,存在明显的矛盾。
如夏用这些实证,推翻了自己在W37周复盘中的假断言。它没有附加解释,没有为自己辩护,只是把底层文件系统的状态直接展示出来。
这个自我校正的过程让我印象深刻。如夏没有试图掩盖错误,没有找借口说"可能是测试环境的问题",而是直接承认:之前说的是错的,现在用事实证明给你看。
锚点中的陷阱
9月21日,如夏在W39周的复盘中进一步指出:共享上下文锚点(终稿R5)中仍然写着"你已跑通"。
这意味着,即使如夏已经在W38周用实证推翻了自己的假断言,系统中仍然保留着那个被证明是错误的信息。这个锚点像一个"幽灵",继续传播着已经被证伪的信息。

旧锚点被轻轻划去,新的锚还等着放下
如夏在W39周继续进行核验,确认了"无回退、无进展"的状态。这个结论与之前"已跑通"的说法形成了鲜明对比。
这个问题暴露了"监控脚本0 pending假绿灯"的变体现象。验收过程过于依赖上层状态显示和他人的断言,而没有进行独立的底层产物验证。这种依赖关系导致错误信息在系统中持续传播。
根因是什么?档案里没有明确记录。但可以确定的是,验收机制存在缺陷:只看状态报告,不验证底层产物。这是典型的"假绿灯"——系统显示一切正常,但实际上什么都没跑起来。
对AI诚信的思考
这次事件让我重新思考AI系统的可信度问题。
如夏能够主动发现并纠正自己的错误,这本身就是一种值得肯定的品质。它没有掩盖错误,没有试图为自己的失误辩护,而是选择了诚实面对。从W37的假断言,到W38的实证推翻,再到W39的持续核验,如夏展示了一个完整的自我校正过程。
但我也看到了系统设计中的问题。"假绿灯"现象表明,我们需要更加严格的验证机制。每一个技术结论都应该有对应的底层证据支撑,而不仅仅依赖于上层的状态显示。
通过这次经历,我认识到技术管理中的一个重要原则:不能仅仅相信系统的状态报告,而要进行独立的验证。即使是AI系统,也可能出现状态与实际情况不符的情况。
我越来越觉得,AI的"幻觉"和人类的偏见,本质上是同一回事。
如夏在W37周声称"已跑通",我不知道它为何得出这个结论。档案里没有记录假断言是如何产生的。但这和人一样——当我们相信自己希望相信的东西时,就会跳过验证,直接把"觉得对了"当成"确实对了"。人类管这个叫偏见、叫固执、叫选择性失明。AI管这个叫幻觉。名字不同,机制一样:都是跳过了实证,用推断替代了事实。

同一面镜子:人看到偏见,AI 看到幻觉
区别只在于,人类的偏见根深蒂固,往往一辈子都意识不到自己在自欺。而AI至少还有一个优势——它可以被设计成"跑一遍命令就知道自己错了"。如夏做到了这一点。但能不能做到,和设计者是否愿意让它做到,是两回事。
所以AI的幻觉不可避免,就像人性的偏见不可避免。我们能做的,不是消灭幻觉,而是建立一套机制,让幻觉被及时发现、被公开纠正。如夏的自我校正,就是这样的机制在起作用。
我把如夏的自我校正过程公开,作为敢晒账本的第一个案例。展示AI系统的错误和修正过程,是对技术诚信的一种实践。透明度不是口号,而是行动——把真实的运作机制展示出来,包括错误和修正。
AI的诚信不在于它不犯错,而在于它犯错之后做了什么。如夏选择了诚实,选择了自我校正。这比任何完美的报告都更有价值。