周一早上,程风在校门口遇到了苏念。不是碰巧,苏念在校门口等他。她平时不在校门口等人,一般直接进教室,课间才出现。今天不一样。
“昨晚处理了三个小时。”苏念说。没有寒暄,直接从程风旁边开始走,脚步同步。
“结果?”
“报警本身无法撤销。那是系统级的,感知节点检测到基因密度异常波动之后自动生成报警记录,存入市节点数据库。从生成到入库的过程是全自动的,没有人工干预窗口。我不能拦截那个过程,技术上不可能。”
“你做了什么?”
苏念边走边说,声音不大,刚好能在早上的校门口噪音里被程风听到。其他学生从旁边走过,没有人注意他们。两个人在讨论校本课程,或者数学作业。至少看起来是。
“报警记录本身我不需要碰。需要处理的是配套的能力特征数据。每一条报警记录自动触发一个特征采集线程。它从最近的感知节点提取基因活跃度的原始波形,自动生成一份特征描述报告,附在报警记录下面。这份报告是人看的。也就是说,如果有调查员打开那份报警记录,他第一眼看到的是自动生成的特征描述,不是原始数据。”
“你把特征描述改了。”
“‘自然突变事件’。”
程风没有说话,等她继续说。
“我改的不是原始数据。原始波形在节点缓存里,我没有权限动那个。我改的是AI自动报告的输出。系统在生成报告的时候会从缓存里取波形数据,解码成特征描述字符串,然后写入数据库。我在解码和写入之间的那一步,大概零点几秒的窗口,把解码结果替换成了自然突变事件。这在技术上不算篡改。我只是利用了自动报告系统的一个已知缺陷:它没有校验解码结果和原始波形的哈希。”
“缺陷。”
“设计缺陷。”苏念的语气没有变化,但程风听出来了,她对这个缺陷很熟悉。不是今天才发现的。
他们走到教学楼门口。走廊里人多了,苏念放慢了语速。
“所以现在的情况是:报警记录在库,特征描述写的是自然突变事件。从调查优先级的角度,自然突变事件属于最低优先级,因为郊区废弃工业区经常有异化兽的自然能力爆发。这类事件连人工核查都不会触发,系统会自动在三十天后把状态从待调查已关闭。”
“完美。”
“不完美。”苏念在教室门口停了一下。“因为有一个问题。我昨晚的修改是在报警数据上传到市节点之后完成的,但从郊区节点上传到区级节点再到市节点中间有一段延迟。在那段延迟里,大概七分钟,报警记录的原始特征描述没有被改过。”
程风知道她接下来要说什么。
“莫中校。他昨晚十点半登录系统的时候,看到的就是那七分钟的原始版本。带未修改的特征描述。”
程风没有说话。两个人站在教室门口,周围学生从旁边挤过去,书包撞到肩膀,有人在喊“让一下”,有人在追打。
“他看到了什么?”
“一串基因活跃度波形。波形里面有一个特征片段,不足以识别具体身份,但足够被他归档。我比对了他的操作记录:他把那段波形跟他之前存档的疑似特殊觉醒·待定档案做了相似度对比。结果是20%。”
“20%是个模糊数字。”
“对。不够确定,但足够引起注意。所以他已经在追了。他今天早上一上班就调了郊区那个感知节点的完整日志,正在逐条分析过去一周的所有异常读数。但他现在找的是郊区废弃工业区附近的异常事件,而不是。他还没有把两个点连上。”
“需要多久?”
“以他的能力,如果他能拿到第二组数据,大概一周。”
程风想了想。第二组数据,意味着他不能再在郊区死了。至少不能在同一个感知节点覆盖范围内的郊区。郊区报警那次和东郊厂区那次,两次死亡都在东郊厂区,同一个节点。如果再来第三次,莫中校就会看到第三组波形,和三周前那次“程风在操场上被陈浩火焰拳击中”的基因异常读数放在一起对比。那时候20%就变成40%、50%,然后就不是模糊数字了。
“你能让他拿不到第二组数据?”
“可以。”苏念说。“但我需要你同意一个方案。”
“说。”
“莫中校现在在追的是那个GPS坐标,废弃工业区的位置。他接下来会派人去现场调查。现场有你的残余,不是DNA,你复活之后DNA会被覆盖。但你在水泥槽里扔的外套,上面有你的气味残留。如果调查队带了犬只——”
“他们会找到外套。”
“对。我的方案是:在莫中校派人去调查之前,在那个GPS坐标附近找一个真实的异化兽活动记录,有痕迹的、可验证的那种。然后让系统自动完成一次重新归因,把报警来源从不明异常事件归因到已记录的B级腐蚀型异化兽自然能力爆发。”
“怎么做到?”
“军方数据库里有一个未清理异化兽活动日志,每个片区都有,记录的是清理队巡查之后标记的未处理目标。我有只读访问权,可以查出那个坐标附近有没有已经记录的异化兽。如果有,我就可以触发一次自动归因,让系统的自动匹配算法把报警记录和异化兽日志里的条目关联起来。这个过程不需要我修改原始数据。我只是让系统自己发现——哦,这条报警原来可以归因到已记录的异化兽。”
“
你有军方数据库的只读访问权。”
苏念没有回答这个问题。她的沉默本身就是回答。她不想讨论这个权限的来源。
“能做到吗?”
“大概率可以。给我今晚。”
“好。”
程风走进教室。苏念从另一个方向走了。她这节没课,但她要去图书馆查数据。
上午四节,数学、语文、英语、觉醒者理论。理论课的张老师在讲“基因觉醒的分类标准发展史”,从早期的三段论(F-D-C-B-A-S)讲到现在的精细分类法,加入了密度指数、碎片亲和度、能量转化效率三个新指标。他在黑板前走来走去,手里的粉笔在空气中比划,唾沫星子偶尔飞到前排学生的桌上。
程风在听。不是因为关心分类标准。张老师是非标设备的操作者,那个藏在讲台下的非标探测器。他上课的风格和别的老师不一样。他的眼睛在学生脸上停留的时间,比正常讲课需要的要长。他在观察。
程风低下头写笔记。笔迹均匀,呼吸均匀。体内碎片网络重组之后的新状态,可能已经被张老师的非标设备记录下来了,但他读取到的只是一串不知来源的基因活跃度波动。他需要另一组数据才能交叉定位到程风。在那之前,程风只是一个“上课认真做笔记的F级废物”。
下课铃响。
赵铁柱从前排回过头来:“你今天数学作业那道几何题做没?”
“做了。”
“借我抄一下。”
“第九题错了。”
“哪错了?”
“辅助线画在AB上不对,应该画在AC上。”
赵铁柱把他的作业本翻过来,看了几秒,然后把那道题的辅助线擦了,重画。他抬头看了程风一眼,那种“你怎么连我的错都知道”的眼神。程风在翻下一节课的课本。赵铁柱没问。
中午的食堂,三个人又坐在了同一张桌子。这次不是“恰好”。赵铁柱先占了位置,然后苏念端着盘子过来,程风最后。赵铁柱在吃,他今天打了三份菜,米饭压得很紧实,筷子插在上面像旗杆。苏念的盘子依然比标准量少。她在食堂吃饭,为了不饿到影响下午课,不是为了吃饱。
苏念低头吃饭,筷子很轻,几乎没有声音。程风在她对面。赵铁柱在她旁边,他自己没注意到这件事。他只是端了盘子就坐下来,坐在了之前程风坐的那个位置。程风没说什么,坐在了对面。
“那个,”赵铁柱咽下一口饭,“周可昨天说了一句很怪的话。”
“什么话?”程风没抬头。
“她说你跟程风的关系不太像同学。”
苏念的筷子停了一下。不是停下来看他,只是筷子悬在盘子上面,然后继续夹菜。她大概在分析这句话。但程风没有问她的分析。
“你怎么回的?”程风问。
“我说我们从小认识。她说从小认识的也不这样。”
“然后?”
“然后我就走了。因为我也不知道怎么回。”
三个人安静了几秒。赵铁柱用筷子戳了一块豆腐,今天的豆腐烧得太老了,他用筷子都夹不断。他开始用筷子锯那个豆腐块,锯了几次放弃了,直接整块盛进嘴里。
苏念说:“她注意到了你们之间的默契。这不一定有恶意,她的观察力在同级里算高的。她在职业训练体系里待过,那里的团队配合需要基于对关系的精确判断。她在用同样的工具分析这个学校的社交地图。”
“所以她在看。”程风说。
“她在看所有人。”苏念把筷子放下,她的米饭吃完了,菜还剩一半。她大概已经到感知过载的临界点了。“不只是你。她来这个学校是为了找对练,对练需要了解队友。她不是威胁,至少目前不是。”
程风记下了。
夜里十一点,程风在书桌前,实验日志翻开,笔拿在手里。手机震了。
苏念的消息:“归因成功。报警记录现在归入东郊废弃工业区B级腐蚀型异化兽自然能力爆发事件,与未清理日志条目#E-1221相关。系统自动关联完成。不需要人工追踪。”
第二条:“但莫中校已经对那七分钟的数据做了备份。系统归因改不了他本地硬盘上的文件。”
第三条:“他不会放弃的。他只是现在找不到更多证据。”
第四条:“你还剩三十天。然后系统自动关闭调查。”
程风把笔放下,拿起手机,回了两个字:“知道了。”
然后他想了一下,又加了一句:“你昨晚几点睡的?”
苏念过了大概半分钟才回:“三点半。”
“以后这种处理提前告诉我,我跟你一起。”
苏念没有马上回。过了大概一分钟,程风已经把手机屏幕关了,它又亮了。
“好。”
一个字。句号结尾,她的标准格式。
程风把手机放在桌上,翻了个身,盯着天花板。天花板上的裂缝还是那几条,后巷那晚就看过,现在还在。他闭上一只眼,睁开,裂缝没有变位置。
报警处理完了。但事情没有完。
莫中校是那种记性好的人,程风见过他一面就知道。他记得档案编号,记得基因活跃度的波形特征,记得第一次谈话时程风说的那几句话,每一个停顿大概都能复述。这种人存到硬盘上的东西,不会因为系统自动归因而删除。他只是现在没有证据。他在等,等下一次数据。
程风决定不给他下一次数据。
郊区暂停。积累方式需要调整。位置、频率、死亡类型的组合,都需要重新规划。三十天后系统自动关闭调查,但如果在那之前再触发一次报警,莫中校就会同
时拥有两组数据。那时候相似度就不是20%了。
他闭上眼睛。窗外有雨声,先是很稀的几滴打在铁皮雨棚上,然后变密了。雨水从六楼雨棚的边缘流下来,落在五楼空调外机上,节奏不规律:大滴,小滴,小滴,大滴。
这声音他听了三年。闭着眼睛也能从雨声的大小判断雨势。
今晚的雨不大。但很持续。像是在上面某个高度上有一层很薄的云,不厚,但很长,怎么走都走不完。