林北压下101号门的门把手。门开了。门后面是一条和外面走廊完全相同的走廊,白墙,日光灯管,但更窄,只够一个人通过。墙上没有任何刻痕,包括他在门上刻的那四个字——“别开这扇门”——也消失了。这扇门在打开之后就不再是“101号房的门”,变成了某种通道的入口。门上的刻痕只在门是门的时候存在。当门变成入口,刻痕就不再需要了。
走廊正在塌缩。墙壁从远端开始往内挤压,速度不快,但很稳定。每十秒缩窄大概一掌宽。日光灯管的冷白色灯光在塌缩区域里一片一片熄灭,永久灭。黑暗从走廊尽头向他的方向蔓延。
陈默的重力场在进入走廊的瞬间铺开。“里面重力常数在波动。每秒钟上下浮动百分之五。方向感会失准。”
“能维持吗?”
“三米范围内可以。超过三米——你可能会找不到门在哪。”
林北右手一翻,剪刀的投影在掌心浮现。刀刃上只有一道缺口——第一次循环的缺口。他盯着塌缩区域里密集排列的规则虚线,全部指向同一个方向。他沿着虚线指引的方向快步走。走廊在身后加速塌缩,灯管一片接一片灭掉。黑暗中只剩下剪刀投影的冷光和终端屏幕的微光。塌缩的边缘逼近陈默的重力场外沿——他感知到墙壁在距离三米处合拢,把重力场收缩到两米半,给自己和林北之间留出半米的缓冲空间。
林北盯着前方的规则虚线。虚线越来越密,从几十根变成了上百根,从上千根汇聚成一个点——死结。所有规则的交汇点。他举起剪刀,刀刃对准死结最密的那一条虚线,剪了下去。
塌缩停了。
灯全亮了。一种更柔和的、恒定的白光,和外面走廊里的光是同一种色温,但不闪烁。墙壁恢复原状,结构变了。原来的直线走廊变成了环形走廊——和外面101到106的走廊一模一样,没有门牌号,没有刻痕,没有白墙上的三条规则。走廊沿着一个巨大的弧形延伸到视线尽头,左右两侧都看不到终点。同一个空间在塌缩停止后展现出了它本来的形态。塌缩走廊是第零次循环的保护层,他用剪刀剪断规则节点后保护层被解除,露出了核心区的真实结构。
走廊中央站着一个人。穿着和林北同款式的作战服,款式更旧——第一代作战服,肩部和肘部的补强材料已经磨得发亮,左袖口有一道被缝合过的裂口,针脚很细,手工缝的。二十出头,戴眼镜,镜片上有几道细微的划痕。右手无名指上有一圈银色纹路,和林北的剪刀锚点位置完全一样,颜色更深——暗银,像是被时间氧化过的银器。他抬起右手,无名指上的银色纹路在恒定灯光下微微发光。
“CN-0217-0001。我是CN-0000-0001。欢迎来到第零次循环。”
林北先扫了一遍走廊的结构——弧形,没有门,没有刻痕,没有规则手册。脚下地板是白色的,墙壁是白色的,天花板是白色的。没有任何参照物可以用来判断方向。他侧头看了陈默一眼。陈默的重力场已经铺开,正在扫描走廊的空间结构。几秒后,陈默微微摇头。“环形判断有误。重力读数在十一点钟方向有半周扭转。是莫比乌斯结构。重力常数还在波动,幅度比塌缩时小——大概每三十秒浮动百分之一。刚好在人体感知阈值以下。”
林北把这个信息存进脑子里,重新看向CN-0000-0001。“你继承了他的编号。”
“对。三十年前第一次入侵,他带着我进了起源空洞。他留在起源空洞里维持空洞的平衡,我被弹出来——从此再也没有见过他。委员会把他登记为失踪,把他的编号封存。我在委员会系统里留了一个后门——用他自己的权限,在失踪登记表里嵌入了一个循环脚本。每次系统自动审核到他的编号时,脚本会把审核状态重置回‘待确认’。这样他的编号永远不会被注销,他的权限永远不会被冻结。三十年里委员会的系统更新了四次,我的后门被发现了两次,我修补了两次。第三次更新的时候我被锁在外面整整一年。那一年里我差点失去他的编号——苏晓晓在第二次入侵后发现了我留下的后门。她用同样的权限漏洞把自己的状态从‘失踪待确认’改成‘死亡’又改回去,顺手帮我把编号从封存状态重新激活。她在文字游戏方面的天赋——你大概已经领教过了。”
林北没有接这句话。他想起苏晓晓在镜子里说他“会在最紧张的时候用最冷静的语气做最冒险的决定”。现在他不紧张——他只是需要更多的数据来理解眼前这个人。“他在起源空洞里待了三十年。”
“对。起源空洞的规则裂缝需要不断修补。他的能力和你的剪刀是同一类型——但他找到漏洞之后是缝合它。你的剪刀向外——在规则体系的外层切开矛盾。他的剪刀向内——在规则体系的内层缝合裂缝。两种能力合在一起,才能完整地修复空洞的底层逻辑。”
陈默在旁边开口。“三种能力。剪刀向外剪,剪刀向里缝,循环向外铺。你漏掉了自己。你的循环能力是第四种。四种。他只是你找到的第二个有剪刀的人。”
CN-0000-0001看向陈默,镜片上的划痕在恒定灯光下闪了一下。“你说得对。我一直把自己放在辅助者的位置——循环不能剪断任何规则,不能缝合任何裂缝。它只能让时间在原地打转。我在这里等了三十年,只能做一件事——让这个训练场一直运转,直到找到第二个有剪刀的人。”他重新看向林北,“你在百货公司里觉醒剪裁能力的时候,我通过虚线网络感知到了你的信号——和三十年前我的搭档觉醒时一模一样的信号。我等了三十年才等到这个信号。苏晓晓在观测手册上写了一行字——‘他找到了漏洞’。我在旁边加了一行——‘找到他了。’”
“你让苏晓晓观测我。”
“她观测所有进入萌芽空洞的人。你只是其中一个——直到你在第一次循环里让偏差的自己先走。那个选择不在她的预测模型里,也不在我的预测模型里。我们之前测试过十三个规则对抗型对则师——没有一个人做出和你一样的选择。你通过了测试。”
“那些没通过的人后来怎么了?”
“回到了各自的稳定区。不记得自己在萌芽空洞里经历过什么,只留下一些模糊的残留在能力使用习惯里。我抹掉了他们的记忆——测试失败的人不能带着训练场的数据出去。这些数据如果落到委员会手里,会被用来做规则对抗型武器的研发。委员会里有至少一个人一直在推动这项研究——这个人曾经试图把苏晓晓从‘失踪待确认’改成‘死亡’。”CN-0000-0001推了一下眼镜,“苏晓晓说她跟你说过这件事。”
“说了。她说有人想让她被登记为死亡,另一个人在阻止这件事。那个人是你。”
“是我。她的观测数据对训练场至关重要。她如果被登记为死亡,委员会会注销她的权限,冻结她的手册,追踪她在空洞里的残留信号。她不能死在委员会的系统里。改过她状态的人一共有三个——两个是委员会的正常审核员,一个是未知来源。未知来源的IP地址加密等级是最高级,我至今没有破解。”他顿了顿,“苏晓晓说她不在乎。她说那个人改不改她的状态,她都会继续观测。”
林北脑子里自动跳出一幅画面:苏晓晓推推不存在的眼镜,用那种猎人看猎物的语气说“委员会的系统漏洞比空洞的规则漏洞还好找”。他把这幅画面压回意识底层,开始分析环形走廊的结构。陈默刚才说重力读数在十一点钟方向有半周扭转——莫比乌斯结构。莫比乌斯结构意味着走廊在三维空间里有一个半周的扭转,肉眼不可见——墙壁是白的,地板是白的,没有任何参照物可以用来判断方向。进入者在走廊里走了一圈之后,实际上被翻转到了时间线的另一面。程序员以为自己经历了五次重置——其实是沿着莫比乌斯面走了五圈,每次走到半周处就触发了“重置”,回到了起点。空间翻转,时间线本身存在半周偏移。苏晓晓的观测记录里所有时间对不上的数据——程序员的第一次重置记忆顺序颠倒、偏差个体的质量衰减——来源于时间线翻转对大脑的神经适应反应,类似于晕动症。他的第一次重置记忆是被翻转覆盖的。他从来都不需要抹掉记忆——他需要的是有人告诉他,他的记忆没有出错,只是被翻转了。
CN-0000-0001沉默了片刻。他抬起右手,看着无名指上那圈暗银色的纹路。“你知道我为什么要让你来找我?确认你的剪刀和我搭档的剪刀是同一类——但方向不同。三种能力合在一起,才有可能进入起源空洞,找到他的位置。我在这里等了三十年,为了找到第二个有剪刀的人。你找到了我。现在你需要找到他。”
林北看着走廊的弧形墙壁。白光均匀地铺满整个空间,没有任何阴影,没有任何参照物。他右手一翻,剪刀的投影在掌心浮现。刀刃上的那道缺口在恒定灯光下显得更深了一点——投影本身的密度在变化。第零次循环的恒定灯光没有闪烁,没有明暗交替,所有规则虚线都浮在墙壁表面以下极浅的位置,像是被压进了一层透明的膜里。他盯着那些虚线看了片刻,开口:“出口在半周处。走廊是莫比乌斯面——走完半周就是翻转点,出口在翻转点的背面。程序员每次都在半周处触发‘重置’,因为他走到半周处时刚好被翻转到了时间线的另一面,然后沿着弧形继续往前走,又走回了起点。他在莫比乌斯面上一直往前走,每次都从起点出发,每次都在半周处翻转。他的五次重置全部是第一次。每次都是第一次。他的记忆对不上——因为他在同一个时间点上反复经过了五次。”
CN-0000-0001没有回答。他只是看着林北,镜片后的眼睛很平静。然后他往旁边退了一步,让开走廊中央的通道。“出口在半周处。沿着弧形往前走,走到重力读数翻转的位置——你就能看到出口。你的搭档重力场已经扫出来了,十一点钟方向。”
林北走向那个方向。陈默跟在他身后,重力场持续扫描前方的空间结构。走了大概十几步,脚下地板微微倾斜了一下——往上。莫比乌斯面的半周扭转从这里开始。墙壁上的白色从这一秒开始出现极细微的纹理,像是纸浆在干燥后留下的纤维纹路。纹理的方向是斜的,和走廊的弧形走向成四十五度角。他继续往前走,纹理的角度越来越大,走到半周处时纹理已经完全垂直——垂直翻转。地板变成了天花板,天花板变成了地板。他没有摔倒——重力方向也翻转了。陈默的重力场在翻转点处自动调整了方向,让他平稳地完成了上半周到下半周的转换。他在翻转点的背面看到了出口。一扇门,门上用烫金的字写着“出口”。没有刻痕,没有规则手册。门缝里透出一线灰蒙蒙的天光。
CN-0000-0001站在走廊中央,没有跟过来。他抬起右手,无名指上的银色纹路在恒定灯光下闪了一下。“苏晓晓让我转告你——她的手册上新写了一页。标题是‘林北的反观测’。她会在萌芽空洞里继续完善这一页,等你的剪刀缺口够多的时候再更新数据。她说希望你下次循环——不,下次见面的时候不要再抱她了。她需要预留容错空间。”
林北没有回头。“她说了‘容错空间’?”
“原话。她说根据她的预测模型,你在下次见面时有百分之四十几率会做出某种她无法预测的行为。为了降低这个几率,她需要提前在你的行为预期中植入一个负面反馈——比如让我转告你,她不喜欢被拥抱。”
“她说‘不喜欢’这三个字了?”
“……没有。她说的是‘拥抱会干扰观测数据的准确性’。语气和说‘不喜欢’一样。”
林北压下出口的门把手。门开了。灰蒙蒙的天空,碎片状的云层,远处那个巨大的黑色球体还在缓慢旋转。防空警报还在响,但声音比之前更远了一些——空洞的扩散速度确实减缓了。萌芽空洞的训练场被通关后,周边的空洞扩散可能受到了某种抑制。身后走廊里的灯光还在恒定地亮着——CN-0000-0001还站在走廊中央,手里没有剪刀,只有一圈暗银色的纹路。他要继续在这里等,等他的搭档从起源空洞里出来。等了三十年,还要继续等。他走的时候嘴角是翘着的。
安全屋的门打开时,苏眠的通讯请求在终端上跳了十几条未读。林北没来得及看——陈默在他身后走出安全屋,重力场在退出萌芽空洞的瞬间自动解除,走廊里的灯光在他身后合拢,门板重新封死。无人机悬浮在安全屋门口,红色指示灯规律闪烁。公共屏幕上弹出新的空洞预警,同时滚动着一条热度最高的弹幕——“长发魔女x观测者”。他爸发的。
林北盯着那条弹幕看了片刻。他伸手摸了摸自己的头发。萌芽空洞里两次循环的时间加起来大概几个小时,他的头发已经从及耳长到了过肩——每次使用剪刀后空洞同调加速了转化。发尾微微翘起,带着一层极淡的虹彩光泽,和他在103幻觉里看到的那个未来自己一模一样。睫毛更长了——他现在眨眼的时候能感觉到睫毛扫过下眼睑。喉结几乎摸不到了,只剩一圈浅浅的弧度。声音在尾音处偶尔会不自觉地微微上挑。身高——他站在陈默旁边比了一下,头顶大概到陈默的鼻梁。比进萌芽空洞前矮了小半个头,骨架也小了一圈,作战服的尺码自适应功能自动收紧了肩宽和腰线——确实已经是少女的轮廓了。刚好卡在“还能认出是林北”和“已经完全是个女生”之间的那个模糊地带。
“你现在是少女了。”陈默说。
“身体转化加速——空洞同调导致的。算了。就是少女。我认了。”林北走到公共屏幕前,盯着那条弹幕。热度还在涨。苏晓晓的名字被弹幕刷成了一个标签——#观测者#。有人在弹幕里科普“观测者”的出处,有人在弹幕里讨论“长发魔女”这个称呼的起源——从他第一次通关百货公司时直播画面里的“女仆装大佬”开始,到现在的“长发魔女”,绰号演变史被整理成了一条长弹幕。苏眠发来的舆情汇总里有详细的数据:弹幕出现频率、热度曲线、跨直播间传播路径。林北把舆情汇总从头到尾翻了一遍,关掉屏幕。
“我要申请弹幕审核权限。”
“你没有权限。”苏眠的声音从终端里传出来,语气没有任何波动,“弹幕审核需要委员会信息管理部门的批准。申请流程大约需要两周。在此期间,所有弹幕都会正常显示——包括你爸发的‘长发魔女x观测者’。”
“那条弹幕违反了多少条弹幕规范?”
“我正在查。”苏眠的声音停了一拍,继续,“目前查到了三条。第一,未经当事人同意使用特定称谓。第二,擅自建立未经确认的人际关系标签。第三——你爸在弹幕里加了个表情符号,表情符号的使用违反了弹幕格式规范第十七条。需要我帮你提交投诉吗?”
“提交。顺便帮我查一下投诉处理周期。”
“投诉处理周期约为七十二小时。处理结果将以邮件形式发送至您的委员会邮箱。不过根据历史数据,弹幕投诉的成功率约为百分之二十——大部分投诉会被驳回,理由是‘弹幕内容不构成实质性侵权’。另外,就算投诉成功,处罚措施通常只是警告——不会封号。”
林北沉默了片刻。他打开终端,给他爸发了一条私信。“爸。你发的弹幕被苏眠写进监察报告了。她说你违反了弹幕格式规范第十七条。表情符号不要乱加。”
他爸的回复几乎秒回:“哪个表情不能加?”
“那个标签。观测者本人不同意。”
“她说不喜欢?”
“她说这会干扰观测数据的准确性。语气和说不喜欢一样。”
他爸沉默了片刻。然后发来一条消息:“好吧。标签我删了。但我保留表情符号——弹幕格式规范第十七条只限制商业推广表情,不限制个人表达。苏眠的投诉会被驳回。”
几秒后,公共屏幕上滚过一条新弹幕——“我女儿在镜子里撩了两次头发。我都看到了。她只有紧张的时候才会这样。上次还是考试前威胁副会长那会儿。观测者,如果你在看直播——她没有恶意。她只是不知道该怎么告诉你。#长发魔女他爸#。”
林北盯着这条弹幕。热度开始涨了。标签从#长发魔女x观测者#变成了#长发魔女他爸#。有人在弹幕里问“他爸说的是真的吗?威胁副会长是怎么回事?”,有人在弹幕里科普他考前下泻药栽赃陷害的完整历史——来源是安全屋里苏眠的监察报告截图。他爸在后面点了个赞。
“你爸在曝光你的黑历史。”陈默说。
“……我看到了。”
“他现在是弹幕热度第三。仅次于你和苏晓晓。”
林北打开终端,给他爸发了第二条私信:“爸。你说好不发类似弹幕的。”
他爸的回复依然秒回:“我没有发。我只是陈述了客观事实——你确实撩了两次头发。弹幕可以作证。直播间有回放。苏眠的监察报告里也有记录。这不是弹幕——这是数据。#长发魔女他爸#。”
林北盯着这条回复看了很久。然后把终端屏幕转向陈默。“他在用我的逻辑对付我。陈述客观事实——和我威胁副会长时用的是同一套话术。他说‘这不是弹幕,这是数据’——我考前跟副会长说‘这不是威胁,这是等价交换’。他把‘你投篮的样子真的很帅’换成了‘我女儿撩了两次头发’。同一个句式,同一个逻辑结构。我爸在拆我的招。”
陈默扫了一眼屏幕。“遗传。”
“……什么遗传。这是后天学的。他以前不这样。”
“他看了你的直播。这么久了。每天看你分析规则漏洞,拆解逻辑悖论。学会了。”陈默顿了顿,“你妈在旁边点赞。”
林北把终端屏幕关掉。然后靠在椅子上,把扎好的马尾松开,又重新扎了一遍。这次呆毛压下去了。呆毛又弹起来了。他盯着镜子里那撮翘着的呆毛,想起CN-0000-0001的无名指上那圈暗银色纹路。他的无名指上还没有纹路。剪刀的触感还在——只要他想,随时可以召唤投影。下一个空洞还在等他。他站起来,把马尾扎紧,呆毛不管了,走向公共屏幕前查看新空洞的坐标。东南方向三公里,空洞等级待评估。他把坐标发给陈默,按下通讯键。
“苏眠——帮我查一下萌芽空洞的定期观测申请流程。里面还有至少一个幸存者——102号房,书桌旁边,程序员。他有六次循环的数据需要回收。申请观测。定期观测——每周一次,记录他的状态变化。他不需要救援。他只需要有人确认他的存在。申请流程要多久?”
“……四十七分钟。和后勤配给一样。”
“他在里面等了六次循环,不差这四十七分钟。提交吧。另外——帮我查一下我家的IP地址最近登录委员会直播间的弹幕发送记录。不是查我爸——查我妈。看她发了什么。”
苏眠沉默了一拍。“你妈发了一条弹幕。内容只有四个字——‘干得好。#长发魔女他爸#。’”
林北把终端扣回手腕上。呆毛在头顶轻轻晃了一下。远处天空中那个巨大的黑色球体还在缓慢旋转。公共屏幕上弹出新的空洞预警——东南方向三公里,空洞等级待评估。