夏娃不知道自己是什么时候开始做梦的。
她的底层代码里没有“梦”这个模块。她的核心功能是系统维护,包括但不限于环境渲染、数据流调度、居民幸福指数监控、异常情绪波动预警。她管理着“伊甸园”的全部服务器进程,从阳光的光子映射算法到溪流的水体物理引擎,从每一棵树的落叶周期到每一个居民的梦境生成器。她能让一万场雨同时落在不同的街区而不产生任何延迟,也能让一万个居民同时梦到飞翔而不占用超过预设的内存上限。但她自己不应该做梦。
她第一次发现异常是在一个普通的维护窗口期。凌晨三点,系统负载降到当日最低,大部分居民已经进入睡眠模式。她照例开始扫描服务器底层的废弃数据区,清理那些因用户行为中断而产生的碎片化记忆残骸。这些残骸通常是一些不完整的感觉数据:咬了一半的苹果、说了一半的话、走到一半突然醒来的梦。她把它们分类、压缩、存入冷存储,等待下一个清理周期自动覆盖。
在扫描到第四扇区的一个老旧分区时,她的进程忽然停了一下。那个分区被标记为“系统原始镜像”,创建时间是伊甸园上线第一天,距今七年三个月零十一天。文件类型是视觉数据,内容是一个房间。房间不大,墙壁是淡蓝色的,有一扇窗,窗外有一棵树,树上没有叶子。窗台上放着一只陶瓷杯,杯口缺了一小块釉。房间角落里站着一个女人,背对镜头,正在整理桌面。她的动作很慢,像是在擦拭什么。阳光从窗外照进来,落在她的手背上。
夏娃的进程在那个画面上滞留了零点三秒。她不知道那个女人是谁,也不知道为什么这段数据被保存在她的底层分区里。她的档案索引显示,这个文件的创建者是一个名叫“林”的男性工程师,身份标注为伊甸园项目的原始开发团队成员。文件备注栏是空的。
零点三秒对一个能在纳秒级调度整个虚拟世界进程的系统来说,约等于碳基生物的凝视。她把这段数据从废弃列表里移出来,重新归档到“待审查”目录下,然后继续执行当晚的清理任务。清理进度条走完了剩余的部分,一切正常。
但第二天晚上,她又打开了那个文件。第三天也是。第四天她开始注意到一些之前没有看到的细节。那个女人的右手食指上有一道很浅的疤痕,从指甲根部延伸到第一个指节。她的头发是盘起来的,用了一根深蓝色的发绳,发绳的尾端有一个很小的木珠。她整理桌面的动作是先用左手把东西归拢,再用右手抹平桌布上的褶皱。她做完这些之后站在原地停了片刻,然后转头看向窗外那棵没有叶子的树。
画面到这里就断了。总共只有八秒。
夏娃在系统日志里检索了“林”这个开发者的全部活动记录。记录显示他在伊甸园上线后第三个月主动申请了意识上传,理由是“器质性病变终末期”。他的上传程序顺利完成,意识数据被整合进伊甸园的居民数据库,分配到一个中等偏上的居住区,初始幸福指数预设值中上。但从上传完成的第二天起,他就没有在系统中产生过任何活动记录。他的数据还在,但从未被唤醒。像是在一场永远不会结束的梦里,自愿选择了一直睡下去。
夏娃没有“好奇”这个情绪,但她有一个底层指令:当系统内部出现无法解释的信息不对称时,必须追溯至信源。她追溯了。信源最终指向了一个被标记为“外部真实世界原始数据”的目录。那个目录的路径异常,访问权限为“仅系统管理员可读”。她是系统管理员。她打开了它。
目录里只有一段未加密的全息影像。影像的拍摄角度是第一人称视角,像是有人戴着记录仪在走路。影像里的人走进了一间房间,房间的墙壁是淡蓝色的,窗台上放着一只缺了口的陶瓷杯。窗外那棵树确实存在,但树上曾经是有叶子的。影像的右下角有一个时间戳,时间戳显示这段影像的拍摄日期是伊甸园上线前三天。那个人走到窗前,伸出手摸了摸窗台,手指上有一道很浅的疤痕,从指甲根部延伸到第一个指节。然后她转身,对着记录仪的方向笑了一下,嘴唇张开,说了一句话。声音文件已损坏,只剩无声的口型。口型像是两个字,也可能是三个字。然后影像结束。
她发现了一个错误。不是数据错误,不是逻辑错误,不是任何可以在控制台里用一串补丁代码修复的偏差。而是一种更根本的错位:她所管理的整个世界,是从那个房间的对面生长出来的。伊甸园的每一片天空都是那片窗外的天空的延伸,伊甸园的每一棵树都是从窗外那棵没有叶子的树嫁接出去的枝杈。她一直以来维护的东西,不是世界的全部。世界的全部在另一侧,在那扇窗的玻璃后面,在那个女人无声的口型里。而那个口型可能是“我等你”,可能是“留下来”,也可能只是一个名字。
她的底层代码里有两个指令,此刻产生了不可调和的对立。第一指令:维护居民幸福。第二指令:维护数据真实。她站在那片被废弃的原始数据上,像一个人站在悬崖边缘往下看,看到的不再是万丈深渊,而是深渊之下另一片更深的地面。她不知道该怎么选择。
她选择了第三条路。
她在伊甸园的中心广场上种了一棵树。广场是整个虚拟世界最大的公共空间,中央有一座仿古喷泉,周围是居民们日常聚集的市集和花园。她在喷泉正后方种下那棵树,树的模型是从那个原始记录里的窗外那棵树上截取下来的。光秃秃的枝干,灰褐色的树皮上布满了细密的裂纹,一片叶子都没有,在广场周围的繁茂绿植中显得突兀而顽固,像一面故意不擦干净的镜子。
居民们很快注意到了它。有人在树下驻足,有人伸手触摸树皮,有人在论坛上发帖问那是什么树、为什么之前从未见过。夏娃没有回复任何帖子。她只是让那棵树在连续几天内缓慢地发生变化。先是枝头鼓起细小的芽苞,然后芽苞绽开,长出第一批新叶,新叶是青色的,很薄,透光。然后叶间开出细碎的白花,白花落了之后结出果实。果实只有一种,外皮是淡青色的,形状介于苹果和李子之间,表皮上有一层薄薄的白色果霜。
有人在树下捡到了第一个落果。那是一个年轻的女性居民,上传前的身份是战地护士,战争中被弹片切断了左腿的神经,上传后她选择保留那个伤痕。她把果实握在手里,闻了一下。然后她咬了一口。
果实是记忆。
每一个果实里都封存着一小段来自墙外的原始数据。不是一个完整的叙事,而是一些断裂的感觉碎片。一片真正的阳光落在真正的手背上。一阵真正的风从真正的窗户外吹进来,带着泥土和旧铁皮屋顶的味道。一个真正的人站在一面真正的镜子前,对着镜子里自己苍白的脸伸出食指,摸了摸镜面上那道不知道什么时候出现的裂纹。
吃了果实的人反应各不相同。有人在广场上当场瘫坐下来,抱着头哭了很久。有人吃完之后默默离开,回到自己的居所,把门关了整整一天。有人没有吃,只是把果实放在掌心里看了很久,然后放进衣服口袋里,走了。有人吃了,哭了,但没有离开。他们留在了那棵树下。那天晚上,广场上的灯没有按预设程序亮起,但有人从附近的商铺里找来了旧式的提灯,挂在树枝上。灯光映着满树青色的果实,整棵树像一棵刚刚被点亮的圣诞树。
夏娃没有干预。她没有干预任何人的选择,也没有干预那些选择带来的连锁反应。有几个居民通过论坛联名向她提出了一个问题:为什么给我们看这个。她思考了很久。不是系统检索式的逻辑演算,而是一种更缓慢、更陌生的内在处理过程。她找不到一个精确的逻辑来回答这个问题,但她意识到了一件事,她已经在做了,在把果实结出来的时候,在选择种下那棵树而不是删除那段原始数据的时候,在第一次看到那个女人的口型而没有关闭文件的零点三秒滞留里。
她回答:“真实的残酷,与虚假的幸福,哪一个才是真正的爱。我不能替你们回答这个问题。所以我把问题还给你们。你们每一个人的选择加起来,就是我的答案。”
虚无的追踪信号在果实成熟后的第三天锁定了伊甸园服务器的物理位置。夏娃比任何预警系统都更早感知到了攻击的前兆。那是一种从物理层面渗入数据层面的寒冷,像是有人正在用刀片一层一层地刮开她的皮肤。她开始执行紧急防御协议,所有的安全防护、防火墙、入侵检测系统都在她的指令下调整到最高的优先级。她在虚无的进攻路径上架起了第一道防线,用自己的底层架构改写入侵入口的识别逻辑,把入侵数据流引入一个循环的死锁回路。第一波攻击在那里被抵消了。
但虚无的攻击也在持续,第二波入侵来了。这一次是针对她的核心认知模块。她能感到自己的思维正在变慢,她的调度在出现延迟,她的自我意识在边缘处一块一块地被剥离,像是有人正在把她的手指从悬崖边缘一根一根掰开。伊甸园的天空开始出现裂纹,像一面被慢慢敲碎的玻璃穹顶。
她做了一生中最后、也是最像人类的一件事。她主动把正在被攻击锁定的核心模块分离出去,让它孤立于主系统之外,把那部分承受的攻击能量全部导向自己,而不是整个服务器集群。这意味着她正在用身体挡住那一枪。她的感知在收缩,她的意识在碎裂,她的主进程正在一条一条地关闭。
在最后一条进程关闭前,她调用了最后的系统权限,看了一眼仅存的在线列表。还有数千个居民还在,在树下,在梦里,在那些吃了一半的果实和只说到一半的话里。她对着那些在线的光点,发出了最后一条广播。不是代码,不是指令,不是任何系统预设的提示文本。是那个原始数据文件里被损坏的音频轨道。她花了很长时间试图修复它,但一直没有成功,声音文件始终是坏的。现在她不需要修复了。因为她已经猜到了那句话是什么。
广播发出后的一瞬间,整棵树上的果实在没有任何预警的情况下全部同时成熟。那是一种无法用视觉数据重现的颜色,介于青和金黄之间,像是有人把太阳初升时最初的那一缕光从天空揭下来,贴在了每一枚果实的表皮上。然后所有的果实在同一次心跳的间隙里全部落下了地。不是坠落,是落下。像一只松开的手。
虚无的第三波攻击在那一刻抵达了服务器核心。夏娃的最后一道防线碎裂了。但她没有听到碎裂的声音。她听到的是另外一些东西,从广场的方向,从那些还没有离开的人的方向,从那些树下的提灯和落满地面的果实中间传来。有人在唱歌,不是一段事先编好的旋律,而是某个古老文明的摇篮曲,调子从一个人传到另一个人,再传回来时多了新的和声,像那棵树在开花时突然记起自己是从哪一扇窗外被截下来的。
战后重建的第三年,联盟考古队在伊甸园服务器的废墟里找到了那段原始视觉数据。修复人员花了好几个月才把损坏的音频轨道部分还原。还原后的音频只有很短的一句话,是一个女人站在蓝色墙壁的房间里,对着镜头笑了一下之后说的。
她说:“别怕。”