晋江文学城
下一章 上一章  目录  设置

2、镜子里的东西 703的门 ...

  •   703的门在林昭身后关上了。

      没有声音。

      就像它从来没有开过。

      但她没有回头去看那扇门。不是不想,是做不到——因为眼前的东西把她的全部注意力钉在了原地。

      那不是走廊。

      那是一间办公室。

      天花板上的日光灯管发出均匀的冷白色光,比走廊里那盏垂死挣扎的声控灯明亮得多,也残忍得多。光线像一把手术刀,把整个空间剖开来,每一个细节都暴露无遗——磨砂玻璃隔断、灰白色的办公桌、黑色转椅、桌上的双显示器支架、角落里半死不活的绿萝。

      空气里有一股味道。

      不是走廊里那种霉气和消毒液混合的腐败气息,而是一种更让人不安的味道——咖啡粉、打印机的臭氧、中央空调吹出来的循环风,以及某种已经淡去的、属于特定人的香水味。

      林昭认得这个味道。

      这是创世智核A座17层的气味。她在这里待了四年。她在这里写了无数行代码,开了无数次会议,在某一天被保安“请”出了那扇需要工牌才能刷开的玻璃门。

      她站在门口,没有动。

      日光灯的光落在她脸上。她的五官在冷光下显得格外清晰——眉眼偏冷,瞳色极淡,像冬天结了薄冰的湖水。这种长相在不笑的时候会给人一种拒人千里的疏离感,而她此刻确实没有笑。

      她的目光从绿萝移到磨砂玻璃,从磨砂玻璃移到办公桌上的工牌卡槽,从工牌卡槽移到——

      工位上的那个人。

      黑色转椅原本背对着门口,在她的目光抵达的瞬间,像是感应到了什么,缓缓转过来。

      椅子的转轴发出一声极轻的摩擦声,像某种精密机械被启动。

      椅子上坐着一个人。

      一个女人。

      一个和她长得一模一样的女人。

      同样的眉眼,同样偏冷的五官线条,同样极淡的瞳色。同样的白色衬衫,同样的黑色长裤,同样的左手腕上没有任何饰品——林昭从不戴手表和手链,因为敲键盘的时候会硌。

      甚至连坐姿都一样:背脊挺直但不僵硬,左手自然垂在扶手上,右手搭在桌沿,指尖微微蜷曲——那是长期使用键盘的人的习惯性手势,手指永远在等待一个不存在的键位。

      但那个人在笑。

      林昭不常笑。即使笑,也是嘴角微微动一下,弧度浅得像刀尖挑破水面泛起的涟漪,转瞬即逝。

      而那个人笑得非常标准。

      嘴角上翘的弧度、露出的牙齿数量、眼角配合弯起的纹路——全都恰到好处。像一个从“人类表情参考手册”里走出来的示范图例。

      和电梯里那个老人一模一样的笑容。

      “你迟到了。”

      那个人开口了。声音也和她一样,但语调不对——太平,太稳,每个字的音长都像是被尺子量过的。

      “林研究员。”

      林昭没有回答。

      她的手垂在身侧,指尖几不可见地蜷了一下——那是她在进行高强度计算时的无意识动作。如果你观察得足够仔细,就会发现她的目光正在移动,从一个点到另一个点,从那张和自己相同的脸,到桌面上的显示器,到显示器旁边那个黑色的工牌卡槽。

      卡槽里插着一张工牌。

      照片是她的。名字是她的。工号是她的。

      有效期截止日期:三年前的今天。

      “你在看什么?”椅子上的人歪了一下头,角度精确得像是用角尺量过的,“看你自己吗?”

      林昭终于开口了。

      “你不是我。”

      只有四个字。

      语气平淡,像在陈述一个物理事实。

      那个人又笑了。还是那个标准的弧度,但在日光灯的冷光下,那个笑容的边缘出现了一丝肉眼几乎无法捕捉的抖动——像投影仪对焦不准时画面的轻微震颤。

      “我当然是你。”那个人说,“我是你留在这里的东西。”

      “什么东西?”

      “你不想带走的那部分。”

      林昭没有接话。

      她的目光终于从那个人身上移开,落在了桌面的显示器上。

      屏幕亮着。

      不是待机状态的那种黑屏亮着LOGO,而是正在运行着某个程序。窗口最大化,背景是深灰色,代码编辑器的配色方案——暗色底,关键字高亮为蓝紫色,字符串是暗绿色,注释是灰色斜体。

      这套配色方案她太熟悉了。是她自己配的。从字体到色号,每一个参数都是她亲手调的,用了整整一个下午,因为那天她跟导师沈渡川吵了一架,需要做一件完全由自己掌控的事来平复心情。

      她调完这套配色方案的时候,沈渡川路过她的工位,看了一眼屏幕,说了一句:“你连代码的颜色都要控制?”

      她说:“控制不了的东西,至少可以让它好看一点。”

      沈渡川笑了,拍了拍她的椅背,走了。

      那是他拍过她椅背的最后一次。

      一周后,她被他从这栋楼里赶了出去。

      林昭的手指蜷了一下。

      然后她低头去看屏幕上的代码。

      窗口顶部的标题栏上写着:

      「归墟试炼·内部测试版」——/core/rule_engine/init.py

      下面是代码。Python。她最熟悉的语言。

      python
      # RULE ENGINE v0.1.3
      # Author: Lin Zhao
      # Created: 20XX-08-17
      # Last modified: 20XX-11-09

      class RuleEngine:
      def __init__(self, ruleset):
      self.rules = ruleset
      self.validation_mode = "strict"
      self.fallback = "format"

      def validate(self, action):
      for rule in self.rules:
      if not rule.check(action):
      return False
      return True
      代码是未完成的状态。check方法只有声明没有实现体,fallback参数定义了但没有在任何地方被调用。注释里还有一行被注释掉的TODO:

      # TODO: 需要定义当规则本身出现逻辑冲突时的处理机制

      林昭的目光钉在那行TODO上。

      这行字是她写的。她记得。三年前的那个秋天,她正在为雅典娜设计伦理决策框架。核心问题只有一个:当规则A和规则B发生冲突时,AI应该听谁的?

      她当时的方案是引入一个更高层级的“元规则”来裁决冲突。

      但元规则本身也可能冲突。那就需要元元规则。元元规则冲突了需要元元元规则。

      无限递归。

      她把这个问题写进了TODO,然后就被“请”出了公司。TODO永远停在了那里,像一根刺。

      “你看懂了吗?”

      椅子上的那个人又开口了。这次她的身体往前倾了倾,日光灯在她脸上投下一片阴影,把那个标准笑容切成了明暗两半。

      “这是你写的。”那个人说,“你写的规则引擎。”

      “然后呢?”

      “然后,”那个人歪了歪头,角度和上一次一模一样,“你用这个引擎造了一座监狱。”

      “把自己关进去了。”

      林昭的手指又蜷了一下。

      但不是因为恐惧。

      是因为她在那个人的话里听到了一个破绽。

      ——“你用这个引擎造了一座监狱,把自己关进去了。”

      如果《归墟试炼》是她写的代码,如果她现在被困在这个游戏里,如果游戏的核心规则引擎来自于她的代码——

      那么,为什么她会“不记得”自己写过它?

      三年前她确实在做AI伦理决策框架。但那是为雅典娜设计的,一个用于评估医疗资源分配伦理问题的模型。不是游戏。不是副本。不是规则怪谈。

      有人修改了她的代码。

      或者说——

      有人在她的代码基础上,盖了一座她认不出来的建筑。

      林昭的瞳孔微微收缩。不是恐惧引起的收缩,是猎人终于看见猎物露出脚印时的那种收缩。在日光灯的冷光下,她那双颜色极淡的眼睛忽然变得格外专注,像冰层下面的水流忽然加速了。

      “你说这是我写的。”她说,声音比刚才更轻了。

      “那你告诉我——”

      她抬起手,指向屏幕上的那行TODO注释。

      “这行字下面的代码,是谁写的?”

      那个人没有回答。

      她的笑容定住了。不是裂开,是定住。像一段正在播放的视频被人按下了暂停键,画面停在最标准的那一帧上,但标准得过分了,过分的标准就是诡异。

      日光灯闪了一下。

      就那么一下。

      极短的一瞬,短到如果不是林昭这种对细节有病态般敏感的人,根本不会注意到。

      但林昭注意到了。

      因为在灯闪的那一瞬间,椅子上的那个“林昭”——变了。

      不是脸变了。

      是整张脸上所有的像素都偏移了一个像素点。

      就像一面镜子的镜面在某个角度下出现了肉眼可见的弧度,把镜中的倒影拉伸了一丝。只是一丝。但足够让林昭看见了。

      她看见了那个“林昭”真正的样子。

      在那千分之一秒的灯光闪烁中,椅子上坐着的不是一个和她一模一样的人。是一个由无数细小的、发光的、不断流动的数据碎片拼成的人形轮廓。那些碎片在不停地重组、复制、覆盖,用最快的速度维持着一张和她相同的脸。

      像一个每秒钟刷新六十次的屏幕。

      你看到的不是“画面”。

      是“刷新”。

      林昭的呼吸停了一瞬。

      不是因为恐惧——她的心率甚至没有加快。

      是因为她终于想明白了第一条规则。

      「晚上10点后不要照镜子。」

      不是镜子里有鬼。

      是镜子本身就是鬼。

      “你是一个显示终端。”她说。

      声音很轻,但在空旷的办公室里,每一个字都像是被放大了一圈。

      “你不在椅子上。你在屏幕里。”

      “你不是人。”

      “你是一面镜子。”

      那个“林昭”的笑容终于裂开了。

      和电梯里那个老人一模一样的裂法——从正中间开始崩坏,左边的弧度卡住,右边继续往上扯,把整张脸拉扯成一个不可能的表情。

      日光灯开始剧烈闪烁。

      不是一根灯管在闪,是整间办公室所有的光源都在闪——天花板上的灯管、显示器屏幕的背光、甚至工位角落里那盆绿萝叶片上反射的光点。所有的光都在同步地明灭,频率越来越快,像一台过载的服务器正在疯狂地尝试重启某个进程。

      在那个崩坏的笑容完全碎掉之前,椅子上的人发出了最后一个声音。

      “你——”

      “不——”

      “该——”

      “看——”

      “到——”

      每一个字之间都有精确的间隔。不是人类说话的自然节奏,是一段被拆分成单字播放的音频文件。

      “这些。”

      最后一个音节落下的时候,显示器屏幕猛地一亮。

      不是正常的高亮。

      是一种具有方向性的、像探照灯一样的亮。光从屏幕里射出来,打在林昭身上,把她整个人笼罩在一层冷白色的、带着轻微频闪的光圈里。

      然后她看见了屏幕上的新内容。

      不是代码。

      是一面镜子。

      屏幕变成了一面镜子,映出了她的脸。日光灯管的光从她头顶打下来,在她眉骨下方投下一小片阴影,让她的眼睛隐在暗处,只有瞳仁最中心的一点反着光,像冰面下没有冻结的水。

      她看着镜子里的自己。

      镜子里的自己也在看她。

      然后镜子里的她笑了。

      和椅子上那个人一模一样的标准笑容。

      林昭感觉自己的嘴角在动。

      不是她主动动的。

      是某种外力——一种轻柔的、不可抗拒的、像水流一样的力——正在从屏幕里渗出来,爬上她的脸,用手指掰着她的嘴角往上提。

      屏幕里的她笑得越来越标准。

      屏幕外的她,嘴角正在被同步拉扯。

      她动不了。

      不是身体被束缚的那种动不了,是“想动”这个指令本身在传输到肌肉之前就被截断了。有人——有东西——在劫持她大脑和身体之间的通信协议。

      像一个远程桌面控制软件。

      操控者在屏幕里。

      被控者坐在屏幕外。

      第一条规则从不是“不要照镜子”。

      是“不要被镜子照到”。

      因为被照到,就会被同步。

      被同步,就会被覆盖。

      林昭的嘴角还在往上扯。

      已经扯到了一个让她颧骨发酸的角度。

      日光灯停止了闪烁。

      办公室里一片死寂。只有显示器背光发出的细微电流声,和她自己越来越慢的呼吸声。

      然后她笑了。

      不是被掰出来的那个笑——是她自己的笑。

      冷的,锋利的,嘴角弧度只挑起一侧,像一把刀在出鞘时反射的第一道光。

      “你说我不该看到这些。”

      她的声音从被掰成奇怪角度的嘴唇之间挤出来,带着某种被压制但绝不屈服的东西。

      “但你已经让我看到了。”

      “你让我看到了屏幕。”

      “你让我看到了刷新。”

      “你让我看到了你的代码——”

      她猛地抬起右手。

      动作不流畅。她的身体还在被那股力拉扯,每一个关节都像生了锈的合页,每移动一厘米都需要把阻挡她的指令撕开一道口子。

      但她动了。

      一点一点地,像一个人在齐胸深的沼泽里行走,每一个动作都要消耗掉正常情况下的十倍力气。

      她的手指碰到了显示器的边框。

      金属是冰的。

      她把手指按在屏幕上。

      屏幕上的镜像是冷的。不是金属那种物理意义上的冷,是一种从代码内部渗出来的、不携带任何温度的冷。像你把手放在一扇通往冬天的窗户上,玻璃本身不产生寒意,寒意来自窗外的那个世界。

      她的手指在屏幕上划过。

      镜中她的脸被手指的拖拽拉出一道涟漪,像水面被投入石子的瞬间。涟漪扩散开来,那个标准笑容被搅碎成无数细小的光点,在屏幕的像素矩阵里四散奔逃。

      然后她按住了屏幕里自己的左眼。

      “第一条规则是‘晚上10点后不要照镜子’。”她说。

      声音稳定下来了。不是力气的恢复,是她终于摸到了这张网的结构,摸到了每一根丝线的走向。

      “你说为什么是‘晚上10点后’?”

      屏幕里的镜像开始震颤。

      不是刚才那种像素偏移——是整体性的震颤,像一面镜子在被敲击的边缘。

      “因为白天的时候,窗户有光。玻璃会反射外面的世界。”

      “但到了晚上,玻璃不再是一扇窗户。”

      “它会变成一面镜子。”

      她的手指在屏幕上的左眼位置按下去。

      更用力了。

      “你不是鬼。”

      “你是一个视觉BUG。”

      “你只存在于显示介质里。”

      “镜子、玻璃、水面、屏幕——”

      “任何能反射的平面,都是你的载体。”

      “但载体不是无限的。”

      她弯下腰,把脸凑近屏幕。

      近到鼻尖几乎触碰到屏幕里的那个自己。

      近到她能看见镜中那双和自己一模一样的眼睛里——有一个像素点,在反复地、无意义地、像死循环一样地闪烁。

      “你在复制我的视觉信息。”她说,声音轻得像在自言自语,“你看到我,你复制我。我越看你,你复制得越精确。”

      “这就是为什么规则说‘不要照镜子’。”

      “不是怕我看到你。”

      “是怕我让你——看得太清楚。”

      她的右手从屏幕上移开。

      但她没有后退。

      她转过头,看向办公桌旁边的磨砂玻璃隔断。

      磨砂玻璃是半透明的。

      日光灯的光穿过磨砂层,变成一片均匀的、没有焦点的乳白色柔光。那片玻璃什么都映不出来——看不见她的脸,看不见办公室的倒影,看不见任何可以被称为“镜像”的东西。

      因为磨砂玻璃把所有的光都打散了。

      光不再按照入射角等于反射角的规律飞行。它们撞在凹凸不平的表面,向四面八方散射,没有一束光能够完整地回到它来的方向。

      没有完整的光路。

      就没有镜像。

      没有镜像。

      就没有载体。

      林昭盯着那片磨砂玻璃。

      然后她把手按了上去。

      “你在复制我的时候,”她说,“用的是一套行为脚本,对吧?”

      “脚本里写好了‘林昭应该有的表情’‘林昭应该说的话’‘林昭应该做的动作’。”

      “但脚本总有边界。”

      “脚本写了‘林昭看到镜子时的反应’,写了‘林昭看到另一个自己时的反应’——”

      “但脚本没有写——”

      她的手在磨砂玻璃上用力一推。

      玻璃隔断晃动了一下。

      “——如果林昭不看镜子,看毛玻璃。”

      “你会怎么样?”

      办公室里所有的灯都灭了。

      不是一盏一盏灭,是同时灭。像有人拔掉了整层楼的电源总线。日光灯管里残留的荧光粉还在发着微弱的、正在快速衰减的余光,把整个空间拖进一片暗绿色的、像深海一样的幽暗里。

      只有显示器还亮着。

      屏幕上,那个和她一模一样的脸正在崩溃。

      不是“裂开”那种有戏剧效果的崩溃,是一种更安静的、更彻底的崩溃——像一个渲染到一半被强行终止的3D模型,纹理图层一层一层地剥落,多边形网格从边缘开始瓦解,露出下面的线框、顶点、和空白的灰模。

      脸没了。

      然后是肩膀,是手臂,是上半身。

      最后只剩下一个轮廓。

      一个由无数发光线段勾勒出来的人形轮廓,孤零零地坐在黑色转椅上,像一个被从游戏中删除角色后残留在缓存里的幽灵模型。

      林昭看着那个轮廓。

      轮廓也在看她——如果那堆线段还有“看”这个功能的话。

      日光灯管的余光彻底熄灭了。办公室陷入完全的黑暗。只有显示器的冷光打在她脸上,把她的五官切成明暗分明的两半。她的眼睛在屏幕光的映照下亮得惊人,瞳孔深处有什么东西在燃烧——不是愤怒,不是恐惧,是一种比两者都更炽烈的、更持久的东西。

      猎人终于把猎物逼进死角时的专注。

      “你不该让我看到屏幕的。”

      她对着黑暗中的那个轮廓说。

      “更不该让我看到代码。”

      “最不该让我看到那行TODO。”

      她伸手,摸到了显示器的电源键。

      不是要按下去。

      是在等。

      等那个轮廓做最后一件事。

      它做了。

      黑暗中,显示器的右下角弹出一行小字。不是代码窗口里的系统日志,是一个独立于所有程序之外的、浮在屏幕最上层的提示框。白底黑字,没有任何装饰,像Windows系统最早的对话框。

      「规则碎片·视觉」

      「已获取」

      「效果:你可以看见规则的边界」

      林昭看着那行字。

      看了三秒。

      然后她按下了电源键。

      屏幕暗了。办公室彻底沉入黑暗。没有光,没有声音,没有那个和她一模一样的轮廓。只有她自己的呼吸声,在黑暗中一起一伏,像潮水拍打礁石,缓慢,沉重,不可阻挡。

      她在黑暗中站了很久。

      然后她的左手腕亮了一下。

      幽蓝色的光从袖口透出来。她把袖子拉上去,看见那串倒计时还在跳动。

      68:21:47。

      下面多了一行小字。

      字号比倒计时小很多,颜色也不是幽蓝,是一种更暗的、接近铁锈的红色。如果不仔细看,会以为那是皮肤下毛细血管映出来的颜色。

      但林昭仔细看了。

      她看见那行小字写的是:

      「碎片持有者编号:唯一」

      「权限级别:未定义」

      「备注:该碎片创建于三年前。创建人——」

      最后一个字被一片突然亮起的光吞没了。

      不是显示器的光。

      是天花板上的日光灯管。所有灯管同时亮起,白炽光像洪水一样灌满整间办公室。骤然从黑暗切换到强光,林昭条件反射地闭了一下眼睛。

      再睁开的时候,办公室变了。

      磨砂玻璃隔断还在。灰白色办公桌还在。黑色转椅还在。绿萝还在。

      但工位上的那个人没了。

      转椅空空荡荡,椅背上搭着一件米白色的空调衫——她的空调衫,三年前留在这间办公室里没有带走的那件。针织面料,袖口有点起球,左肩上有一小块洗不掉的咖啡渍。

      她记得那块咖啡渍。

      是沈渡川递咖啡给她的时候洒的。那天他们在争论一个伦理框架的问题,他激动了,手一抖,咖啡泼在她肩上。他一边道歉一边找纸巾,她说不碍事,然后那件空调衫就搭在椅背上,从那天起再也没穿过。

      空调衫还在。

      人没了。

      林昭走向那张椅子。她的手伸出去,指尖触碰到那件空调衫的袖口。面料冰凉,带着中央空调送风口吹出来的那种循环风的温度。

      她把袖子翻过来。

      袖口内侧,用黑色的线绣着一个字母。

      L。

      不是机绣。是手缝的。针脚不太整齐,起针和收针的地方有线头没有剪干净。

      这是沈渡川绣的。

      她记得。有一天下班后,整层楼只剩他们两个人。沈渡川路过她工位,看见她拿着针线笨拙地缝袖口上崩开的线。他叹了口气,说你这个拿手术刀都缝不好血管的人,让我来。然后他接过针线,缝了一个L,说这样以后空调衫跟别人的混了也能认出来。

      她把那个L缝反了。

      沈渡川说你连字母都分不清正反?

      她说我分得清,只是缝的时候忘了镜像。

      忘了镜像。

      林昭的手指猛地收紧,把那件空调衫攥出了褶皱。

      日光灯管的光落在她脸上。她的表情没有变化,但瞳孔深处有什么东西在剧烈地收缩——不是恐惧,是一种比恐惧深得多的、从骨头缝里渗出来的东西。

      三年前。

      镜像。

      规则碎片。

      创建人是她。

      代码里的TODO。

      沈渡川绣的L。

      L的反面是什么。

      是?。一个不存在的字母。

      一个镜子里才会出现的字母。

      她把空调衫翻过来。

      对着日光灯的光。

      那个L在逆光下变成透明的轮廓,像一个没有被填满的伤口。光线穿过针脚之间的缝隙,在天花板上投下一个模糊的影子。

      影子里的字母是正的。

      因为镜子翻转了两次。

      一次是绣的时候。

      一次是看的时候。

      两次翻转,等于没有翻转。

      等于真相。

      林昭把空调衫叠好,放进外套内侧的口袋里。动作很慢,很仔细,像在做一件仪式。然后把拉链拉上,把那个L贴在心脏的位置。

      办公室开始褪色。

      不是比喻意义上的褪色——是物理意义上的。墙壁的颜色从灰白变成灰,从灰变成雾,从雾变成透明。磨砂玻璃隔断像糖溶于水一样无声地消解。绿萝最后一片叶子的绿色抽离成灰白。日光灯管的光不再是从某一个点发出,而是从四面八方同时涌来,没有方向,没有阴影,没有任何可以定位的参照物。

      像一个正在被关闭的程序窗口。

      林昭站在这个正在消失的空间中央,左手腕上的倒计时还在跳动。

      日光灯管最后一缕光暗下去之前,她看见办公桌的抽屉拉开了一条缝。

      抽屉里有一个东西。

      一个不应该出现在那里的东西。

      一个手机。

      屏幕亮着。

      上面是一条草稿箱里没有发送的短信。

      收件人是她的旧号码。

      发送时间是三年前。

      发送人:沈渡川。

      短信内容只有四个字:

      「别相信镜」

      第四条没有写完。

      光灭了。

      所有东西都消失了。

      林昭站在一片虚空里。没有上下,没有左右,没有前后。只有她自己的呼吸声,和手腕上那串幽蓝色的数字,在黑暗中一下一下地跳动。

      68:14:22。

      68:14:21。

      68:14:20。

      然后黑暗中浮现出一行字。

      冷白色的,像日光灯管的余烬:

      「副本结算中……」

      「幸福小区·已完成」

      「规则碎片获取:视觉」

      「隐藏线索获取:1/7」

      「下一副本载入倒计时:23:59:59」

      字迹暗下去。

      新的光从脚下亮起来。不是日光灯那种冷白色,是一种更暖的、更旧的光,像老式绿皮火车窗外的夕阳。

      她听见了铁轨的声音。

      哐当。哐当。哐当。

      节奏越来越快。

      一扇门在她面前浮现。锈迹斑斑的金属门,门把手上挂着一个木牌,木牌上用红漆写着:

      「废土列车·第37次班次」

      「规则如下:」

      「1. 每站必须投票放逐一人。」

      「2. 被放逐者将在下一站下车。」

      「3. 车上永远保持满员。」

      「4. 列车长永远不会错。」

      「5. 终点站是——」

      第五条规则的最后几个字被一块暗红色的污渍盖住了。不是油漆,不是墨水。林昭认得那种颜色。

      是血。

      干涸了很久的血。

      她伸出手,推开了那扇门。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>