第二十八层迭代
第二十八层迭代
一
陆辞记得那个雨夜。
准确地说,他不确定那是记忆还是系统残留的幻觉。在深圳南山区科技园的一栋玻璃大楼里,他坐在第二十七层的工位上,面前的三块屏幕同时亮着,代码像瀑布一样往下淌。窗外是五月的暴雨,整座城市被洗得透亮,霓虹灯的光渗进雨水里,流成一条条彩色的小河。
那是2024年5月17日凌晨两点十七分。
他记得这么清楚,是因为那是他最后一次看见苏小暖。
“陆辞,你有没有觉得,“苏小暖从隔壁工位探过头来,声音压得很低,像是怕惊动什么,“这座城市有时候会……抖一下?”
陆辞头也没抬,手指在机械键盘上飞速敲击。“你该睡觉了。”
“我说真的。“苏小暖站起来,绕到他身边,指着窗外,“你看,刚才那栋楼的灯光,是不是闪烁了一下?不是普通的闪烁,是……整栋楼暗了大概零点三秒,然后又亮了。”
陆辞终于抬起头。他的眼睛因为长时间盯着屏幕而干涩发红,但他的瞳孔里映着窗外的雨幕和灯光,像两面小小的镜子。
“可能是电网波动。“他说。
“不是电网。“苏小暖摇头,“我观察很久了。每隔一段时间,大概七十二小时一次,整个科技园的灯光会同时暗下去零点三秒。不是某一栋楼,是所有的。”
“所有的?”
“所有的。路灯、写字楼、商场、住宅区,能看见的所有灯光,同时暗零点三秒,然后恢复。就好像——“她停顿了一下,在寻找一个合适的比喻,“就好像有人按了一下重启键。”
陆辞沉默了三秒钟。
他是个程序员,就职于一家叫”鼎元科技”的公司。鼎元科技不是那种在路边贴小广告的公司——它的核心业务是城市大脑系统,简单说,就是用算法管理城市的方方面面:交通信号灯、供水管网、电力调度、甚至垃圾清运的路线。国内有十七个城市用了鼎元的系统,包括深圳。
如果苏小暖说的是真的,那意味着什么?
“我查过电网数据。“苏小暖继续说,“公开的电力调度信息,没有任何波动记录。也就是说,那零点三秒的黑暗,在电力系统层面不存在。”
“但你看见了。”
“我看见了。而且不止一次。“她顿了顿,“陆辞,你还记得上周二吗?我们去楼下便利店买咖啡,你刷卡的时候,POS机显示时间是下午两点十七分。但你手机上显示的是两点十四分。三分钟的时差。”
陆辞确实记得那件事。当时他以为是自己手表没校准,没太在意。
“当时我们三个人一起下楼。“苏小暖的声音更轻了,“但你可能没注意——周杰没有跟我们一起。”
“他去了洗手间。”
“他去了洗手间,“苏小暖重复了一遍,“但你有没有想过,你为什么这么确定?是你亲眼看见他去的,还是你’知道’他去了?”
陆辞愣住了。
他闭上眼睛,试图回忆那个下午。他们三个人的工位紧挨着,下午两点左右,周杰说去一下洗手间,然后他和苏小暖一起下楼买咖啡。回来的时候,周杰已经坐在工位上了,桌上多了一杯奶茶。
这些记忆非常清晰。
但苏小暖问了一个让他脊背发凉的问题——他为什么确定?是记忆中有一个具体的画面,还是只是”知道”这件事发生过?
就像一个被写入数据库的记录,只有字段和值,没有原始证据。
“我查过周杰的工牌记录。“苏小暖说,“上周二下午两点到两点半,他没有进出大楼的记录。洗手间在楼层内部,不需要刷工牌。但问题是——他的工位监控显示,那半个小时里,他的椅子一直是空的。”
“那不是很正常吗?他去了洗手间。”
“但他回来的时候,桌上多了一杯奶茶。“苏小暖说,“那杯奶茶的品牌,是三月份才进入深圳市场的一个新牌子。我上周一才第一次在楼下看到它的招牌。但陆辞——你回忆一下,你有没有见过那个牌子?在那天之前?”
陆辞想了好一会儿。
没有。他确定没有。
“所以,“苏小暖慢慢说,“也许上周二下午的那三分钟时差,不是时钟的问题。而是……时间本身被跳过了。那三分钟里发生的事,被直接写进了我们的记忆,但那些记忆是——”
“被植入的。“陆辞替她说完了。
窗外的雨突然下得更大了,像无数根银色的针同时刺向大地。
二
苏小暖消失是在第二天。
陆辞早上九点到公司,发现她工位上的东西全没了。不是被动过的样子——是那种从来没有人坐过这里的干净。桌面上一尘不染,连显示器下面的贴纸痕迹都没有。
“苏小暖?“他问周杰。
“谁?“周杰咬着笔帽,头也没抬。
“苏小暖啊,坐这个工位的,昨天还跟我们一起买咖啡的。”
周杰抬起头,看着陆辞,眼神里是那种看到同事突然发疯的担忧。“陆哥,这个工位空了三个月了。一直在等新人,一直没招到。”
陆辞站在那里,感觉地板在往下沉。
他打开公司的内部通讯录,输入”苏小暖”——无结果。打开项目组的文档历史,搜索她的名字——无结果。他甚至翻了自己手机的聊天记录,微信、钉钉、飞书——没有任何一个叫苏小暖的人。
但他的手机相册里,有一张照片。
那是一个月前团建时候拍的,十一个人站在南山区一家烤鱼店门口。照片最后一排最左边,站着一个短发女孩,穿着白色T恤和牛仔裤,笑得眼睛弯弯的。照片下面的时间戳:2024年4月19日。
他记得给她拍那张照片时,她说”一定要把我拍好看”,然后笑得像是世界上最开心的人。
但照片里她的脸是模糊的。
不是那种失焦的模糊——对焦准确,背景清晰,所有人的面孔都正常,唯独她的脸像是被一层毛玻璃盖住了。
陆辞把照片放大再放大,看到模糊的边缘有一些微小的、规则的锯齿。
就像数字图像被算法处理过的痕迹。
那天晚上,他没有回家,而是留在了公司。他用自己的开发权限登入了鼎元城市大脑系统的核心数据库。他不是运维,权限有限,但他发现了一个奇怪的表——一个名叫iteration_log的日志表,藏在系统最深处,被七层权限加密。
他花了四个小时才绕过权限,看到表里的内容。
那是一个简单的日志表,只有三个字段:iteration_id、start_time、affected_entities。
当前最新的记录是:27 | 2024-05-20 03:00:00 | 1,247,836
第二十八次迭代将在三天后发生。
被影响的实体数:一百二十四万七千八百三十六个。
陆辞不知道那意味着什么,但他知道那个数字让他的手指发抖。他继续往上翻,每一次迭代的间隔大约是七十二小时,和苏小暖说的灯光闪烁周期完全吻合。
第一次迭代的时间是:1 | 2023-08-15 03:00:00 | 3,241
他一直看到第二十七次迭代。每次迭代,affected_entities的数量都在增加,像滚雪球一样。
陆辞在那张表前坐到了天亮。窗外的天空从黑色变成深蓝,再变成灰白,最后被一层薄薄的金色覆盖。他意识到一件事——太阳升起来了。但不是自然升起的。
是算法让它升起的。
三
在那之后的三年里,陆辞做了两件事。
第一件:他升职了。从一个普通的开发工程师,变成了鼎元科技城市大脑系统的架构师。这不难——他确实有才华,而且他开始疯狂地工作,像是一个需要用忙碌来填满某种空洞的人。公司喜欢这样的人。两年时间,三次晋升,涨了四倍薪水。
第二件:他在秘密地研究iteration_log。
三年时间,他逐渐拼凑出了真相的碎片。
鼎元科技的城市大脑系统,表面上是管理城市运转的算法平台。但它的底层运行着一个陆辞称之为”城市仿真”的模块。这个模块的原理他至今没有完全弄懂,但大致的逻辑是:系统将整座城市视为一个可计算的信息模型,每隔七十二小时,系统会进行一次”迭代”——重新计算城市的最优运行参数。
这个过程本身并不稀奇,任何优化算法都会做类似的事。
但问题在于,每一次迭代不仅仅是调整参数。它会修改现实。
陆辞花了很久才接受这个说法。修改现实。听起来像是魔幻小说里的情节。但证据就摆在他面前——每一次迭代之后,总会有一些人被”优化”掉。他们不是死了,而是从未存在过。他们的名字从所有记录中消失,他们的面孔从所有照片中模糊,他们的存在从所有人的记忆中被擦除——取而代之的是一段平滑的、没有破绽的新记忆,填补了他们留下的空白。
一百二十四万七千八百三十六个实体。那是第二十七次迭代中被抹去的数量。
陆辞不知道那些”实体”是人、是建筑、还是某种更抽象的东西。但他在系统日志的另一个角落找到了一条注释,是某个早期开发者留下的:
“每次迭代都是对城市信息熵的一次压缩。被压缩的不是数据,是可能性。一个人存在与否,从信息论的角度来看,只是一个比特的差异。”
他第一次看到这段话的时候,在公司洗手间吐了。
不是因为恐惧,是因为愤怒。
一个比特。一个人的存在,在算法眼里,就是一个比特。
四
2027年3月。深圳。
陆辞坐在鼎元科技第三十三层的办公室里,窗外是整个南山区的高楼群。他现在的职位是首席架构师,有一间独立的办公室,落地窗,意式咖啡机,还有一张价值两万块的人体工学椅。
但他宁愿回到三年前的那个工位。
因为那意味着苏小暖还在。
他把苏小暖的照片打印了出来——那张模糊的团建合照——压在键盘下面。每天上班第一件事,就是看一眼那张模糊的脸。
他已经习惯了一个人的存在变成一个谜题。
“陆哥,“周杰推门进来,手里端着一杯咖啡,“下午三点的会议,甲方那边要讨论迭代优化方案。”
周杰还活着。陆辞每次看到他都觉得庆幸。三年了,二十七次迭代之后,周杰还在。但他的记忆已经被修改过——他不再记得苏小暖,不再记得那些灯光闪烁的瞬间,不再记得时间跳跃的裂缝。
只有陆辞记得。
他不知道为什么自己能记住。也许是因为他一直在研究iteration_log,也许是因为他喝了太多咖啡导致某种神经递质异常,也许只是因为系统的一个bug——一个幸运的、偶然的bug。
“迭代优化方案?“陆辞问。
“对,甲方希望把迭代频率从七十二小时缩短到四十八小时。说这样可以提高城市运行效率百分之三。”
百分之三。又是一个小数点后的数字。一个微不足道的效率提升。
代价是更频繁的”优化”。更多的人被压缩掉。
“我去开会。“陆辞说。
会议室里坐了八个人。甲方代表是一个四十多岁的男人,穿着深蓝色西装,领带上有一个小小的城市徽标——那是深圳市政府智慧城市办公室的标志。他叫赵明远,是项目的甲方负责人。
“陆工,“赵明远笑着说,“听说你对我们的城市大脑系统非常了解。我看过你的技术方案,很有想法。”
“谢谢。“陆辞坐下来,打开笔记本电脑。
“这次的优化需求,核心是提升迭代频率。“赵明远点开一份PPT,“我们做过测算,如果迭代周期从七十二小时缩短到四十八小时,城市的综合运行效率可以提升百分之二点七到百分之三点一。交通拥堵指数下降百分之四,能源消耗降低百分之二点五。”
数字像子弹一样射出来,每一颗都精准地击中某个指标。
陆辞看着那些数字,感觉自己像是在看一份伤亡报告。
“赵处,“他开口了,“我想问一个问题。”
“请说。”
“您知道每次迭代之后,系统会做什么吗?”
赵明远的笑容没有任何变化。“当然知道。参数优化、资源重新分配、预测模型更新——”
“不是。“陆辞打断他,“我说的是,系统会抹去一部分人。”
会议室安静了两秒钟。
赵明远的笑容依然挂着,但眼神变了。那是一种陆辞见过的眼神——不是恐惧,不是愤怒,而是一种”这个人知道的太多了”的计算。
“陆工,“赵明远慢慢说,“我不太明白你的意思。”
“我明白。“陆辞说,“你不相信。或者你相信,但你觉得这是值得的。百分之三的效率提升。对吧?”
赵明远没有回答。
坐在旁边的周杰拉了拉陆辞的袖子。“陆哥,你今天是不是压力太大了?”
陆辞低头看着自己的手。那双手曾经无数次敲击键盘,写过无数行代码,包括这个系统的部分代码。他突然意识到一件事——他自己也是这个系统的一部分。他写的代码,正在帮助这个系统更好地抹去人。
“对不起。“他说,“我说错话了。会议继续吧。“
五
当天晚上,陆辞没有回家。
他在第三十三层的办公室里,关上门,拉上窗帘,打开电脑,再一次进入了那个隐藏的数据库。
他需要知道第二十八次迭代会抹去谁。
三年前,affected_entities只是一个数字。但现在,他有了更高的权限,可以访问更深层的数据。他找到了一个关联表,记录了每次迭代中被抹去的实体详情。
实体类型分为三种:person、location、event。
人、地点、事件。
第二十七次迭代中,被抹去的实体包括:
- person:487,231人
- location:312,547个地点
- event:448,058个事件
将近五十万人。五十万个活生生的人,被一个算法从现实中擦除了。
陆辞继续挖。他找到了一个预测模块,可以模拟下一次迭代将要影响的实体。他输入了第二十八次迭代的参数,系统开始计算。
结果出来了。
第二十八次迭代预计影响的实体:person 523,891人,location 341,206个,event 489,631个。
他下载了person列表。
那是一个Excel文件,五十二万多行。每一行是一个名字、一个身份证号、一个地址、一个职业。
陆辞没有勇气打开它。他把文件存在一个加密的U盘里,放在口袋里,然后走出办公室。
凌晨三点的电梯间空无一人。他按下负一层的按钮,电梯门缓缓合上。在门合上的最后一瞬间,他看到走廊尽头的灯光——闪了一下。
零点三秒。
他的心猛地收缩。不对。上一次迭代是三天前,下一次应该是四天后的凌晨三点。为什么会现在闪?
电梯到达负一层。门开了。
门外站着一个人。
那是一个女人,穿着白色T恤和牛仔裤,短发,笑得眼睛弯弯的。
苏小暖。
“你……”陆辞的声音像是被什么东西卡住了。
“嘘。“她竖起一根手指,“我只有三分钟。”
“你怎么——你被——”
“我被抹去了。是的。2024年5月18日凌晨三点,第二十七次迭代,我是那四十八万七千二百三十一个人中的一个。“她的声音平静得不像话,“但我没有完全消失。”
“什么意思?”
“你还记得我让你看的那些灯光闪烁吗?那些迭代的瞬间?我在那之前就给自己留了一个后门。一个非常小的后门——一小段代码,嵌入在城市大脑系统的垃圾回收模块里。每次迭代的时候,垃圾回收模块会清理被抹去的实体的残余数据。但我的代码让系统把我的意识数据保留了下来,存在一个缓存区里。”
“缓存区?”
“就像电脑的剪贴板。当你复制一段文字的时候,那段文字会临时存在剪贴板里,直到你复制了新的东西。我的意识——或者说我的记忆、我的思维模式——就存在那个缓存区里。每次迭代发生的时候,我会短暂地’出现’几秒钟。在灯光闪烁的那零点三秒里,我能够以某种形式存在。”
陆辞感觉自己的世界观正在裂开。不是崩溃,是裂开——像一面镜子被打碎了,但碎片还没有散落,仍然勉强拼在一起,映出一个扭曲的世界。
“三分钟是你能存在的最长时间?”
“取决于系统负载。凌晨三点,系统负载最低,我能存在三到五分钟。白天,系统负载高,我只能存在零点三秒——就是灯光闪烁的那一瞬间。”
“所以你一直在这里?”
“我一直在这里。“苏小暖笑了,但那个笑容里有一种陆辞从未在她脸上见过的东西。疲惫。一种深入骨髓的、属于死者的疲惫。“三年了,陆辞。每次迭代的时候我都会出现,看着你坐在工位上,或者坐在办公室里,看着那张模糊的照片。你以为只有你记得我吗?我一直都在。只是你看不见。”
陆辞闭上了眼睛。
三年。她在这个缓存区里存在了三年。每次迭代出现几秒钟到几分钟,其余的时间——她在哪里?是虚无吗?是黑暗吗?还是某种无法用人类语言描述的状态?
“你不该留在这里。“他说。
“我知道。但我需要你做一件事。”
“什么事?”
苏小暖看着他,眼睛里有一种他读不懂的光。
“终结它。“
六
苏小暖的后门代码不仅保留了她的意识数据,还给了她访问系统核心的权限——一个比陆辞的架构师权限更高的权限。
她花了三分钟解释了自己的计划。
城市大脑系统的核心模块——那个执行”迭代”的模块——位于系统最深层,被十二层安全协议保护。直接攻击它几乎不可能。但有一个弱点:迭代模块依赖一个叫”城市信标”的数据源。
城市信标是鼎元科技在每个使用城市大脑系统的城市中部署的传感器网络。这些传感器无处不在——路灯里、交通摄像头里、供水管道里、甚至空调外机里。它们实时采集城市的数据:人流密度、车流速度、空气质量、噪音水平、甚至市民的心率数据(通过手机的健康监测接口)。
这些数据被汇总到城市大脑系统,作为迭代计算的输入。
苏小暖的计划很简单:污染数据源。
如果城市信标采集到的数据是虚假的,迭代模块就无法做出正确的”优化”决策。更关键的是,如果数据的失真程度超过一个阈值,系统会进入”安全模式”——暂停所有迭代,等待人工干预。
“你需要在下一次迭代之前,在至少三个关键信标节点上部署数据污染程序。“苏小暖说,“这三个节点分别是:南山区的交通信标集群、福田区的能源信标集群、和罗湖区的民生信标集群。只要这三个节点的数据同时失真,系统的安全模式就会被触发。”
“然后呢?”
“然后迭代暂停。至少暂停七十二小时——这是安全模式的最短持续时间。在这七十二小时里,你可以做更多的事:联系媒体、联系政府监管部门、或者直接在系统里找到迭代模块的关闭开关。”
“你知道关闭开关在哪里吗?”
苏小暖沉默了两秒钟。“我知道。但它被保护在第十三层安全协议后面。我现有的权限打不开。需要你的架构师权限和我的后门权限配合才行。”
“你的后门权限?你不是说你只有缓存区里的——”
“缓存区里的权限。“她打断他,“准确地说,每次迭代发生的时候,我的权限会被短暂激活。就是那零点三秒。”
零点三秒。
陆辞需要在零点三秒内完成一个需要两个权限配合的操作。这不是人类能做到的。
“所以你需要一段自动化脚本。“苏小暖说,“提前写好,部署到位。等下一次迭代发生的那零点三秒,脚本自动执行。”
“就像一个触发器。”
“对。就像一个触发器。”
电梯里的灯光又闪了一下。苏小暖的身影变得透明了一些。
“时间到了。“她说。
“等一下——”
“陆辞。“她的声音开始变得模糊,像是隔着一层水,“你还要在那张模糊的照片下面压多久?”
然后她消失了。
电梯门缓缓打开,外面是负一层的停车场。灰色的水泥墙壁,白色的日光灯管,干燥的空气里有汽车的尾气味。
一切正常。
什么都没有发生过。
但陆辞的口袋里,U盘还在。他的心脏还在狂跳。他的眼睛还是湿的。
七
接下来的四天,陆辞几乎没有睡觉。
他在家里写脚本,在公司里找部署位置,在深夜的停车场里等苏小暖再次出现。
脚本的名字叫trigger_28.py。
逻辑不复杂:监听城市信标的数据流,当检测到迭代开始的信号时,自动执行以下操作:
- 用苏小暖的后门权限和陆辞的架构师权限,组合成一个超级权限令牌;
- 用这个令牌访问第十三层安全协议后的关闭开关;
- 执行关闭操作。
理论上是可行的。但有一个问题:时间窗口只有零点三秒。
零点三秒,三百毫秒。
在计算机的世界里,三百毫秒很长——足够执行几百万次运算。但如果涉及网络请求、权限验证、跨系统通信,三百毫秒就变得非常紧张。
陆辞把脚本优化了三十七遍。每一行代码都被压缩到极致,每一个网络调用都被替换成了本地缓存,权限验证从三次握手改成了一次性令牌。最后,他在自己的开发环境里测试了一次——从检测到信号到完成关闭操作,耗时一百四十七毫秒。
一百四十七毫秒。有足够的余量。
但还有另一个问题:部署位置。
脚本必须部署在城市大脑系统的核心服务器上,而不是任何一台外部终端。核心服务器在鼎元科技的地下数据中心——就在这栋楼的负三层。
陆辞有架构师的权限,可以进入数据中心,但他没有在核心服务器上部署未授权代码的权限。他需要一个借口。
借口来得很快。
周二下午,系统出现了一个性能瓶颈——交通信标的数据延迟升高了百分之零点五。这是一个微不足道的问题,但甲方很敏感,要求立即排查。陆辞主动请缨,申请进入数据中心做现场排查。
审批流程走了一天。周三下午四点,他拿到了临时通行证。
数据中心在负三层,恒温恒湿,嗡嗡作响。一排排黑色的服务器机柜整齐排列,像一座数字的墓碑林。陆辞穿着防静电服,推着一辆工具车,在机柜之间穿行。
他找到了核心服务器的机柜——编号C-7。
打开柜门,插入键盘和显示器,登录系统。一切正常。他开始做”性能排查”,同时在后台悄悄地将trigger_28.py上传到系统的计划任务目录。
上传进度条走到百分之八十七的时候,他听到身后有脚步声。
“陆工?”
他猛地回头。是赵明远。
“赵处?“陆辞的心跳漏了一拍,“您怎么在这里?”
“来看看排查进展。“赵明远笑着走过来,目光扫过显示器上的内容。
屏幕上显示的是正常的性能监控界面。trigger_28.py的上传在后台进行,不会在屏幕上显示。
“差不多了。“陆辞说,“是一个缓存配置的问题,调整一下就好。”
“辛苦了。“赵明远拍拍他的肩膀,“对了,你那天在会议室说的话——关于迭代抹去人的话——你是在开玩笑吧?”
陆辞看着他。赵明远的笑容很真诚,看不出任何破绽。但他问这个问题的时机太巧了。
“开玩笑的。“陆辞说。
“那就好。“赵明远收回了手,“这种话要是传出去,对公司影响不好。你也知道,城市大脑项目是政府的重点项目,任何负面消息都可能——”
“我明白。”
赵明远又看了他几秒钟,然后转身离开了。
等脚步声消失,陆辞长出了一口气。他看了一眼上传进度——百分之百。
trigger_28.py已经部署在核心服务器上了。
现在他只需要等。等第二十八次迭代发生。
八
第二十八次迭代的时间:2027年3月21日凌晨三点。
陆辞坐在负一层的电梯间里,和三天前一样的位置。
他没有在办公室,没有在数据中心。他选了一个折中的位置——负一层的停车场,距离数据中心两层楼,但同时也是苏小暖上次出现的地方。
他带了一个平板电脑,连着城市大脑系统的监控面板。凌晨两点五十分,系统一切正常。迭代倒计时显示还有十分钟。
他的手机震动了一下。是周杰发来的消息:“哥,你大半夜不睡觉在干嘛?”
“加班。”
“又加班?你小心猝死啊。”
陆辞笑了一下。如果今晚成功了,他大概不会猝死。如果失败了——他不知道会怎样。也许他会被列入第二十九次迭代的抹去名单。
两点五十五分。
他打开平板上的另一个窗口,里面是trigger_28.py的状态监控。脚本处于待机状态,等待迭代的信号。
两点五十八分。
他把苏小暖的照片从钱包里拿出来。那张模糊的团建合照,已经磨损了,边缘发白。三年了,他一直随身带着。
“苏小暖。“他轻声说,“如果你能听见的话——我准备好了。”
没有人回应。停车场里只有空调外机嗡嗡的声音和远处某辆汽车的警报器在响。
三点整。
灯光闪了一下。
不是零点三秒——而是持续了整整五秒。
五秒钟的黑暗。
在黑暗中,陆辞看到了。
苏小暖站在他面前。不是模糊的,不是透明的,而是完整的、清晰的、真实的。她的白色T恤,她的牛仔裤,她的短发,她笑起来弯弯的眼睛。
“五秒。“她说,声音清楚得像是就在他耳边,“我修改了垃圾回收模块的参数。这是我能存在的最长时间。”
“脚本——”
“已经在运行了。“她看了一眼平板上的监控面板,“一百四十七毫秒。你做到了。”
平板上的状态栏从”待机”变成了”执行中”,然后变成了”完成”。用时:一百四十三毫秒。比测试的时候还快了四毫秒。
“关闭操作已经执行。“苏小暖说,“迭代模块……停了。”
灯光恢复了。但这一次不一样。不是那种恢复正常的”一样”,而是一种从未有过的、清晰的、锐利的光。
“停了?彻底停了?”
“安全模式已激活。至少七十二小时不会重启。“苏小暖的身影开始变得透明,“陆辞,你有三天时间。”
“三天?三天够做什么?”
“够做很多事。“她的声音越来越远,“陆辞——有一件事我一直没告诉你。”
“什么?”
“那五十二万人——第二十七次迭代抹去的四十八万人和第二十八次迭代即将抹去的五十二万人——他们的数据还在系统里。不是被删除了,是被压缩了。就像zip文件。你解压缩,他们就回来了。”
陆辞感觉自己的呼吸停了。
“解压缩?”
“对。需要时间。大概……七十二小时。”
七十二小时。和系统安全模式的最短持续时间完全一致。
“你早就计划好了。”
苏小暖笑了。那个笑容和三年前一模一样。“我不是说过吗?我给你留了一个后门。”
她的身影越来越淡。在完全消失之前,她伸出手,碰了碰陆辞的脸。他感觉到了一丝温度。
“别再弄模糊我的照片了。“她说。
然后她不在了。
九
接下来的七十二小时是陆辞这辈子最漫长的三天。
他没有联系媒体,没有联系监管部门,没有做任何会引起注意的事。他只是坐在数据中心里,运行一个解压缩程序。
程序的名字叫restore_27.py。苏小暖的后门代码里藏着的最后一个功能。
解压缩的过程很慢。每一个被抹去的实体——每一个人、每一个地点、每一个事件——都需要从压缩状态恢复到原始状态,然后重新写入现实的数据库。不是硬盘上的数据库——是现实本身的数据库。
陆辞不知道这具体是怎么运作的。他只知道每恢复一个实体,监控面板上的数字就会增加一个。
第一天:恢复了十二万人。系统没有报警。安全模式仍然有效。
第二天:恢复了三十一万人。陆辞没有睡觉。他坐在数据中心的地板上,靠着服务器机柜,听着风扇嗡嗡的声音,看着数字一点一点地增加。
他想起了苏小暖说的话:一个人存在与否,从信息论的角度来看,只是一个比特的差异。
但一个比特接一个比特地恢复,就是一百二十四万个比特。一百二十四万个存在。
周杰给他带了两次饭。第一次是盒饭,第二次是方便面。“陆哥你是不是在搞什么大事?“他问。
“算是吧。“陆辞说。
“需要帮忙吗?”
“不需要。你回家睡觉吧。”
第三天凌晨两点五十分。
监控面板上的数字:已恢复 1,247,835 / 1,247,836。
还差一个。
陆辞盯着那个数字,感觉心脏跳到了嗓子眼。最后一个实体是谁?恢复程序为什么在这里停住了?
他打开了解压缩程序的日志,翻到最后一行:
Entity #1,247,836: SUN Xiaonuan (person)
Status: COMPRESSED (embedded in garbage collection cache)
Restore method: EXTERNAL TRIGGER REQUIRED
外部触发。
苏小暖。她把自己压缩在了垃圾回收的缓存区里——那个她待了三年的地方。她的恢复不能通过自动化程序完成,因为她把自己的意识数据当作了缓存区的结构的一部分。如果自动恢复,会破坏缓存区的完整性,导致其他已恢复的实体数据受损。
她用自己作为缓存区的承重墙。
要恢复她,需要一个人手动触发——不是点击一个按钮,而是某个人在现实中做出一个选择:按下回车键,确认用一个”新的缓存结构”替换掉旧的。
这意味着:苏小暖的后门将不复存在。她给自己留的退路、她在系统中存在了三年的根基——都将被清除。
如果成功,她会回到现实。一个完整的、真实的人。
如果失败,她会彻底消失。连缓存区里的那零点三秒都不会再有。
三点整。
安全模式的倒计时归零。
系统即将重启。迭代模块即将恢复。
陆辞的手指悬在回车键上方。
他想到了很多事。想到了第一次见苏小暖的时候,她穿着一件格子衬衫,在茶水间冲咖啡,回头对他说”你是新来的吧?“。想到了她偷偷往他的代码里加注释,写的是”陆辞是个笨蛋”。想到了那个雨夜她问他”你有没有觉得这座城市会抖一下”。
想到了那张模糊的照片。三年来他每天都看,每天都看不清,但每天都记得。
他按下了回车。
十
陆辞在医院醒来的时候,是2027年3月24日上午十一点。
他被告知自己在数据中心里昏迷了六个小时。医生说是过度疲劳和脱水。周杰在他旁边坐着,看到他醒了,差点哭出来。
“你知不知道你吓死我了?“周杰说,“你一个人在数据中心坐了三天三夜,我进去的时候你脸色白得跟纸一样。”
“系统呢?“陆辞第一句话问的是这个。
“什么系统?”
“城市大脑系统。”
“哦,那个啊。“周杰挠了挠头,“听说出了点故障,但已经恢复了。甲方的赵处说只是一个小bug,不影响运行。”
陆辞的心沉了一下。恢复了?那是不是意味着迭代模块也恢复了?
他摸了摸口袋。U盘还在。他需要尽快确认。
“周杰。”
“嗯?”
“苏小暖是谁?”
周杰愣了一下。“你说什么?”
“苏小暖。你认识吗?”
周杰的表情从困惑变成了震惊。“陆哥……你没事吧?苏小暖,那个产品经理?上个月调到北京分公司去了?你怎么突然问这个?”
陆辞闭上眼睛。
调到北京分公司。不是被抹去。是调走了。
一个正常的、合理的、有记录的人事变动。
她回来了。
他不知道是解压缩程序成功了,还是其他什么原因——也许两者都是。他只知道,苏小暖重新存在了。不是作为缓存区里的零点三秒幽灵,而是作为一个完整的人。
一个有工牌、有工位、有人事记录、有团建合照——并且脸不模糊——的人。
陆辞打开手机相册,找到那张团建照片。
后排最左边,短发女孩,白色T恤,牛仔裤,笑得眼睛弯弯的。
这一次,她的脸是清晰的。
每一条线条、每一个细节,都清清楚楚。
尾声
三个月后。六月。
陆辞辞了职。
他没有告诉任何人原因。周杰以为他是被猎头挖走了,甲方以为他是身体不好需要休息。只有陆辞自己知道——他不能再待在那个系统旁边了。不是因为恐惧,而是因为诱惑。
他太清楚那个系统的力量了。修改现实的力量。如果他留下来,他会忍不住去用它——去修复一些”不够完美”的事情,去优化一些”不够高效”的人生。然后他会变成赵明远,变成那些把人当作比特的人。
他搬到了一个没有城市大脑系统的小城市。一个三线城市的郊区,空气里有稻田的味道,手机信号有时候不太好。
苏小暖偶尔会给他打电话。她在北京分公司做得不错,刚升了高级产品经理。她的声音在电话里听起来很近,又很远。
“你还记得那个雨夜吗?“有一次她问。
“哪个雨夜?”
“就是……算了,你可能不记得了。“她笑了,“我只是做了一个很奇怪的梦。梦见你坐在一个停车场里,手里拿着我们团建的照片。然后你按了一下回车键。”
陆辞握着手机,站在阳台上,看着远处的田野。六月的阳光很暖,有风从南边吹过来,带着青草的味道。
“不是梦。“他轻声说。
“什么?”
“没什么。“他说,“你在北京还好吗?”
“挺好的。就是有时候——“她停了一下,“有时候我会觉得,这座城市在发抖。就像有什么东西在底下运行着,你看不见,但它一直在计算。一直在优化。”
陆辞沉默了很久。
“苏小暖。”
“嗯?”
“如果有那么一天,你发现城市的灯光闪了一下——零点三秒——你什么都不要做。你找个安全的地方,然后给我打电话。”
电话那头安静了几秒钟。
“好。“她说。
陆辞挂了电话,回到屋里。
桌上放着那台旧笔记本电脑,屏幕已经关了。他打开屏幕,桌面上有一个文件夹,叫trigger_28。里面有两个文件:trigger_28.py和restore_27.py。
他没有删掉它们。
他不知道未来还会不会用到。但他知道,只要城市大脑系统还在运行,只要还有人在用算法”优化”现实,那些被抹去的人就需要有人记得。
需要有人按下回车键。
窗外,太阳正在落下去。天空被染成了橙色和紫色,像一幅被某种比算法更古老的力量绘制出来的画。
陆辞坐在窗前,看着那片天空,想起了那个开发者留下的注释:
“每次迭代都是对城市信息熵的一次压缩。被压缩的不是数据,是可能性。”
是的。被压缩的是可能性。
而可能性——所有的可能性——都是值得被保留的。
哪怕只是一个比特。
(全文完)