列号贴条,没有任何能被认出来源的标记。终端屏幕朝下贴着大腿外侧。他走向靠墙的位置,把终端放在一张旧机柜上,打开。屏幕亮起来的时候,他的拇指已经在触控区上。
宋协调员没有介绍他的名字。只说:“技术协调员。”
然后开始。
陈路从共享终端上调出静默预警库第七期数据,投影到白板上。投影正好遮住了刚才被擦掉的那几行字的灰色痕迹。他按宋协调员的要求,逐条解释。
“数据采集的时间频率是多少?”
“核心区每四十八小时一次完整校验,缓冲带每七十二小时一次。时间戳均以协调世界时标定。”
陈路答的时候没有看屏幕。他看着宋协调员的眼睛。余光能看到靠墙那个年轻人的拇指动了一下。
“校验脚本的版本号是什么?”
“第七期数据用的是7.1.3版。更新日志在内部库第三分区的第三目录下。”
拇指又动了一下。
“偏差阈值的定义依据是哪份内部规范?”
“依据的是项目组内部技术规范第四版第二十七条,按三级过滤设定——一级滤除仪器误差,二级滤除环境波动,三级滤除待定期特有的模型漂移。”
第三下。
林序站在数据终端后面不远的位置。他注意到那个靠墙的年轻人拇指每划一次,指腹在屏幕上移动的幅度都差不多——从上往下,不带横向偏移。这个动作太规律了。不像在看文档——看文档的时候人的手指会停,会来回划,会在某个数据上反复放大。比对的时候不同。比对的时候人会重复同样的手势:看一眼数据,划一下,确认一行,再划一下。
林序趁着倒水的空隙从年轻人身后经过。侧头看了一眼屏幕。
屏幕上是一个数据架构图。节点和连线密密麻麻,右上角显示着一个他用过多次的图形——静默预警库的数据结构拓扑。这个拓扑不在任何公开文档里。不在评估会材料里。只在项目组内部加密分区里。
那个年轻人的拇指又划了一下。第四次。
这次划完之后,他微微侧了侧头。幅度很小,不超过五度。
林序回到自己的座位,在纸上写下:“带了图来的。图上有我们的结构。”
整个过程持续了不到两个小时。
五点差一刻,宋协调员看了看手表。动作自然——手腕抬到胸前,表盘朝向自己,扫一眼,放下。他说:“今天就到这里,感谢项目组配合。”
他把保温杯拧上,收进夹克口袋里。那个年轻人合上终端的盖子。盖子合上的声音很小,橡胶垫圈吸合的闷响,像把什么东西封了回去。
他们走出备用机房。走廊里脚步声渐渐远去。机房的门没有关紧——门锁的弹簧舌只弹出了一半,卡在门框和门扇之间——从门缝里传来电梯到达的提示音。电梯门开,电梯门关。
那个年轻人自始至终没有说过一句话。
陈路站在白板前。投影还亮着,静默预警库的数据结构图照在被他擦过的那块灰色痕迹上。那些被擦掉的字的轮廓在投影的亮光下反而更清楚了——不是墨迹,是擦的时候把白板表面的光泽磨掉了,留下了哑光的印痕。
“他手里那台终端上有我们的数据结构。”他说,声音很平。“不是我们给的。不是评估会材料里的。是他自己带来的。”
顾远从窗边转过身。下午的阳光已经完全移位了,照不到机柜,照不到白板,只照在窗台角那盆绿萝上。底下的两片叶子黄透了,叶缘卷起来,像被烤焦的纸边。盆土是干的,表面裂开细密的纹路。
“他在对什么。”
“不是对答案。答案他知道。他对的是校验逻辑和数据结构之间是不是吻合。”陈路把投影关掉。白板上新写的字和旧擦的痕一起浮现出来。“我说校验周期四十八小时。他看的是数据结构里有没有能在四十八小时内完成全量校验的节点配置。我说偏差阈值用三级过滤。他看的是结构图里有没有三个独立阈值分支。我说一句,他对一行。他屏幕上的拓扑图旁边有一个对勾标记——我从他身侧经过时看到的。已经勾了十七行。”
备用机房里安静了几秒。散热风扇的声音在这些秒里特别清晰。是那种老式机柜风扇的嗡鸣,转速不均匀,每隔几秒会有一次轻微的变调。
“十七行。”周启明靠在机柜上,双手交叉在胸前。他的背贴着冰凉的金属面板,能感觉到机柜内部的震动通过脊柱传上来。“他问了十七个问题,得到了十七个答案,比了十七次对勾。但他没问第十八个。顾远之前公开过的方向性偏差分析他没问。预测精度衰减曲线的拐点时间他没问。待定期外部数据接入端口的名称和权限他