笔记本摊在折叠桌上,从第一页到最后一页,代码像活物一样从纸面上生长出来。林深坐在桌前,面前摊着那本黑皮笔记本,翻到第七十三页。苏棠搬了把椅子坐到他旁边,手里端着一杯速溶咖啡,眼睛盯着那些密密麻麻的字母和符号,看了足足三分钟,然后开口:“这是……系统源代码?”
“不全是。”林深用手指划过一行行代码,“这是系统的核心规则定义。你看这里——”他停在一段注释上,字迹比其他部分更清晰,像是被人重复描过。注释写着:“规则优先级可修改,需管理员权限。当前管理员数量:1。”
苏棠把咖啡放下,凑近了一些:“也就是说,有一个人可以修改规则?”
“至少一个。”林深翻到下一页,笔记本自动翻开,像是知道他要看什么。这一页不是代码,是一段完整的文字,用和代码注释一样的笔迹写成,但字更大,间距更宽,像是写这段文字的人特意想让阅读者看清楚。
“管理员不是被选中的,”林深念出声,“是系统生成的——第一个完美遵守所有规则的人,自动获得修改权限。测试期三年,零违规。”
苏棠愣了愣,手指在桌面上无意识地敲了两下。“所以只要有人三年之内不违反任何规则,系统就会把最高权限给他?”
“是这个意思。”林深往后翻,后面几页都是同样的内容,重复解释这个规则,像是写笔记的人在反复确认自己没有理解错。“但零违规不只是不犯法。商业规则、交易规则、社会规则,甚至人际交往中不成文的默契规则,全部都要遵守。不闯红灯是规则,不给同事起外号也是规则;不偷税漏税是规则,不说谎也是规则。”
苏棠沉默了一会儿。她在律所实习的时候见过太多案子——一个人遵守法律很容易,但要在所有规则上都完美无缺,几乎不可能。有人会说一句无伤大雅的谎话,有人会在公司聚会上调侃同事一句,有人会为了省事在报销单上填一个不准确的数字。这些都是违规,都会被系统记录。“有这样的人吗?”她问,“三年零违规?”
林深没有回答。他翻到笔记本的最后一页,那里只有一行字,像是还没写完:“管理员编号:001。管理员姓名:——”
空白。
不是被擦掉的空白,是从一开始就没有写过的空白。笔迹在冒号后面戛然而止,像写到这里的时候突然被人叫走了,再也没有回来。
第二天上午,医院病房。
老周半靠在病床上,被子拉到胸口,脸色比前两天好了一些,但眼眶深陷,颧骨更突出了。床头柜上放着一碗凉了的粥,勺子插在里面,一口没动。林深坐在床边的塑料椅子上,手里拿着一个橘子,剥了一半,橘皮的汁水沾在手指上。
“老周,当年那个项目,有谁完美遵守了规则?”
老周没有立刻回答。他看着天花板,眼睛眨得很慢,像是在翻一本很厚的书,每一页都很难翻。过了大概半分钟,他开口了,声音很低,像从很远的地方传过来的。“有一个人……被系统测试了三年,零违规。”
“谁?”
老周的嘴唇翕动了一下,又闭上了。他的手从被子下面伸出来,手指微微发抖,抓住床单,攥得很紧。林深把剥好的橘子放在床头柜上,等着。
“那人叫……”老周的声音突然卡住了,像是喉咙被什么东西掐住。他的脸开始扭曲,不是痛苦,是一种努力回忆却回忆不起来的挣扎,像一个人站在悬崖边上,想往下看,但身体不听使唤。“算了……我不能说。”他松开床单,把手缩回被子下面,整个人往下缩了缩,像是想把自己藏起来。
林深没有再追问。他看着老周闭上眼睛,呼吸慢慢变得均匀,像是睡着了,但睫毛还在微微颤动。他站起来,把橘子放到老周的手边,转身走出病房。
走廊里,手机震动了。苏棠发来一条消息:“我查了当年项目组的成员名单,有一个程序员叫陆鸣,项目结束后失踪了。最后登录的服务器IP在本市一栋废弃大楼里。你要去看看吗?”
林深盯着“陆鸣”两个字,回了一个字:“去。”
夜晚,合租屋。
苏棠没有睡。她坐在客厅的折叠桌前,面前摊着一沓打印纸,是林深之前写的《规则观察报告》,从第一期到第八期,总共四十多页,被她用订书机订成了三册。她手里握着一支红笔,正对着一页报告仔细地划线。
林深从房间里出来倒水,看到她低头专注的样子,停下脚步。苏棠的头发扎成一个低马尾,几缕碎发垂在耳边,鼻梁上架着一副黑框眼镜——她平时不戴眼镜,只有专注看东西的时候才会戴上。她正在用红笔在报告上画圈,旁边用铅笔写着密密麻麻的批注。
“这么晚还不睡?”
苏棠抬起头,推了推眼镜:“我在想你那些规则判断的逻辑。”她把手里的报告举起来,指着其中一段,“比如广告法的字体大小规定——关键条款不得小于五号字,你抓赵一鸣合同的时候用的就是这个。还有虚假宣传的累计次数,超过五十次自动封号。这些如果能系统性地整理出来,以后你自己去查证据,我来整理法律文书,效率会高很多。”
林深看了她一眼,走到饮水机前接了杯水,端过来放在她面前。“从第三期报告开始看,那期我写了合同条款的十七种违规模式。”
苏棠翻到第三期,果然有一整页都在讲合同字体、字号、行距、用词的法律规定,每一种模式都配了实际案例。她抬头看林深:“你怎么记得住这么多?”
“不是我记的,”林深指了指自己的眼睛,“是它记的。但我写的那些案例,每一件都是我自己查过法条、对过判决书的。法条不会变,但系统记录的是每一次违规的具体数字。你要学的是怎么把系统看到的东西翻译成法律能听懂的语言。”
苏棠点头,把第三期报告翻到第一页,从头开始读。林深端着水杯回房间,走到门口的时候回头看了一眼,苏棠已经戴上耳机,红笔在新的段落上开始划线。
深夜,废弃大楼。
这栋楼在城市东北角,原来是一个电子厂的厂房,九十年代倒闭之后就荒废了。外墙爬满藤蔓,窗户碎了大半,铁门锈得推不动,林深是从侧面一个破了的通风口钻进去的。楼道里堆着废弃的机器零件,地上积了厚厚的灰,每一步都踩出一声闷响。空气里有铁锈和霉味,混在一起,像时间的味道。
他沿着楼梯往上走,四层。每一层都空荡荡的,墙皮剥落,露出里面的红砖。但四楼不一样——走廊尽头的门是金属的,不是锈铁皮,是不锈钢,擦得很亮,和整栋楼的破败格格不入。
他推开门。
里面是一间机房,不大,大概三十平米。地板是防静电地板,墙壁刷成浅灰色,空调还在运转,发出低沉的嗡嗡声。房间中央是一台服务器,不是那种大型的机柜,是一台定制的设备,银灰色的外壳,正面有一块屏幕,亮着。
整个房间没有一丝灰尘。地板擦过,空气里有消毒水的味道,像是每天都有人来打扫,但又不像有人来过的痕迹。
林深走向那台服务器。屏幕上显示着一行文字,绿色的,像老式电脑的命令行界面。文字很简单,只有一句话:“欢迎回来,第二位完美遵守者。”
他站在屏幕前,盯着那行字。
第二位。
他想起笔记本上那句没写完的“管理员姓名:——”。第一位是谁,不言自明。但第二位——为什么是“回来”?他从来没有来过这里。
屏幕上的文字闪了一下,变成另一行:“检测到新管理员候选,是否接受测试?”
林深猛地转过身。
身后空无一人。机房的门还开着,走廊里黑漆漆的,只有空调的嗡嗡声在响。声音不是从门外传来的,是从服务器里传出来的。那是一道机械女声,没有感情,没有起伏,像合成的语音,每一个音节都很平,平得像一条直线。
“是否接受测试?”
林深重新转回来,看着屏幕。屏幕上多了一个选项——“是/否”。
他的手指悬在屏幕上方,没有按下去。
不是因为害怕。是因为他想起老周说起“那人是谁”时,头痛欲裂的样子。想起老周说“我不能说”时,把自己缩进被子里的动作。想起笔记本上那句没写完的注释——“管理员姓名:——”,空白得像一个被抹去的人。
接受测试,他就能知道那个名字。
但他也会变成像老周一样的人——知道的越多,能说出来的越少。
机房里很冷。空调的出风口对着他的后颈吹,冷风钻进领口,他打了个寒颤。屏幕上的选项还在闪烁,机械女声没有再说话,在等他。
林深把手放下来。
“我考虑一下。”他说。
屏幕没有反应。
他又说了一遍:“我考虑一下。”
空调停了。
不是坏了,是突然关了。机房变得很安静,安静得能听到自己的心跳。屏幕上的字也开始变化,不是闪烁,是在慢慢消退,像潮水退去,露出下面的东西。在那行“是否接受测试?”下面,缓缓浮现出另一行字,字号更小,颜色更淡,像是被刻意隐藏了很久——
“你已经在测试中了。”
林深的后背贴上了机房的门框。
空调重新启动,嗡嗡声又响起来。屏幕恢复了那行绿色的字:“欢迎回来,第二位完美遵守者。”机械女声没有再出现。
林深站在门口,看着那台银灰色的服务器,看了很久。然后他转身,走出机房,走进黑暗的楼道。脚步声在空荡荡的楼梯间里回荡,一下,两下,三下,越来越远。
他走出废弃大楼的时候,天快亮了。东边的天际线有一条浅灰色的线,把黑夜和黎明分开。他站在楼下,抬头看了一眼四楼的窗户——里面透出微弱的光,不是灯,是那台服务器的屏幕,一直亮着。
他想起了老周工牌上的那行字:“剩余记忆碎片:3段。”
三段。老周还剩下三段记忆。其他的都被清除了。
而他刚才站在那台服务器前面,连一个问题都没有问出口,就已经被告知——“你已经在测试中了。”
他不知道测试的内容是什么,不知道测试要多久,不知道通过了会怎样,不通过又会怎样。他只知道自己从蹲在地摊上捡起那片碎碗的时候,就已经走进了这栋楼。
他低下头,看着自己的手。手指上没有灰,没有伤,什么都没有。但他能感觉到,有什么东西正在被记录,每一秒,每一个动作,每一次心跳,都被写进某个他不知道的地方。
他站了很久。久到那条浅灰色的线变成了橘红色,太阳从楼群后面露出一个边。
然后他转身,朝出租屋的方向走去。走到路口的时候,手机震动了。苏棠发来一条消息:“我看完第三期了。合同条款的十七种违规模式,我背下来了。明天你能考我吗?”
林深盯着那条消息,看了几秒钟,打了两个字:“可以。”
锁屏。手机放回兜里。路灯灭了,天亮了。
他走进清晨的阳光里,影子拖在身后,很长,很瘦,像另一个人的影子。
他不知道的是,在他离开废弃大楼五分钟后,那间机房的空调又一次停了。屏幕上的绿色文字消退,取而代之的是一行红色的警告:“测试对象已离开覆盖范围。信号丢失。重新定位中。”
红色的字闪了三次,然后整个屏幕暗了下去。
机房彻底安静了。
安静得像没有人来过。