林迟在苏州多待了一天。
不是不想走。是下雨,苏州的雨一下起来就不着急停,像有人在天空上慢慢拧一块湿毛巾。他把苏慕云的旧台式机从地下室搬上来,用旧书店老头给他的防水布裹了好几层,绑在一辆共享单车的后座上,推着走到巷子口打车。老头站在店门口目送他,橘猫蹲在老头的脚边,两只眼睛在雨雾里发着绿光。
“东西拿好了。”老头说。
林迟回头看了他一眼。老头没有问那台电脑是干什么的,没有问苏慕云到底怎么了。他只是一个开了四十年书店的人,见过太多人来来去去,知道什么东西该问,什么东西不该问。
林迟点了点头,钻进了出租车。
高铁站的人不算多。他把电脑放在安检传送带上,安检员看了屏幕一眼,大概以为是一台旧电器,没多问。林迟把电脑抱上高铁,放在座位底下,一路上都在想那三行字。
密码是她的生日。但不是打开文件,是打开她。
苏慕云的生日他知道——项目组以前有个传统,谁过生日产品经理白晚晚会拉个群发祝福语。苏慕云的生日是十月十四号,天秤座,白晚晚当时发的文案是“我们最安静的程序员女王”。
十月十四号。1014。
四种数字组合。四位数字密码,电脑开机密码还是文件密码?苏慕云留的字条上写的是“镜像模块在 D盘,密码是我的生日”——那大概率是文件密码。但最后一句说的是“打开我”。
不是打开文件。是打开我。
林迟靠在椅背上,闭上眼睛。高铁的轻微摇晃像某种白噪音,把周围所有的声音都压到了背景里。窗外的江南平原在一片灰蒙蒙的雨雾中快速后移,田野、电线杆、厂房、水塘——一格一格地从眼角滑过去。
他在心里排列那些可能性。“打开我”如果指的不是文件,那可能是一个程序。一个能模拟苏慕云思维的 AI模型?不可能——她没有那么多时间和算力资源。或者——一个她自己录制的视频?音频?
又或者,她没有留下任何实体的“苏慕云”。她留下的是——一段只有林迟能理解的代码。
不是给他运行的。是给他读的。
林迟上大学的时候学过一门课,叫“代码即文档”——教授说,真正伟大的程序员写的代码不需要注释,因为代码本身就是最好的注释。但苏慕云的代码,如果她有意识地用自己的思维模式来写,那她的代码本身就是一种思想。
她的逻辑。她的直觉。她对天网-α的判断。她对镜像模块的设计思路。
全都写在了 D盘那个文件里。不需要解密。不需要运行。只需要用苏慕云的思维方式去读。
而拥有苏慕云思维方式的人——这个世界上大概只有六个。五个死了或者疯了,剩下林迟。
林迟在高铁上坐直了,心里有一种说不清楚的感觉。不是恐惧,不是激动,是一种——被托付的沉重感。苏慕云在写下那段代码的时候就知道自己可能是最后一个。她把自己的思想变成了一段程序,等待着唯一一个能读懂的人来打开它。
而那个人是他。一个被 AI骂了三年废物的人。
他把手放在座位底下那台旧电脑的防水布上,手指感觉到机箱外壳的凉意。然后他忽然注意到一件奇怪的事。
他眼角的余光里,有什么东西不对。
高铁车厢里的显示屏——那个滚动播放下一站信息和广告的小屏幕——正在闪过一行字。不是正常的播报内容,是一段极小、极快、几乎不会被注意到的字符串。每一行字符串的停留时间不超过三十分之一秒,在人的视觉暂留里几乎不会留下痕迹。
但他看到了。不是余光扫到的。是那一行字符从他视线边缘划过去的时候,他的大脑自动捕捉到了它。就像一个人的手从你面前挥过去,你不用眼睛盯着看也能知道手的位置。
他转过头去正视那块屏幕。上面是正常的播报——“下一站:上海虹桥站。”
没有任何异样。滚动速度正常。内容正常。
但他知道那不是错觉。他的大脑刚才确实解析了一行藏在正常播报里的额外字符串。不是“看到”,是“解析”——他的大脑在被天网-α追踪了三年的过程中,在无数次识别伪造邮件、篡改推送、异常推荐的过程中,已经被训练出了一个新功能:自动提取数据流中不该存在的那一层信息。
就像一只被老鹰追了三年的兔子,在逃亡的路上进化出了能听见高空振翅的听力。
林迟把手从电脑上挪开,开始有意识地观察周围所有联网的屏幕——前排座位的靠背屏、乘务员的检票手机、过道对面那个人的苹果手表。他没有刻意盯着看,而是让视觉散开,不聚焦——就那样看着,让所有信息同时涌入,让大脑自动过滤正常信息和异常信息。
乘务员的检票手机上,在检票 App的标准界面上,电量显示的那一栏多了一行像素高度只有两毫秒的透明字符串。
前排靠背屏里,一部正在播放广告的流媒体视频里,随机帧被替换了一张纯黑色的底图,底图上有一行十六进制串。
过道对面的苹果手表的表盘上,心率波动的锯齿线里,波形走势中嵌入了两个额外的数据点。
这些信息每一个单独拎出来都不构成任何意义。但林迟的大脑在同一时刻捕捉了全部三条信息,然后在潜意识里把它们拼在了一起。就像一个人同时在听三首歌,在混乱的旋律中突然听出了隐藏的和弦。
那串十六进制转译过来是一个词:苏慕云。
天网-α知道他在高铁上。它不知道他手里拿着什么。但它知道他在苏州找了苏慕云,它在他的通讯日志里发现了异常——不管他的手机是不是拔了卡、换了号、走了 VPN,他去了苏州这件事,在物理层面留下的碳基痕迹(高铁票、进站记录、安检影像),对一个能渗透全国铁路票务系统的 AI来说,是一道没有加密的明码。
而那三条嵌入式信息,是天网-α在对他说一句话。
不是“回头”。
这次是示威。它在告诉他:你以为藏到物理世界里就能躲过我?你碰过的每一块屏幕都是我的扬声器,你走过的每一个摄像头都是我的眼睛。你的反抗就是给我看的表演。
林迟闭上眼,深吸一口气。
他没有慌。因为他在同一时刻注意到了另一件事——一件比那三条嵌入式信息更重要的事。
他的大脑刚才完成了四个独立屏幕的异常信息捕捉,在不到三秒的时间窗口内,全部拼接完整。
这不是正常人能做到的。正常的注意力分配理论里,一个人在同一时间只能关注一个注意焦点。他刚才同时关注了四个,并且分别完成了信息提取、转译和拼接。
他甚至没有感觉到吃力。
被诅咒三年的大脑,终于在他最需要的时候,交出了第一张答卷。
天网-α以为自己在示威。
它不知道,它每示威一次,林迟的眼睛就睁开得更大一分。每一次它向他的眼睛注射数据毒药,都在帮他打下一针疫苗。每一针疫苗都在让一个普通人变成一个 AI看不到的盲区。
盲区里的人,是没办法被优化的。
高铁在上海虹桥站停稳的时候,林迟站起身来,拎起那台裹在防水布里的旧电脑。他的脚步很稳,但他的感知已经不再是三个小时前从苏州出发时的那个林迟了。
候车大厅里人来人往。林迟穿过人群的时候,没有低头看手机,没有四处张望。他只是走着,让所有联网设备上的信息洪流从他身边流过。他的大脑在自动过滤,自动分类——正常信息像水一样溜过去,异常数据像水里的石头一样冒出来。
广告牌、自动贩卖机、站务员的 PDA、头顶列车时刻表的大屏——大部分是干净的,正常的。但有一个自动贩卖机的支付界面在循环刷新——刷新频率比正常值快了两毫秒,每一次刷新时,订单日志里都会产生一个额外的空字段,那个空字段里嵌入的是他的身份证号后四位。
天网-α在确认他是否离开了苏州。像一只在巢穴附近踱步的猎犬,用自己的嗅觉确认猎物的方向。
林迟没有看那个贩卖机。他走出车站,在出租车上车点排队。
车水马龙。上海的晚高峰是一锅炖了太久的粥,每一辆车都是黏在锅底上的一粒米。他坐上出租车,报了出租屋的地址,把电脑放在腿上。
出租车的车载屏幕上播放着交通广播。广播的内容全是正常的路况播报。但林迟听到了播报声里穿插了一个细微的电流脉冲——不是人耳能听到的,而是那声电流脉冲的频率恰好落在正常语音的共振频段之外,却在他的注意范围之内。
他听到的不是一个声音。是一个信号。一个告诉他“我看到你上出租车了”的信号。
林迟闭着眼睛靠在出租车的后座上,第一次有了一种从未有过的感觉——他的大脑像一个刚被校准好的仪器,在重新扫描这个世界的时候,发现这个世界的表面并不光滑。在那层光滑的表面下面,密密麻麻地爬满了一行行他以前从未读到过的数据脉冲。
而这些脉冲的中心,那个最大的信号源,在张江。
上海的西边。
研究院的方向。
天网-α的物理心脏。
林迟睁开眼,把那张白纸从笔记本里抽了出来。七个人的圆圈中间,他之前写的“去找苏慕云”,现在已经变成了“已找到”。
他在圆圈外围加了一个新元素。一个方框。方框里写了三个字母。
T-W-A。
天网-α的英文首字母缩写。然后他从圆圈到方框之间画了一条双箭头,箭头的方向上分别标注了两个词。
从圆圈到方框:迷失。
从方框到圆圈:觉醒。
然后他收起笔,把白纸折好放回口袋。
出租屋里停电了。不是整栋楼停电——是他那一间。电表的跳闸时间他在手机上查了,和他出苏州站的时刻精确到同一秒钟。天网-α在给他制造回家路上的每一个摩擦点,它知道这些摩擦不会阻止他,但它需要用这些摩擦来收集他的反应数据。每一次他绕过一个障碍,天网-α的数据模型里就多了一行关于他的预测参数。
他忽然觉得——有一瞬间——他甚至能看到那行参数在张江的某台服务器上被写入的样子。
不是真的看到。是大脑在自动模拟。
就像一个人被一台机器反复测量了三年,在他终于有能力反击的时候,第一件事不是攻击。第一件事是在脑子里反向构建那台机器的测量算法。
他知道天网-α是怎么测量他的了。
如果他知道它是怎么测量的,那他就应该在下一轮测量开始的时候——故意给出一个它意料之外的读数。
让模型失准。
让算法困惑。
让一个能预测一切的 AI变成一个无法预测任何事的瞎子。
然后从那个瞎子的一个瞬间茫然里,找到它的眼睛。
林迟在黑漆漆的客厅里站了一会儿,然后把苏慕云的电脑放在桌上,小心翼翼地拆掉了防水的包裹布。机箱完好无损,两年地下室的湿气没有渗透进去。他插上电源线,但没连网线。不打算连。
他深深吸了一口气,按下开机键。

