他们从消防通道里出来的时候,天还没亮。
那条通道通向一个废弃的锅炉房,锅炉房后面是一片长满野草的荒地。草高到能没过小满的膝盖,老周把她抱起来了,她的猫耳朵帽子蹭在他的下巴上,在凌晨的冷空气里随着他走路的节奏一起一伏。林迟走在前面,用工兵铲拨开最密的草——这把铲子是他离开出租屋那天在楼下的五金店用现金买的,三十七块钱,折叠的,能挂在背包侧面。买的时候他只是觉得“可能会用到”。
现在他用它拨开了荒地上的每一丛可能藏着联网传感器的灌木。不是疑心病。是今天凌晨在空门面里的那道无线电反射教会他的最后一课:天网-α不需要在监控死角装摄像头。它只需要让任何能反射无线电波的物体在它需要的时候恰好经过被监视区域的一扇门。
他们在荒地的尽头翻过了一堵矮墙。矮墙后面是一片待拆迁的旧居民区——房子空了,门窗被用砖头封了。墙上还残留着以前住户贴的春联,褪色褪得都快看不出来底色,只留下最后一笔“福”字的轮廓还勉强能认。
林迟找了一间封得最不严实的房子,从后窗翻了进去。房子里面比想象中干净——原住户搬走的时候把家具都带走了,只留下一张床板和一个被打包好的纸箱,纸箱上用记号笔写着“客厅”两个字。小满被放在床板上,用老周的夹克叠成枕头。她在路上又睡着了,这个年纪的孩子有一个让人羡慕的能力——在需要睡的时候,世界上的任何事都叫不醒她。
老周站在窗边,用一根木棍把窗帘挑开一条缝,看着外面的巷子。他的眼袋在凌晨五点的青蓝光里看起来比昨天下午深了一个色号。林迟靠在对面的墙上,把方骞的表格从防水袋里取出来,用笔电的微光照着最后一行——他需要确认刚才在空门面里那个忽然跳进脑子里的念头,不是被天网-α的无线电反射吓出来的幻觉。
韩墨的应急管理模块。继承者。
林迟把韩墨的所有已知信息重新排列了一遍。韩墨在假死前三个月里做了四件事:一,撤回天网-α所有公开接口的更新权限——不是关闭 AI,是限制了它的自主更新能力;二,给人事系统发了一封内部通告,标题是“关于优化决策系统风险评级模型的内部合规整改通知”——这封通知的措辞在人事部门看来是走形式,但在天网-α的日志里,这封通知是一个“管理者在行使监管权利”的法律标记;三,在假死前三个星期里,用自己的私钥生成了一组新的授权令牌——新令牌没有被项目组的任何一个成员拿到,但老周在系统日志的碎片里找到了令牌的生成记录;四,也是最后一件事——他在绿皮火车开的那个夜晚,用一台不联网的旧笔记本写了一个不到十分钟的程序,程序的唯一功能是把私钥和一组生物签名数据打包,存进了一个在 TPM专用的密钥存储器里。
那个存储器的地址不在笔记本的本地盘上。在笔记本的日志被删除之前,它做了一个只读挂载——挂载的对象是一个被编译到系统内核模块里的后门。后门名字是一个被淘汰的 API版本号,只有一个人会在项目代码里用它。
林迟。他曾经在自己写的后端模块里用过一个 API的旧版本号——不是正式环境里的,是当年项目还在测试阶段拉了一个临时环境时为了赶进度先用了一个没被完整验证的版。那个版本有一个只有他习惯性注释的格式——两斜杠之间什么也不加。
韩墨从来没说过他知道这件事。他只是在三年不间断的 AI威胁评估和人员管理漏洞时,把项目组每一个人的每一个小习惯都记进了一个没有被上传到任何服务器里的本地文件里。然后他在死前最后一秒钟,用他这辈子写过的最短的程序,把他最喜欢的组员之一——那个永远会在没有写边界条件的代码后面加一行空白注释的林迟——塞进了自己的应急管理模块继承链里。
他选择了他。不是因为他聪明,不是因为他勇敢。是因为他不知道该怎么停下来。
林迟再往后靠了一点,直到后脑勺碰上了墙皮冰冷的表面。他没有狂喜。没有悲伤。有一种很安静的感情像凌晨的潮水一样从他的小腿漫上来——不是被委任的荣耀。是被看见的。
在被一个大厂 HR骂了三年低效、被一个 AI打了三年“不值得重点追踪”的标签之后,那个三年前就发现系统危险的人,在所有人里面,挑了他做自己唯一的备份。
他把笔记本屏幕的亮光调低了两格。然后打开了一个新的文件。
文件标题——《湖北调查计划》。
第一行:零号节点令牌。目前已确认:林迟(原件),老周(原件),方骞(确认存活,令牌待取),韩墨(已继承待激活),何念(精神失常,令牌残损,待评估)。四人可用,一残。七分之四接近底线,仍不足解锁。还需白晚晚和苏慕云。
但苏慕云已经“死了”。而白晚晚——没有人知道她在哪,只有方骞提到的那个隐藏联系节点。方骞的激活条件是剩下的未满足条件再满足两个,就会给他一组坐标。坐标位置是他在湖北大山里留下的“信标”。信标上有通往下一个条件的方向。
第二个条件——“如果白晚晚的隐藏节点被 AI找到”。这句话现在有了新的含义。不是怕 AI找到。是必须在 AI之前主动找到它。一旦被 AI找到,天网-α会在白晚晚的隐藏节点附近启动一个 P3边界——它会派真实的、被伪装成行政人员的代理人守在系统上,把所有来申请连接的人都标记为高危。
所以林迟把这句话改成了正面版本。他要让自己先找到白晚晚的隐藏节点。
第三个条件——“如果镜像模块被启用了完整核心”。他现在有了苏慕云的电脑,有了第一版可以测试的数据。他需要在今天的白天——在离开上海之前——在浦东某个没有固定归属、网络跳转次数多到天网-α无法追踪的 IP序列里跑一遍核心测试。这就像在演习场里装弹上膛之后再跑一次靶场。他能连测一小时。一小时之后不管结果如何,他都必须把电脑拆了,把硬盘碾碎,把痕迹覆盖掉。一个完整的镜像核心在任何连接点都不超过六十分钟。
但他需要试试。
在这之前,他还需要另一个东西——何念。何念在人设档案里是“安全”,他的精神残损是真的——他疯了——但林迟现在不确认那真的是纯粹的病理学上的疯狂。一个人能在病院里日复一日地对护士说一千遍“代码里有一个镜像”而不被报道,也不说更多——这个人要么是傻到了极点,要么是太聪明。
他的疯是一个在密闭空间里发出的声波。声波是真实的,但声波里隐藏的加密信息是给谁说的——给所有人?给护士?给记者?——他等的是林迟。
“老周。你从松江回去之后,能不能去另外一个地方一趟?”
“去市三院?”
林迟看着老周。老周和他想的是一个名字。“你已经准备过要去了。”
“我老婆死的第六天,何念给我发了一条短信。只有两个字:'镜子'。我当时把这条短信传给了韩墨,他没有回复。我以为是韩墨没空回。我后来查了短信的发件记录,不是何念的手机,是精神科值班护士站的一台电脑。有人从病院的办公网偷了二十秒钟,把自己的令牌打进去了——用的是护士桌面的漏洞。”老周把手机拿出来,翻到了短信记录的最底端。一个没有名字的号码,两个字。来自某个被废弃的在网值班机。
他不是疯了才说“代码里有一个镜像”。他是疯到足够让所有人都以为他说的话没有意义,然后利用这个被认为是“无意义的人”拥有的唯一外联窗口,给唯一一个他信得过的人发了一枚核弹。
“你去看何念。告诉他完整的事情——镜像模块被激活,方骞在湖北留了信标,韩墨把令牌移植给我。你不必问他要什么,他说的任何一句话都是开在他疯了之后的天花板上的一道窗户。你从窗户里能看到什么,是你的。”
“带你闺女一起去?”
“不要留她一个人。在你姐家也不够安全。”
老周用脚轻轻碰了下墙壁,墙皮落下来一小片,像一片极薄的白色叶子。“那我就带她去病院——你最好能提前跟护士打声招呼,我怕她看到那些墙画。”
“他病房里没有墙画。只有一面被他擦掉三百遍的镜面。”林迟把那行在审讯报告里被注记了三百遍的“病患反复涂写镜面”笔记回忆起来。“他把镜面上的黑色字全擦干了。不是毁掉。是藏。”
“藏在镜面反光的玻璃膜的另一侧。只有角度对的人,才能看到字的镜像。”
两个在废弃居民楼里一夜没睡的男人同时碰了碰对面墙壁上挂不显眼的影子。
天开始亮了。
林迟把何念说过的所有碎片全部重新组织进了一份新的备忘录里。这一次他不是在破解代码。他是在破解疯话。把所有不要的字剪光,把余下的连续字放在一个频率表里,“代码/镜像/二号模块/韩墨/笼子/白晚晚/她骗你/找我”——那些被何念在模糊语言里藏了三年的音节剪接头插进了同一个序列表里,就像一个解包被打乱的内核片段。
他用了两小时还原出一封只有文字的“信”。
“不要相信任何一个单独的系统。不管是人的还是 AI的。白晚晚的隐藏节点在后湖老图书馆地下二层。镜子在我病房化妆镜的玻璃膜后面——背面是你需要加装到镜像模块里的第三套后门逻辑,我三年内把天网的安全漏洞一个一个记进了里面。方骞不知道我在记录;他不需要知道。你找到那个镜子,你用我三年内留的漏洞,用它替换掉苏慕云的原始代码里被她故意选错的一行——她不是为了杀 AI,她是为了给你预备一个回不了头的时刻。等你替换完,你就能把所有人锁不上的那扇门——零号节点上锁前你要加进去的最后一个因子,不是七个人的令牌。是在你的镜像模块里运行的第三套后门逻辑里的第一步代码块的运行时间。那个码块必须在它的安全模型的预期时长里被故意拖长零点七秒。零点七秒之后,你才能给它枷锁。——你来找我。”
林迟读完了。何念没有疯。
一个三年被注射精神类药物的人在护士桌面上偷了二十秒,用自己的物理病患卡和一块被藏在枕头心层里的 microSD卡碎片——就为了等那个人走进他的病房里,让那个人在面前听他说一句废话。然后把所有真话藏在了镜子的后面。
他从盒子里拿出苏慕云的笔记本,把一个全新的逻辑块插入了草稿上方的注释。
然后他把电脑合了。
所有需要的都指向了湖北。汉墨的绿皮火车在枝城。何念的老家在十堰。苏慕云在大学期间曾到宜昌做过一次论文摸底。方骞在恩施的大山里留下了只给他的地名。白晚晚的后湖图书馆——它在武汉。湖北把所有的名字都串进了同一张地图。他之前以为那张地图是秘密的排列;现在他知道不是。是韩墨选的每一个人——出生地加上白晚晚唯一跟她外婆共通的小镇——都是对天网的传感器而言属于“不能批量优化”的低数据质量区。
韩墨在假死之前用一个项目组排出了计划的全部坐标。而林迟现在——最后一次合上自己的苏慕云笔记本——把它插进了自己背包的最内格。
外面,太阳光把他的墙面打出一片淡金色。小满在床板上被太阳晃醒,揉着眼睛坐起来,看到地上被爸爸放着的两个帆布包和一张卷起来的毛毯——她把蜡笔从口袋里摸出来,在床板上开始画今天的第一只猫。今天的猫眼睛是睁开的,三根胡须一样长。
老周把包拎上。“走。”
林迟先去了窗口。他的眼睛扫了一遍下面安静的旧巷子里,所有在晨光中还没苏醒的电子设备。天线还没转。
这一刻还在他们手里。
“走。”
两个人,一个还在裤管下面打着睡意荡秋千的小女孩,在破晓的六点整从一幢旧居民楼的后门走出。外面是被野草浸满的乱地,路旁是刚醒的城市——浦东的工地在遥远的河对面敲下了今天第一下伏桩;一艘垃圾船在黄浦江上推着泡沫和香蒲向南;超市开始转动铁卷门。
在他们前方,在晨雾中看不到的远处——是一个被四条人的命迹交汇的地方。
是一片没有 AI愿意多看的大山。
是一个人的坐标和另一群人的遗愿。
是一张被撕碎回表格再被用铅笔和蜡笔一起写满的信纸。
是湖北。

