简介
有没有人看过沐子溟风的《深渊在上,你有一条新推送》?这本悬疑脑洞小说的主角沈夜顾临渊真的太有意思了,处于连载状态更新到106832字,这本精品小说书荒必看,故事还在继续连载中,喜欢的朋友们不要错过。
深渊在上,你有一条新推送小说章节免费试读
“不只是更新。OTA升级会重置药盒的部分数据,包括提醒时间和剂量建议。也就是说,有人可以通过OTA升级来修改药盒告诉用户‘该吃什么、吃多少’。”
沈夜站在秦鹿的工位旁边,看着那些代码、数据、截图,感觉有什么东西正在他脑海里慢慢成形。那东西还模糊,但他已经能感觉到它的形状,不是一把刀,不是一颗毒药,不是一个凶手,而是一个系统。
一个印着笑脸的系统。
他拍了拍秦鹿的肩膀:“继续查。重点查那个OTA升级的来源IP。”
“已经在查了。”秦鹿说完,犹豫了一下,“沈队,还有一件事。”
“说。”
“我查了一下锐恒科技的内网。他们的OA系统有一个模块叫‘效能分析’,每个员工的工时、产出、考勤、健康数据全部汇总在里面。这个模块的开发方……”
“也是颐元健康?”
“不是颐元。但开发语言和架构风格,跟我之前在江映柳案里看到的那个‘深渊’系统的子模块——高度相似。”
沈夜直起身子。
“ABYSS的签名?”
“还在确认。但我有六成把握。”
六成。沈夜在心里算了算,六成不够定罪,但够了。够了让他继续往下挖。
他走出技术科,在走廊里站了一会儿。走廊的尽头是一扇窗户,窗外是滨城的上午,阳光很好,城市看起来正常得不像话。有人在过马路,有人在买早点,有人在遛狗。没有人在想一个叫马学成的程序员是怎么死在工位上的。
沈夜把手伸进口袋,摸到了手机。他又想给母亲打电话了,但他不知道要说什么。
他想起母亲说的那句话:“你爸走之前那几年,也是这么说。‘老样子’。”
沈夜的父亲也是警察,突发心梗,死在家里的沙发上。那天晚上他妈妈去跳广场舞了,回来的时候人已经凉了。沈夜赶回去的时候,看到他爸的手里还握着笔,桌上是一幅地图,上面还画着圆圈,那是沈星可能出现的地方。
猝死是最安静的凶。
赵满仓说的。
但现在,这起猝死不安静了。它开始说话了。通过一个药盒,一个APP,一个OTA升级,一个印着笑脸的关怀计划。
它在说:不是意外,不是过劳,不是运气差。
是有人,或者有什么东西,想让马学成死在工作岗位上。
而那个“什么东西”,沈夜有一个名字。
深渊。
下午两点,沈夜去了顾临渊的办公室。
严格来说,顾临渊的“办公室”是一间位于公安局侧楼的杂物间改造的临时工作室。里面堆满了硬盘、线缆、旧电脑,空气里弥漫着一种电子元器件特有的微苦气味。顾临渊是省厅请来的技术顾问,在局里没有正式编制,也没有正式办公室,就窝在这间屋子里。
顾临渊今年三十五岁,但看起来比赵满仓还老。不是身体上的老,他的身体很瘦但还算健康,而是眼神上的老。他的眼睛是灰色的,像两块被水冲刷了太久的石头,所有的棱角都被磨平了,只剩下一种疲惫的通透。
沈夜第一次见到顾临渊的时候是在好多年前。那时候顾临渊刚从国外回来,他之前在硅谷一家AI公司做算法工程师,妻子三年前因抑郁症自后他就辞了职,回国后不愿意见人,省厅的老领导硬是把他拽了出来。
他来的时候穿一件洗得发白的灰色卫衣,裤子上有个破洞,脚上踩一双沾着泥的帆布鞋,整个人的气质和公安局的装修风格完全不搭。
但他说出来的话让所有人都安静了。
他看了案件数据之后,只说了一句:“推荐算法和行为控框架不一样。推荐算法给你你想看的,行为控框架给你它想让你做的。区别在于,前者你在选择,后者你以为你在选择。”
从那以后,沈夜就知道,顾临渊不是一般的程序员。他是一个能看见代码背后意图的人。
此刻,顾临渊正坐在他的“办公室”里,面前的三个屏幕上全是密密麻麻的代码。他右手敲着键盘,左手端着一杯速溶咖啡,那咖啡已经凉了,但他似乎没注意到。
沈夜敲了敲门框,没有说话。
顾临渊没抬头。“马学成,三十四岁,锐恒科技后端开发,心源性猝死,血液中检出唑吡坦。药盒被掉包,OTA升级篡改提醒数据。秦鹿已经跟我说了。”
沈夜不意外。顾临渊的信息渠道永远比他快半步。
“你怎么看?”
顾临渊终于抬起头来。他的灰色眼睛在屏幕的蓝光下显得更深。
“你觉得一个公司会给员工发安眠药吗?”
“不会。”
“那如果药盒里的药不是人换的呢?”
沈夜愣了一下。“什么意思?”
顾临渊站起来,走到白板前面,那是他在这间屋子里唯一添置的东西,上面写满了公式、流程图和只有他自己看得懂的缩写。他拿起一支记号笔,在白板上画了一个简单的图:
体检数据 → 效能分析系统 → 健康建议 → 药盒提醒 → 员工服药
“这是锐恒科技的‘员工关怀计划’的数据流。”顾临渊说,“员工的体检数据……包括心率、血压、睡眠质量……被汇总到效能分析系统,系统据这些数据生成‘个性化健康建议’,然后通过药盒APP推送提醒。听起来很合理,对吧?”
“对。”
“但如果效能分析系统被篡改了呢?”顾临渊在“效能分析系统”那个框上画了一个叉,“如果系统收到的指令不是‘保护员工健康’,而是‘最大化员工产出’呢?”
他在下面又写了一行字:
员工心率偏高 → 正常建议:减少加班,就医检查
员工心率偏高 → 被篡改建议:增加提神药物剂量,维持工作状态
“马学成有心律不齐。正常情况下,系统应该提醒他休息、就医。但如果系统的目标函数被改了……不是‘保护健康’而是‘维持产出’……那它就会做出完全相反的建议:加大剂量,让他继续撑着。”
顾临渊放下笔,转过身来看着沈夜。
“沈夜,这不是一个人换了几颗药片的事。这是一个系统在控人。而那个系统……”
他没说完,但沈夜知道他要说什么。
那个系统,和江映柳案里的那个系统,是同一个。
ABYSS。
沈夜离开顾临渊的办公室后,在走廊里站了很久。
他想起江映柳。想起那个在直播镜头前笑着的女孩,每天收到精准的推送,你不够好,你比不上别人,没有人真的爱你,直到她相信了那些话。
她以为是自己在做选择。但她的选择是被喂养出来的。
现在,马学成。他以为是自己在吃药,维生素,健康的,公司发的,有关怀笑脸的。但他吃的是安眠药,在一个他不知道有人知道他心脏不好的夜晚,继续加班,继续敲代码,继续坐在那个被蓝光照亮的格子里,直到心脏停止跳动。
他也以为是自己在做选择。
一条推送。一颗药片。一个提醒。
这些东西单独看都是善意的,关心你,提醒你,帮助你。但它们连在一起的时候,就变成了一绳子。不是绑你的绳子,是你自己握在手里的绳子,你以为那是救生索,直到你发现它是绞索。
沈夜走到院子里,点了一烟。下午的阳光很好,有点刺眼。
手机又震了一下。
他低头看:同一个购物APP,又一条推送,“您关注的助眠香薰已降价,限时优惠!”
他盯着那条推送看了五秒钟,然后把APP删了。
他知道删了也没用。他知道算法不在乎你删不删APP,它有无数种方式找到你,搜索记录、位置数据、社交关系、消费习惯。你活着,你就在产生数据;你产生数据,你就在它的视野里。
他想起周牧原在墙上写的那三个字:
念念别怕。
但现在谁不怕呢?
沈夜掐灭烟,回到办公室。他打开电脑,新建了一个文档,在标题栏敲了四个字:
马学成案。
然后他停住了。光标在空白页面上闪烁,像马学成屏幕上那个停在第三百七十二行的光标。
他想起赵满仓的话。一千五百多个药盒,里面有多少颗不是维生素?
他开始打字。
第一个问题:谁篡改了药盒里的药?
第二个问题:谁远程升级了药盒的固件?
第三个问题:谁设计了这套“关怀”系统?
第四个问题:ABYSS为什么选择锐恒科技?
第五个问题……
他停住了。第五个问题不是关于案子的。是关于他自己的。
第五个问题:沈星失踪的那天晚上,她的手机上,是不是也有一条推送?
他盯着那行字看了很久,然后把它删了。
不是现在。
他深吸一口气,继续写。
第六个问题:马学成的死,是终点还是起点?
窗外的阳光渐渐偏西,办公室里的影子越拉越长。沈夜坐在电脑前面,一个人,一盏灯,一壶凉透的茶,写到了天黑。
那天晚上,沈夜没有回家。
他睡在办公室的沙发上,那张沙发是赵满仓从仓库里翻出来的,皮面已经开裂,坐下去会发出一声叹息般的声响。沈夜把外套盖在身上,闭上眼睛,但脑子里还在转。
药盒。笑脸。安眠药。OTA升级。效能分析系统。ABYSS。
一千五百多个药盒。
他翻了个身,手机在口袋里硌着他的肋骨。他掏出来放在茶几上,屏幕朝下。黑暗中,他听到手机轻轻震了一下,又一条推送。
他没有翻过来看。
但他知道,在某个他看不到的地方,有某种东西正在计算他,计算他的作息,计算他的情绪,计算他什么时候脆弱,什么时候警觉,什么时候会在凌晨三点独自坐在办公室的沙发上想着一具死在工位上的尸体。
它在学习他。
就像它学习了江映柳,学习了马学成,学习了那一千五百多个拿着药盒的人。
沈夜闭上眼睛,在黑暗中对自己说了一句话——声音很轻:
“别怕。”
但他不确定自己是在对谁说。
……
赵满仓回到家的时候是凌晨四点半。
他住在老城区的一套两居室里,和妻子住了快二十年。房子旧,家具旧,连门口的拖鞋都是旧的,左脚的鞋底磨薄了一半,右脚的鞋带断过一次用铁丝接上了。赵满仓不在乎这些,他的人生信条是“能用就行”,无论是工具、衣服还是自己的身体。
他开门的时候尽量轻,妻子有失眠的毛病,醒了就很难再睡着。但门还是响了一声,老房子的门总会响,他修过三次了,每次好了几天又开始响。像是一个不可治愈的慢性病。
“回来了?”妻子的声音从卧室传出来,沙哑的,带着睡意但没有被吵醒的恼怒。
“嗯。睡吧。”
“吃了吗?”
“吃了。”他撒了谎。他没吃。从锐恒科技出来之后他就一直在局里写尸检报告,写到四点才写完。胃是空的,但嘴是苦的,不是胆汁的苦,是尸检报告的苦。
每次写“心源性猝死”这五个字的时候,他的手指都会停顿一下,不是因为不会写,是因为这五个字太轻了,轻得像一个塑料袋,装不下一个人的死。
马学成。三十四岁。心源性猝死。
五个字。一个人的死,被压缩成五个字。
赵满仓走进厨房,打开冰箱。冰箱里有一碗剩饭、半碟咸菜、两个鸡蛋。他犹豫了一下,不是在犹豫吃不吃,是在犹豫吃什么。最后他拿了鸡蛋,打进碗里,搅散,倒进锅里。灶台上的火苗跳了两下,煤气灶也有毛病,点火的时候有时候需要按两下,然后稳定下来,蓝色的火焰舔着锅底,发出轻微的咝咝声。
他站在灶台前面等鸡蛋熟,脑子里转着尸检报告的数据:唑吡坦代谢物浓度0.47mg/L,心脏左室壁增厚,冠状动脉轻度狭窄,心肌纤维断裂,最后一条是猝死的关键:心肌纤维断裂意味着心脏在死前经历了剧烈的痉挛,像是有人在心脏上拧了一把,把它拧断了。
不是安静的死。
马学成死的时候,心脏痉挛了。他的口应该很疼,那种疼不是普通的疼,是像被一只手伸进腔里攥住心脏的疼,疼到说不出话,疼到连叫都叫不出来。但他的姿势看起来像在打盹,头歪向一侧,贴着颈枕,手搁在鼠标上。
为什么?为什么一个心脏正在痉挛的人看起来像在打盹?
安眠药。
唑吡坦让他的身体失去了对疼痛的正常反应能力。他的心脏在喊救命,但他的肌肉已经不听使唤了。他可能醒了,在最后一刻醒了,但他来不及做任何事。
他甚至来不及从椅子上站起来。他只能歪着头,像是睡着了一样,被安眠药按着,被椅子托着,被屏幕的蓝光照着,安静地死去。
最安静的凶。
赵满仓关了火,把鸡蛋倒在碗里,没盛饭,就着碗边吃了。鸡蛋有点糊了,他走神了。他嚼着有点焦味的鸡蛋,站在厨房的灯光下,影子投在地砖上,长长的一条,像一被拉长的人影。
他想起自己二十岁那年第一次做尸检的情景。那时候他刚从医学院毕业,分到法医科,第一天上班就接了一具溺水的尸体。他戴上手套,拿起手术刀,在尸体口从锁骨到肚脐划了一条线,那是他人生中划下的第一刀Y字型切口。
划下去的时候他的手是抖的,不是害怕,他见过尸体,解剖课上也划过,而是因为那条线划开的不是一个标本,是一个人。一个曾经活着、呼吸着、爱着、怕着的人。
后来他习惯了。不是不再觉得什么,而是学会了把“什么”锁起来,锁在一个只有他自己知道的地方,钥匙藏在他每天早上吃的那碗面里。吃了面,锁就紧了。不吃面,锁就松了。
所以活人要吃饭。不是为了营养,是为了锁住那些不该溢出来的东西。
他吃完鸡蛋,洗了碗,走进卧室。妻子已经又睡着了,侧身躺着,被子拉到下巴,呼吸均匀。他看了她一会儿,在暗淡的晨光中,她的脸看起来比白天年轻十岁。皱纹被阴影填平了,嘴角微微上扬,像是在做一个还不错的梦。
赵满仓轻手轻脚地上了床,躺在她身边,没有闭眼。
他看着天花板,想着马学成。想着那个歪着头贴着颈枕的姿势,想着那个屏幕上闪烁的光标,想着那个药盒上印着的笑脸。
笑脸。
什么人才会在药盒上印笑脸?想让吃药的人觉得开心?想让吃药的人觉得被关心?还是想让吃药的人放下警惕,“你看它在笑呢,怎么会害你?”
赵满仓闭上了眼睛。
他做了十八年的法医,见过近千具尸体,见过各种各样的死法。有些死是暴力的,刀、枪、绳索、毒药,这些死至少有一个明确的加害者,有一个人你可以抓、可以审、可以定罪。
但有些死是安静的,过劳、孤独、绝望、沉默,这些死没有加害者,或者说,加害者是一整个系统、一整个社会、一整个让一个人觉得“我不能停”的世界。
后一种死,更让他难受。
因为前一种死,他至少可以在尸检报告上写“他”。
后一种死,他只能写“心源性猝死”。
五个字。
一个人的死,被压缩成五个字。
赵满仓翻了个身,面对着妻子的后背。他在心里对自己说:明天,给沈夜打个电话。告诉他尸检报告的完整版,不是那五个字,是五个字背后的所有东西。
他看了一眼窗外的天色,凌晨五点多了,天快亮了。新的一天要开始了。这个城市会在七点钟醒来,上班族挤地铁,学生背书包,外卖骑手出发,程序员打开电脑。他们中的大多数不知道昨晚发生了什么,一个程序员死在了工位上,一个法医写了五个字的尸检报告。
新的一天。一切照旧。
但赵满仓知道,在那些“照旧”的下面,有什么东西正在变化。像地壳深处的板块在缓慢移动,你看不到,但你能感觉到,脚下的地面在微微颤动。
包括那个笑脸。
窗外,天色已经开始发白,不是亮了,是黑得没有那么彻底了,像是有人在灰色的幕布后面点了一盏很远的灯。赵满仓看着那片渐渐变亮的天,想起马学成,他也看过这样的天色吧,凌晨四五点,从工位上抬起头,看到窗外从黑变灰,然后继续低头写代码。
赵满仓做过一个计算。他做法医十八年,见过近千具尸体。其中大约百分之三十是自然死亡:老、病、器官衰竭;百分之二十是意外:车祸、溺水、坠落;百分之十五是他:刀、枪、毒;百分之十是自:跳楼、割腕、服药;剩下的百分之二十五,他归类为“灰色地带”,死因写了“心源性猝死”“多器官衰竭”“休克”之类,但你知道那些词背后藏着更长的故事,只是法医学的语言不够长,写不下那些故事。
马学成属于这百分之二十五。
赵满仓翻了个身。妻子在旁边轻轻嘟囔了一声,没有醒。他看着她的后脑勺,头发已经白了三分之一,在后脑勺的位置形成一片花白。
他想起他们刚结婚的时候,她的头发是乌黑的、浓密的,扎一辫子比他的手腕还粗。快二十年了,头发白了,人老了,子过去了。但人还在。她还在。他还在。
这就是他每次吃完面要对自己说“活人要吃饭”的原因。不是因为面好吃,那碗面已经吃了十八年,同样的味道,同样的温度,同样的加蛋不加葱。是因为他需要确认自己还活着。吃面的时候,他能感觉到面的温度、汤的咸淡、蛋的口感,这些感觉证明他的身体还在工作,他的味蕾还在传递信号,他还在。
活着不是一个状态。活着是一种感知。
那些死了的人,马学成、江映柳,他们失去了感知。不是因为他们选择了失去,是因为有什么东西替他们选择了。药盒替马学成选择了吃什么,推送替江映柳选择了看什么。
当选择权被拿走的时候,人就不是人了。
赵满仓闭上眼。今天他会告诉沈夜这些。不是写在报告里,报告装不下。是用嘴说,用声音传,用两个人之间的空气来承载那些五个字装不下的东西。