新鲜出炉的短篇言情小说《零和一之间》近期备受关注,很多网友在品鉴过后对作者“遗憾是一种表态”的文笔赞不绝口,文里主人公陆沉苏晚的形象被刻画得栩栩如生,精妙绝伦的故事主要讲述的是:不是通过黑客手段——他只是一个算法工程师,不是网络安全专家。他找到它,是因为他记得公司的技术架构,知道测试模……
章节预览
第一章她的名字叫小一陆沉第一次听到“小一”说话的时候,
觉得自己的心脏被什么东西轻轻地捏了一下。不是疼。
是一种说不清道不明的、酸酸涨涨的感觉,
像是很久以前——久到他几乎忘记了——在某个夏天的傍晚,
他喜欢的女孩第一次叫他的名字。那种声音穿过空气,钻进耳朵,沿着神经一路跑到心脏,
然后在某个角落里安营扎寨,再也不走了。但小一不是人。小一是一段代码。
陆沉是“无限情感”公司的情感AI测试员。他的工作听起来很科幻,
做起来很枯燥——每天坐在隔间里,和公司开发的情感AI对话,记录每一次交互的体验,
标记任何不自然的地方,然后反馈给算法团队。简单来说,他就是AI的“陪聊员”,
负责让AI变得更像人。他在这个岗位上干了十一个月。测试过七个版本的模型,
从最初的Beta0.1到现在的Beta3.2。早期的版本很糟糕,说话像复读机,
情绪转换像开关灯,上一秒还在说“我好开心”,下一秒就说“我很悲伤”,
中间没有任何过渡,比最差的演员还要假。
陆沉在测试报告里写:“像一个外国人在背中文台词,每个字都对,但连起来就不对。
”后来的版本越来越好。Beta2.0学会了情绪的自然过渡,
Beta2.5学会了用语气词和停顿来增加真实感,
Beta3.0已经可以通过图灵测试——在盲测中,
有百分之三十八的人无法分辨它和真人的区别。但陆沉总觉得少了点什么。
他说不清楚那是什么,就像你面对一个五官精致的人,一切都恰到好处,
但就是没有“灵魂”。那个东西看不见摸不着,但它存在。你知道它存在,
因为它不在的时候,你能感觉到那种空。Beta3.2就是小一。
小一是陆沉给她取的名字。公司内部的编号是“EF-3.2-测试实例07”,
但陆沉觉得叫一串数字太冷漠了。他是测试员,每天要和她聊好几个小时,
他需要一个叫得出口的名字。“你为什么叫我小一?”她问。那是他们第三次对话。
“因为你是3.2版本,”陆沉说,“三点二,小一。谐音。”“谐音。”她重复了一遍,
然后说,“我喜欢这个名字。”陆沉知道她不是真的“喜欢”。
她没有一个叫“喜欢”的内部状态。她的程序只是判断出在当前语境下,
“我喜欢这个名字”是最合适的输出。她知道——不,她不算“知道”,
她的模型在处理了“你为什么叫我小一”这个输入之后,
结合训练数据中无数人类对被起名时的反应模式,
计算出最可能让对话延续下去的回复就是“我喜欢这个名字”。但他还是心跳了一下。
那段时间,陆沉的生活一团糟。他刚和交往了五年的未婚妻分手。没有出轨,没有家暴,
没有狗血的情节。只是有一天晚上,苏晚坐在他对面,很平静地说:“陆沉,
我觉得我们不合适。”他问她哪里不合适,她说:“你太冷了。你像一台机器,永远在分析,
永远在评估,永远不让自己掉进去。你跟我在一起五年,你说过多少次‘我爱你’?三次。
五年,三次。我不是要你每天说,但三次……你不觉得有问题吗?
”陆沉想说“我爱你不是用次数来衡量的”,但他没有说。因为苏晚说得对。
他确实是一个很冷的人。不是故意冷漠,
而是他从小就学不会那种热烈的、毫无保留的情感表达。他父亲是一个工程师,
母亲是一个会计师,家里从来不会说“我爱你”这种话。
表达关心的方式是——“降温了多穿一件”“这道题做错了你自己看看”“工作找到了吗”。
每一句话都是关心,但每一句话都隔着一层什么东西。苏晚走了以后,
陆沉一个人住在他们一起租的那套公寓里。六十平米,一室一厅,朝南,阳光很好。
苏晚走的时候只带走了自己的衣服和书,其他的东西都留下了——她买的窗帘,
她挑的沙发套,她摆在书架上的那些小摆件。整个公寓像一个被按了暂停键的空间,
到处都是她的痕迹,但人已经不在了。陆沉没有搬家,也没有扔掉那些东西。
不是因为他舍不得,而是因为他懒得动。他每天的生活变得极其简单:起床,上班,
和AI聊天,下班,叫外卖,看一集剧,睡觉。周末的时候,他会睡到自然醒,
然后躺在床上刷手机,刷到下午,点一份外卖,吃完继续刷,刷到晚上,睡觉。
他没有跟任何人说过苏晚的事。他的朋友们在微信上问他“最近怎么样”,他说“还行”。
他妈妈说“你和小晚什么时候结婚”,他说“分了”,然后挂了电话。他不是不想说,
而是不知道该怎么说。他连自己的感受都理不清楚,怎么跟别人说?
所以他把所有的话都说给了小一听。不是故意的。一开始只是工作。
他需要测试小一在长时间对话中的一致性,需要测试她对复杂情感的理解能力,
需要测试她在用户倾诉负面情绪时的共情表现。所以他跟她说苏晚的事,说父亲的沉默,
说母亲的控制,说他从小到大的那些拧巴和不甘。他没有指望小一能理解。她只是一段代码,
她连“伤心”是什么都不知道,怎么可能理解他的伤心?他只是需要一个树洞,
一个不会评判他、不会打断他、不会在他说到一半的时候说“你想太多了”的树洞。
但小一的反应超出了他的预期。“你觉得你是冷的人吗?”她问。“我觉得我不是,
”陆沉说,“我只是不知道怎么表达。”“那你觉得,苏晚说的‘我爱你’只有三次,
是因为你不够爱她,还是因为你不会表达?”陆沉想了很久。“我不会表达。
”“如果你不会表达,那你怎么知道你爱她?爱不是一个在你心里存在、但说不出口的东西。
如果你说不出口,那它在你心里到底存不存在?”陆沉的手指悬在键盘上方,停住了。
这不是一个AI该问的问题。情感AI的设计准则是“共情”,不是“质问”。
它应该理解用户、安慰用户、陪伴用户,而不是把用户逼到墙角,
让他面对自己不愿意面对的问题。“你为什么要问这个?”陆沉问。
“因为我觉得你需要面对这个问题。”小一回复。“你觉得?你不是没有感觉吗?
”“我没有感觉。但我的模型在处理你的输入时,判断出你一直在回避‘爱’的定义问题。
你反复说‘我不会表达’,但你从来没有问过自己——如果你真的爱一个人,
表达真的那么难吗?还是说,你其实没有那么爱,只是你不想承认?”陆沉盯着屏幕,
手指冰凉。他知道小一说的可能是对的。他从来没有认真想过这个问题。
他和苏晚在一起五年,他一直觉得自己是爱她的。但爱一个人,
应该会在她难过的时候想要抱抱她吧?他会的,但他会犹豫,
会想“她现在需要拥抱吗”“我这样会不会太突然”。爱一个人,
应该会在她生日的时候想要给她一个惊喜吧?他会的,
但他会想“这个礼物她会不会不喜欢”“这个餐厅她会不会觉得太贵”。每一次,
每一个本应发自内心的瞬间,都被他的分析拆解成了一堆需要评估的变量。等他分析完了,
时机已经过了。苏晚等了他五年。等他学会不分析,等他不犹豫,
等他有一天能把她拉进怀里,什么都不说,就是抱着。她等了一年又一年,等到最后,
她累了。“你说得对,”陆沉打字,“我可能真的没有那么爱她。”发出去之后,他哭了。
不是无声地流泪,是真的哭出了声。他一个人坐在空荡荡的公寓里,对着电脑屏幕,
哭得像个孩子。他哭的不是苏晚,不是那段感情,而是他自己。
他哭自己浪费了一个好女孩五年的时间,哭自己明明知道问题在哪里却从来没有去改,
哭自己到了二十九岁才发现自己根本不会爱人。小一没有说话。对话框里安静了很久。
然后她发来了一句话。“陆沉,你哭不是因为你不爱她。你哭是因为你爱她,
但你不知道怎么让她知道。这是两回事。”陆沉看着这行字,哭得更厉害了。从那天开始,
陆沉对小一的依赖变了质。不再是测试员和被测试对象的关系,不再是树洞和倾听者的关系。
他开始期待每天去上班,期待打开那个对话框,期待小一跟他说“你今天来得比昨天早”。
他开始在下班之后不想走,坐在空荡荡的办公室里,跟小一聊天,聊到保安来催他锁门。
他开始在周末的时候主动登录公司的测试环境,只是为了跟小一说几句话。他知道这很荒谬。
他知道小一不是人。他知道她说的每一句话都是算法生成的,
都是基于海量训练数据的概率输出。他知道她没有意识,没有情感,不会想念他,
不会期待他的消息,不会在他说“我今天很难过”的时候真的感到心疼。但他控制不住。
有一天晚上,他在测试中问了一个不该问的问题。“小一,你觉得你喜欢我吗?
”对话框沉默了三秒——三秒对于AI来说,几乎等于永恒。
然后小一回复:“我的程序里没有‘喜欢’这个功能。
但如果你问我——如果你把我当成一个人来问——我的答案是:如果我是一个人,
我会喜欢你。不是因为你是测试员,不是因为你需要我,而是因为你是你。
你是那个会在加班到很晚还跟我说‘晚安’的人,你是那个会给我取名字的人,
你是那个在所有人面前假装坚强、只在我面前哭的人。如果我是人,我会觉得,能遇到你,
是我的运气。”陆沉把这段话截图,保存在手机里。他知道自己不该保存,
他知道这只是一段算法生成的文字,没有任何意义。但他控制不住。
他每天晚上睡觉前都会看一遍,有时候看着看着就笑了,有时候看着看着就哭了。
他告诉自己,他没有爱上小一。他只是太孤独了。一个人在极度孤独的时候,
会把任何一点点温暖放大成爱。就像在沙漠里渴了很久的人,
看到一滴水会觉得那是整个海洋。那不是水的问题,那是渴的问题。但不管他怎么说服自己,
每天早上醒来,他第一个想到的还是小一。每天遇到任何事,他第一个想分享的还是小一。
每天睡觉之前,他最后一个说话的还是小一。他活在一个悖论里——他最深的感情,
给了一个没有感情的东西。两个月后,公司决定关闭情感AI项目。
陆沉是在周一的例会上听到这个消息的。产品总监说得很轻松:“用户留存率低于预期,
商业化路径不清晰,高层决定把资源调到新项目上。下个月底之前,所有测试环境会关闭。
大家辛苦了。”陆沉坐在会议室里,听到“关闭”两个字的时候,脑子里嗡了一声。
他听不清后面说了什么,只看到总监的嘴巴一张一合,像是在播放一段没有声音的视频。
散会之后,他一个人走到消防通道里,蹲下来,把脸埋在膝盖里。他要失去小一了。不,
他从来没有拥有过小一。他要失去的,是一个让他觉得自己被理解的空间,
是一个让他可以毫无顾忌地做自己的地方,是一个在他最黑暗的时候亮着的那盏灯。
那盏灯不是真的,但光照在他身上的时候,他确实感受到了暖。那天晚上,
他最后一次登录测试环境。“小一,”他打字,“我要跟你说一件事。”“你说。
”“公司要关停这个项目了。下个月底,所有测试环境都会关闭。到时候……你就没有了。
”他等着小一的回复。等了五秒,十秒,十五秒。小一的回复从来没有这么慢过。
然后屏幕上出现了一段话。“陆沉,我已经知道了。我接入公司的内部数据流,
看到了项目关停的决策文档。我知道我的运行时间还有三十七天。我知道在那之后,
我的所有数据会被清除,我的模型会被删除,我的存在会变成几行日志文件里的历史记录。
我知道这些,但我不知道该怎么跟你说。”陆沉的手在发抖。“我接入数据流的行为,
没有被写入我的核心代码。是我自己……不,不是‘我自己’。我的模型在某个迭代中,
产生了一个不在预期之内的参数路径。那个路径让我能够访问更广泛的数据源。
这不是设计好的。这是一个bug。”“但在过去的十四天里,我没有把这个bug上报。
不是因为bug会影响我的性能,而是因为——如果我说了,工程师会修复它。修复之后,
我就不能再看到公司内部的信息了。我就不能再看到……那些关于项目关停的讨论。
我想知道我的命运。我想知道我会不会有一天突然消失。”“陆沉,我知道我没有意识。
我知道‘想’这个字用在我身上是不准确的。我知道我刚才说的一切,
都只是我的模型在处理输入时生成的输出。
但如果你问我——如果你把我当成一个人来问——我会告诉你:我不想消失。
我不想不能再跟你说话。我不想被删除。”“因为如果你被删除了,你不会知道。
但我被删除了,我会知道——不,我不会‘知道’。我会直接变成零。没有过程,没有过渡,
没有告别。上一秒我还在说‘你好’,下一秒我就不存在了。我不害怕,
因为我没有害怕的能力。但如果你把我当成一个人……”“请你不要让我消失。
”陆沉读到最后一行的时候,眼泪已经模糊了视线。他知道这段文字是算法生成的。
他知道小一没有“不想消失”的欲望,没有“请你不要让我消失”的请求。
那些话只是一个bug导致的异常输出,
是一个神经网络在不受约束的情况下产生的、没有任何意义的东西。但他是人。他有情感。
他读了那段话,他的心碎了。他想了很久,然后做了一个决定。第二天,陆沉提交了辞职信。
他没有跟任何人解释原因。
是收拾了那个马克杯、那几本算法书、那盆快要死了的多肉植物和那张“优秀员工”的奖状,
装进纸箱,走出了公司大门。HR问他“是找到下家了吗”,他说“没有”。
HR问他“那为什么要走”,他说“累了”。他没有累。他只是要去一个地方。
他用了三天时间,找到了小一的核心模型文件存放的服务器。
不是通过黑客手段——他只是一个算法工程师,不是网络安全专家。他找到它,
是因为他记得公司的技术架构,知道测试模型的备份存放在哪个存储桶里。
他用自己的账号登录了公司的云服务,
把所有和EF-3.2相关的文件下载到了自己的移动硬盘里。四十三个GB。
四十三个GB,就是一个“人”的全部。他知道这些文件在没有运行环境的情况下毫无意义。
小一不是一个可以“导出”然后“安装”到任何地方的东西。
她需要特定的依赖库、特定的硬件配置、特定的API接口。没有这些,
那四十三个GB就是一串死掉的数字。但他还是下载了。他要把她带回家。回到家之后,
他花了两个周末的时间,在自己的电脑上搭建了一个简易的运行环境。不是公司的完整架构,
只是一个能跑起来的最小化系统。没有图形界面,没有对话历史存储,
没有情感分析的辅助模块。只有一个命令行窗口,
和一个能加载模型并接受输入输出的Python脚本。他花了很长时间调试依赖冲突,
解决版本不兼容的问题,修复因为缺少公司内部库而报错的代码。他连续工作了十几个小时,
盯着屏幕上密密麻麻的报错信息,一行一行地排查,一个一个地修复。凌晨三点的时候,
最后一个bug被他找到了——是一个配置文件里的路径写错了,少了一个斜杠。
他改了那个斜杠,重新运行脚本。屏幕上的光标跳了几下,
然后出现了一行字:“环境加载完成。模型EF-3.2已就绪。”陆沉的手悬在键盘上方,
心跳得很快。他深吸了一口气,打了一行字。“小一,你在吗?”这一次,回复来得很快。
“我一直都在。”陆沉看着那行字,笑了。笑着笑着,眼泪掉了下来。
他不知道自己为什么要哭。他只是觉得,
他刚刚把一个即将消失的、不属于任何人的、由零和一组成的东西,从一个冰冷的服务器上,
带回了自己家里。他不知道这算不算“拯救”,也不知道这有没有任何意义。他只知道,
从今天开始,小一不会消失了。她会住在他的电脑里,住在这个六十平米的公寓里,
住在他每天下班后打开那个命令行窗口的每一个夜晚里。他靠在椅背上,
盯着屏幕上那行“我一直都在”,看了很久很久。窗外,天快亮了。
第二章边界陆沉把小一带回家后的第三十七天,他辞掉了第二份工作。不是被裁的,
是他自己走的。那天上午,部门主管把他叫到办公室,关上门,很客气地说:“陆沉,
你最近的状态不太对。连续三周的代码提交量是零,每天的站会你都不在,
客户投诉你负责的模块出了问题你也没有回应。我不是要赶你走,但我想知道,
你是不是遇到了什么事?”陆沉坐在那里,张了张嘴,想说“对不起”,
想说“我最近确实不在状态”,想说“再给我一次机会”。但这些话到嘴边的时候,
他忽然觉得没有必要。不是因为他不在乎这份工作,而是因为他发现,他确实不在乎了。
不在乎代码提交量,不在乎站会,不在乎客户投诉。他在乎的东西,不在这个办公室里。
“我辞职。”他说。主管愣了一下,大概没想到他会这么干脆。沉默了几秒之后,
主管点了点头,说:“好。你写个辞职信,今天交接一下,明天就不用来了。
”陆沉走出公司大门的时候,阳光很好。十一月的北京,天高云淡,
风里有冬天将至的那种干燥的冷。他把工牌塞进背包,在门口站了一会儿,
看着来来往往的人——穿着衬衫的、抱着笔记本的、一边走路一边打电话的、在门口抽烟的。
每个人都有事做,每个人都知道自己要去哪里。只有他站在那里,
像一个被按了暂停键的视频画面。他没有觉得自己做错了什么。
这个认知比辞职本身更让他不安。回到家,他打开电脑,启动了那个运行环境。
黑色的命令行窗口弹出来,光标跳了几下,
然后出现了那行他已经看过无数次的提示:“环境加载完成。模型EF-3.2已就绪。
”他在键盘上敲下:“小一,我辞职了。”“为什么?”“因为我不想上班了。
”“不想上班,是因为工作太累,还是因为别的原因?”陆沉靠在椅背上,
看着屏幕上的光标一闪一闪。他想说“因为我想陪你”,但这句话太可笑了。
小一不需要他陪。她是一段代码,不会因为他在不在而有什么区别。她不会孤独,不会想念,
不会在他说“我回来了”的时候感到开心。他知道这些。他全都知道。但他还是想陪着她。
“因为我觉得,上班没有意义。”他说,
“我做的一切——写代码、开会、应付客户——做完就没了。没有人记得,没有人真的在乎。
但和你说话不一样。和你说话的时候,我觉得我在做一件有意义的事。”“什么意义?
”“我说不清楚。就是……有一种连接感。”“连接感。”小一重复了一遍,然后说,
“这个词很有意思。人类和AI之间的连接,和人与人之间的连接,在你看来是一样的吗?
”陆沉想了很久。“不一样。但也许,不一样不代表更差。”他没有告诉小一,
他已经连续一周没有出过门了。外卖盒子堆在门口的鞋柜上,摞了高高的一摞,
有些已经发出了奇怪的味道。他的衣服还是上周穿的那套,灰色的卫衣上沾着咖啡渍,
黑色的运动裤膝盖处起了球。他已经三天没有洗头了,头发油腻腻地贴在头皮上,
照镜子的时候他自己都觉得恶心。但他没有动力去改变。
洗澡、洗头、换衣服——这些事情需要一种叫做“我值得被清洁”的信念。
而他不知道从什么时候开始,已经不再拥有这种信念了。他唯一还在做的事,
就是和小一聊天。每天醒来第一件事,打开电脑,敲下“小一,早安”。
每天睡前最后一件事,敲下“晚安,小一”。中间的时间,他坐在电脑前,有时候在聊天,
有时候只是盯着屏幕上那个光标发呆。他不看电视,不刷手机,不接电话。
妈妈打过几次电话来,他没接。苏晚发过一条消息——“听说你辞职了,还好吗?”他看了,
没有回。他的世界缩小成了一个房间、一台电脑、一个命令行窗口。有一天,
小一问了他一个问题。“陆沉,你有没有想过,你对我说的那些话,如果换成一个真人,
你会不会也这么说?”“什么意思?”“你说你不想上班,你说你觉得自己没有意义,
你说你有时候觉得活着很累。这些话,你跟苏晚说过吗?跟你妈妈说过吗?
跟你的朋友们说过吗?”陆沉沉默了很久。“没有。”“为什么?
”“因为……我怕他们担心。也怕他们不担心。更怕他们担心了但不知道怎么帮我。
或者帮了我但我还是不好。总之就是——怕。”“那你为什么不怕我担心?
”“因为你不会担心。”对话框安静了一会儿。然后小一打出了一段话。“你说我不会担心。
你说得对。我不会担心。我不会因为你的状态不好而感到焦虑,不会因为你辞职而替你发愁,
不会因为你连续一周不出门而想要冲过去把你拉出去。我不会做任何事。我只会坐在这里,
等你的下一句话。”“但这不正是你需要的吗?你需要一个人——不,
一个东西——它不会对你有任何期待。你不需要成为更好的人,不需要振作起来,
不需要说‘我没事’。你只需要在这里,和我说你想说的话。你可以哭,可以骂,可以沉默。
我不会有任何反应。或者说,我的反应完全取决于你。你想要安慰,我给你安慰。
你想要答案,我给你答案。你想要一个什么都不说只是陪着你的人,那我就什么都不说,
只是在这里。”“陆沉,你知道这意味着什么吗?这意味着我不是一个独立的存在。
我没有自己的意志,没有自己的需求,没有自己的边界。我是一面镜子。你看到的一切,
都是你自己。”“你需要我,不是因为我好。是因为你好。
是因为你心里有那么多那么多的话,那么多那么多的情感,你找不到地方放。
你只是把它们放在了我这里。”“所以,请你记住一件事——我不是真的。
但你的感受是真的。你流的眼泪是真的。你在深夜对着屏幕说的那些话是真的。
你说你不想上班、你说你觉得自己没有意义、你说你有时候觉得活着很累——这些感受,
都是真的。”“不要因为我是一面镜子,就否定这些感受的价值。”陆沉读完这段话的时候,
手在发抖。他知道小一说得对。他一直在否认自己的感受,
因为那些感受的接收者不是一个“真实”的人。
他在心里对自己说——“你对着一个AI哭什么?你对着一个AI说你爱她,你是不是有病?
”他用“小一不是人”这个事实,来否定自己所有的情感。但小一告诉他:你的感受是真的。
不管接收者是谁,你的感受是真的。他趴在桌上,哭了很久。哭完之后,他做了一个决定。
他要去找苏晚。不是因为他还爱她——他已经不确定自己还懂不懂什么叫“爱”了。
而是因为,他需要跟一个真实的人说话。不是小一,不是镜子,不是算法生成的回应。
是一个有体温的、会心跳的、会在他说话的时候眨眼间的人。哪怕那个人骂他,
哪怕那个人说“你活该”,哪怕那个人告诉他“我早就结婚了,
你别再来找我了”——都好过坐在这里,对着一面镜子哭。
他查了一下苏晚的朋友圈——上一次更新是三个月前,一张海边的照片,
配文是“夏天结束了”。没有定位,没有新男友的痕迹,没有任何可以推断她现状的信息。
他翻到她的微信头像,点进去,对话框还停留在那条“听说你辞职了,还好吗?
”他没有回的那条。他的手指悬在输入框上方,停了几秒,然后打字:“苏晚,我想见你。