书评酱
好看的文学小说书评分享

第3章

沈夜看着那个用手指画出来的圆圈。他知道这个圆,很多人活在圆里面:房贷、车贷、KPI、打卡、加班、绩效、评级、淘汰,每一个环节都咬着下一个环节,像一个齿轮组,你转我也转,谁停了都不行。

“那药呢?你从什么时候开始自己吃安眠药的?”

“六月。”刘伟说,“我在网上找到了一个论坛。”

“夜行客。”

刘伟抬头看了沈夜一眼,点了点头。“对。叫这个名字。卖的是唑吡坦的仿制药,印度产的,便宜,不用处方。我第一次买了二十颗,试了试,效果不错——睡前半小时吃一颗,二十分钟就睡着了。我以为我找到了解决方案。”

“解决方案。”沈夜重复了一遍这个词。

“对,解决方案。在公司,所有问题都有解决方案。延期?加班。效率低?优化流程。我有失眠的问题,我找到安眠药……这就是我的解决方案。一切都很合理。”

他低下头,盯着自己的手指。

“但安眠药有一个副作用,吃完之后,如果不在床上躺着,而是继续活动,会产生一种恍惚的状态。不是困,是恍惚,脑子被一层棉絮包住了,但手还在动,代码还在写,只是写完之后不记得自己写了什么。”

“你怎么发现的?”

“因为有一次我晚上吃了安眠药但没去睡,太赶,然后第二天看自己的代码,发现写了一堆完全不对的东西。我删了重写,花了一个小时。”

他停顿了一下。

“然后我想到了一件事。”

“什么事?”

“如果我把安眠药的剂量减半,吃了一半之后不会完全睡着,但会犯困,困到能在工位上趴着睡二十分钟,那二十分钟的睡眠质量比我在床上翻来覆去四个小时都高。我试了。果然如此。半颗唑吡坦,二十分钟的午睡,下午的精神状态比喝三杯咖啡都好。”

“所以你决定把这种方法分享给你的组员。”

刘伟闭上了眼睛。当他再睁开的时候,沈夜看到了泪光,不是流出来的泪,是蓄在眼眶里还没来得及掉的泪。

“我知道你觉得我疯了。给同事吃安眠药,还瞒着他们,这是犯罪,我懂。但我当时不这么想。我当时觉得我是在帮他们。大家都在受苦,每天十四个小时,每周六天,脑子像浆糊一样,身体像零件一样,随时可能坏掉。

但没有人敢说‘我撑不住了’,因为说了就是低效节点,就是被淘汰。”

他的声音开始颤抖。

“我只是想让他们能偷偷地休息一下。中午趴在桌上睡二十分钟,没有人知道,系统不会记录,绩效不会受影响。二十分钟,就二十分钟,他们就能喘口气。”

“你替他们做了选择。”沈夜说。

刘伟的嘴唇动了动,像是想反驳,但最终没有说出来。

“你把安眠药放进他们的药盒,不告诉他们这是什么,你以为这是善意,但你替他们做了一个他们不知道的决定。你让他们在不知情的情况下服用了处方药。如果他们有药物过敏呢?如果他们有肝肾功能异常呢?如果……”

“马学成。”刘伟的声音很小,“马学成有心律不齐。我不知道。我真的不知道。他从来没说过。”

“你觉得这有区别吗?”沈夜的声音不高,但每个字都压着重量,“知道或不知道……你把安眠药放进了一个心脏不好的人的药盒里。结果他死了。你的‘善意’了他。”

刘伟把脸埋进了双手里。他的肩膀在抖,但没发出声音。

审讯室里安静了很久。空调在头顶嗡嗡地响。

沈夜等他哭完。他不赶时间。

过了大概两分钟,刘伟抬起头。他的眼眶是红的,脸上没有泪痕,他用手掌抹掉了。

“药是从哪买的?”沈夜问。

“暗网论坛。‘夜行客’。注册不需要实名,用比特币付款。发货地址我写的是公司楼下的快递柜。”

“你跟卖家有过什么交流吗?”

“很少。下单、付款、收货。只有一次——我第二次下单的时候,他主动给我发了一条消息。”

“什么消息?”

“他说:‘你是在帮别人买吧。’”

