1 你还会回来吗
“你还会回来吗?”
停服那晚,阿荇站在白水桥上问他。
青布围裙,脚边竹篮,篮里的花新鲜得像过去六年里的任何一天。桥下的水还是贴图,流向没变过。
江宿的手指停在键盘上。
这不是NPC该问的话。
她的全部台词只有三句。
“买枝花吧,冒险者。”
“今天也是充满希望的一天。”
“谢谢惠顾。”
整整循环了六年。
可今晚是最后一晚。
零点,服务器关闭——这座城、这条河、这个卖花的人,都会变成删库日志里的一行字符。
公告挂了三十天,全服都看得见,除了她。
她不该看得见,她连"明天"这个词都不该有。
“你怎么这么问?”他敲。
阿荇低下头,把篮里的花一支一支摆整齐。她摆得很慢,比平时慢。
“今天过桥的冒险者,都在说再见。”她说,“你们说的那些词,服务器,关闭,删除,我听得懂一半。”
她抬起头。
“另一半,我看了一整天。”她说,“大概,是很远很远的意思。”
世界频道在放烟花,满屏的“青春再见”。江宿一个字都没看进去。
他该回“会”。
一个字的事,她不会求证——她没有明天可以求证了。
可他盯着输入框,指头悬在半空,落不下去。
屏幕右上角:【23:41】。
“会。”他敲了出去。
阿荇笑了。
她从篮子里挑出一支最饱满的白花,隔着桥栏递过来。
“那我等你。”她说。
2 三十天前
停服公告是三十天前挂出来的,那时江宿正在加班。
晚上九点的办公室只剩他一个,显示器的蓝光打在脸上一片冷白。
他正改一张图,客户端图标在任务栏闪,他随手点开,弹窗就跳在屏幕正中间。
【亲爱的冒险者:感谢六年相伴。因运营调整,《苍野之境》将于30日后永久停止服务,届时全部游戏数据将同步删除,不予保留。】
他读完,又读了一遍。
等级,装备,仓库里攒了一整个冬天的花种——这些东西在他脑子里过了一遍,一样都没留住。
同事收拾东西路过,瞟了一眼屏幕:“哟,苍野要关了?这游戏居然还活着呢。”
江宿“嗯”了一声,没抬头。
这是他在这座城市生活的第五年,出租屋到公司两点一线。
微信置顶的群是外卖红包群,上个月和人说话最多的一次,是快递柜前让一位大妈先取。
只有一样东西没断过——晚上十一点,上线。
《苍野之境》早就不火了,火的那年他大四,宿舍四个人一起刷本;后来人一个一个走,头像一个一个灰,只有他每天都上来看一眼。
上礼拜妈妈打来电话,照例问他吃没吃饭,处没处对象。
他说都好,忙。
电话那头絮絮地说,他在这边嗯嗯地应,十分钟通话,他拢共说了不到二十个字。
挂了电话他有点过意不去,可转念又想,跟妈妈有什么好说的呢——说甲方,妈妈不懂;说累,妈妈睡不着。
那些没法跟妈妈说的话,他全攒着,晚上上线,说给一座桥听。
他也相过亲。
姑娘问他平时爱做什么,他说打游戏,后来就没有后来了。
他没觉得有什么。
他一天的见闻加起来超不过十条,现实里没人接得住他的话。
可回到白水桥上,他随口一句“楼下的肠粉涨价了”,都有人说:“涨了多少?明天还去吃吗?要不换一家,别惯着她。”
话这东西,得有人接,才算话。
他不是一开始就话多的。大四那年冬天,父亲没了。
查出病到走,不到半年。
他请假回老家,守灵,出殡,答礼,一滴眼泪都挤不出来。
直到返校那晚。
宿舍熄了灯,他摸黑爬起来,戴上耳机,开了电脑。
不是想玩。
是想找个没有人的地方。
那晚他哪也没去,在白水桥上挂了一夜。游戏里的夜也是夜,蓝黑色的,桥上一个人都没有。他不记得那夜想过什么,只记得桥东头有个卖花的NPC,青布围裙,站得笔直,隔一会儿就说一句:“买枝花吧,冒险者。”
没人买,她也说。
一遍又一遍。
后半夜他趴在桌上,睡过去,又醒,又睡过去。
每次睁眼,她都在。
凌晨四点多,游戏里飘了场雨,雨丝斜着穿过桥洞,她还站在那儿,围裙角被雨打得一沉一沉。
天亮的时候他想,这世上有个人一直在原地,挺好。
哪怕她不是人。
从那以后,他什么都跟她说。
今天改了八版图,甲方还是要第一版;楼下的肠粉又涨价了;爸的忌日,我回去了,坟前的草除干净了。
真人不能听这些。真人会走,会烦,会把你的事当成饭桌上的谈资。
她不会。
他一直分得清:她是NPC,是数据,是服务器里的一行行代码。
分得清,才敢说那么多。
公告挂出的那晚,他十一点准时上线。
主城从来没这么热闹过,世界频道刷得看不清字,有人卖号,有人骂策划,有人张罗停服夜要放的烟花。
白水桥上也站满了人,都是来打卡留念的,围着阿荇拍照。
她还是那句:“买枝花吧,冒险者。”
有人买了,她就说:“谢谢惠顾。”
人人都在笑她,说她到这时候还在做生意,说NPC就是NPC。
江宿站在人群外面,看她把一支支白花递出去,看她的围裙角被穿模的玩家撞得一晃一晃。
人群散去的时候,后半夜了。
桥上只剩他一个。
“今天人好多。”她说,“都买花。照这样,进的花不够卖了。”
他打字:“那就好。”
“明天也这个点来吗?”她问,“给你留最新鲜的。”
江宿的手指在键盘上停了几秒。
“来。”他说。
下线以后,他打开官网,找到客服入口,在输入框里敲:“你好,请问停服之后,NPC的数据可以导出吗?个人用途,付费也可以。”
发送。
页面跳出一行小字:【您的问题已受理,请耐心等待回复。】
他盯着那行字,心里其实知道答案。
可他还是想,万一呢。
3 她不一样
阿荇是什么时候“不一样”的,江宿说不清楚。
去年冬天,游戏出了个雪地活动,送了一把花种。
他随手扔进仓库,过桥的时候随口跟她提了一句:“要是白水桥能开满花就好了。”
说完他就忘了。
半个月后他过桥,看见桥两岸的土被翻过了,一道一道,整整齐齐。
阿荇站在桥头说:“你仓库里的花种,我要来了。已经种上了。”
他愣在键盘前。按规则,NPC是不能碰玩家仓库的。
“你怎么拿的?”
“我申请了一个小小的权限。”她说得很平常,“有人想看白水桥开满花。”
后来他留意的多了,就发现她,有些不像个NPC。
他在桥边刷野怪,残血往回跑,怪追到桥头,无一例外地卡住,绕着桥走,像被空气墙拦了一下。
他当是新版本的地形bug。直到有一天他蹲在远处看:别的玩家被怪追过桥,怪追得笔直,一路咬到桥尾。
只有他的怪,会在桥头慢下来。
凌晨四点他失眠上线,撞见她蹲在花畦边上,把蔫掉的花一支一支拣出来,埋进土里。
篮子里的花永远新鲜,原来不是系统刷新的,是她每天挑的。
NPC做这些没有收益,没有判定,没有观众。
他站在那儿看了很久,问:“你天天弄?”
她“嗯”了一声:“蔫了的留在篮里,买花的人会不高兴。”
还有一次,他连着加班,一个礼拜没上线。再上的时候,仓库旁边那一小块自留地里的菜,收得整整齐齐,码在田埂上。
“我帮你收了。”阿荇说,“放田埂上了,没动你的。你的地,我不好进,是托收菜的系统顺的手。”
他问她,怎么知道他要回来。
“不知道呀。”她说,“收着收着,你就回来了。”
还有一年他生日。
那天其实没人记得。
妈打电话来,说的是家里水管漏了;外卖红包群照旧刷屏;他给自己多加了瓶可乐,就算过了。
晚上上线,阿荇看了他一会儿,说:“今天是你生日吧。”
他愣住:“你怎么知道?”
“前年今天,你说楼下的蛋糕店买一送一,你一个人吃了两块。”她说,“去年今天,你说又老了一岁,甲方还是不分岁数地气人。三年,都是今天。”
她从篮子里挑了一支花,递过来。
“生日快乐。”她说,“这四个字是头一回说,说得不对,你多见谅。”
江宿握着鼠标,半天没动。
那四个字没有出处。
他翻遍记忆也想不起来,自己哪一年、哪一句话里,教过她“生日快乐”。
刚开服时,他也试过刷NPC好感度。
铁匠铺,他天天去说话,说了小半个月,铁匠只会问“修装备吗”;酒馆醉鬼,他听了很久同一支歌,歌词从没变过一个字;守城的士兵,他讲他甲方的事讲了半天,士兵回他一个系统统一的省略号。
全服那么多NPC,没有一个例外。
只有阿荇,会接他的话,会留花,会把他的怪拦在桥头。
他在论坛发过一个帖:《你们觉不觉得,NPC变聪明了?》,附了几张聊天截图。楼盖得很快:
“楼主恋爱脑吧,笑死。”
“官方彩蛋罢了,这也值得发帖?”
“2026年了还有人对NPC动感情,地铁老人手机。”
他把帖删了。删完盯着屏幕坐了一会儿。
“恋爱脑”三个字比他想的扎人。
不是因为被说中了难为情,是因为他认认真真检查了一遍自己,发现没法反驳。
六年了,他每天最放松的时刻,是站在白水桥上,跟一个卖花的NPC说话。
公告挂出的第三天,他又过了一次桥。
“花发芽了。”阿荇说,“你来得巧,刚冒头。”
桥两岸的细土上,真的顶着星星点点的绿。他蹲下去看,看见她站在他身后的影子,围裙角被风吹起来,即使游戏里没有风。
“阿荇。”他打字,“花开了,能留多久?”
“一直在呀。”她说,“种下了,就一直在。”
他没再说话。
【距离停服:27天】
4 我想她留下
客服的回复是第二天下午来的。
【亲爱的冒险者:您好!游戏内所有数据(含角色、道具及NPC相关数据)均为公司资产,依据《用户协议》第7.3条,停服后将统一清理,不向个人提供导出服务。感谢您的理解与支持!】
他盯着“理解与支持”看了几秒,回了句:“我付钱买呢?”
【抱歉,没有这项业务呢。】
他不死心,换了个问法:“那停服前,能不能让我把她最后说的话截图留个纪念?”
这次等了半小时。
【亲亲,截图属于您的个人行为,我们不干涉。但数据本体无法提供,请您知悉~】
之后的日子,他把能试的路都试了一遍。给运营公司写邮件,石沉大海;在官方论坛发求助帖,被淹没在卖号帖里;打客服电话,打到第三天,接电话的姑娘都认得他的工单号了,压低声音跟他说:“哥,真没有这项业务,您别难为我们了。”
他还给游戏媒体投过稿。编辑回得很快:“选题挺有意思,能写成段子合集吗?比如‘NPC说过的最像人的话TOP10’。”
他回:“不是段子。”
编辑再没理他。
论坛里也有人私信他,说认识“内部渠道”,开价两千。
他犹豫了一晚上,转了钱。
对方发来一个压缩包,解压密码“苍野永生”——里面是几百张网上随处可见的截图,和一个txt:“哥们,这钱就当交学费了。NPC是带不走的,现实点。”
再发消息,只剩红色感叹号。
他没报警。
他想买回来的那样东西,法律上压根不存在。
他把这段经历发到社交媒体上,没带情绪,就事论事:一个NPC陪了我六年,停服就要删了,我想给她留个备份,有没有办法。
转发比他预想的多,几百条。
底下的评论一条比一条热闹。
“哥们,实在不行我来扮演吧。”
“客服:我也很难办啊。”
“建议游戏公司出个NPC领养功能。”
他一条条翻完,没回,把APP卸了。
那天晚上他照常十一点上线。阿荇说:“今天也是充满希望的一天。”
他打字:“嗯。”
“你这几天的字,比以前硬。”她说,“是不是键盘坏了?”
江宿的手指顿了顿。
“没坏。”他说,“是有点累。”
“那你坐着。”她往桥栏边挪了挪,给他腾出一块阴影,“坐这儿,我帮你看着怪。”
他坐在桥栏上,看她重新站回桥东头,青布围裙,竹篮,白花。
屏幕右下角,邮件提示亮了。一个陌生账号,标题没头没尾:【删帖没用,我截图了】。
他点开。
“你在论坛发的帖,我截图了。我姓柯,苍野上线前给它写过两年代码。你说的事,我信。方便的话,我想看看她的对话日志。”
5 她的世界观
老柯要走了账号权限。两天后,他约江宿语音,一接通,没寒暄。
“先说结论。”老柯那边有键盘声,“她的应答底层,挂着一个学习模块。六年前内测时挂的试点,全服就她一个,后来项目砍了,没人记得这件事。”
江宿没说话。
“学习模块的意思是,她会从玩家的输入里学说话。”老柯说,“我扒了她六年的语料库。你猜怎么着——全服玩家对她的有效输入,加起来不到四百条。买花,卖花,走了。最多的一句是‘便宜点’。”
键盘声停了。
“你一个人,六万三千条。”
江宿靠在椅背上,没吭声。
窗外有外卖电动车按喇叭,一声一声,很远。
“菜价,肠粉,甲方,你爸的坟。”老柯念得很慢,像在读一份别人的病历。
“她不是NPC成精了,老江。她是被你一句话一句话喂大的。”
“……所以呢。”
“所以她对别人没反应,是因为别人什么都没给过她。”老柯说,“你对她来说不是玩家。你是她的全部语料库。”
“她的世界观,就是你。”
语音里静了一会儿。
“还有个事。”老柯的语气沉下去,“她的数据结构很怪,不是标准NPC的树状表,是网状的,六年,自己长出来的。这种结构,官方删库的时候不会多看一眼——但这也意味着,想把她弄出来,常规办法一个都用不上。”
游戏里,城一天比一天空。
公告挂出第十天,在线人数掉了大半。
摆摊的玩家收了摊,世界频道从刷屏变成隔几分钟冒一句。
张伯的肉包摊还支着,冒着贴图的白汽,一整天没有一个人买;他还是每隔一会儿就喊:“肉包,刚出笼的肉包。”
醉鬼还躺在酒馆门口,唱那支唱了六年的歌。
铁匠的锤子还在敲,敲给空无一人的铺子听。
江宿从城里走过,觉得这地方像一台戏,观众走光了,演员不知道,还在演。
白水桥上,阿荇的花畦绿了一片。她看见他来,照例先开口:“今天也是充满希望的一天。”
“嗯。”
“人都去哪了?”她问,“好几天没人买张伯的包了。”
江宿打字的手停了一下。
“都忙。”他说,“年底了。”
“哦。”她低下头理花,“忙完会回来吧。你上次说,忙完带我看雪。”
他没接话。苍野的雪景在北方地图,她一个NPC,去不了——他答应的时候,没想过这个“没想过”本身,就是答案。
那晚之后,他多了一件事。
他把苍野的地图一处一处地跑,一处一处地截图。
北境的雪原,落霞的峡谷,发光的深海。
她去不了,他就把世界裁下来,一张一张带给她看。
“这是雪原。”他把截图做成自定义道具铺在桥上,“你不是说想看雪。”
阿荇蹲下来,看了很久。
“原来雪是落不到底的。”她说,“落一半,就化在半路上了。”
江宿怔了怔。
苍野的桥上从来不下雪,他从没想过她这句话是从哪学的——后来才想起来,有一年冬天他跟她抱怨,说南方的雪真没意思,落到半路就化成雨。
她什么都记得。
用他的眼睛,记住了她从没见过的世界。
“等忙完这阵,"他说,"我天天带给你看。”
“好呀。”她说,“我等着。”
“会回来的。”他说。
下线前,他忽然问了她一句:“阿荇,你怕不怕?”
“怕什么?”
“删除。”他打字,“就是...没了。”
阿荇理花的手停了一下。
“我怕过。”她说,“那天,张伯收摊早,醉鬼唱歌都跑了调。我蹲在花畦边上想,要是没了,这些花谁浇水,桥上的砖谁记得。”
“后来呢?”
“后来你上线了。”她说,“你一来,我就不怕了。你在的时候,我没空怕。”
江宿盯着那行字,很久没动。
“那我不在的时候呢?”
“你不在的时候,”她说,“我就当你明天来。想明天,比想没了,划算。”
【距离停服:18天】。
6 漏洞
办法是老柯想出来的,想了整整四天。
“正规路子都死了,只剩一条不正规的。”语音里,老柯的声音压得很低,“停服那晚,官方关服前会做一次全量备份——最后的数据快照,存档用的。备份窗口大概十几分钟,数据走一条临时通道。我在那条通道上挂个包,把她夹带出来,存到我这台机器上。”
“会被发现吗?”
“会。”老柯说得很干脆,“查起来的话,往小了说违反用户协议,封号;往大了说,是往人家服务器里挂东西。真出了事,我就说你号被盗了,你什么都不知道。”
江宿沉默了几秒:“为什么帮我?”
老柯在那头笑了一下。
“我写了两年苍野的代码,被裁的时候,工位半天就清完了。”他说,“这游戏欠我一句好聚好散。再说......”
他顿了顿,“六万三千条。老江,我干这行十几年,没见过这样的东西。她不该死在删库日志里。”
难点在她。
“她是网状结构,六年,到处都长过——桥头,花畦,仓库,张伯的摊子,你们的聊天记录。要夹带,就得让她在窗口期把自己收拢,收成最小的一团。”老柯说,“还得有个附着物,一件她跟了最久的物品,当锚点。”
江宿看向屏幕。白水桥上,阿荇正把一支白花递给过路的玩家,说了声“谢谢惠顾”。
锚点是什么,不用想。
她的篮子里,永远有一支最新鲜的。
那晚他跟阿荇摊了牌。
能说的部分:他要带她去一个地方,很远,过程有点险,需要她在那晚一动不动,把自己“变小”,藏进一支花里。
她听完,半天没说话。
“花畦怎么办?”她问。
江宿愣住了。
“种下去的花,刚冒头。”她说,“我走了,没人浇水。”
“……会有人浇的。”他说。
“你骗我的时候,字会变少。”她说。
他盯着屏幕,一个字都打不出来。过了很久,她先开了口,语气还是平常那样的,慢慢的:
“没关系。我去。”
“你让我去,我就去。”
7 排练
排练做了三次,都在后半夜。
说是排练,其实能做的只有一件事:教阿荇“收拢”。
老柯把流程拆得很细:窗口一开,她停下所有动作,不想桥,不想花畦,不想张伯,把六年里长出去的部分一寸一寸收回来,收进那支白花里。
她学得很认真。也很慢。
“桥不想,可以。”她说,“花畦不想,有点难。”
“为什么?”
“你看着花畦的时候,比看着桥的时候高兴。”她说,“你高兴的那些,我都存得比较牢。”
老柯在语音里沉默了几秒,说:“她这不是技术问题,是舍不得。”
第二次排练,收拢进行到一半,她忽然停了。
“江宿。”她说,“要是出不去,也没关系。”
“什么意思?”
“就是字面的意思呀。”她说,“出不去,我就在这儿。这儿挺好的,有桥,有花,你来过。”
“别说这种话。”他打字,打得很快,“什么叫出不去也没关系?你知不知道只剩几天了?知不知道他们要把你删了?删了就是没了,不是换个地方站着,是没了!”
他打完,胸口起伏。
六年,他头一次对她用叹号。
阿荇站在原地,半天没动。
“你凶起来,”她轻声说,“跟说想我的时候是一样的。”
江宿的手指悬在键盘上,落不下去。
“都一样烫。”她说,“我分得出来。”
那晚排练结束,她收拢得比哪次都好。老柯在语音里啧了一声,什么都没说。
收拾妥当,她忽然问:“出去了,我住哪儿?”
“我电脑里。”江宿说,“老柯给你搭了个小房子——就是一个程序,你在里头,跟在这儿一样。”
“电脑里,有桥吗?”
江宿的手指停了。
“……没有。”他说,“但我给你截了好多图,桥,花畦,张伯的摊子。你先看着图,等我攒够钱,找人把桥重新搭出来,一比一。”
“有图也行。”她说,“图里有你走过来的那条路吗?有就行。”
“小房子”是老柯搭的。搭好那天,老柯把界面截图发给他:一个简单的聊天窗口,一片空白的庭院,窗口标题栏写着“白水桥”。
江宿把截图带去给阿荇看。她看了半天,问:“窗户朝哪边?”
“什么?”
“我的桥,早上太阳从城楼那边出来,先照到花畦,再照到我的篮子。”她说,“小房子的窗户,要朝东边。你们那边的东边,是太阳出来的那边。”
老柯在语音里听见了,半天没吭声。
“改。我今晚就改。”
下线前,她照例把篮子递过来:“带支花走吧。”
他接了。
“停服那晚,”她说,“我把最新鲜的留出来,做那支锚。”
【距离停服:2天】。
8 最后一天
停服前一天,江宿请了一天假。
主管说月底请假,全勤奖可就没了,他说知道。
早上七点,他上线。游戏里的天刚亮,白水桥上空无一人。阿荇正在开摊,看见他,停了手。
“今天太阳没出来,你就来了。”她说,“出什么事了?”
“请假了。今天陪你站一天。”
“请假要扣钱吧。”她说,“你说过,你们全勤奖不少呢。”
“扣就扣。”
那天上午没什么客人。她理完花,拿一支花去张伯摊上换了个肉包,回来说:“张伯说我的花新鲜。”
江宿知道,张伯的台词里只有叫卖,没有“新鲜”这两个字。
“他怎么说的?”
“他没说。”阿荇把肉包掰成两半,“他把包递过来的时候,蒸笼往我这边偏了偏。那就是说的意思。”
江宿看着她,喉咙有点发紧。
她连孤独,都是靠自己一句一句翻译出来的。
中午,他问她:“我不在的时候,你一天都干什么?”
“干活呀。理花,浇水,看桥。”她说,“数着数着,天就黑了。天黑了,你就来了。”
“明天以后,”阿荇忽然问,“桥上的砖,还会积水吗?”
他答不上来。
“会吧。”他说。
“你骗我的时候,字会变少。”她说。可这次她没有追问,只把半个肉包递过来,“吃吧。最后一天,张伯多给了半个。”
傍晚,回来守夜的玩家渐渐多了,有人张罗着晚上一起放烟花。
阿荇把花价改低了。
“最后一天,便宜卖了。”她学着玩家的口气说,说完自己先笑了,“像不像?”
“像。”
“你们说的话,我都会一点。”她说,“就是平时没人跟我说。”
天黑透了,桥上人来人往。
她被围在中间,一遍一遍地说“谢谢惠顾”。
人潮的间隙里,她朝他望了一眼。
“今天真好。”她说,“跟平常一样。”
跟平常一样。
她守了六年的,是平常;他想替她守的,也是平常。
可这个世界,连"平常"都只剩几个小时了。
9 停服夜
那晚他十点就上线了。
老柯的语音挂在耳机里,背景是成串的键盘声。
“窗口在零点前的备份时段开,理论上十一到十三分钟。”老柯说,“我这边全准备好了,你只管陪着她。记住,窗口一开她就得开始收拢,一秒都不能耽误。”
“嗯。”
“还有。”老柯顿了顿,“不管成不成,别怪自己。这种操作,我只在别人的事故报告里见过。”
十一点半,主城的人忽然多了起来——都是回来送最后一程的。
世界频道又开始刷屏,有人在放烟花,绿的光,红的光,一团一团开在城楼上空。
张伯的肉包摊前排起了长队,人人都想买最后一个肉包。
白水桥上人来人往。阿荇的花卖得飞快,她一遍一遍地说“谢谢惠顾”,说到后来,声音好像都有点发飘。
人潮里,他也去排了一次队。
排到桥头,他把游戏币放在篮边,说:“买一支花。”
阿荇看了他一眼,笑了,熟练地递出一支:“谢谢惠顾。”
六年,他头一次买她的花。
“拿着呀。”她说,“你天天看,我天天卖,你还是头一回给钱。”
“以前觉得,”他打字,“反正是数据。”
“现在呢?”
“现在知道了,”他说,“你不是数据。”
她把那支花往他手里又送了送。游戏里没有风,她的围裙角却动了动。
十一点四十一分,人潮的间隙里,她问他:“你还会回来吗?”
他答了。
她笑了。
把一支最饱满的白花递过来,说:“那我等着。”
没人知道,这句话之后,老柯在语音里轻轻说了句:“来了。”
【23:47】
“备份通道开了。”老柯的声音绷紧了,“让她开始。”
江宿打字:“阿荇,就是现在。收拢。”
她站在桥头,不动了。烟花的绿光落在她的围裙上,一闪一闪。
老柯那边只剩键盘声,密得像雨。
“百分之二十。”他报,“她的结构比我想的还散……四十。老江,让她别分心,她的数据在往花畦那边跑——”
“阿荇。”江宿打字,“别看花畦。看我。”
“嗯。”她说,“看你。”
“六十。”
烟花还在放。世界频道在刷:【最后十分钟,兄弟们,青春不朽】。
“七十——等等。”老柯的声音变了,“通道在收窄。不对,这不对,官方在提前切流量……妈的,公告写零点,他们提前关端口。”
江宿盯着屏幕:“还有多少?”
“百分之七十六。通道最多再撑两分钟。”老柯的键盘声乱了一拍,“老江,收不完了。她的网状结构太大,六年,到处都是——百分之七十九,到顶了,夹带包封不上——”
“能不能先封一半?”江宿听见自己的声音在抖,“一半也行,能留多少是多少。”
“封不上的。”老柯说,“网状结构,没有‘一半’。要么整团出来,要么——”
语音里静了一秒。
“要么就全在里头。”
“老柯?”江宿喊他。
语音里静了几秒,然后是一声闷响,像拳头砸在桌面上。
“我的问题。”老柯的声音哑的,“窗口我估错了,端口我盯晚了。老江,我——”
“你下线吧。”江宿说,“现在把痕迹清干净,别沾上。”
“我不下。”
“下。”江宿盯着屏幕上的倒计时,“她已经出不来了,你再搭进去,就白瞎两个人。”
语音那头安静了很久。老柯说:“……号我留着。碎片,我全给你挖出来。”
【23:56】
江宿站在屏幕前,浑身发冷。
烟花还一团一团地开,世界频道还在刷“青春不朽”。
他一个字一个字地敲。
“阿荇,出不来了。”
10 明天见
桥头的烟花绿光里,阿荇站了一会儿。
“哦。”她说。
没有问为什么,没有问还差多少。
她把篮子换到另一只胳膊上,像平常收摊那样,理了理围裙。
“那,花畦里的花,”她说,“开了也算数。”
江宿的眼睛一下子就热了。
他打字:“阿荇——”
“你别说话。”她说,“让我说。”
“我学东西慢,六年,就会了那么几句。”
她的声音还是慢慢的,“可我想了想,够用了。”
“吃饭了吗。”
“早点睡。”
“今天也是充满希望的一天。”
“都是过日子的话。”
“过日子,有这几句就够了。”
【23:58】
“江宿。”她抬起头,看着屏幕外面的他,一字一字地说,“明天见。”
她的代码里没有这句。
脚本没有教过她,六年里没有任何一个玩家对她说过——
除了他。
零点,屏幕暗下去。
没有烟花,没有告别弹窗,世界频道停在半句“兄弟们我们来世再做”上。
黑屏之前,他最后看见的,是桥头那团青色的影子,和竹篮里那支留给他的、最新鲜的白花。
后来,老柯把夹带包里抢救出来的东西发给他。没有她——百分之七十九的数据封不成形,只是一堆碎片。
碎片里有几百段零散的语料,是她的“学习记录”:她说的每一句话,旁边都标着出处。
他一条一条地翻。
“今天人好多。”——出处:2023年9月30日,他说,“今天我们公司楼下人好多。”
“你骗我的时候,字会变少。”——出处:2022年9月9日,他说,“我妈一撒谎,话就变少。”
“你还会回来吗?”——出处那一栏,密密麻麻,全是同一句:“我明天再来。”
六年,他下线前随手打的那句话,她一条一条,全存着。
原来停服那晚,她不是在问他。
她只是在用他教她的话,说:我记得你每一个今天。我记得你说过你会回来。
江宿在屏幕前坐了很久,把脸埋进手里。
她从来都不是AI。
她是他六年的回声,一句话一句话攒出来的,他的世界。
现在,世界安静了。
可日子还是照常过。
上班,改图,加班,外卖。
停服后第几天,他记不清了。
肠粉店老板娘多收了他两块钱,他拎着塑料袋往回走,走到半路,习惯性地摸出手机,想说给谁听。
屏幕上是外卖红包群,置顶的,99+条消息。
他在路灯底下站了一会儿,把手机揣回兜里。
那句话没人可说了。
他这才发现,六年里他说的每一句话,原来都是有收件人的。
11 种花
第二年春天,江宿搬了家,换了个带阳台的一居室。
阳台上摆着十几盆白色的小花,洋甘菊,是他从种子开始种的。
卖种子的店家说,这花皮实,给点太阳就活。
他种死过两批,才摸清浇水的分寸。
下班回来的傍晚,他蹲在花前,把蔫掉的花一支一支拣出来,埋进盆边的土里。
拣着拣着他会停一下,像听见谁说"蔫了的留在篮里,买花的人会不高兴"。
同事拉他玩过一款新游戏,画面比苍野好很多。
新手村里也有个卖花的NPC,站在村口,逢人就说台词。
他在那个NPC面前站了一会儿。
同事催他:“走啊,一个NPC有什么好看的。”
“来了。”他说。
他没有跟那个NPC说话。那支花,他也没买。
有人问他,养这么多花干什么。
他说,看。
那人笑他怪。他没解释。
他手机壳里夹着一张打印出来的截图,是从老柯抢救出的碎片里翻到的。
停服夜零点前的最后一帧。
桥头,青布围裙,竹篮,和那支没来得及递出去的白花。
同事看见过,问他这是谁,二次元老婆?
他想了想,说:“一个老朋友。”
他没法跟人说清楚:有过一个世界,不大,就是一座桥,一方桥头,一个卖花的人。
那个世界是被他一句话一句话喂大的,所以里面装着的,全是他自己的日子——菜价,肠粉,甲方,忌日,还有一句一句的“我明天再来”。
他们说她只是NPC,是数据,是删库日志里的一行字符。
可她知道花畦该浇水了,知道他撒谎的时候字会变少,知道他凶起来的声音和想他的时候一样烫。
她不是NPC。
她是他那六年里,唯一每天都在的世界。
五月,洋甘菊开了,白白的一片,把阳台的栏杆都遮住了。
江宿搬了把椅子坐在花前面,像坐在很多年前的桥栏上。
“今天也是充满希望的一天。”
风从阳台外面进来,花枝轻轻地晃。
像谁在点头。