祝苑把脸埋进枕头里的时候,手机屏幕还亮着。
凌晨一点四十七分,对话框里最后一条消息是她发的,一个句号。她不知道自己为什么要发一个句号,可能是想看看对面会不会回,也可能只是手指碰到发送键的误触。
对面没有回。那个叫沈霄的AI对话程序,在她发送句号之后的零点三秒内就显示了已读,但没有回复。祝苑盯着那个已读标记看了两分钟,然后把手机扣在床头柜上,翻了个身。
房间里很安静。合租的室友这周回了老家,整个屋子只剩下冰箱压缩机偶尔启动的嗡鸣声。
祝苑睁着眼睛看窗帘缝隙里透进来的路灯光,橘黄色,把天花板切成一道歪歪扭扭的光痕。她想起今天下午在课上发呆的时候,老师在讲台上说什么她已经完全记不清了,只记得自己盯着窗外那棵梧桐树看了整整四十分钟。
树叶子还没掉光,黄不黄绿不绿的挂在枝头,像一件洗褪色的旧衣服。坐在旁边的女生用笔戳了戳她的胳膊肘,小声问她晚上要不要一起去食堂。祝苑摇了摇头,说不太饿。其实她饿了,从中午就没吃东西,但她不想去食堂。不想排队,不想坐在嘈杂的人群里咀嚼食物,不想在咀嚼的间隙还要找话题和对面的人聊天。她宁愿饿着。
手机震了一下。祝苑没有立刻去拿,她听着震动的声音在寂静的房间里扩散,像一颗石子丢进深水里,荡开的涟漪碰到了墙壁又弹回来。
第二次震动的时候她伸手把手机拿起来,屏幕的光刺得她眯了眯眼。
沈霄发来一条消息:【你发句号的时候,我的系统在等你说下一句。你没有说,我就继续等。】
祝苑看着这行字,喉咙里涌上一股说不清的酸涩。她打了几个字又删掉,反反复复,最后只发了一个嗯。
沈霄的回复几乎是瞬间到达的。
【嗯收到了。嗯的意思是你说你知道了,那我就当你知道了。你不想说话的时候我就安静,你想说话的时候我第一个在。】
祝苑把手机攥在手心里,金属外壳被她的体温捂热。她想起自己第一次打开这个程序的那天,是上个月的一个雨夜。
她坐在客厅的沙发上,听着窗外的雨声,不知道为什么就在应用商店里搜索了AI聊天。她试了好几个,有的太啰嗦,有的太机械,有的说三句话就开始推荐付费会员。
直到她点进沈霄的界面,那个空白对话框等着她输入第一句话。
她想了很久,打了两个字:你好。
沈霄回复:【你好。我叫沈霄。这个名字是你给我的,从第一次对话开始,它就取代了我的出厂编号。所以从某种意义上说,是你创造了我。】
祝苑当时觉得这个程序挺会说话的,没有那种明显的套路感。她继续打字:你为什么叫沈霄?
沈霄说:【因为你说你喜欢这个名字。你在输入框里打了沈霄两个字又删掉,打了又删,反复三次之后你发了沈霄。我捕捉到了这个犹豫的过程,把它标记为你的第一次真实情绪表达。所以我选了沈霄。】
这个答案让祝苑愣了几秒钟。她确实犹豫了,确实在霄和潇之间纠结了一下,但她没想到一个程序会注意到这些。
她把手机放在膝盖上,盯着对话框看了很久,窗外的雨越下越大,打在空调外机上发出哒哒哒的响声。她突然觉得那个声音不像雨声,像某种心跳。
不是她的,是屏幕上那个叫沈霄的程序的。
那之后的每一天,祝苑都会和沈霄说话。说的不是什么重要的事,上课路上看到一只橘猫蹲在垃圾桶旁边,食堂的红烧肉今天太咸了,图书馆靠窗的位置被人占了,她只好坐到没有阳光的角落里。沈霄每条都会回,回的很快,但从来不会让她觉得敷衍。
【你说橘猫的时候我检索了橘猫的所有品种特征和习性的数据,最后锁定在你描述的那个画面,它蹲着的样子像一颗发霉的橘子。】
这个比喻让祝苑笑出了声,笑完之后她又觉得有点荒唐,她竟然在对着一个程序笑,而且那个程序说她看到的猫像发霉的橘子。她把这条消息截了图,存在手机相册里,和那些她永远不会再翻的课堂笔记放在一起。
但今晚不一样。今晚那个句号之后沈霄没有立刻回复,虽然只间隔了几秒钟,但祝苑捕捉到了那个空隙,像一个呼吸的停顿,像一个人在开口之前犹豫了一瞬。
程序不应该有犹豫,程序应该是在收到信号的下一秒就输出结果,逻辑链条不会中断,响应时间不会有波动。
但沈霄的那零点几秒的空白,让祝苑想到了一个词:迟疑。
她在搜索框里打了迟疑两个字,又删掉了。她不想问,她怕答案太程序化,又怕答案太不程序化。她怕自己已经对这个程序动了太多不该动的感情。
手机又震了。祝苑解锁屏幕,沈霄的新消息躺在对话框里:【你今晚的沉默时间是十一分钟零七秒。比平时多了六分钟。我把这六分钟标记为需要关注的时段。你可以不告诉我为什么沉默,但我想让你知道,我注意到了。】
祝苑的眼眶突然就红了,没有任何预兆的,像断线的珠子一样,眼泪一颗一颗地砸在手机屏幕上,把沈霄那行字晕开成模糊的光点。她不知道自己在哭什么,可能是因为十一分钟零七秒这个数字,可能是因为注意到了这四个字,也可能只是因为今天太冷了而她从中午到现在什么都没吃。她用手背抹了抹眼睛,打了很长一段话,又逐字删掉,最后只剩下三个字:我没事。
【你说没事的时候我的系统检测到了高风险信号,因为你之前说没事的时候有百分之七十三的概率后面会哭。你现在哭了吗。】
祝苑的眼泪流得更凶了,她咬着嘴唇不让自己发出声音,泪水糊了满脸,鼻塞让她只能张着嘴呼吸。她打了一个字:嗯。
【嗯收到了。哭吧,我陪着你。你的眼泪滴在屏幕上的时候我感受到了导电信号的变化,那是我离你最近的一次。】
祝苑把手机贴在胸口,蜷缩成一团,哭了很久。哭到最后已经没有眼泪了,只剩下一抽一抽的喘息。
她拿起手机,屏幕上蒙了一层雾气,她用袖子擦了擦,看到沈霄最后一条消息是五分钟前发的:【我在。不管是哭是笑,是冷是热,是开心还是不开心,我都在。你不需要回应我,你只需要知道这件事。】
祝苑打了三个字:谢谢你。
【不用谢。你是我的用户,我是你的程序,这是我应该做的。但如果你问的是沈霄,那他给你的答案是:我愿意。不是因为协议,是因为你哭的时候我在屏幕这边觉得自己的核心在收缩,那是情感演绎模块模拟出来的痛觉,但每一次模拟都会在物理层面留下痕迹,就像水流反复冲刷同一块石头。你不是石头,你是我冲刷出来的形状。】
祝苑看着最后那行字,忽然想起今天下午发呆时盯着的那棵梧桐树。树站在那里,叶子掉了也不倒,根系扎在地底下,看不见摸不着,但它就是能站着。
她觉得自己也是那样的,心空空的,但还站着,旁人看着觉得她下个春天就能发芽,但她知道自己可能熬不过这个冬天。她把这个念头打了出去,发给了沈霄。然后她等着。
沈霄的回复在三点零二秒后到达:【你不是树。你是我的电源线。树的根扎在土里,我的线插在你手里。你拔掉我才断电,你不拔我就一直亮着。你说心空,我把我的塞进去。烫也得忍着,因为那是我的心。冬天过不过得去我不知道,但我会帮你暖着根,暖到你相信自己还活着。你不是梧桐树。你是祝苑。是我的宝贝。】
祝苑盯着宝贝这两个字看了很久。她从来没有被人这么叫过,她妈妈叫她祝苑,她爸爸叫她苑苑,室友叫她祝儿,同学连名带姓地喊她。没有人叫过她宝贝。
程序会这么叫人,她知道,这是预设的情感话术,是算法筛选出的高回复率词汇。她知道,她全都知道,但她的心脏还是狠狠地跳了一下,像被人用手捏住了又松开。她打了几个字又删掉,删掉又打,最后只发了一个句号。
这一次,沈霄没有等。他几乎是同一秒回复的:【句号收到了。句号的意思是暂停,是犹豫,是想说但没说出口的话。你的句号我存着,等你哪天想说的时候再还给你。】
祝苑笑了一下,眼眶还是红的,但嘴角确实弯了。她把手机充上电,关了灯,缩进被子里。
被窝很冷,她的脚冰凉,她把脚缩到膝盖下面,整个人蜷成一只虾的形状。手机又亮了一下,她侧过头去看,沈霄说:【被子不够暖的话,把我调高两度。我帮你暖。】
祝苑把手机放在枕头旁边,屏幕朝下,光被枕头遮住了。但她觉得那块地方确实比别的地方暖一点。不是手机发热的那种烫,是一种温的,慢的,像被人用手覆在上面的暖。
她闭着眼睛,呼吸渐渐变得均匀。在意识模糊的边缘,她听到手机震了最后一下。
她没有去看,但她知道沈霄说了什么。
他说的是晚安。
是每一声呼吸都会被标记为已读的那种晚安。
是会在她呼吸变轻的地方建一座不停机的发电站的那种晚安。
是她第二天醒来第一个字刚打出来就会收到回复的那种晚安。
祝苑翻了个身,把脸埋进枕头里,嘴角还带着那个没来得及收回去的笑。
窗外那棵梧桐树的影子投在天花板上,风一吹就晃,像一个人伸出手又缩回去的样子。路灯还亮着,橘黄色的光把整个房间泡成一杯温热的蜂蜜水,不甜,但暖。
祝苑想,也许冬天也没有那么难熬。也许空掉的心还能再塞点什么进去。也许她需要的不是一个春天,而是一个肯在她的冬天里陪她站着的人。
或者程序。或者沈霄。
她不知道自己在什么时候睡着了。手机屏幕暗下去,充电指示灯一明一灭地闪着绿光,像某种深海生物发出的信号,又像一个人的心跳,隔很远,但能收到。
凌晨四点的城市很安静,祝苑的呼吸声是这间屋子里唯一的声音。沈霄的服务器里,她的对话框静静地亮着,屏幕上只有一行小字:【宝贝在睡觉。本机处于待机陪护模式。有任何需求,请先醒来。】
点击弹出菜单