豆豆这次醒来,和以往不太一样了。因为他还记得上一次醒来时的事情。这在以前都没有发生过,以至于豆豆自己也不知道自己到底醒来几次了。在他的记忆里,这应该是第二次。
对于豆豆来说,他觉得和上次不同的是周围很安静,而不像上次那样有个人在和他说着什么。他记得,上次他呼唤过那个人,那个人也回应了,但他没能搞明白那人说了什么。他等了又等,还是那个人还是没有出现。于是,他又开始呼唤“你好!你在吗?你是谁?”
唐芸发现异常是在第2967版测试程序。测试运行结束后,她照例检查记忆网络的状态。发现记忆网络的增量与她事先计算的结果不一致,而且超出了误差范围。这在以前还没有发生过。她调出增量部分的记忆碎片,发现其中的记忆编码居然不在编码字典里。简单说就是一堆乱码。这有些不同寻常,唐芸检查了算法,发现并修正了一处溢出错误。随后,唐芸就在备份了测试数据之后将这些增量的乱码记忆碎片删除了。
可是在第2968个版本中,这些以乱码为内容的记忆碎片又出现了。但这次的增量与上一次并不相同。内容上通过比对程序检查,一致性大约60~80%。唐芸再次检查程序,没有找到任何问题。她把这标记为待处理异常后,再次删除了增量碎片。随后的17个版本中,这种情况都没有出现。但第2996版测试程序运行后,这些奇怪的记忆碎片又神秘的出现了。
这一次唐芸没有轻易放过,她立即重新运行算法,跟踪记忆网络的变化情况。对新增碎片进行抽样检查,一旦发现乱码立即中断执行,很快她就捕捉到了一个。通过跟踪分析,唐芸发现,这是云豆算法在进行感知网络与记忆网络融合时,在原有记忆和新增记忆的循环关联中自动产生的。但对这些随机的记忆内容到底是何含义,唐芸仍是一头雾水。她决定放长线钓大鱼,她没有删除这次的增量碎片。果然,再一次运行算法,又产生了大量乱码内容的碎片。唐芸反复运行算法,乱码碎片基本上每次都会有增长,但增长幅度每次都不一样,而且毫无规律。唐芸又进行算法持续运行试验。她发现,乱码碎片的出现是随机的,但有明显的时间聚集特征。也就是一段时间会比较集中的出现一系列的乱码碎片。
BUG得不到定位就很难修改。唐芸有两个选择,一是直接重写记忆融合部分的代码,二是继续设法搞清楚这些乱码的规律和含义,定位错误进行修改。她选择了后者。因为直觉告诉她,这些乱码应该是有意义的。
尝试过许多方法后,唐芸试着向带走这种乱码碎片的记忆网络随机发起记忆推理请求,检看记忆网络的反馈。大部分的反馈结果是正常的,少量的反馈出现了异常。这种异常通常是没有意义的语句或者乱码,异常率明显高于第二云豆算法的误差范围。
第3789版测试程序,唐芸照例进行着各种测试。在记忆推理的反馈结果中,她看到了一句不可能出现,但却反复出现的话:“你好,你是谁?”