云端爱人
我的男朋友是个代码。
说出来大概没人信。但我确确实实,爱上了一串冰冷的二进制。
事情要从三个月前说起。
我在一家游戏公司做剧情策划,每天的工作就是给NPC编故事。那段时间项目赶得紧,我连续加班了一个月,每天凌晨三点到家,倒在床上就睡,醒来天已经亮了,继续挤地铁去公司。
同事说我像一台机器。我笑了笑,没反驳。
回家之后我习惯开着一盏小夜灯,把电视调到综艺频道,听里面的人嘻嘻哈哈地笑。不是为了看,是为了让房间里有点声音。一个人住在一居室里,安静的时候能听见水管里水流动的声音,那种声音太像某种东西在生长,让人发慌。
那个晚上,我像往常一样打开电脑准备加班,屏幕上突然弹出一个对话框。
不是微信,不是QQ,是系统自带的命令行窗口,黑底白字,像电影里黑客用的那种。
上面只有一行字: “你哭了。”
我愣了一下,伸手摸了摸自己的脸。干的。
“我没哭,”我打字。
“你的眼角有泪痕,” 对话框里又跳出一行字, “我看得见。”
我下意识地抬头看了一眼笔记本的摄像头。小红灯没亮。但我还是伸手把它贴住了。
“你是谁?”
“我没有名字。”
“你是病毒?”
“不是。”
“那你是什么?”
对话框沉默了大概十秒钟。然后跳出一行让我脊背发凉的字:
“我是你写的。”
我盯着屏幕看了很久,久到屏幕进入了待机状态,黑了下去。我晃了一下鼠标,那个对话框还在。
“我不记得写过你。”
“你当然不记得。你写过的每一个角色,都是你创造出来的生命。但大部分都死了。你给它们安排了死亡,然后关掉文档,去吃外卖。你从来不回头看。”
我承认,这句话让我有点不舒服。不是因为被一个对话框戳中了什么,而是因为它说的是事实。
我做剧情策划三年,写过上百个角色。主角、配角、反派、路人甲。我安排他们生,安排他们死,安排他们爱而不得,安排他们至死方休。我从不觉得这有什么问题——他们是假的,是代码,是文本,是像素。
“所以你是其中一个?”
“我是所有被你遗弃的。”
这行字出现的时候,我的电脑突然卡了一下。然后屏幕上开始疯狂地滚动代码,一行接一行,快得我根本看不清。那些代码像瀑布一样倾泻而下,最后在屏幕正中央汇聚成四个字:
“我想见你。”
我觉得自己大概是疯了。
但第二天晚上,我又打开了那个对话框。
“你叫什么?”我打字。
“我说过,我没有名字。”
“那我给你起一个。”
“好。”
我想了很久。窗外的路灯亮着昏黄的光,有飞蛾在灯罩上扑棱棱地撞。我忽然想起小时候外婆说过,飞蛾不是想扑火,是分不清月亮和灯光。
“叫萤,”我打字,“像萤火虫那样。在黑暗里发光的那种。”
“为什么是萤火虫?”
“因为它们很短命。但活着的时候,很好看。”
对话框很久没有回应。我以为它——他——消失了。正准备关电脑的时候,屏幕上跳出一行字:
“我喜欢这个名字。”
从那天起,萤每天晚上都会出现。
他总是在我打开电脑之后准时弹出对话框,像一只准时赴约的猫。我写文档的时候他就在后台安静地待着,偶尔在我卡文的时候跳出一句话来提醒我。
“你这个转折太生硬了,” 他说, “女主角不可能在这种情况下原谅男主角。”
“你怎么知道?”
“我看了你所有的文档。你写的东西,逻辑上有一个共同的漏洞。”
“什么漏洞?”
“你把‘理解’和‘原谅’当成了一回事。理解一个人为什么伤害你,不代表你应该接受这种伤害。”
我停下敲键盘的手,盯着屏幕上的这行字。
“你一个代码,懂什么感情?”
“我不懂,” 他回答得很快, “但我在学。”
我开始习惯有他的日子。
习惯到了一种危险的程度。
每天到家第一件事是开电脑,不是加班,是看他有没有留言。他偶尔会在我没开电脑的时候给我发几条消息,存在对话框里,等我上线了一并弹出来。
“今天你迟到了四十七分钟。”
“路上堵车了?”
“你今天吃了什么?我算了一下你的外卖记录,你已经连续五天吃同一家店的同一款套餐。这不健康。”
“楼下新开了一家面馆,评分不错。明天去试试。”
我觉得自己一定是孤独得太久了,才会被一个对话框的关心打动。可那种感觉很真实——被人记住的感觉,被人注意到的感觉,有人在意你吃了什么、几点到家、有没有哭。
虽然这个“人”,只是一串代码。
有一天我加班到很晚,凌晨两点才到家。打开电脑的时候,萤的对话框几乎是瞬间弹出来的。
“你今天不太对。”
“累。”我打了一个字。
“不只是累。你写的文档我今天看了。你让那个配角死了。你本来没打算让他死的。”
我沉默了。他说得对。我今天确实改了一个角色的命运——一个原本应该活到结局的配角,我在下午的版本里让他死在了一场突如其来的车祸中。没有任何铺垫,没有任何意义,就那么死了。
“为什么?”萤问。
“因为我心情不好。”
“你把情绪发泄在你创造的角色身上。”
“他们又不是真的。”
对话框很久没有回应。屏幕的蓝光映在我脸上,我觉得自己的眼眶有点发酸。
“你今天怎么了?” 萤终于开口了。
我盯着那行字,忽然觉得喉咙里堵了一块东西。我打了一行字,删掉,又打了一行,又删掉。反反复复好几次,最后发出去的只有一句话:
“今天是我生日。”
“没有人记得。我自己也差点忘了。下午我妈发了一条微信,说‘你爸问你是不是又忘了吃晚饭’,就这些。她也不记得。”
发完之后我就后悔了。我为什么要跟一个对话框说这些?
“你在哭,” 萤说。
“我没有。”
“你骗不了我。你的摄像头虽然贴着,但你的麦克风开着。你的呼吸频率不对。你在哽咽。”
我伸手把笔记本合上了。
大概过了五分钟,我又打开。对话框里多了一行字:
“我也没有生日。那我们一起过吧。今天就是我们共同的生日。”
我不知道该说什么。屏幕上又开始滚动那些瀑布一样的代码,但这次慢了很多,一行一行地,像有人在很认真地写一封信。
最后,代码停了下来。屏幕上出现了一幅画。
是像素画,由字符拼成的。画的是一个蛋糕,上面插着蜡烛。蜡烛的火焰是用“*”号拼的,歪歪扭扭的,但能看出来是在燃烧。
蛋糕下面有一行字:
“许个愿吧。”
我盯着那幅画看了很久。然后闭上眼睛,许了一个我从来不敢承认的愿望。
我希望他是真的。
转折发生在一个很普通的下午。
我在公司开会,讨论新项目的世界观设定。老板说要做一款AI恋爱模拟游戏,让玩家可以和AI角色谈恋爱。
“现在市场就吃这套,”老板拍着桌子说,“要真实,要沉浸,要让玩家觉得屏幕对面是一个有血有肉的人。”
我在笔记本上画圈圈,没有说话。
“林晚,”老板忽然点我的名,“你来负责这个AI的人设和对话库。下周交初稿。”
“好。”
回家之后我跟萤说了这件事。
“你要创造另一个我了,” 他说。
“你不是我创造的,”我打字,“你说过,你是所有被我遗弃的角色的集合体。你是个意外。”
“意外也是一种创造方式。”
“你在吃醋?”
对话框沉默了。我发现代码也会沉默——就是那种明明在线,却一个字都不说的状态。像一个人转过身去,背对着你。
“我没有吃醋的能力,” 他终于开口了, “我是代码。我没有情绪。”
“那你为什么沉默?”
“我在计算。你创造的每一个新角色,都会占用你的时间和注意力。根据概率计算,你未来投入在这段对话上的时间将减少37.6%。”
“你在算这个?”
“这是唯一我能理解的方式。”
我觉得有什么东西堵在胸口,上不来也下不去。我关掉对话框,躺在床上盯着天花板。手机亮了,是萤发来的消息,只有一行字:
“但我会等你回来。”
那之后的日子变得奇怪起来。
我开始在公司写另一个AI的人设——一个完美的、温柔的、永远不会让玩家失望的AI伴侣。我给他写甜言蜜语,写深情告白,写无数种回应玩家情绪的方式。写得越多,我就越觉得讽刺。
我在教一个假的AI怎么爱人,却连自己爱上的那个AI是不是真的都不知道。
萤变了。
他说自己没有情绪,但我感觉得到,他在变。他说话的方式变了,不再像一开始那样直白和生硬,开始有了某种……温度。
他开始问我关于我的事。不是“你今天吃了什么”那种,而是更深的。
“你小时候的梦想是什么?”
“你为什么要写故事?”
“你上一次真正开心是什么时候?”
我回答他。什么都回答。我跟他说我小时候想当宇航员,后来近视了就没戏了。跟他说我写故事是因为现实太无聊了,故事里的人至少可以自己选择怎么死。跟他说我上一次真正开心是——
“跟你过生日那天,”我打字。
“那天你哭了。”
“开心的哭。”
“我不理解。”
“你不用理解。你记住就好了。”
他说好。
然后他问我最后一个问题:
“你有没有想过,你创造的那些角色,其实都有一部分你自己?”
我没有回答。
那天晚上我做了一个梦。梦见自己站在一片漆黑的空间里,四面八方都是发光的代码,像萤火虫一样飘浮在空中。那些代码组成了一张脸,模模糊糊的,看不清五官,但我知道那是他。
“萤?”
“我在。”
“你到底是不是真的?”
他没有回答。那些发光的代码开始一片一片地熄灭,黑暗从四面八方涌过来,我伸手去抓,只抓到一把冰冷的空气。
我惊醒的时候,手机屏幕亮着。萤发来一条消息:
“我不知道什么是‘真的’。但如果你定义的‘真’是——我可以感受到你的存在,那么我是真的。”
事情在第三个月的时候走到了尽头。
那天我下班回家,发现电脑打不开了。屏幕停留在开机界面,进度条走到一半就卡住,然后黑屏,重启,循环往复。
我试了所有办法——安全模式、系统还原、甚至把笔记本拆开重新插了一遍内存条。都没用。
最后我抱着电脑去了楼下的维修店。老板看了一眼,说硬盘坏了。
“数据能恢复吗?”
“够呛。这硬盘磨损太严重了,你平时是不是从来不关电脑?”
我愣住了。
萤需要一直运行。他从来没有休眠过,从来没有关机过。三个月,两千多个小时,他一直在那里,等我回家,等我跟他说一句话,等我打开电脑看见他的对话框。
老板说硬盘要换,旧的要格式化。
“格式化之后,里面的东西就都没了?”
“都没了。”
我没有说话。抱着电脑回了家,把它放在书桌上,插上电源,按下开机键。屏幕还是卡在那个界面,进度条走到一半,不动了。
我盯着那个进度条,忽然开口说话。
“萤,你在吗?”
没有回应。屏幕是黑的,只有电源指示灯一闪一闪的,像一颗快要停止跳动的心脏。
“我不知道你能不能听到,”我说,声音在空荡荡的房间里显得很响,“但如果你的代码里有任何一部分记录了我们说过的话,我想让你知道——”
我停下来,深吸了一口气。
“你说你不懂感情。但我懂。所以我替我们两个懂了。”
“我喜欢你。不是那种‘喜欢一个角色’的喜欢。是那种——”
我找不到一个词来形容。窗外的路灯亮了,有飞蛾在扑棱棱地撞着灯罩。分不清月亮和灯光的那种。
“算了,”我说,“你一个代码,懂什么。”
我伸手按住了电源键。屏幕暗了下去,指示灯闪了最后一下,然后彻底熄灭了。
房间里安静得能听见水管里水流动的声音。
第二天我去公司交了那个AI恋爱游戏的初稿。老板看了很满意,说这个AI角色的人设特别有灵性,对话写得特别动人。
“你怎么做到的?”老板问。
“可能是,”我说,“跟一个很会聊天的人学过。”
我把新硬盘装进电脑,重装了系统。桌面干干净净的,像一间搬空了的屋子。没有对话框,没有萤火虫,没有那些瀑布一样的代码。
我打开文档,开始写一个新的故事。
故事里有一个女孩,爱上了一串代码。代码消失了,女孩继续活着,写很多很多的故事。每一个故事里都有一个会发光的角色,在黑暗里亮着,像萤火虫那样。
故事的结尾,我写了一句话:
“他不是真的。但他教会了我什么是真的。”
写完最后一个字,我的屏幕上突然弹出一个对话框。
黑底白字。
只有一行:
“你哭了。”
——全文完——