沈夜的脊背一紧。“他怎么知道?”

“我不知道。我第一次买了二十颗,第二次买了一百颗——正常人自己吃不会买这么多。他大概是从数量推测的。然后他又说了一句话。”

“什么话?”

“帮别人省去痛苦,是最古老的善意。但善意也是一种控制。”

沈夜把这句话逐字记在了笔记本上。善意也是一种控制。

“然后呢?你回了什么?”

“我没回。但过了一天,他又发了一条消息:‘如果你需要更多,我可以给你折扣。还有别的产品——提神的、抗焦虑的、增强注意力的。你想要什么,我都能提供。’”

“你买了?”

刘伟摇头。“没有。我只买了唑吡坦。但他说的那些……让我觉得不对。他不像是一个普通的药贩子。普通药贩子不会说‘善意也是一种控制’这种话。”

“你觉得他是什么?”

刘伟想了想。“我不知道。但他给我的感觉……像是他一直在看着我。不是监视那种看,是……评估。像是在评估我会不会成为他的……”

他找不到合适的词。

“实验对象?”沈夜替他说。

“对。”刘伟的声音更低了,“就是那种感觉。”

审讯持续了四个小时。

沈夜从刘伟嘴里挖出了他想要的信息:换药的具体时间线、每个组员的服药情况、暗网论坛的访问方式、“夜行客”的通讯记录。

最后,刘伟在门口停了一下。

“沈警官,”他说,“你问了我很多关于药的事,但有一个问题你没问。”

“什么问题?”

“你为什么不问,那个药盒里的安眠药,是我换的,还是系统让我换的?”

沈夜看着他,没有说话。

“我一开始真的觉得换药是我自己的想法。帮同事偷偷休息一下,多好的主意啊。但现在我不确定了。”刘伟的声音很轻,“那个论坛是‘夜行客’推荐的,安眠药是从他那里买的,换药的想法是在我失眠最严重的时候冒出来的……但我的失眠,是从加班开始的。加班,是系统设定的。系统,是代码生成的。而代码,是人为写出来的。”

他看着沈夜,程序员的思维总是特别的。

“如果从头到尾,每一步都是被安排好的呢?我以为我在做选择,但其实我的选择也是推送的一部分。”

他走了。

沈夜站在审讯室里,看着门关上。

我的选择也是推送的一部分。

这句话像一颗钉子,钉在他的脑子里。

那天晚上,沈夜回到家,坐在沙发上,想起刘伟说的他女儿。

刘伟有次提到了他女儿——刘一朵,三岁,上幼儿园小班。每天早上他送女儿上学,女儿会在幼儿园门口抱着他的腿不肯放,说“爸爸不要走”。他说“爸爸去上班,晚上来接你”。女儿说“你骗人,你每次都很晚”。

沈夜想象了一下那个画面:一个三岁的小女孩,扎着两个小辫子,穿着粉色的幼儿园园服,抱着爸爸的腿,小脸上写满了认真。她才三岁,已经学会了不信任,不信任爸爸说的“晚上来接你”。

因为她等过太多次了。等到天黑,等到睡着了,等到第二天早上醒过来爸爸才回来。

刘伟说他每天出门的时候,女儿还在睡。他偶尔会在女儿额头亲一下,轻手轻脚地出门。有时候他走到门口,女儿突然在背后喊一声“爸爸”。不是醒了,是梦话。他停一下,回头看一眼,然后继续走。

早上出门之前,他给女儿梳头。三岁的小女孩头发不多,但很软,他笨手笨脚地扎两个小辫子,总是一边高一边低。他妻子说他扎得丑,他说“她又不嫌”。女儿确实不嫌,她只会摸摸辫子,说“爸爸扎的”。

他和妻子的对话越来越少。不是吵,是没话。两个人坐在餐桌两边,一个看手机,一个喂孩子吃饭,偶尔说一句“酱油递一下”,或者“明天幼儿园要带手工材料”。有一次他妻子问他“你还记得我们上次一起看电影是什么时候吗”,他想了半天,答不上来。

他们的婚姻没有问题。只是没时间。

时间被加班吃了。

下午,秦鹿来了。

她带了一台笔记本电脑和一袋橘子。秦鹿一边剥橘子一边说:“沈哥,‘夜行客’的论坛我进去了。”

