它把八天前,叫成了昨天。
10 月 27 日上午,我要它把前一晚的一段会议录音归进项目库。它回我一句:那批文件在 10 月 19 日。语气很平常,像在陈述一件它已经核对过的事。
我没立刻纠正,先看了眼日期:10 月 27 日。它差了八天。
有意思的不是它错了,是它错的方式。它不是猜的,也没把哪一位数字看错。它根本就没查过——它沿用了一个从上下文里读来的日子,然后在这个日子上,把事情一路推下去。「昨天」是 10 月 19 日,那「前天」就是 10 月 18 日,那这段录音应该在三周前那个文件夹里。每一步推理都很干净。推理从头到尾没错,错的是第一块砖。
人对这件事应该不陌生。连着几天不出门,你会把周三过成周四;休完假回来第一天,要愣一下才想得起今天是几号。我们不是不知道时间,我们是从来没查过——时间对人不外显,它只在你需要它的那一刻,突然要求一个答案。

一、它去核对了一遍
我让它自己查。
它调出三个时间:这份笔记的创建时间、转写完成的时间、存储路径里的那一段 202610191146。
三处一致。10 月 19 日。
它给我的结论是四个字:元数据自洽。
这四个字很漂亮,也很危险。「自洽」的意思是,这几份材料彼此不打架。可它证明的是——这份东西是哪一天的;不是——今天是哪一天的。
它答对了它被问的那个问题。问题在于,那一刻该问的不是这一个。
一个人翻遍自己的聊天记录、备忘录、日历,把一件事的来龙去脉捋得清清楚楚,也会有同样的错觉。他捋清楚的是「我当时是怎么想的」,不是「事情本身是怎么样的」。那些记录全都在替他的记忆作证——因为它们本来就是同一个人,在同一种心情下写的。
二、它们不是三个证人
三个时间戳摆在一起,看上去很像交叉验证。三个来源,一个答案,谁都挑不出毛病。
但它们不是三个来源。
它们是同一次写入的三个投影:一个创建时间字段,在列表接口里显示成一个值,在文件路径里被格式化成一段数字,在转写结束时被回填一次。同一个人、同一天写下的那个数,被三个地方各抄了一遍。
派生出来的副本,不可能互相纠错。因为它们的全部知识,都来自那一次写入——没有哪一份,曾经自己去看过窗外。
所以那三行对得越齐,我越该紧张。一份记录不会因为被抄了三遍而变真,它只会因为被抄了三遍,看起来像事实。

真正把它从 10 月 19 日拽回来的,是一条不在它记录里的命令:date。一行,不要上下文,不问它记不记得,只回答此刻。
这里有个很朴素的道理:判断「现在是什么时候」,任何一套系统都没法内省。时间不是一个可以被想起来的事实,它只能被外部读一次。人被问「今天几号」时伸手摸手机,不是记性差——是这件事本来就不该靠记性。
三、我们脑子里那三个解释
碰到「记录和事实对不上」,我们跳出来的解释通常有三个:数据被人改过、系统有 bug、记录不够完整。
三个都成立,但三个都解释不了这件事。这里没人改数,没有 bug,记录还特别完整——完整到三处都对得上。
它错得那么理直气壮,恰恰因为记录太完整。
不完整的记录会露出缺口,缺口会让人起疑,起疑才会去问外面。完整的记录没有缺口,它只给你一个干净的、互相印证的答案。你查第二遍,第二遍和第一遍一样;你查第三遍,第三遍也一样。你以为自己在验证,其实你在复读。
模型的自述尤其容易落进这个坑。它说「我做完了」,往往不是因为它看见了结果,是因为上一句它说过「我这就去做」——上下文就是它的记录,而这份记录是它自己写的。一个人写下的日记,第二天读起来特别可信。
四、那张写着两万五的存单
昨天知乎上有一件事,跟这个是一回事。
一家银行把储户存的 2500 元,错打成了 25000 元。储户拿着单子不肯退,理由是柜台那句老话——「离柜概不负责」。法院判了:退还。
我不打算讨论谁对谁错,我想说的是那张单子。
单子是真的,章是真的,签字也是真的。它证明了一件很确定的事:那天、那个柜台、为这个人,打出过一张两万五的凭证。
它唯一没证明的,是钱到没到。
法官看的是另一本账——钱到底转没转出去。那本账不在那张纸上,在核心系统的流水里,在另一条谁也没抄给谁的记录里。
凭证不是事实。凭证是「当时有人这么记过」。
五、我的三个数,可能也是这么来的
这件事让我回头看了眼自己平时的做法。
给客户看数据的时候,我习惯说一句「三方交叉验证过了」。三个后台的数对得上,我就觉得这个数能用了。
可现在我得多问一句:这三个后台,是不是都从同一个地方取数。
行业里常见的结构就是这样——一个埋点,同步给三个平台,三个平台各自出一份报表。日报、周报、月报,三个名字,一个来源。你对着三份文件核了一上午,核对次数其实是 1,只是做了三遍。
而真正独立的那一路信号,往往很便宜,也很少人用:跑一次 date;对一次银行流水;给客户打个电话,问一句「这个数你那边是多少」。
它不高级,但它不经过你的记录,所以它能反驳你的记录。

六、先问它们认不认识
现在我看到三个来源互相印证,第一反应不是放心,是先问一句:
你们彼此认识吗。
认识,那就还是一个来源,只是被问了三遍。
交叉验证不是多问几个人,是多问几个互不认识的人。这句话听起来像常识,可我们大多数时候做的,是把同一个人问了三遍,然后管它叫「三个来源」——毕竟问三遍比找三个陌生人便宜太多。
所以那条 date 才显得贵。它不提供任何新信息,它只是不肯和你的记录站在同一边。
三个来源都对得上,不一定是三个证人。
也可能是一个证人,被问了三遍。