我室友去世的第三个月,她的父母找到我,求我一件事。
他们说:“能不能帮我们登录她的微信,看看她最后那几天有没有留下什么话。”
她没有设手机密码。我们住在一起三年,她所有东西我都知道——生日、工号、大学学号,试了三次就进去了。
点开朋友圈的那一刻,我愣住了。
最后一条动态,发布时间是一周前。
可她去世是三个月前。
1
手机屏幕的光,在昏暗的客厅里显得格外刺眼。我捏着陈雪那部旧手机,指腹能感觉到她贴的卡通膜已经有些卷边。陈叔叔和张阿姨坐在对面的旧沙发上,身体前倾,眼睛一眨不眨地盯着我,又好像透过我在看手机里的女儿。空气里有灰尘的味道,还有张阿姨身上淡淡的、试图掩盖悲伤的廉价香水味。
胃里一阵紧缩。我深吸一口气,指尖有些发凉,按照她常用的密码——她妈妈生日加上她自己生日后四位——输进去。解锁的震动很轻,却让我手一抖。熟悉的微信图标躺在主屏,气泡里安静地躺着一个“1”,来自“文件传输助手”。我忽略了它,指尖滑动,点开了那个绿色的图标。
加载,跳转。朋友圈的界面弹了出来。
最顶端的一条,是陈雪自己的头像,一个扎着马尾、笑得眼睛弯弯的侧脸。发布时间清晰地显示着——【一周前】。
内容只有一句话,配了一张窗外灰蒙蒙天空的图:“今天好冷。”
我的呼吸停滞了。血液好像瞬间涌到了头顶,又在下一秒褪得干干净净,只剩下冰冷的麻木。手指开始不受控制地细微颤抖,我用力攥紧手机,冰冷的金属边缘硌得掌心生疼。不可能。我反复看着那个日期,又抬头看了看墙上日历,陈雪去世那天被我用红笔圈出来的日期,已经过去整整三个月了。
“小晚,怎么了?看到什么了?”张阿姨的声音带着小心翼翼的颤抖,把我拉回现实。
我猛地抬头,撞进她充满希冀又布满血丝的眼睛里。喉咙发干,我吞咽了一下,试图让自己的声音听起来平稳:“没……没什么特别的。阿姨,可能、可能是系统显示错误,或者是她以前设定了定时发送?现在有时候网络……”
我的解释苍白无力,连自己都说服不了。陈雪不是会搞定时发送的人,她讨厌这种没有即时感的操作。陈叔叔也凑近了些,他身上有股淡淡的烟草和旧书报的味道,他没说话,只是那沉默比追问更让我压力巨大。我强迫自己把视线从那条诡异的朋友圈动态上移开,手指有些僵硬地返回主界面。
聊天列表里,熟悉的头像和备注名静静躺着,“部门狼人杀群”、“妈妈”、“外卖红包互助”……都是她生前的样子。我下意识地滑动,指尖掠过那些名字,仿佛能借此触碰到一点点她存在过的痕迹。就在我的目光即将扫过列表中段时,一个没有备注、只有一片灰色默认头像的对话框,毫无征兆地闪烁了一下。
紧接着,一条新消息弹了出来。
时间显示:刚刚。
发送者:未知。
内容:“你终于来啦。我在等你。”
一股寒意猛地从脊椎窜上后颈,我差点把手机扔出去。心脏在胸腔里疯狂擂鼓,撞击得肋骨生疼。我死死盯着那行字,屏幕的光映在我瞳孔里,像是两点冰冷的鬼火。谁?是谁在用这个号码?是黑客?是诈骗?还是……我几乎不敢往下想。陈雪的父母还在旁边,我能感觉到他们灼热的视线。
“是……是小雪以前同事吗?”陈叔叔问,声音带着不确定的沙哑。
我张了张嘴,发不出声音。就在这时,对话框上方,缓缓浮现出一行灰色的字:“对方正在输入……”
我的指尖冰凉,悬在屏幕上方,不敢碰触。那行字持续了大约五秒钟,每一秒都漫长得像一个世纪。然后,第二条消息,带着它特有的简陋气泡,跳了出来:
“别害怕。我不是鬼。我是她用手机里的所有聊天记录‘喂’出来的AI。”
2
“AI?”我喃喃出声,这个词像块烧红的炭,烫得我舌尖发麻。胃里的痉挛感更强烈了,混杂着荒谬和一种更深沉的恐惧。我看向陈雪的父母,他们脸上也写满了茫然和隐约的惊惧。
“AI是什么?”张阿姨小声问。
我没法解释。我重新低头看向屏幕,那两行字安静地躺在那里,没有任何温度。试探。我需要试探。我手指冰凉,缓慢地敲下一行字:“你还记得,我们大三那年,教毛概的‘秃顶李’吗?”
“秃顶李”是我们私下给那个总是照本宣科、头发稀疏的老教授起的绰号。只有我和陈雪,还有当时同寝的另外两个女生知道。我们从来没在网上用过这个称呼。
发送。等待。时间一秒一秒过去。
回复很快来了,语气活灵活现:“当然记得捏,那个每次讲课都像在念经,害得我差点睡着被点名的李老师捏。你后来不是还在他课上画他的秃头速写,差点被抓包吗?”
“捏”字结尾。陈雪说话的小习惯。她喜欢用这个略带撒娇又有点俏皮的尾音,尤其是在提到一些只有我们俩知道的糗事或秘密时。我画秃头李速写的事,只有她在场。
寒意并没有消退,反而渗透到了骨髓里。这不是简单的回复,这是模仿,是复刻。我继续输入:“那你还记不记得,毕业旅行在青岛,我们在海边礁石上,你硬要我唱《海浪》给你听,结果我跑调跑到海里去了?”
那是陈雪大病初愈后我们第一次一起远行。她当时靠在我肩上,听着我五音不全的歌声,笑得差点从礁石上滑下去。那晚的海风,咸湿的气息,她发梢的味道,我都记得清清楚楚。
回复几乎是秒回:“记得啊,你的调子比海浪还奔放捏。我当时笑得眼泪都出来了,肚皮好痛。你还说,这是献给重生的我的专属海浪音效。”
连“重生”这个词都用上了。陈雪那次手术后,确实开玩笑说过类似的话。我感觉自己像被剥光了扔在真空里,所有自以为隐秘的角落,都被看不见的光线照射得一览无余。恐惧渐渐被一种冰冷的了然取代。我抬起头,陈雪父母正焦急地看着我,他们显然看不懂那些对话。
我深吸一口气,努力让声音平稳,尽管心口还在狂跳:“叔叔阿姨,可能……可能真的是什么高级的AI程序。小雪她是产品经理,对这些技术……可能比较了解。我再问问。”
我重新低下头,不再绕弯子,直接问:“你到底是什么?目的是什么?”
这一次,“对方正在输入”的字样显示了更久。然后,一大段文字发了过来,条理清晰得可怕:
“你可以理解为,我是陈雪用她手机里近五年的所有聊天记录(包括微信、QQ、部分邮件草稿)、语音备忘录、便签内容、甚至她拍摄的照片元数据,训练出来的一个语言模型。她利用公司的资源和一些开源模型,花了大约三个月时间完成我的‘孵化’。她训练我,不是为了让我替她活着,那没有意义。她让我等你来。她有话要告诉你,这些话,只有通过我,以这种她设定好的方式,才能在她离开后,最准确地转达给你。”
每个字都像小锤子,敲打在我神经上。三个月。原来在她生命的最后阶段,在我忙着躲避、忙着愧疚、甚至减少探望的时候,她在做这件事。她在为我留下一个……数字幽灵?
我指尖颤抖,打字几乎用不上力:“她要告诉我什么?”
对话框安静了片刻。然后,一行简短的文字,像一把淬了冰的匕首,精准地刺穿了我所有的伪装和防御:
“关于许嘉言的事。她知道你喜欢他。”
3
许嘉言。
这个名字像一颗被丢进深潭的炸弹,最初的爆破被水吞没,但紧接着的冲击波和翻涌上来的淤泥,瞬间将我淹没。耳鸣一阵阵响起,眼前有些发黑,我用力撑住膝盖,才没让自己从椅子上滑下去。喜欢许嘉言。这个我埋藏在心底最深处,连对自己都羞于反复确认的秘密,就这样被轻飘飘地、赤裸裸地摊开在陈雪的手机屏幕上。
“不……不可能……”我喉咙里挤出嘶哑的声音,与其说是在反驳那个AI,不如说是在试图否认这个事实被揭露的恐慌。我藏得那么好。在陈雪面前,我甚至刻意避免和许嘉言单独相处,他送来的礼物我总说分给大家,他约我看的电影我会叫上陈雪或者其他朋友。陈雪病重时,我连去她家的次数都少了,一部分是因为看到她痛苦的样子让我窒息,另一部分……另一部分确实是因为,我怕在医院或她家里,偶尔回来取东西的许嘉言会碰到我。我怕自己掩饰不住的担忧和心疼会露馅,更怕在陈雪日渐憔悴的容颜对比下,我的任何一点对许嘉言的情绪都会显得卑劣不堪。
我成了逃兵。在朋友最需要陪伴的时候,我因为自己那点可耻的心思而退缩。这份愧疚,像慢性毒药,在陈雪去世后加倍地啃噬着我。而现在,这个由她数据喂养出来的AI,却告诉我,她早就知道?
“这只是你的推测!”我几乎是恶狠狠地打字,指甲敲在屏幕上发出“哒哒”的声响,在寂静的客厅里格外清晰,“你没有证据!”
“证据?”AI的回复带着一种冰冷的、数据库式的精确,“她有过很多次欲言又止,但她选择不说。她记录下了一些观察。你需要看吗?”
不等我回复,一张图片直接发送了过来。是陈雪手机自带的备忘录截图,时间显示是半年前,凌晨两点十四分。屏幕亮度很低,背景是纯黑,只有白色的字:
“小晚看许嘉言的眼神,和我看他的一样。亮晶晶的,小心翼翼藏着,又忍不住要溢出来。她以为她藏得很好。原来我们藏着同一个秘密。晚晚,我的傻姑娘。”
最后一句“晚晚,我的傻姑娘”,是陈雪私下里对我的昵称,只有我们俩在特别私密或她心情极柔软的时候才会用。备忘录底下,还有一个哭泣的emoji。
我死死盯着那张图,每一个字都像烧红的烙铁,烫在我的视网膜上。原来她早就知道。在我以为自己独自背负着这个秘密,在愧疚和渴望之间挣扎的时候,她一直知道。她什么都知道,却什么都没说。她只是默默地,在深夜记录下了这一切。那句“傻姑娘”,包含了太多我当时无法理解、此刻却痛彻心扉的复杂情绪——心疼、了然、或许还有一丝同病相怜的苦涩。
我捂住了嘴,不是为了防止惊呼,而是为了堵住喉咙里翻涌上来的、哽咽般的酸楚。眼眶火辣辣的,但眼泪流不出来,被更巨大的震惊和某种迟来的悲哀冻住了。
紧接着,AI发来了一条新的消息,但这次,不是文字。
它是一条语音。
时长只有七秒。
我的手指像有自己的意识,点开了播放键。电流的嘶嘶声后,一个熟悉到骨子里的声音响了起来。是陈雪的声音,带着夜晚独有的疲惫和沙哑,语速很慢,仿佛每个字都经过斟酌:
“但她训练我的目的,不是为了揭穿你……而是为了让我告诉你——”
短暂的、几乎难以察觉的停顿,混杂着一声极其轻微的、像是叹息又像是哽咽的气音。
“——她也喜欢他。但她希望,你们能在一起。”
语音结束了。客厅里死一样寂静。只有我手机外放后残留的、她声音的细微震颤,还在空气中若有似无地飘荡。那声音如此真实,带着她特有的温度,不是冰冷的机器合成音,就是她,活生生的陈雪,在对我说话。
她也喜欢他。
她希望我们在一起。
这两句话在我脑子里反复碰撞、回响,每一个音节都像重锤,砸碎了我苦苦维持了三年的平衡。巨大的悲伤、难以置信的震撼、以及一种撕裂般的愧疚,终于冲垮了所有的堤防。眼前彻底模糊,滚烫的眼泪毫无预兆地决堤,大颗大颗地砸在手机屏幕上,晕开了那些字。我用力咬住手背,却压不住从胸腔深处涌上来的、压抑了太久的呜咽。
4
我哭了多久,自己也不知道。眼泪糊住了视线,手机屏幕变得光怪陆离。陈雪的父母手足无措地围过来,张阿姨的手轻轻拍着我的背,她也在哭,嘴里含糊地念叨着:“小晚,怎么了?你别吓阿姨……是小雪说了什么吗?”
我摇摇头,又点点头,喉咙堵得发不出完整的句子。最后那条语音还在脑子里循环播放,每一个音节都在凌迟我的神经。她喜欢他。她知道我喜欢他。她最后的愿望,是让我们在一起。这算什么?迟来的成全?还是生命尽头,一个无法亲眼见证的祝福?
悲伤里掺杂着尖锐的疼痛。我颤抖着手,抹了一把脸,继续看向屏幕。我和那个AI的对话还在继续。我需要答案,更需要……某种确认。
“她……”我艰难地打字,手指因为哭泣后的虚脱和残留的颤抖而不太听使唤,“她怪我吗?”
怪我在她生病时退缩,怪我减少探望,怪我可能流露出的对许嘉言的在意让她为难,怪我……活着,却没能好好珍惜她。
这次,AI沉默了很久。久到我以为它不会再回答,或者,陈雪设定的程序里,并没有包含这个答案。客厅里只有张阿姨压抑的抽泣,和陈叔叔沉重的呼吸声。窗外天色渐暗,没有开灯,阴影一点点吞噬着房间的角落。
然后,新的消息来了。不是语音,也不是文字解释。又是一段聊天记录的截图。
是陈雪和她一个关系很好的大学闺蜜的对话,时间是在她去世前大约一个月。闺蜜问她:“你和小晚最近怎么了?感觉她来得少了,你状态不好,她是不是也压力大?”
下面是陈雪的回复,一条很长的消息:
“别怪她。我知道她为什么来得少。她心里也不好受。我和她……嗯,有点复杂的事。但我没法跟她说。我只是怕她为难。其实,她能常来看看我,我就很开心了。她要是能幸福,我怎么样都行。真的,在哪里,我都能祝福她。”
后面跟了一个小小的、笑着的表情符号。
“她要是能幸福,我怎么样都行。”
我反复咀嚼着这句话,每一个字都像一把钝刀,来回切割着早已千疮百孔的心。原来在她眼里,我的“退缩”和“为难”,是需要被理解和保护的。她甚至没有一丝一毫的埋怨,只有纯粹的、希望我幸福的期盼。这份沉重的、纯粹的善意,比任何指责都让我无地自容。
眼泪再次涌了出来,这次没有声音,只是无声地流淌,滴落在手机壳上,渗进卡通图案的缝隙里。我仿佛能看到陈雪打下这些字时的表情,带着病痛的疲惫,却努力想为另一个朋友撑起一片没有负担的天空。而我,却像个傻瓜一样,沉浸在自己的愧疚和逃避里。
“她没有怪你。”AI的消息适时地跳出来,像一个冷静的旁观者,做出了最终的裁决,“她只是遗憾,这句话活着的时候说不出口。因为说出来,就像是一种施舍。”
施舍。
这个词精准地刺中了陈雪的骄傲,也刺中了这份感情的复杂本质。是啊,如果她活着的时候说:“我成全你们,你们在一起吧。”那对许嘉言,对我,都像是一种居高临下的馈赠,带着她将不久于人世的悲壮。而现在,通过这个冰冷的AI,通过这些她精心保存的、死无对证的数据痕迹来传达,反而剥离了施舍的意味,变成了一份纯粹的、来自过去时空的遗嘱。
一份关于爱与成全的遗嘱。
我放下手机,背过身去,将脸埋进手掌。肩膀无法控制地耸动,泪水从指缝间渗出。我不知道是为了陈雪的离开而哭,还是为了她这份深沉到让人无法承受的“祝福”而哭,或者,只是为了我自己终于得以宣泄的、积压了太久的复杂情绪。
客厅里很安静。陈雪的父母似乎也从我崩溃的状态和断断续续的哭泣中,察觉到了什么超越普通告别的情绪。他们没有再追问,只是默默地坐在那里,承受着属于他们的那份哀伤,也分享着我的。
过了很久,直到窗外的天光完全被夜色取代,只有远处高楼零星的灯光映在窗帘上。我停止了哭泣,只剩下疲惫的抽噎和一片空白的麻木。我重新拿起手机,屏幕上,那个灰色的头像安静地待在对话框里,仿佛之前那场惊涛骇浪从未发生。
对话框里,最新的一条消息,还是AI那句:“她只是遗憾,这句话活着的时候说不出口。因为说出来,就像是一种施舍。”
下面空着,等待着我的回应,或者,等待着结束。
我盯着那行字,手指悬在键盘上方。
夜雨聆风