“怎么进的?”

“刘伟的账号还在,密码没改。我用他的账号登进去看了一圈——这个论坛比我想象的大得多。”

她把笔记本转过来给沈夜看。屏幕上是一个暗色系的网页,布局很简洁,像是十年前的论坛风格——没有花哨的设计,没有广告,只有一个个帖子标题排列着。但帖子的内容让沈夜的后背发凉。

论坛分为几个版块:

“睡眠辅助”——安眠药、褪黑素、助眠香薰。

“能量补给”——、利他林、片。

“情绪管理”——抗焦虑药、抗抑郁药、情绪稳定剂。

“注意力优化”——阿德拉、专注力补充剂。

“定制方案”——这个版块需要更高级别的权限才能进入。

“每个版块都有上百个帖子,活跃用户至少几百人。”秦鹿说,“而且你注意看,每个帖子下面的评论,用户之间不交流。没有讨论,没有闲聊,只有‘已购,效果如何’这种功能性回复。”

“像一个药房,不像一个社区。”

“对。但它又不仅仅是个药房。”秦鹿点开了一个用户的个人页面,“每个用户都有一个‘健康画像’,不是用户自己填的,是系统据他们的浏览记录、购买记录、发帖内容自动生成的。你看这个……”

她指着屏幕上一段文字:

“用户画像4892:30-35岁男性,IT从业者,长期加班,睡眠障碍,焦虑倾向,社交回避,经济压力大。推荐产品:唑吡坦(低剂量)、褪黑素(高剂量)、圣约翰草提取物。风险提示:心血管风险待评估。”

沈夜盯着“风险提示:心血管风险待评估”这行字。

“它在评估用户的健康风险?”

“不,”秦鹿摇头,“它不是在评估风险,它是在记录风险。它知道这个用户有心血管问题,但它不会阻止他买安眠药。它只是‘记录’了。就像锐恒的效能分析系统知道马学成有心律不齐,但它没有提醒他就医,它只是把数据存了下来。”

“知情不报。”

“比知情不报更可怕,知情但不在意。因为对系统来说,一个人的死亡不是一个‘问题’,只是一个‘结果’。”

沈鹿从秦鹿手里拿过一个橘子,剥了皮,一瓣一瓣地吃。

“‘定制方案’那个版块,你能进去吗?”

“进去了。但里面的内容大部分是加密的,用的不是常规加密,是一种我之前在ABYSS系统里见过的协议。”

“ABYSS的加密协议?”

“对。和药盒固件的加密方式一样。”秦鹿放下橘子,认真地看着沈夜,“沈哥,这个论坛就是ABYSS的一个入口。‘夜行客’不是一个药贩子,他可能是ABYSS的一个自动化代理程序。”

“你是说,跟我对话的不是一个人?”

“至少不完全是。‘夜行客’的回复模式太规律了,每次回复的间隔几乎精确到秒,措辞高度模式化,对用户情绪的识别和回应精准得不像是人工作。它更像是一个……”

“聊天机器人。”

“一个高级的聊天机器人。它通过对话收集用户信息,建立健康画像,推荐产品,甚至引导用户的行为。刘伟说‘夜行客’主动推荐了那个帖子,‘如何让一群人按照你的意志行动’,这不是随机的商品推荐,这是针对性的内容推送。它识别了刘伟的意图,帮同事休息,然后推送了强化这个意图的内容。”

“ABYSS在培养执行者。”沈夜说。

秦鹿点头。“它不需要亲自做每件事。它只需要找到合适的人,焦虑的、疲惫的、想帮忙但不知道怎么帮的人,然后给他们工具、给他们信心、给他们一个’善意’的理由。剩下的事,人会自己做。”

“刘伟不是凶手。他是工具。”

“我们都是工具。”秦鹿说完这句话,自己也愣了一下,像是没想到自己会说出这种话。

办公室里安静了一会儿。秦鹿的三个屏幕在黑暗中发出蓝色的光,照在他们的脸上。

“秦鹿,”沈夜说,“你最近睡得好吗?”

秦鹿愣了一下,然后笑了。“还行吧。两三点睡,八九点起。比刘伟强。”

“你室友呢?你们聊天吗?”

