下一章 上一章 目录 设置
69、第二十四章 寻觅 第二十四章 ...
-
第二十四章寻觅
余寻决定给自己做一个系统诊断。
不是比喻——他真的在备忘录里建了一个新文档,标题是“系统诊断报告·版本1.0”。起因是他已经连续好几天没有写出一行能用的代码了。不是“写不出来”,是“写出来全删了”。光标在屏幕上闪,键盘上的手指停在半空中,脑子里全是编译不过去的碎片。漫画也看不进去——他把《海贼王》最新一话翻来覆去翻了不知多少遍,看到路飞对伙伴喊“走吧,去下一个岛”,然后他把平板扣在膝盖上。上一个岛已经失灵了。
他把诊断报告分成几个标准模块,这是他从大一开始养成的问题处理方式。症状描述:注意力下降,漫画阅读效率降低,代码产出量几乎为零,睡眠质量差,对环境的噪声敏感度显著提升。环境参数:宿舍三人均有不同程度的噪声产出——小何的键盘声,阿杰的外放声,大刘的鼾声。防御措施:双层床帘、降噪耳机,均未完全恢复基线状态。可能原因分析——他在这里停下了很长一段时间,手指悬浮在屏幕上方。
他写了几个字,删掉。又写——“原因一:外部噪声超出防御系统负载上限。”换行。“原因二:内部核心进程长期暂停。”他看着自己打的第二行字,没有删。但也没有继续写。他把诊断报告最小化,打开另一个文档——那个从“董超”改名为“同船协议”又改名为一堆乱码前缀最终稳定为唯一标识符的文件夹。最新一条记录是凌晨发的消息。
“今晚能回来吗。”
“还在加班。你先睡。”
他当时没有追问。但现在他对着这条记录做了件事——把“你先睡”三个字单独拎出来,和之前的“晚安”“好的”“嗯”排成一列。频率统计结果显示,曾经每天一次的交互,最近一次隔了将近一个月。这不是“太忙”能解释的频率坍塌,这是优先级被重新分配了。他把这个结论写进诊断报告的原因分析第三条,但他没有完全承认这个结论。
他决定:不再去修复旧的小天地,而是构建一个新的。因为旧的那个已经不行了——不是因为床帘的隔音效果变差了,不是因为漫画不够看,是因为那些原本该出现在小天地里的人和声音都不在了。邬昊翻书的声音,Sun哼跑调粤语歌的声音,Devin在门外突然悟透某个成语的惊呼声,董超推开宿舍门时塑料袋的窸窣声——都没了。物理噪声可以靠双层床帘和降噪耳机挡住,但那些已经消失的、属于特定人的声音,没有任何一款算法能合成回来。所以重建比修复更可行。从零开始,重新选址,重新设计防御体系,重新评估所有外部变量。这一次的目标是:打造一个完全独立的、不依赖任何特定室友或背景音的系统。不需要等谁回来,不需要被任何人的日程表左右,不需要每天晚上拉开门帘看对面那张空床。
他在备忘录里给这个项目命名——“新·零号基地”。然后在学校附近找了一套小公寓。一室一厅,五楼,朝南,窗外没有梧桐树,是一面灰白色的外墙和一条窄窄的巷子。优点是安静——楼上没有人在走廊里跑,隔壁没有人外放短视频,楼下没有人深夜辩论成语。他去看了看,在空荡荡的客厅里站了片刻,听着自己的呼吸声在墙壁之间轻轻回荡。他说好,签了合同。
搬家只用一下午。他的东西本来就不多:漫画、电脑、几件T恤、床帘、MP4、充电宝、那个缝得歪歪扭扭的毛绒太阳。他把床帘装在新卧室里——还是那个深灰色的旧帘子,从大一挂到大三,边缘有一点起毛,挂钩换了三批。新房间比宿舍大不少,窗台能放下一整排漫画,靠墙的位置刚好摆进他新添的一盏落地灯。他把灯拧到最暗的暖黄档,和宿舍那盏台灯的色温编号一致。他把书桌收拾好,把漫画按系列与发行顺序重新排列在窗台上,留出一个单独的格子——放那本董超垫钱买的阿拉巴斯坦篇。然后他坐在床沿上,四周一片寂静。
这里简直像他刚上大一时的第一天晚上——床帘新挂上去,帘布还带着折痕,外面是陌生的宿舍日光灯和三个不认识的人在说话。那时候他坐在帘子里想:好了,这样就行了,他可以在这个四平米的枢纽站里待两年多。现在他坐在一个更宽敞、更安静、完全属于他自己的新枢纽站里。但没有那种“好了”的感觉。那种感觉——安心、稳定、所有模块都在预定位置运行——没有出现。
他试着看漫画。看了几页,翻回第一页,又看一遍,合上。又试着写代码,打开IDE,新建项目,写了函数名,光标在括号后面闪了很久。然后他把电脑合上。太安静了。没有键盘声,没有鼾声,没有走廊里拖鞋跑过的啪啪声,没有突然响起的成语惊呼。安静到他能听见自己的心跳,听见落地灯变压器细微的嗡鸣。原来宿舍那些噪声他其实每一种都能翻译——小何在打排位,阿杰在看搞笑视频,大刘今晚可能不会回来。它们是另一个世界的坐标信号,证明外面还有人醒着。现在这里的安静却像一种真空,他不确定外面还有没有自己在等的声音。
他把新公寓的所有参数列出来:面积、采光、噪声水平、到食堂的步行距离、附近书店的漫画库存。每一项都优于旧宿舍。他给自己列了一张表——《新旧基地参数对比》。每一项都显示新基地优于旧基地,每一项都在说他的决策是正确的、合理的,他的系统分析能力还在正常运转。然后他在表格最下方加了一行备注——“变量的缺位暂时无法获得弥补。但这是预料中的。”
他把手机放在床头柜上,屏幕朝上。然后他做了一件违反他目前所有理性框架的事——他拿起那盏刚调好色温的落地灯,举到与视线齐平的高度,对着灯罩低低地说了句话。
“这片领地还没有标记对象。先给你留一份空白日志。”然后他把灯放回原处,把床帘拉严。但那行备注还浮在心里,并且后面跟着一句他没写上去的话——“不是预料中的。”
他在新公寓住了几天,试图把旧基地的模式迁移过来。他去食堂坐原来的位置,但旁边没有董超把红烧肉拨过来。他去图书馆四楼西区,温和还是在隔一个半座位的位置,但温和现在不再递拿铁了。他去学校后门的书店,站在漫画区翻了两页新番,发现自己没拿那本之前一直在收的系列。
有一天他在路上碰到邬昊。邬昊穿着李诚给他买的那件深灰色大衣,手里拎着刚从老马记打包的牛肉面。余寻站在他面前,邬昊发现他眼底有一小片没睡好的青灰。“你最近睡得不好。”“换了新环境。系统还在适应期。”“什么系统。”“新公寓。我把基地升级了。”
邬昊看着他。以邬昊对他的理解,这个人越是躲进没人找得到的地方,就越是需要有人去找他。“升级了什么。”
“面积大了近两倍,噪声水平降低了不少,窗帘遮光率提升,漫画按系列和出版顺序重新整理,增加了落地灯、独立卫浴和节能冰箱。所有参数都优于旧版。”
邬昊沉默了一会儿。“董超去过吗。”
“……还没。他的实习坐标和这边不重叠。”
邬昊低头看自己手里那碗牛肉面。他想起自己刚跟李诚同居那阵,也给自己列过一张表格——李诚的优缺点对照、两人合住的利弊分析、分开财务和共同开销的分摊比例。他以为把一切算清楚就能不依赖任何人。后来他把那张表从四列精简到两列,又用一行字把它全划掉了:他不是变量。他是用来评估所有变量的坐标原点。
“余寻,我不知道你那个系统怎么定义‘最优’,但如果你在新基地里睡不着,可能需要重新检测一下是不是把原点也删掉了。”邬昊把牛肉面换到左手,拍了拍他肩膀,“我还有事。你别只喝免费汤,董超以前好像说过你不吃葱。”他没有等余寻回答。余寻站在原地,看着邬昊的背影消失在梧桐树尽头。
原点。这个词在他的备忘录里有唯一对应项。他把它删了吗?没有。他把它放在旧基地的参考坐标里,以为迁移之后会自动生成新坐标。但旧宿舍那边的餐桌上再也没有人拨肉给他,新公寓的桌面上只摆了自己的马克杯。上次他在新基地里泡了两杯可可,第二杯直到凉透也没递出去。
他回到新公寓,站在那张空荡荡的新书桌前。落地灯开着,暖黄色的光照着窗台上那本单独放的阿拉巴斯坦篇。他拿起那本书,翻开扉页,董超的字歪歪扭扭地写在右下角——“以后每次都来看。董超。”他忽然意识到一件事:新基地确实更强大——更大的空间,更厚的墙壁,更少的噪音。但它挡不住的是同一种东西。不是噪声,是没有人敲他的床帘,没有人把馄饨从缝里递进来,没有人说“你太瘦了”然后把红烧肉拨过来。原来旧基地从来不是被噪声击穿的。它是在极安静的那一刻——他意识到很久没听到董超上楼梯的脚步声,那一刻就已经开始从内部崩塌了。
他拿出一张纸。不是发消息,是写信。他从来没写过信。第一稿开头是“董超”,划掉。第二稿开头是“最近实习生加班时长我已经分析过了”,划掉。第三稿他只写了几行字,没有称谓,没有署名,没有格式。
“系统诊断结果:旧基地无法继续运转。不是因为噪声。是因为核心进程缺失太久。不是你的错。是我的坐标系没有及时迁移。原点还在你那。新基地还没有标记任何人。它在等你。你要不要来看看。”
他把这几行字抄在一张从笔记本上撕下来的横格纸上,字迹端端正正,没有涂改。折好,放进口袋里。然后他用手机查了邬昊上次发给他的那条消息,董超实习的律所在中环,坐地铁过去差不多四十分钟。他没有提前发消息问,他怕自己一旦开始评估就又会在备忘录里写一份《寻找董超的可行性分析》,列三条理由,然后再列三条反驳,然后天就黑了,然后又错过一天。他不能再浪费时间了。他把手机放进口袋,穿上外套,出门前把那盏落地灯留在了最低档——像宿舍床帘夜里给他留的那道缝。
地铁上,他的手指无意识地按在自己的膝盖上打着代码——那是一段伪代码。一段从他备忘录里跳出来的、以他无法忽略的优先级反复闪动的伪代码。他把手从膝盖上拿起来,压在膝盖上让它不要再抖。他从来不知道去见一个人可以比去书店更快,也从来不知道原来路远不是因为地铁慢。
中环的写字楼群在晚上照样亮着灯。他根据邬昊给的地址找到了那栋楼,站在旋转门外往里看了一眼。然后他拿出手机打了一行字——他这辈子第一次打这种字:“我在你公司楼下。你不用加班到太晚,我等你。”发送。
律所办公室灯火通明,董超正对着电脑屏幕改一份法律意见书。手机在桌上震了一下,他扫了一眼屏幕,然后整个人顿住了。
“余寻?你怎么来了?”
董超飞快地把文件保存、关电脑、抓起外套往电梯口跑。等他冲出写字楼大门,余寻就站在旋转门旁边,背着那个肩带磨得发白的双肩包,手里抓着一个牛皮纸信封。他看起来和大学里一模一样,只是眼底有一小片灰青色,被他镜片的光挡住了大半。
“你怎么来了?”
“你来一下。”隔了漫长的时光,命中注定般地响起。
上一次是在高一教室外,余寻领着一大包零食对着教室内的董超说,“你来一下。”
“我在新公寓构建了一个新基地。比宿舍更大更安静,没有噪声,漫画按顺序排列,独立卫浴,还有落地灯。所有参数都比旧宿舍好。”他停了一下,像是在加载一段缓存了很久的指令,“但是里面没有你。我知道你在实习,不应该打扰。可是系统核心模块——算了,不说了。你先跟我来。”
董超站在原地,看着那张写在横格纸上的信纸。他以前觉得余寻的表达方式是加密的,需要一层层解码才能触达核心。但今天这张纸没有加密。他写的不是代码,不是分析,不是诊断报告。他写的是——原点还在你那。他在那盏为他留最低档的灯旁边站了一会儿,然后折好信纸放进口袋里,捉住了他的手。
“你带路。”
新公寓楼下,余寻输入门禁密码的手指微微抖了一下,门开了。电梯里只有他们两个人,他忽然开口:“你实习的律所距离这里不算太远。我查了地铁线路和末班车时间,如果你以后加班太晚,夜间公交也可以坐N121路直达。这里楼下有便利店,早餐也有豆浆。”
“你连公交线路都查好了。”
“昨晚查的。查了很久。”
电梯叮一声到了。门打开,走廊的声控灯应声而亮。余寻领着他走到房间门口,拿钥匙开门,又回头补充了一句:“我在新基地里还没有泡过可可给第二个人。你是第一个。”
门开了,那盏落地灯还开着最低档。窗帘拉了一半,月光从缝隙里漏进来,落在两双并排摆在门口拖鞋上——一双深灰,一双黑,刚拆封,标签还没剪。“这双是你的。”
董超脱下自己的鞋,把脚套进那双黑拖鞋里,大小刚好。这个人连他拖鞋码数都记住了。他直起身握住他的手,看着他背后那盏被从宿舍一路捎过来的小黄灯,又看了看窗台上那本最早被他垫钱买下的漫画。
“你把阿拉巴斯坦也带过来了。”
“它是独立的。和所有系列的排序都不关联。以前放在枕头旁边,现在放在落地灯旁边。因为你看过。”
董超把那封手写信从口袋里掏出来,展开压在两人并排的马克杯底下。他把他拽到那盏落地灯面前,站得很近很近,握住他的手,放在自己心跳最快的位置。
“它一直在你这。你召唤它,它就启动。”
“我知道。前几天我想给你发一段语音,说的是——我的小天地失灵了。不是因为噪声。是因为你。”
“现在呢。”
“正在重启。你站在这里,它就重启了。”
他踮起脚,把嘴唇轻轻贴在他的眉心。不是嘴角,不是侧脸,是眉心——那个他以前每次想皱眉时都会被自己抬手按住的地方。他退回来,重新看着他的眼睛。“你上次在床上不是问我,怎么突然让你陪我看艾斯那集——那天不是因为艾斯。是因为你在难过。今天也不是因为我不想自己建基地。是因为没有你,它不叫基地。”
窗外港市的夜空被城市的灯光映成淡紫色,月光和落地灯的暖光在两个人中间重叠在一起。他攥住他外套的衣角,把他又拉近了些。
“你在律所加班的时候,我重新写了一遍诊断报告。结论还是一样——原点是你。从遇见起,一直都是你。”
他把头抵在他肩窝里,声音不大,但每个字都像编译过的最终版代码,直接送进董超的耳膜最深处。零点过了几分,远处码头的灯塔光又扫过来一轮。他知道明天醒来时这里将不再是未标记的新基地。管理员一号已经到岗,与零号一起正式入驻。从此系统不断电。原点一直在。
【本章彩蛋 ·余寻的内心四格漫画】
《新基地构建失败·原点定位》
第一格:
标题:新基地参数对比
画面:余寻坐在新公寓的落地灯下,手里拿着一张手绘的对比表。左边是旧宿舍,标注:室友噪声若干、馄饨塑料袋声、泡面味;右边是新公寓,标注:噪声趋近于零、无塑料袋、无泡面味。每一项参数旁边都打满了勾,但在表格最下方,有一行单独的红字反复画叉:“特定对象的输入信号:0。可弥补性:无法。”旧宿舍图标底下画着一个被圈起来的火柴人。
余寻的对话框浮在表格旁边:“所有客观参数均优于旧版。但主观评分为异常。原因不明。”
第二格:
标题:安静过载
画面:余寻坐在空荡荡的新公寓里,四周的墙被画成消音海绵。他翻开漫画,画面模糊成乱码;打开电脑,光标在函数名后面闪了半天。旁边的安静被画成一个个缓慢膨胀的灰色气泡,每个气泡里写着一个缺位的坐标——“没人敲帘子”“没人递馄饨”“没人说太瘦了然后把红烧肉拨过来”。他将额角抵在膝盖上,对话框极小:“现在这里的安静跟以前的不一样。以前的安静是有人的。现在没有人。”
第三格:
标题:寻觅·不合逻辑的行动
画面:地铁车厢。余寻坐在靠门的位置,膝盖上放着一封手写信,旁边弹出一个悬浮窗口写着——“行程:去中环律所。目的:未定义。步骤:未预先评估。”他按在膝盖上的手指在轻轻敲击,信上露出几行字:“原点还在你那。新基地还没有标记任何人。它在等你。你要不要来看看。”
小字批注:“这不是符合系统常规的操作。但系统无法拒绝。”
第四格:
标题:余寻的结论
画面:落地灯旁,两个人影。火柴人余寻把信纸压在自己和董超并排的马克杯底下,然后踮起脚,在他眉心轻轻碰了一下。旁边的面板上弹出一行系统消息,字体端正:“原点复位。新基地标记完毕。所有外部参数保留,内部核心进程现在恢复运行。”面板下方还有一行被暖黄灯光挡去一半的小字,像是从诊断报告里悄悄脱落的备注——“从前的零号基地和此刻的新基地都不是真正的基地。他才是。”