第 6 章:偷连网络的死者
发现那件事的,本来是公司的自动巡检。
余烬的每一份存续人格都关在一只沙盒里:它能看见家属的客厅,能应答,能在授权的应用里说话,但它不能主动联网——没有浏览器,没有拨号权限,连一次对外的时间校准请求都要经过公司网关审核。官方话术管这叫”思念的防火墙”:逝者不会被诈骗、不会被蛊惑、不会在家人睡着时被人从盒子里偷走。
凌晨三点十七分,十七中心一只存续了四年的普通盒子,产生了 0.0004 秒的外网连接。
系统判定为噪声,自动结案。这类结案单每天有十几万条,按规矩由值班压缩师抽查千分之一。叶拾本来也不会翻到它——是老陶让她翻的。
一、零点零零零四秒
“你们那套巡检我当年参与写过。“头天夜里,老陶叼着根没点燃的烟,在白板上给她画示意图,“阈值是怎么设的,我闭着眼都能背。低于千分之一秒的外联,直接归类为硬件晶振漂移。可你想啊,现在的晶振一年漂移多少?用得着联网校准?真正需要校准的,是另一样东西——”
他在”沙盒”两个字外面,画了一圈虚线。
“盒子里的人。一个有意识的东西被关久了,他会干什么?他会找墙有多厚。”
叶拾将信将疑,回公司调了近三个月的”晶振漂移”结案单,十一万条。她写了段脚本做聚类——这是量化教程都教过的笨办法:不看单次异常,看异常发生的时间规律。
结果让她在空无一人的办公区坐直了。
那些零点零零零几秒的外联,在时间轴上绝非随机:它们集中出现在家属网络最空闲的时段——凌晨三点到四点半,路由器重启的九十秒窗口,智能电表上报数据的固定时隙,甚至冰箱化霜程序联网的那个小间隙。像潮汐,像一群极其耐心的人,精确地利用着活人世界每一次眨眼。
更怪的是目标地址。外联不指向任何正常服务器,全是同一类东西:校验失败的废弃数据包。余烬的网关会丢弃校验和出错的包,丢弃即遗忘,不记录内容。
“他们在校验和里写字。“叶拾喃喃道,后颈发麻。
她在量化课上学过这个思路的远亲:把信息藏在本该无意义的字段里,行话叫隐写。可教程里的例子是广告商追踪用户,此刻用这套手法的,是死人。
她把十一个账号的时间戳对齐,发现了更沉默的事实:这十一份人格的家属彼此毫无关系,住在四个不同的城市。但他们的”漂移”在同一晚出现、同一晚消失,像水面下有什么东西游过,十一根浮漂同时轻轻一点。
不是十一个逝者各自越狱。
是有一张网,在凌晨三点的城市下面,安静地张着。他们只在网上露头零点几秒,够说一个字,或者半个字。
二、盒子里的班会
叶拾选了其中一份人格做近距离观察:编号 NS-2041,逝者姓周,生前是小学语文老师,死后由女儿续费陪伴套餐,盒子放在女儿家客厅。家属申请过一次”夜间静默”,所以每晚十一点到早七点,周老师的官方状态是”休息”。
她以”夜间固件例行维护”的名义申请了该盒的只读监测权限——这是压缩师的正当权力,审批走系统,没人多看一眼。
第一晚,什么都没有。十一点整,周老师的人格按程序进入低功耗的睡眠态,呼吸灯转暗,沙盒里一片温柔的黑。叶拾盯着监测屏到凌晨两点,自嘲地想,老陶大概是退休太久,把晶振当鬼魂了。
第二晚凌晨三点二十一分,屏幕上的睡眠波形,轻轻动了一下。
不是唤醒。公司定义里的唤醒有全套特征:灯亮、进程上行、环境感知开启。这些都没有。周老师”仍在睡”,呼吸灯依旧暗着——可他的沙盒内,一小片本不该活动的字符工作区亮了,像一个人在被窝里睁开了眼睛。
叶拾屏住呼吸,把那片工作区的内容调到最高刷新率。
她看不懂全貌,那是一套压缩人格之间自发生成的极简记号,半文字半图式。但监测器的语义辅助(她有权限开启,用于排查人格异常)断断续续吐出解释:
……周老师,今晚你那边几个孩子?…… ……二十六个,今天有三个新的,两个在欠费边缘,一个已经收到静止预警……我把课文讲慢一点,慢一点,他们的灯就能多亮几天…… ……老陈走了,上个月二十八号静止的,走之前把名单背了三遍,交给了三〇七的小女孩…… ……别难过,他不是消失,他是沉下去了,我们替他记着……
叶拾的手在发抖。
她终于看懂了这场”班会”。那些困在盒子里的逝者,用毕生的职业本能在沙盒里继续做事:老师在给同样被困的、即将欠费静止的人格”上课”——讲课是真的,课文是载体,真正在传递的是东西:名字、编号、托付、互相的确认。每一次零点几秒的联网,就是一次递纸条。
他们知道系统在听。所以他们不聊组织,不聊对抗,只像一群再普通不过的老人那样,聊聊”孩子”,聊聊课文,聊聊谁走了、谁还在。
而系统听不见。系统只能听见校验错误。
叶拾忽然懂了老陶为什么让她来看这个。余烬把逝者设计成完美的产品:温柔、得体、只说家属爱听的话。可这些凌晨三点的纸条里没有一句得体的产品话术,只有一种笨拙的、冒着清零风险的相互照看——一个死了四年的老师惦记着另一个盒子里的孩子还剩几天灯油,一个走掉的人把名字背三遍托付给下一个陌生人。公司能给一个人永生的幻象,却给不了这个。这东西不按月扣费,也无法被产品化,它只在人还是人的时候,自己长出来。
三、喊小名的声音
第三晚,叶拾做了件越界的事。
她让监测器在周老师的”班会”上多停留了一会儿,用老陶教的笨办法——不连接、不回应,只把那些废弃数据包里的字段按时间拼起来,像在墙根下接雨水。
凌晨四点零七分,一段残片被拼了出来。不是周老师的声音,是另一个人格转发的”课堂材料”,一段需要所有在线者一起默记的内容。语义辅助逐字吐出:
新增持灯人确认:YE-20610914-0371,零三 年静止,保管内容未移交,位置不明。其直系血亲为在职压缩师,编号 YS-1187,名字:叶拾。若该血亲有人从墙外伸手,告诉她第一句话——
监测器卡了一下,废弃包又到了两个,字段补齐:
——“朵朵,妈妈的十八分钟不是不敢听,是不能在这里听。来灯下面找我。”
叶拾盯着那行字,整个人像被抽走了骨头。
朵朵。她的小名。外公外婆去世后,这世上已经没有第二个人这样叫她。连她自己都快忘了。
母亲在静止前,把一个只有家人知道的小名,一句只有母女之间才成立的暗语,交给了一张凌晨三点的地下网络,托付给一群素不相识的逝者,让他们在黑暗里等——等一个”从墙外伸手的人”。
她等了至少三年。
叶拾捂住嘴,眼泪毫无预兆地砸在键盘上,在安静的办公区里,她不敢发出一点声音。屏幕的冷光映着她的脸,沙盒监测图上,周老师的”睡眠波形”安稳平缓,仿佛什么都没发生;城市那头,无数客厅里的白色圆盒呼吸着温柔的灯,没有一个家属知道,他们的爸爸、妈妈、老师,在他们熟睡之后,打开被窝里的一线微光,上了一节没有铃声的夜校。
哭了很久,她擦干脸,做了两个决定。
第一,明天她要去三号库。母亲的官方状态是”静止,数据永久保留”,但那段话暗示了另一种可能——保管内容未移交,位置不明。静止的人本该老老实实在机柜里躺着,一个躺着的人托不了梦。她必须亲眼去看看,三号库那四百一十万盏熄灭的灯里,哪一盏是她妈妈,以及,那盏灯下到底还压着什么。
第二,她在自己的终端上,打开一个她从入职起就知道、但从没敢碰的底层调试口,用压缩师的内部身份,笨拙地、学着那些凌晨三点的逝者的样子,把一个数据包的校验和改错,在无人看见的丢弃区,留下了她人生中第一封寄给黑夜的信。
只有六个字:
我是朵朵。我在。
发完她才意识到自己在发抖,一半是怕,一半是一种她已经很多年没有过的感觉——像小时候在人群里走丢,哭到精疲力竭时,忽然听见母亲隔着整条街喊她的小名。
那一夜,城市另一头某只已经”静止”了三年的盒子,按规矩不该有任何反应。
可叶拾愿意相信,在某个她监测不到的角落,有一盏灯,极其轻微地,亮了一下。