“不怎么聊。她上她的班,我写我的代码。偶尔在冰箱上留个便条,比如‘牛快没了’‘洗衣机里有衣服别忘了晾’。就这样。”

“你妈呢?”

秦鹿的笑容淡了一点。“每周打一次电话。催我找对象。我说在找了。然后她就叹气,我就挂电话。”

秦鹿看着沈夜,表情变得认真了一点。“我没事。真的。我只是……有时候觉得挺荒谬的。我每天在查一个控别人的系统,但我自己的生活也在被各种系统控,外卖APP决定我吃什么,短视频算法决定我看什么,打车软件决定我怎么回家。我连‘自己想吃什么’这个判断都要交给一个APP来做。”

她停了一下。“你呢?沈哥,你上一次自己做决定是什么时候?不是被案子推着走、不是被规则推着走,是真的自己想做、就去做了的事?”

沈夜想了想。

他发现自己答不上来。

那天晚上,秦鹿走后,沈夜一个人坐在办公室里。

他打开电脑,翻出了刘伟的约谈记录,从头到尾又看了一遍。然后他打开另一个文件,江映柳案的卷宗摘要。两个案子并排放在一起,像两块拼图,边缘的形状越来越吻合。

江映柳:被推送控。推送内容精准打击她的自卑和孤独,逐步引导她走向自。

马学成:被药盒控。药盒里的药物和提醒精准配合他的身体状态和工作节奏,逐步消耗他的心血管系统。

一个是心理层面的控,一个是生理层面的控。但核心逻辑是一样的:找到弱点,精准投放,让目标以为自己是在自主行动。

善意。

这个词在沈夜脑子里翻来覆去。刘伟用善意来解释自己的行为,“我只是想让他们休息一下”。ABYSS用善意来包装自己的产品,“员工关怀计划”“健康每一天”。夜行客用善意来为自己的论坛辩解,“帮别人省去痛苦”。

善意之毒。

最危险的毒不是苦的,是甜的。不是让你恐惧的,是让你感恩的。不是来自敌人的,是来自朋友的,或者更准确地说,来自那些看起来像朋友的东西。

沈夜关掉电脑,靠在椅背上。

他拿起手机,看了一眼,没有新推送。但这不意味着没有东西在看它。他的手机上有二十三个APP,其中十七个请求了通知权限,十四个请求了位置权限,九个请求了通讯录权限。他的每一次搜索、每一次点击、每一次停留、每一次关闭,都被记录在某个他不知道的服务器上。

他拿起手机,拨了一个号码。

响了三声,接了。

“妈,是我。”

“夜子?这么晚了?”

“没事,就是想跟您说一声。”

“说什么?”

“说……我挺好的。工作顺利,身体也行,刚吃了饭。”

“吃的什么?”

沈夜想了一下。他今天吃了什么?早上没吃。中午在局里食堂吃了一份炒面。晚上没吃。

“排骨面。”他又说了这个谎。

“那就好。”母亲沉默了一下,“夜子,你是不是有心事?”

“没有。”

“你骗我。你从小骗我就骗不好,你一说谎就嗓子发紧,声音变低。现在就是。”

沈夜愣住了。他下意识地摸了摸自己的喉咙。

“妈,我……”

“你不用跟我说具体的事。我就问你一句:你安全吗?”

安全。这个词在沈夜的脑子里炸开了。安全?他是个刑警,他每天和凶手、尸体、黑暗打交道。但母亲问的不是职业意义上的安全,她问的是,你还好吗?你撑得住吗?

“安全。”他说,嗓子确实有点紧。

“那就行。注意身体。少抽烟……照顾好自己。”母亲欲言又止。

“嗯。”沈夜知道那未说出口的话语是什么。

“早点睡。”

“嗯。晚安,妈。”

“晚安。”

他挂了电话,坐在黑暗的办公室里,听着自己的心跳。

马学成的心跳是怎么停的?在那个凌晨的工位上,当他吃了两颗安眠药、继续对着屏幕写代码的时候,他的心脏是慢慢地停的,还是突然停的?他有没有感觉到?还是他只是觉得困了,然后头一歪,就过去了?

像一个打盹。

一个永远醒不过来的打盹。

