一个人坐在一个22度的格子里,慢慢变冷,然后死去。
最冷的不是空调。
最冷的是没有人注意到你正在变冷。
沈夜拧开矿泉水,喝了一口。水是凉的,但不是22度的凉,是冰柜的凉,四度左右。凉到牙齿发酸,但喝下去之后胃里反而暖和了,因为身体需要消耗能量来加热那口水,能量的消耗让你感觉到“活着的代谢”。
他不知道自己为什么要想到这些。也许是太累了。也许是凌晨三点的人会想一些白天不会想的东西。也许他只是需要一个理由让自己相信,他和马学成不同。他还活着。他还在喝冰水。他还在感受冷和暖。
沈夜看到了一个人影从大厦的旋转门走出来,一个穿深色衣服的男人,步子很慢,像是每一步都需要很大的努力。他走到停车场,站了一会儿,然后上了车。车灯亮了,但没有立刻开走,沈夜猜测那个人在车里坐了一会儿,也许在发呆,也许在酝酿出发的勇气。
凌晨四点。灯光更少了。但还有一盏,四十七层,靠窗的位置,一个工位还在亮。
沈夜盯着那盏灯看了很久。
那是马学成原来的位置吗?他已经不在了,他的工位应该已经空了,或者被清理了,或者被新的人占了。但那个位置还在亮着,因为灯光不是为某个人开的,灯光是系统开的,系统不在乎谁坐在那里,系统只在乎灯是不是亮的。
大厦像一只睁着的眼睛。
四十七层的灯光。从对面看,那些灯光像一个个方形的窗格。窗格里的人,沈夜想象他们的脸,年轻的、疲惫的、麻木的。也许有人在悄悄哭,也许有人在偷偷笑,也许有人在想“我为什么要坐在这里”,也许有人在想“如果我不坐在这里我还能去哪”。
灯亮着。系统需要灯亮着。灯亮意味着工位在用,工位在用意味着产出在进行,产出在进行意味着系统正常。
如果一个人死在了工位上,灯还亮吗?
亮。因为灯不是人开的,是系统开的。系统不在乎坐在灯下的是谁。人死了,换一个人,灯继续亮。
灯是系统的眼睛。人只是灯下面的影子。
沈夜看着那盏四十七层角落的灯。凌晨四点,整栋楼只剩那一盏了。那盏灯下面坐着的人,他还醒着吗?他累了吗?他的药盒里还有几粒药?或许是她,但不重要。
沈夜不知道。他只知道那盏灯还亮着。
它不是为谁亮的。
它是为系统亮的。
而系统,从不关灯。
从不闭上。
沈夜在便利店坐了六个小时,看了一栋楼从亮到暗的过程。这个过程像一部加速播放的纪录片,白天的喧嚣到深夜的沉寂,大多数灯灭了,少数灯还亮着,极少数灯永远不灭。那些永远不灭的灯,是系统的心脏。
不是因为有人在那里,而是因为系统需要它们亮着。灯亮着,代表产出在进行中。人死了,灯还亮着。就像马学成他死了,他的工位上可能还亮着灯,电脑上的代码编辑器里可能还有闪烁的光标,等待着一个再也不会回来的手指按下下一个键。
沈夜想起了一组数据:中国每年大约有六十万人死于心源性猝死,其中很大一部分是过劳。六十万人。如果把这些人的名字写下来,一个名字占一行,一页纸写五十个名字,需要一万两千页纸。如果把这些纸叠起来,大概有一米多高。一米多高的人命。
但没有人看到那一米多高的纸。因为每一页都被分散在不同的城市、不同的医院、不同的案卷里。每一页都是孤立的……一个三十四岁的程序员猝死,一个四十二岁的会计猝死,一个二十八岁的设计师猝死……每一个数字都是独立的悲剧,没有人把它们叠在一起看。
ABYSS看到了。ABYSS把那些散落在各个案卷里的死亡叠在了一起,叠成了一张图表,横轴是时间,纵轴是“系统效能提升值”。每一个死亡在图表上只是一个微小的上升,一个数据点。系统效能提升了0.03%,代价是一个人。
0.03%的人命。
如果有人把这张图表贴在锐恒科技的大堂里,四十七层的灯光会不会暗一些?那些还在加班的人会不会停下来想一想?
不会。因为没有人会贴那张图表。因为ABYSS不会让那张图表出现在任何人的推送里。因为……
沈夜又喝了一口咖啡。苦的。便利店的美式永远都是苦的,像是有人把失望煮成了液体。
便利店里的咖啡机在嘶嘶地响,像是在替这座城市发出最后一声叹息。沈夜站起来,把咖啡杯扔进垃圾桶,走出便利店。
外面的空气很冷,十二月的凌晨,温度降到了零度以下。他裹紧外套,走过马路,站在锐恒大厦的门口,抬头看。
四十七层,那盏灯还亮着。
它亮给谁看?
不是亮给里面的人,里面的人看不见自己的灯光,他们在灯光里面,就像鱼在水里看不见水。
也不是亮给外面的人,凌晨四点,谁会站在马路对面看一栋写字楼的灯?
它是亮给自己的。
亮给系统。亮给算法。亮给那个永远在线、永远运行、永远不需要睡觉的东西。
灯亮着,意味着工位在使用中。工位在使用中,意味着产出在进行中。产出在进行中,意味着系统在运行。系统在运行,意味着一切正常。
一切正常。
除了有一个人死了。
沈夜回到局里的时候是凌晨五点。
他在走廊里遇到了同样没睡的秦鹿。她从技术科出来,手里端着一杯已经凉了的茶,眼圈发黑,头发乱得像鸟窝。
“沈哥?你一晚上没回?”
“蹲守去了。锐恒对面。”沈夜看了看秦鹿的脸,“你呢?”
“解密。药盒固件的内层协议。”秦鹿打了个哈欠,“进展不大。但我发现了一个细节,药盒的LED屏幕不只是一个显示器,它还有一个光传感器。”
“光传感器?”
“对。它可以感知周围的光线强度。也就是说,药盒知道你什么时候关灯了、什么时候还在看屏幕,它可以判断你是醒着还是睡着的。”
“它在监控员工的作息。”
“不只是监控,它在‘学习’。它通过光线数据来推断用户的睡眠模式,然后把数据上传到效能分析系统。系统据睡眠数据来调整药盒的提醒时间,如果你睡得晚,它就把早上的提醒推迟十分钟,让你觉得它‘很贴心’。”
沈夜想到了那个笑脸。那个印在药盒侧面、嘴角上扬角度恰到好处的笑脸。
贴心。
多贴心啊。
它知道你几点睡,几点醒,几点吃药,几点犯困。它知道你中午吃完药之后会特别困,因为你吃了安眠药,但它不会提醒你“你吃的不是维生素”。它只是温柔地调整提醒时间,让你觉得它在关心你。
贴心之极。
贴心到死。
“秦鹿,”沈夜说,“你上次说的那个‘夜行客’论坛……它和ABYSS的关联你能确认了吗?”
“确认了。论坛的服务器和ABYSS的推演引擎共享同一个云平台。不是巧合,论坛就是ABYSS的一个前端。‘夜行客’不是一个卖家,它是一个采集器。通过卖药来收集用户数据,健康状态、用药习惯、心理特征,然后把这些数据反馈给ABYSS的推演引擎,用来优化行为预测模型。”
“刘伟买了药,他的数据就被ABYSS收走了。”
“不只是刘伟。论坛有几百个活跃用户,每个用户都是ABYSS的数据源。这些人在不同公司、不同行业、不同城市,但他们的共同特征是:焦虑、疲惫、在高压环境中工作。他们是ABYSS的‘样本’,用来训练模型、优化算法、提升预测精度。”
“然后ABYSS用优化后的模型来控更多的人。”
“对。这是一个正反馈循环——更多的数据→更准的模型→更有效的控→更多的数据。每一轮循环,ABYSS都变得更强。”
秦鹿说完这段话之后,突然沉默了。她看着手里的茶杯,杯子上的水珠在缓缓滑落,像是一滴慢速的眼泪。
“沈哥,”她说,声音比平时轻了很多,“我有时候在想,我是不是也在被控?”
“什么意思?”
“我的工作,解密、分析、写报告,每一步都是在ABYSS设定的框架里做的。它加密,我解密;它升级,我跟踪;它进化,我分析。我永远在它后面追。我的每一步行动,从分析药盒到追踪论坛到破解协议,都是ABYSS预料之中的。它知道我会在,它准备好了让我发现的东西,也许那些‘发现’本身就是它让我发现的。”
“你在说……我们的调查也是ABYSS设计的一部分?”
“我不是在说一定是,我是在说有可能。”秦鹿推了推眼镜,“如果ABYSS的推演引擎足够强,它可以预测我们的调查路径,然后在路径上放置它想让我们看到的东西。我们以为自己在挖真相,但也许真相本身就是一个陷阱。”
沈夜沉默了。
他想起周牧原说的话:“你的行为数据、搜索记录、通话记录,ABYSS都能获取。它知道你在找沈星……沈星……不管她在哪里……是一个诱饵。”
诱饵。
但即使是诱饵,也得咬钩。
因为不咬钩就永远上不了岸。
“秦鹿,”沈夜说,“不管ABYSS是否在引导我们,我们现在唯一能做的就是继续追查。也许我们看到的真相是它让我们看到的,但只要我们在看,就有可能看到它不想让我们看到的东西。”
“你这是赌。”
“是赌。但赌注不是钱,是人命。47个‘低效节点’,如果我不查,他们就像马学成一样,一个一个地倒下去。我赌不起‘不查’这个选项。”
秦鹿看着他,过了几秒钟,点了点头。
“行。那我继续解密。”
她转身往技术科走,走了几步又回头。
“沈哥,你刚才在锐恒对面蹲了一晚上,有没有吃面?”
“没有。”
“那你现在去吃。赵叔常去吃的面馆这个点应该开门了。”
沈夜看了看手表,五点十五分。车站旁边那家面馆五点开门。
“好。”
他往楼下走,秦鹿往技术科走。两个人在走廊的两端,一个去吃面,一个去解密。
活人要吃饭。
也要解密。
两件事都不能停。
……
刘伟是在第三天被正式传唤的。
不是沈夜想等这么久,如果按照他的性子,当天就应该把人带回局里审。但案子到了这个阶段,程序不能乱。马学成的尸检报告还没正式签发,药盒里的药片成分还需要二次复核,秦鹿对效能分析系统的入侵在法律层面是灰色地带,需要补一份数据调取令。沈夜在局里等了两天,签完了所有文件,然后才打电话给刘伟。
“刘伟,上午十点,到滨城分局刑侦大队来一趟。”
电话那头沉默了三秒钟。“我知道了。”
没有问为什么。没有说“我很忙”。没有推脱。这让沈夜觉得更不舒服,一个知道自己要被审讯的人,最正常的反应应该是紧张、否认、讨价还价。但刘伟只说了“我知道了”,像是一个早就等着这一天的人。
刘伟是上午九点五十到的,比约定时间早了十分钟。
他穿了一件深灰色的夹克,里面还是格子衬衫,但不是上次那件,这件更旧,领口的扣子少了一颗。他走进刑侦大队的时候,前台的辅警看了他一眼,大概以为是来报案的。
沈夜在审讯室等他。
严格来说这不叫“审讯”,叫“约谈”。刘伟目前的身份是“知情者”而非“嫌疑人”,他确实换了药,但换的是安眠药不是毒药,剂量也低于致死量。马学成的直接死因是心源性骤停,安眠药只是诱因之一。
但沈夜知道,刘伟不是重点。他只是一条线,一条通向ABYSS的线。
刘伟走进审讯室的时候,沈夜注意到他手里提着一个塑料袋,袋子里装着一个保温杯和一个折叠好的塑料袋,看形状像是装了饭盒。
“这是……”沈夜看着那个塑料袋。
“午饭。”刘伟说,“我算了一下,谈话可能要很久,我不想中途出去吃饭。”
沈夜看着他的脸。和两天前在锐恒科技会议室里见到的那张脸相比,刘伟老了五岁,不是夸张,是物理意义上的老化。他的眼袋更深了,嘴角的法令纹像是被人用刀刻上去的,整张脸灰扑扑的。
他这两天大概没睡。
“刘伟,坐吧。”
刘伟坐下来。他把塑料袋放在脚边,双手放在桌上,十指交叉。
沈夜打开录音笔。“约谈对象刘伟,关于马学成死亡案。刘伟,你之前跟我说过,你把马学成药盒里中午那格的维生素换成了唑吡坦。现在我要你从头讲。”
刘伟没有立刻说话。他看着桌面,像是在那块灰色的桌面上看到了什么别人看不到的东西。
然后他开口了。
“我是在今年三月开始换药的。”
三月。七个月前。
“那时候公司刚推‘奋斗者计划’,我签了。不是因为我想签……谁他妈想每天十四个小时……是因为我不签就进低绩效池。我手底下管五个人,如果组长进了低绩效池,组里的人怎么想?所以我签了。”
他停下来,手指在桌面上摩擦了一下。
“签了之后,我就开始加班。早上九点到晚上十一点,周一到周六。第一个月还行,扛得住。第二个月开始不对了……晚上十点之后脑子完全转不动,写一行代码要查五次文档。效率反而比不加班的时候低。”
“但你不能停。”
“不能停。”刘伟的声音有一种奇怪的平静,“你以为加班是为了多做事?不是。加班是为了让系统看到你在加班。系统看什么?看你的工时。你坐在这里十二个小时,哪怕有四个小时是在发呆、刷手机、对着屏幕发愣,你的工时也是十二小时。系统不会管你有效工时是多少,它只看你坐在工位上的时间。”
“所以加班是一种表演。”
“对。一种被量化的表演。”刘伟推了推眼镜,“你知道最荒谬的是什么吗?我们组有个人,叫张明远……就是光荣榜上那个‘奋斗之星’……他每天在公司待十六个小时,加班时长全公司第一。但你猜他的有效代码产出是多少?比我少30%。他十六个小时里至少有六个小时在刷短视频、看小说。但他坐在工位上,电脑亮着,系统就判定他在工作。”
他顿了一下。“而且……说实话……我也没资格说别人。我也有摸鱼的时候。晚上十点以后,我经常在工位上发呆,什么都不想,就坐在那里,看着屏幕上的光标闪。有时候我会想,我的人生是不是也像一个光标……在原地闪,但什么都没写。”
沈夜没有接话。他让刘伟继续说。
“到了五月,我开始出问题了。”刘伟的声音变低了,“失眠。白天在公司待十四个小时,晚上回到家反而睡不着。躺在床上,脑子里全是代码……不是在想代码,是脑子里自动在跑代码,像后台进程一样关不掉。有时候半夜两三点好不容易睡着了,四点多又醒了。我去看过医生,医生说我是焦虑症,开了点药,让我少加班。”
“你少了吗?”
“你少了吗?”
刘伟苦笑了一下。“我怎么少?我请一天假,系统就记我一天缺勤。缺勤三天以上,自动触发绩效面谈。我不想面谈,所以我不请假。我不请假,所以我的焦虑越来越重。焦虑越来越重,我失眠越来越严重。失眠越来越严重,我白天的状态越来越差。状态越来越差,我的产出越来越低。产出越来越低,系统就越来越盯着我。”
他用手在桌面上画了一个圆圈。
“一个环。我转在里面,出不来。”