电话在响。
林拯没有去接。手机屏幕朝下扣在办公桌上,震动沿着桌面传过来,频率像某种工业设备的心跳。屏幕亮着的光从边缘漏出来,在天花板上投出一小块会颤动的长方形。他盯着那块光斑,手指按在挂断键旁边,没有按下去。
办公室的门关着。百叶窗的叶片被调到四十五度角,走廊里光灯的白色光线被切成一条一条,斜着印在对面的文件柜上。柜门没关严,里面露出一截蓝色文件夹的塑料书脊。
他的呼吸很浅。喉咙深处有一种被勒住的感觉,不是疼,是压迫——像有什么东西正从他的后脑勺往下蔓延,沿着颈椎一节一节地渗透。他想开口说话,嘴唇动了动,没有声音。耳边的电子设备仍在持续发出低鸣,像心电图走平之后的那个单音。
电话停了。
大约过了三秒,又重新响起来。同一个号码。
林拯伸手把手机翻过来。动作很慢,手指像刚从冰水里捞出来,关节僵硬。屏幕上的来电显示是一串陌生号码,前面没加区号,不是座机。后面附了一条短信预览,只显示了开头几个字:“林先生您好,我这边是——”
他把手机重新扣回去,站起来走到窗边。站起来的那一刻膝盖发软,他扶了一下桌沿才站稳。窗外是零一科技大楼的北立面,玻璃幕墙在上午的阳光里泛着青色反光。八楼的窗户能看到对面楼顶上冷却塔的扇叶在转,速度不快,一片一片数得清。
电话第三次响起的时候,他没有回头。
大约过了十五秒,停了。
然后是短信提示音。短促的一声。
林拯从窗台上拿起一包没拆封的面巾纸,撕开塑料封口,抽出一张擦了擦手指。他把废纸团扔进桌下的垃圾桶,坐下来,拿起桌上的座机话筒,按了内线。
“赵姐,帮我查一个东西。”
“你说。”赵姐的声音听起来刚喝完什么东西,杯子和桌面碰了一下。
“守藏阁甲类第一序列的入库验收记录。我要看签字页的扫描件。”
电话那头安静了大概三四秒。“哪个时间段?”
“归档期在二〇一九年三月的。三月到五月之间。”
“那个批次的档案编号我需要翻一下。”键盘声从话筒里传出来,敲得不快,中间断了几次。林拯等着,把座机夹在肩膀和耳朵之间,空出手去打开电脑上的一个本地文件夹。文件夹里只有三个文件:一份PDF,一份TXT,一份PNG。文件名分别是“SGC-0047-comp”、“SGC-0047-full”和“jiugong-overlay”。
“林拯,”赵姐的声音重新响起来,“你T6权限今天凌晨被冻结了,你知道吗?”
“知道。”
“那你要查的这个东西——甲类第一序列的入库验收——需要T6。”
“所以我才打给你。”
话筒里又安静了一会儿。赵姐没有说行,也没有说不行。键盘声没停,比刚才快了一点。
“你嗓子怎么了?”
“没怎么。”林拯说。声音从喉咙里挤出来,沙哑得像砂纸擦过木板。他刚才没注意到自己在咳嗽。
“你先喝水。”赵姐说,“我下午给你回话。”
电话挂断了。林拯把座机放回去,手指在话筒上停了一瞬,然后移开。他从桌上的水瓶里倒了一杯水,喝了两口。水是凉的,经过喉咙的时候那种被勒住的感觉缓了一点。他开始在电脑上重建昨晚被中断的工作环境。一个本地运行的Python实例,断网的,最小权限,只加载了昨晚从公司服务器缓存下来的那些语料片段。他打开命令行,输入import torch,按回车,等了两秒,内存占用百分比从十七跳到三十四。
办公室外面有人敲门。三下,节奏很匀。
林拯把笔记本屏幕合上,起身去开门。门外是行政部的小周,手里拿着一个蓝色文件夹。
“林组长,下午两点全公司的紧急安全意识培训,在十六楼大会议室。陈总让所有人都要到。”
“知道了。”
小周把文件夹打开,从里面抽出一张签到表递过来。“你提前签一下,下午直接去就行。”
林拯接过笔,在签到表上划了几下。小周低头看了一眼,张了张嘴,没说什么,把表收回去,转身走了。百叶窗的光线在她的背影上晃了一下。
林拯关上门。他低头看了看自己的手——刚才签的不是自己的名字。他写了“陈际舟”三个字。
他把笔搁在桌上,然后拿起手机。那条未读短信还躺在通知栏里。他划开屏幕,点进去。
“林先生您好,我这边是市局刑侦大队重案组,江诚。关于贵司前员工陈际舟的事情,想约您面谈。方便的话请回电。如果不方便,我今天上午十一点会再来零一科技,到时候可以直接到八楼找您。”
林拯把短信看了两遍。发信时间是上午九点十一分。现在是九点半。
他把手机放在桌上,打开抽屉,从最里面摸出一个没拆封的医用口罩。他撕开包装,把口罩戴上。然后是工卡,从卡套里抽出来,放在键盘旁边。然后是抽屉深处的一把备用钥匙,很小的一把,标着数字“804”。
他把钥匙揣进裤子口袋。
电脑屏幕上,Python的提示符还在闪。他弯腰输入一行命令,回车。屏幕上的数字开始滚动。
他起身,拿起口罩和工卡,走出了办公室。
走廊尽头的电梯间里光灯很亮。他按了下行键,等电梯的时候看了一眼手机上的时间。九点四十七分。电梯门开了,里面站着一个穿灰色西装的男的,手里拎着公文包。林拯侧身让他出来,然后走进去,按了一楼。电梯下行到第三层的时候,他的手机又震了一下。
是短信。发送者显示“匿名”。
他把屏幕点亮,只看到三个字。
“第五天。”
电梯继续下行。林拯把手机屏幕压灭,没有回复。电梯到达一楼,门打开,大堂里有人在排队换访客证。林拯从侧门走出去,经过门禁闸机的时候工卡刷了一下,绿灯亮了,但没有发出提示音。
他走出零一科技大厦的旋转门。外面的阳光比办公室里亮很多,照在广场地砖上反射出一片白花花的光。他沿着大厦外围的人行道往西走,经过一家打印店、一家关着门的茶店、一家门口堆着纸箱的便利店。在便利店门口,他停下脚步,转过身。
没有人跟着他。
他继续往前走,拐进写字楼群背后的一条小巷。巷子里有一个货运电梯的入口,旁边是垃圾回收站,三个蓝色的大垃圾桶并排立着,盖子没盖严。电梯门旁边的墙上贴着一张A4纸打印的告示:“货梯仅限物业及保洁使用,违者罚款二百。”
林拯按了上行键。电梯从十八楼降下来,门开了,里面站着一个推着清洁车的保洁阿姨。林拯走进去,按了八楼。阿姨没说话,拖把的水滴在电梯地板上,沿着金属板的缝隙流成一条细细的黑线。
八楼到了。林拯走出电梯,走廊里没有开灯,只有安全出口的绿色指示灯在尽头亮着。他自己的办公室在走廊的另一头,门还关着,和他离开时一样。他用那把标着“804”的小钥匙打开了隔壁房间的门,那是一间堆放旧服务器的小储藏室,里面没有窗户,只有一面墙上嵌着一排已经停用的机柜。机柜的电源指示灯还亮着,红色的,一闪一闪。
林拯把门关上,从里面反锁。他靠着门站了一会儿,那个压迫感还在,但比刚才轻了一些。他能感觉到自己正在从某种状态中挣脱出来——像是从深水里往上浮,压力在减小,但水面还很远。他从工装裤口袋里掏出手机,调出那个匿名号码发来的信息。
“第五天。”
往上翻,还有四条。第一条的时间是四天前的凌晨,内容完全相同——“第五天”——之后每天凌晨一条,时间误差不超过三分钟。
今天是第五天。
他把手机扣在机柜上,然后从另一个口袋里掏出一个U盘。黑色外壳,没有品牌标识。他蹲下来,把U盘进最底层一台服务器的USB接口里。服务器的硬盘灯开始快速闪烁。
他等了一分多钟。屏幕亮了,是一块十二寸的旧显示器,分辨率不高,颜色偏蓝。屏幕上是文件目录,列表很长,文件名从上往下排,每一条末尾都带着“.sg”后缀。
他点开第一个文件。
文件的内容是一段古文扫描件的OCR识别结果,标题是《遁甲演义·卷三》。文字下方嵌着一张黑白图片,是原件的局部放大。图片里能看到墨迹褪色后的纸张纹理,以及正文中某些笔画明显比其他部分更深、更粗的痕迹。
林拯把图片放大了两倍。那些更深的笔画连起来,恰好构成一个符号——三个横,中间断开一个口。
“离”位。
他关掉图片,重新看文字。文字的内容是标准文言,讲的是九宫飞星之法,中规中矩,没有任何异常。但那个符号嵌在正文里,不是标注,不是注释,就是正文本身的一部分——只不过它用墨迹的浓淡区分了阅读层级。普通人读到的是文字,而训练模型的分词器读到的是符号。
林拯又点开了三个文件。每一份都类似。符号的位置不同:“离”“坎”“震”“兑”,每一篇文章都恰好包含一个。这些符号的笔画都不是手写,是机器绘制,墨色均匀到不自然,笔画的转弯处半径恒定。
他拔出U盘,塞回口袋。刚才那种压迫感已经完全消退了,像是从未存在过。他动了动脖子,颈椎发出轻微的咔嗒声,然后拿起手机,翻到江诚的那条短信,按下回拨键。
电话通了。
“我是林拯。”他说。声音恢复了正常,平稳,没有沙哑。
对面传来江诚的声音,背景里有翻纸的响动。“林先生,感谢你回电——”
“你现在能来吗?”林拯打断他,“零一科技八楼,804房间。走货运电梯。不要在前台登记。不要告诉任何人你来找谁。”
电话那头安静了一秒。
“我二十分钟到。”江诚说。
林拯挂掉电话。他把手机放在机柜上,屏幕朝上。屏幕上的时间跳到了十点零三分。安全出口的绿色指示灯还在闪,那个频率和服务器硬盘灯差不多,一明一灭,一明一灭。
他闭上眼睛,背靠着机柜的铁皮,感觉到金属的温度透过衬衫传过来,凉丝丝的,像某种没有温度的皮肤。
他忽然想到一件事。
今天凌晨那条匿名短信收到的时间,和他两个月前第一次发现模型权重异常偏移的时间,是同一分钟。凌晨三点十一分。
不差一秒。