顾临把离职单捏在手里,看了很久。
那上面只有一行冷冰冰的说明:因业务调整,与您的劳动关系于今日终止。下面还补了一句人工智能辅助优化建议,建议把他的工位让给效率更高的模块。
他在这家公司写了七年代码。七年,四千多个日夜,几十万行业务逻辑,换来一句轻飘飘的业务调整。
他没哭,也没闹,很安静地把工卡从脖子上摘下来,放进抽屉里。走廊里同事们低头装没看见,只有斜对面的林梓站起来,嘴唇动了动,又坐回去了。
顾哥……
没事。顾临挤出一个笑,正好,我早想回老家种种地了。
说完自己都觉得假。种地?他连韭菜和麦子都分不清。
林梓红了眼睛:顾哥你技术是真的好,他们凭什么这么对你。
顾临没接话。凭什么?他也想问。可这半年,AI 模块上线,组里裁了三分之一的人,他是资历最老、薪水最高的那个,自然先被优化。他不是不懂,只是懂得太晚。
他抱着一纸箱杂物走出工位。纸箱里只有一个马克杯、一盆养了三年的多肉、几本翻得发毛的技术书。临出门,他回头看了一眼那台还亮着的显示器,屏幕上是他写到一半的函数。
他鬼使神差按了一下回车。那串没写完的代码,跑完,正常退出。
就当是最后一次提测。他自言自语,关掉屏幕。
走出园区时天已经全黑。深秋的风灌进领口,他把卫衣帽子拉起来,掏出手机想叫车。屏幕亮着,界面却卡在一个他从没打开过的页面上——一个小方框,上面写着:你已被选中。
这又是哪个推广?顾临皱眉,想顺手关掉。
可就在他点下去的那一瞬,那行字动了。
无限电梯——已为您排队。请进入最近的电梯。
顾临愣了半秒,鬼使神差地抬脚,走向园区门口那部早就停用的老电梯。也许是太累了,也许这一晚的打击让他连害怕都懒得害怕。他按了 1 楼,可电梯门一合,数字就开始往下跳——负一层,负二层,越过负十层,一直跌进没有尽头的黑。
这楼有负这么多层?
他拍了拍控制面板,没反应。伸手想按开门,手指却僵在半空——因为楼层显示屏上那一串数字,开始变成同一个数。
13。13。13。
就像一行死循环里重复的索引值。顾临后背一凉,下意识把手按在墙上。而就在那一瞬,他的左眼一阵刺痛,视野里那面墙猛地裂开一道缝,无数细小的字符从缝里涌出来,像瀑布一样倾泻而下:
——楼层:13/13/13—— ——事件:无限循环—— ——NPC 负载:3—— ——异常标记:+1(访问者)——
顾临彻底愣住。那些字他太熟悉了,那是一个开发环境里最常见的调试输出。他看了七年。
他按了按太阳穴,那些字符还在,随着他视线扫过自动高亮。他试着去读其中一行——无限循环。像一个循环体,卡在某个死循环里,出不去了。
这是…… BUG?
他刚想伸手去够那行字,电梯叮一声,停了。
门徐徐打开。门外没有楼层,没有走廊,只有一片望不到底的黑暗。黑暗深处,传来一个女人的哭声。
哭声很轻,轻得像是隔着几层代码传来的回声。顾临头皮发麻,往后退了半步,撞上冰凉的控制面板。那串调试输出又跳出新的一行:
——对象:顾临—— ——识别类型:高价值样本—— ——入口:已挂起——
挂起。顾临太熟悉这个词了。那是他写服务端时最讨厌的一种状态——一个请求永远进不了队列,卡在死等。而这栋电梯,就是那个永远挂起的进程。别人看见的是鬼怪,他看见的是一个卡死的系统。
黑暗里,那个哭声,一步步,近了。
顾临的呼吸漏了一拍。他刚想迈进去,手腕却被人从后一把拽住。
别进去。
一个清冷的女生在他身后响起。顾临回头,看见一个白大褂都没来得及脱的年轻女人,站在电梯的角落里,脸色发白,眼神却很亮。她叫姜也,是一家医院的急诊科医生——她说她是被一辆救护车送进这栋楼的,车在半路就熄了火,然后她被拖进这部电梯。
你也被选中了?顾临问。
姜也抿了下嘴:不知道。我只知道,那扇门后面,不会是什么好东西。
她的声音压得很低:刚才,电梯里进来过一个人,在你们前面。他走出去,走进那片黑,然后就……没了声音。过了一会儿,哭声就响起来了。
顾临的心沉了沉。他抬眼,那行调试输出还在他视野边缘闪:NPC 负载:3。也就是说,这栋电梯里,算上他和姜也,还有别的东西在。而这个东西,正用哭声勾人往前走。
他舔了下干裂的嘴唇,退后半步,重新把那片“黑”审视了一遍。在他左眼的视野里,那片黑不是纯粹的黑暗,而是一层缓缓流动的、像数据一样的东西。黑里,有几个字符在闪烁,像极了代码注释里被遗忘的标记:
——单元:电梯井—— ——深层副本:未开放—— ——此层出口:待触发——
他忽然笑了。那是一种在代码里泡了七年、突然看穿某个死结的、近乎病态的笑。
姜也警惕地看着他:你笑什么?
顾临没回答,而是抬起手,指向黑暗深处那行若隐若现的标记,声音平静得不像个刚失业的人:我大概知道,这东西在骗我们。
她愣住:骗?
顾临侧过头,左眼里的那行调试输出,在他开口的一瞬,又一次跳出一行新的:
——检测到越界者:顾临—— ——难度:+1—— ——入口:开始压缩——
他,几乎是用气声说完这句的:
别慌。先定位 BUG。
姜也盯着他看了两秒,没再拦。她是从急诊科被拖进来的,见过太多濒死的人,也练出了一双能判断“该不该信”的眼睛。眼前这个格子衫男人,眼神平静得不像在说谎。
电梯里安静下来,只剩黑暗深处那断断续续的哭声,像一段坏掉的老磁带,卡在同一个音节上,一遍遍倒带。
顾临把手机屏电筒打开,惨白的光扫出去,打在电梯门外那片地上。光柱里,地板是一格一格贴砖的,很普通。可当他微微偏头,让那点光斜着扫过砖缝时,他看见那些砖缝里,有极细的、像数据流一样的纹路在游动——他左眼的调试视图能看穿这层皮。
他伸出手,指尖悬在墙上,没有碰,只是用眼睛“读”。视野里那行标记被放大:
——墙体:表面层—— ——内层:无限循环(嵌套)—— ——可写:false—— ——验证:通过——
读墙。顾临在心里把这几个字念了一遍,忽然懂了什么。他站起来,用光柱扫了一圈整个电梯,然后,他看见了那行被刻意藏起来的东西——在角落里,有一块砖的颜色跟周围不一样。那块砖的上面,淡淡地浮着两个字:
——起点——
顾临指着那块砖,对姜也说:这块,是这栋楼的“源文件”。
姜也皱眉:什么意思?
顾临没直接答,而是走过去,蹲下,用手背在那块砖上轻轻叩了两下。奇迹般的,那行字动了——不是他看花眼,那行“起点”缓缓变成了另一个词:
——确认——
然后,电梯深处,传来一声很轻的机械音,像是某个藏在黑暗里的系统,被第一次唤醒,正缓缓地、一字一句地,报出一句提示:
“检测到:可读写者。开始赋予……初级权限。”
顾临猛地抬头,左眼一阵发烫。那行他一直以为只是“调试输出”的字符,在他眼前真正地、活着地,亮成了一行可以触碰的代码。他鬼使神差地伸出手,指尖碰到那行字的一瞬——
他脑海深处,一个陌生的、带着点冷幽默的声音,忽然响了起来:
欢迎,新样本。我是你脑子里这团代码的……管理员。我们聊聊?