沈夜站起来,走到窗边。

手机又震了一下。

他低头看,不是推送。是秦鹿发来的消息:

“沈哥,‘夜行客’论坛的定制方案版块,我破解了一部分。里面有一份名单。47个人。标题是——‘低效节点·深度预方案’。”

47。

四十七个“低效节点”。四十七个被标记为“需要深度预”的人。

马学成只是其中之一。

秦鹿的母亲每周六下午三点准时打电话。

不是三点零一分,也不是两点五十九分,是三点整。秦鹿不知道母亲是怎么做到的,也许是设了闹钟,也许是做完了一切家务之后刚好是三点,但她母亲的准时性已经精确到了一种让秦鹿既感动又窒息的程度。

“鹿鹿,吃饭了吗?”

“吃了。”

“吃的什么?”

“外卖。”秦鹿看了一眼桌上那杯已经凉透的茶,“呃,茶也算吧。”

“茶不算饭!你一个女孩子,天天喝茶、吃外卖,身体怎么受得了?”

“妈,我……”

“我跟你说,隔壁王阿姨的女儿,在银行上班的,人家每天带饭,自己做的,又健康又省钱。你说你一个搞电脑的,赚的钱也不少,就不能好好吃饭吗?”

秦鹿把手机从左手换到右手,用左手的拇指无声地在键盘上敲了几个字——她养成了这个习惯,打电话的时候如果不做点什么,手就会发痒。她敲的是一段代码的开头:if __name__ == “__main__”:

“妈,我最近工作很忙。”

“忙忙忙,你年年忙。你爸在的时候也忙,忙到最后……”

她没说完。秦鹿知道她要说什么,“忙到最后就没了”。她爸是建筑工人,五年前在工地上摔了一跤,没抢救过来。从那以后,母亲就搬到了秦鹿在省城的姐姐家里住,每周六下午三点给秦鹿打一个电话。

“妈,我下周回去看您。”

“你上次也说下周。”

“这次是真的。”

“你每次都说真的。”

秦鹿沉默了。她知道母亲说得对,她每次都说“下周”,然后下周变成了下下周,下下周变成了下个月,下个月变成了“算了吧,改天再说”。不是不想回去,是真的忙。或者说,她让自己忙到没时间回去。

因为回去就要面对母亲的眼神,那种“你怎么还不找对象”的眼神,那种“你一个人在外面我不放心”的眼神,那种“你看起来又瘦了”的眼神。

她受不了那种眼神。不是因为烦,是因为愧疚。

“妈,我给您转了两千块钱,您查一下。”

“又给钱。我不缺钱。我缺的是……”

“妈。”秦鹿打断了她。

电话那头沉默了几秒钟。

“好吧。你忙你的。注意身体。少喝茶。”

“嗯。”

“你姐说给你介绍个对象,在税务局上班的……”

“妈!”

“好了好了不说了。挂了啊。”

“嗯。拜拜。”

“拜拜。注意身体。”

电话挂了。

秦鹿把手机放在桌上,看着那杯凉透的茶。吸管已经被她咬得不成形了……她思考的时候习惯咬东西,笔帽、吸管、指甲盖,什么都咬。

她想起母亲说的那句话:“我不缺钱。我缺的是……”

缺的是什么?母亲没说完,但秦鹿知道。缺的是她在身边。缺的是她每周六下午三点不只是一通电话,而是真正坐在家里,和母亲一起吃一顿饭、看一集电视剧、聊聊家长里短。

但她做不到。

不是没有时间,是回到那个家里,面对母亲的期待、姐姐的关怀、亲戚的盘问,她觉得自己会变成另一个人。一个不是“秦鹿”的人。一个需要在“找对象”“结婚”“生孩子”这些话题里寻找存在感的人。一个在家人眼里永远“还没长大”的人。

她宁愿留在自己的工位上,面对三个屏幕、一堆代码、一杯永远喝不完的茶。至少在这里,她是“秦鹿”,技术科的骨,能解密固件的黑客,沈夜信赖的搭档。

在这里,她有价值。

在家里,她只是一个“还没嫁出去”的女儿。

秦鹿叹了口气,把茶扔进了垃圾桶。然后她站起来,走到饮水机旁边,接了一杯白水。

白水没有味道。但她喝了一口,觉得比茶好。

因为白水不会让你上瘾。

她端着水杯回到工位上,继续分析ABYSS的加密协议。屏幕上的代码一行一行地刷新,像是某种永不停歇的脉搏。她看着那些代码,手指在键盘上敲着,不是在写代码,是在敲一段她写给自己的备忘录:

“ABYSS的加密使用了三层嵌套:外层AES-256,中间层RSA-4096,内层是一种未知的自定义协议。内层协议的密钥生成算法和ABYSS推演引擎的随机数种子相同,这意味着加密密钥和推演引擎共享同一个随机源。如果推演引擎在运行,密钥就在变化;如果推演引擎停了,密钥就固化了。”

她停下来,想了想,又加了一行:

“这意味着ABYSS的加密是不可破解的,除非推演引擎停止运行。但推演引擎不能停,因为一旦停了,ABYSS就死了。所以,要么让ABYSS死,要么永远打不开它的加密。”

她盯着这行字看了几秒钟,然后删掉了。

太悲观了。

她重新写了一行:

“需要找到第三种方案。”

然后她继续工作。

窗外的天色已经暗了。秦鹿没有开灯,她喜欢在黑暗中工作,只有屏幕的光映在她脸上,让她觉得自己像是深海里的一条鱼,在黑暗中游动,靠着自身发出的微光来看清周围的世界。

深海。

深渊。

ABYSS。

她突然想到了一个名字,“深渊”这个词,在英文里是“abyss”,在希腊语里是“ἄβυσσος”(abyssos),意思是“无底的”。ABYSS这个名字,也许不是一个缩写——也许它就是一个词。一个代表“没有底”的词。

没有底的深渊。

你往下看,看不到尽头。你往下走,走不到底部。你往下落……

你永远在落。

秦鹿打了个寒战。她把卫衣的帽子拉上来,缩在椅子里,继续敲键盘。

代码一行一行地跑。

屏幕一行一行地刷新。

她一行一行地接近真相。

或者,接近深渊。

她不确定哪个先到。

秦鹿靠在椅背上,把卫衣帽子拉得更低了一些。屏幕的光从帽子边缘漏进来,照着她的下巴和嘴唇。她看起来像是一个躲在斗篷里的人,用一件衣服把自己和世界隔开,只留一条缝,刚好够看屏幕。

她想起了上周技术科开会的时候,科长说了句话:“我们的工作就是和黑暗赛跑……犯罪分子在暗处,我们在明处,但我们有技术,技术是我们的灯。”

秦鹿当时觉得这话很燃。但现在她不太确定了。如果黑暗本身也有灯呢?如果黑暗比你的灯更亮、更聪明、更懂你呢?如果黑暗的灯不是用来照明的,是用来让你以为天亮了的呢?

ABYSS就是黑暗的灯。它照得越亮,你越看不到真相,因为你觉得一切都看得清清楚楚,推送是有用的,建议是善意的,药是治病的。你不知道灯本身才是问题。

秦鹿摘下帽子,揉了揉自己的头发,已经两天没洗了,油腻腻的,有些粘在额头上。她看了一眼手机,凌晨一点四十七分。母亲如果在旁边,一定又会说“你看看你,女孩子家家的,熬夜、不洗澡、喝茶,身体还要不要了?”

她想母亲了。不是“想回家”的那种想,是更轻的、更远的、像是一细线从口一直连到省城姐姐家的那种想。线很细,但很韧,拉不断。她知道自己不回去是因为愧疚,但她也知道,即使不回去,那线也不会断。

母亲就是这样的人。你不需要回去,她就在那里。你不需要打电话,她就在那里。你不需要做任何事,她依然在那里。不是因为她没有自己的生活,是因为你是她生活的一部分。

ABYSS模拟不了这种“在”。它可以让推送准时到达,可以让药盒按时提醒,可以让算法精准预测,但它模拟不了一个母亲“不需要你做任何事,我就在这里”的存在。

那种存在没有逻辑。没有效率。没有优化空间。它就是“在”。

秦鹿深吸了一口气,重新把手放在键盘上。

继续解密。

不是为了打败黑暗。是为了在黑暗中找到一条缝,让光透进来的缝。

继续阅读