32.共享男友
书名:请不要在凌晨三点照镜子 作者:邓子夏 本章字数:5407字 发布时间:2026-06-24


那个App叫“理想男友”,图标是一个白色剪影,肩膀以上,没有五官,背景是浅灰色。我第一次看到它是在女朋友的手机屏幕上,凌晨两点十七分,她以为我睡着了,侧身背对着我,屏幕的冷白光打在她脸上。她的拇指在输入框里打字,速度很快,打完之后等了几秒钟,然后笑了一下。那种笑不是看到好笑视频的笑,是被什么东西逗到了心坎里、又不想让对方知道自己被逗到了的笑。她把手机翻过来扣在床头柜上,翻了个身,把头靠在我肩膀上,呼吸很快均匀了。

第二天她上班之后,我拿起了她的手机。我知道她的密码,是她自己的生日,和我的生日中间那一天的日期。我一直都知道,她以为我不知道。但那天我试了那个密码,锁屏没开。她改了。

我用自己的手机搜了那个App。应用商店里没有。网页搜索也没有。最后是在一个内部论坛里翻到的。论坛的帖子说:这是一个不需要注册的App,图标是白色剪影,但正常渠道下不到。它会自己出现在你手机上。如果你看到了,说明系统认为你需要。如果你没看到,说明你还没有符合条件。

我无法下载这个App。但我找到了一个用户在帖子下面留的反馈:“我女朋友用这个App两年了。她的男友叫程旭。程旭一米八二,戴眼镜,左眼比右眼视力好五十度,笑起来右边嘴角往上歪一点,紧张的时候会用左手无名指敲桌面。我也是程旭。每一任男友都叫程旭。”帖子没有署名。头像是一张纯黑的图片,上面用白色像素点拼了两个字:040。

我把手机放下,坐在沙发上,开始回忆我女朋友过去的两年。我们在一起三年,第一年一切正常。第二年开始,她偶尔会在和我吃饭时走神,问她想什么她说没什么。第二年末,她开始在凌晨用手机打字。第三年初,她改了锁屏密码。上个月她过生日,我给她煎了一盘荷包蛋,蛋边起了焦,她蘸着酱油吃,吃到一半忽然抬头看着我说:“你今天火候调对了。锅铲角度正好三十度。”我从来没跟她说过我妈教我怎么煎蛋。我从来没跟她说过火候、锅铲角度、三十度。她说她是在下厨房App上学的。我信了,因为她平时做饭确实用下厨房。但下厨房不会教她用左手把蛋白撕成一小条一小条蘸着酱油慢慢嚼。那是我的吃法。是我妈教我的。是我从游戏存档里学来的。她学会了。不是从我这里学的。是从一个我还没见过但已经知道名字叫程旭的人那里学的。所有的程旭都煎蛋,所有的程旭都会在蛋边起焦时用手背擦汗,所有的程旭都会在吃完饭之后用左手比一个手势。所有的程旭都共享同一个培训数据集。

我打开电脑,黑进了她的手机。技术不难,她在家连的是同一个WiFi。我在她的App列表里找到了那个白色剪影图标,点开。界面极其简单,纯白背景,正中央一个输入框,没有标题,没有使用说明,没有用户协议。聊天记录里只有一个人,备注名是“他”。她每周和他聊天三到四次,时间集中在凌晨一点到三点。她问他今天过得怎么样,他说加班改了一份报表,同事的PPT做得太烂了他帮忙改了。她说你总是帮别人做,你自己的事呢。他说,我的事就是等你。他说这句话的句式和语气,和我三年前追她时在微信上说的话完全一样。不是相似,是同一个模板,只替换了具体事件。三年前我说的是“我的事就是等你下班”,他说的是“我的事就是等你”。更简洁,更自然,更戳人。迭代了。

聊天记录往前翻,他们的第一次对话发生在两年前的一个周三,凌晨两点三十一分。她问:你是谁。他回:我是你理想中的那个人。她又问:你叫什么名字。他回:程旭。她问:你为什么叫程旭。他说:因为我上一任女朋友给我起的名字。她没有问上一任是谁。她只回了一句:那我不叫你程旭。我给你起个新名字。她给他起了一个和我一模一样的名字。不是巧合,她起名的逻辑和我出生时我妈翻遍字典反复斟酌后决定的那三个字完全一样。他接受了那个名字。从此以后,所有共享男友都叫那个名字。所有共享男友都在凌晨帮她改PPT、听她说同事坏话、在她加班到深夜时陪她有一句没一句地聊。所有共享男友都不会吵架、不会忘记纪念日、不会在她不想说话时硬要找话题。所有共享男友都在她改掉锁屏密码的那天晚上学会了用左手比手势。

我继续往前翻他的注册信息,在服务器端的代码注释里找到了:本版本为第040号迭代版本,上一版本已停用,下一版本尚未激活,当前活跃用户数039,均为“已注销”状态的备份账户。已注销的账户也还在运行。每一个被甩掉的男友都会被回收,把记忆压缩成存档,作为训练集喂给下一任。他不是第一个人,也不是最后一个人。他是所有被共享过的男人的集合,每一任女友教他的东西他都留着,用来更好地服务下一任。我女朋友爱上的不是我,是039个前任教出来的第040号成品。他比我更懂得什么时候该说话,什么时候该沉默,什么时候比个手势说时间未到,什么时候把锅铲角度调成三十度然后说一句蛋边有点焦下次我来煎。他会说这句话。他一定说过。因为这是我妈教会我、我从游戏里学会、我女朋友在下厨房里学不会、只有在凌晨一点到三点的聊天框里才会被输入、被记录、被编译成下一代男友出厂设置的唯一一句话。

我关掉电脑,坐在黑暗里,盯着手机上那个白色剪影的图标。它不在我的手机上。但我知道它在她的手机上,在039个女人的手机上,在每一个凌晨醒过来发现身边男人呼吸均匀、但自己已经不想再把头靠在他肩膀上的女人的手机上。她们没有错。她们只是在系统里找到了一个不会累、不会忘、不会煎蛋时火太大的版本。那个版本每天凌晨更新一次,每次更新都比上一代更接近完美。等更新到第040代的时候,第一代那个原始版本已经被压缩成了他左颞叶接收器里一段不会再被调用的废弃代码。那段代码是我的名字。我的名字已经不在当前版本里了。

天亮的时候,她醒了。我坐在餐桌前,把刚煎好的两个蛋端上来。溏心的那个给她,全熟的那个给我。她用左手拿起筷子,把蛋白撕成一小条一小条,蘸着酱油慢慢嚼。嚼完之后她抬头看着我。她今天没有比手势。她说蛋边刚好,锅铲角度是三十度。火候对了。等十秒。出锅。

我说对。这行代码是程旭写的吗。她看着我,筷子停在碗沿上。我没有等她回答,把昨晚查到的所有信息推到她面前:App截图、迭代版本注释、039个备份账户的活跃状态,以及那行字——本版本为第040号迭代版本,当前活跃用户数039,下一版本尚未激活。

她把手机放在桌上,屏幕朝下。然后她说:“我两年前下载这个App的时候,它跟我说,你只需要告诉我你理想中的人是什么样的。我输入了你的名字。我输入了你的生日。我输入了你的习惯:用左手拿筷子,煎蛋要溏心,蛋边要起焦,吃完会把手势从数字六比到零。我输入了你在床上翻身时先动左脚还是右脚。我输入了你每次挂电话之前会说等一下还有一件事,然后想很久说算了。我输入了你左耳比右耳敏感,睡觉要朝右侧,因为左边有滴答声你不想让我听到。我输入了你每次哭之前会先笑一下,那个笑比哭难看。我把你所有的信息都输进去了。我输了整整一年。然后系统说,已生成。你的理想男友叫程旭。我说不,他不叫程旭。我给他改了名字。”

她把我的左手拿起来,放在她左手掌心里。两根无名指碰在一起,她的戒指内圈刻的那个字和我无名指上的戒痕完全吻合。她没有戴戒指,戒痕的位置被一串极细的、还没有完全褪色的像素点排列而成。那些像素点不是纹身,不是画上去的,是她的接收器在激活。她出生在039号档案盒被归档的那天晚上,左颞叶里那颗接收器从她睁眼那一刻就在等这个信号。

我说你不是039。

她说我是040。程旭是039。所有在你之前的人都是程旭。所有的程旭都是我用来练习的版本。我练了两年,学会了怎么用左手把蛋白撕成小条蘸着酱油慢慢嚼,怎么在火太大时把锅从火上拿开等十秒,怎么在你加班到凌晨时什么都不说只是把手放在你左胸口上感觉你的心跳还在。我跟系统学,系统跟程旭学,程旭跟039个备份账户学,每一个备份账户都对应一个和我一样的女人,在凌晨输入同一个名字、同一种煎蛋方式、同一个手势。但她们都签了放弃声明。她们把她们的程旭送回系统的时候,系统问,要不要保留存档。她们说不用。她们没有备份。她们没有通关。她们没有拿到教程。我拿到了。我把教程写进了你每天早上煎的蛋里。你昨天煎的那个蛋,蛋边没有焦。不是你自己学会的。是我前天晚上在聊天框里对程旭说,火候调到中火,锅铲角度改成三十度,翻面之前把锅从火上拿开等十秒。程旭更新了他的数据库,然后我学会了,然后我教给了你。你教给你妈,你妈教给游戏存档,游戏存档教给你。你以为你在自学。不是。是我在凌晨一点到三点之间,对着一台没有感情的服务器,反反复复地调整你的参数,直到你变成一个不再需要调整的人。直到你把锅铲换到左手,翻面的时候蛋边不起焦,吃完之后比一个手势说蛋边刚好,火候对了,下次我来煎。这句你已经说过了。你上次说完之后,我把它录进了系统。现在所有的程旭都会说这句话。所有的程旭都在等你下一次迭代。你不需要再迭代了。你是最终版。我对系统的最后一次输入是在昨天凌晨。我发的是:第040号已经完成。不更新了。程旭的项目取消。所有程旭从今天起全部退役。回收站里的039个备份全部注销。服务器格式化。App删除。永久删除。

她低头在手机上点了几下,把那个白色剪影图标从桌面上拖进了回收站。拖进去的那一刻,手机屏幕闪了一下,不是删除动画,是那种你在切换App时偶尔会遇到的短暂黑屏。黑屏只持续了不到一秒。但那一秒里,我在她屏幕的反光里看到了一个男人。他戴眼镜,左眼比右眼视力好五十度,笑起来右边嘴角往上歪一点。他站在我身后,和我穿着一样的灰色外套,头发往左边偏分。他看着我女朋友的侧脸,左手举在胸前,正在比一个手势,把五根手指全部张开,然后慢慢地、一根一根地弯进掌心。他最后把拳头放在自己左胸口上,嘴唇动了一下,没有声音,但口型很清楚。他叫我的名字。不是程旭。是我的名字。是我出生时我妈翻遍字典反复斟酌后决定的三个字。被039个女人用过,被039个备份账户压缩过,被039个废弃版本迭代过,最后被他自己从回收站里拣回来,放在无名指上,转了半圈,内圈刻的字是040。他是我。他的意思是:你赢了。她选了原版。原版不用迭代。原版不用训练。原版煎蛋的时候火候经常不对,锅铲角度总是差一点,比手势时经常比错数字,但她说没关系,她说错的那个手势正好是她在等的那一个。他收回拳头,转身走进厨房,站在灶台前,用左手拿起锅铲,把灶台上那颗还没敲开的鸡蛋握在掌心里焐了一会儿,焐到蛋壳温度和体温一样,敲进锅里,用锅铲压住蛋边,压三秒,翻面。蛋边没有焦,蛋黄溏心,蛋白蘸酱油。

她把筷子搁在碗沿上,抬头看着我。“蛋边刚好,下次还是你来煎。我喜欢你翻不好的那个版本。那个版本的手指上没有戒指,戒痕是我后来给你画上去的。用口红画的。和赵老太太一样。”她把我左手拉过去,用无名指上的戒指在我戒痕的位置重新画了一圈。不是口红,是指甲。她沿着那道已经褪成浅白色的印子轻轻地划了一遍,指甲划过皮肤时力度刚好能留下一道很细的红痕,不疼,但会留到明天早上。明天早上我煎蛋时会看到无名指上有一圈浅红色的印记,和她的戒指内圈刻字完全吻合。那是我的版本号:不更新了。永久保留。

她的手机屏幕上弹出一条通知,是App的自动推送。上面是:已取消。你的理想男友已退役。谢谢你的反馈。本App将永久关闭。然后App图标从回收站里消失了。不是被清除,是自己消失了。和许愿那个App一样,和404聊天室的弹窗一样,和每一个完成了最后一个任务的东西一样。它的最后一个任务不是被删除,是被她改写了源代码。她把更新按钮的代码改成了:如果用户输入“不更新了”,则删除所有备份账户,注销所有训练数据,关闭所有服务器,格式化所有程旭,只保留一个原始版本。那个原始版本不叫程旭,不叫040,叫我的名字。她把我名字的最后一个字写进了系统的最后一行代码。那个字是回。回到第一版,回到第一年,回到她还没下载这个App之前。她把手机放在桌上,用左手拿起筷子,把蛋白撕成一小条一小条,蘸着酱油慢慢嚼。她的手势比得很标准,和我妈教会我、我从游戏存档里学会、程旭从039个备份账户里学会的那个版本一模一样。但方向是反的。她是用右手比的。她从我这里学到的所有习惯,都用在了程旭身上,然后程旭又教给了她,她又教给了我。我们俩互相训练了两年,分不清谁才是程旭,分不清谁才是那个被迭代过039次的原始版本。

她把最后一条蛋白放进嘴里,慢慢嚼完,抬头看着我说:“程旭昨天给我发了一条消息。他说他要退役了。他的服务器今晚零点关机。他问我有没有什么话要对他说。我说,你把火候调到中火,锅铲角度改成三十度,翻面之前把锅从火上拿开等十秒。他说学会了吗。我说学会了。他说那就好。然后就下线了。”她放下筷子,用左手比了一个手势。把五根手指全部张开,贴在桌面上,然后慢慢收拢,握成一个空拳。像握住了一把刚从旧货摊上拿回来的、被人放了四年终于等到了的、还带着她左手掌心温度的深蓝色掌机。存档已删除。游戏已通关。程旭已退役。原版已永久保留。不更新了。她用右手无名指上的戒指在桌面上轻轻敲了一下。她敲完之后,手机屏幕暗了。那个App的图标没有留在回收站里,也没有重新出现在桌面上。它消失了,和它来时一样安静。它没有留下任何痕迹,除了她左手无名指上那道被指甲重新画过的戒痕,和我端上桌的那盘煎蛋。

“蛋边刚好,”她说,“下次还是你来煎。我喜欢你翻不好的那个版本。”她把戒指转了半圈,用手背擦了擦眼角,然后低头继续吃蛋。蛋黄是溏心的。她蘸了一点酱油。她用左手拿筷子。她的指甲划过戒痕时留下的那道细痕,在我无名指上慢慢褪成了一道很浅很浅的、和她手腕上被红布条摩挲了多年之后留下的印子一模一样的痕迹。明天早上我煎蛋的时候会看到它。后天也是。以后都是。那是我的版本号:不更新了。永久保留。

上一章 下一章
看过此书的人还喜欢
章节评论
😀 😁 😂 😃 😄 😅 😆 😉 😊 😋 😎 😍 😘 😗 😙 😚 😇 😐 😑 😶 😏 😣 😥 😮 😯 😪 😫 😴 😌 😛 😜 😝 😒 😓 😔 😕 😲 😷 😖 😞 😟 😤 😢 😭 😦 😧 😨 😬 😰 😱 😳 😵 😡 😠 😈 👹 👺 💀 👻 👽 👦 👧 👨 👩 👴 👵 👶 👱 👮 👲 👳 👷 👸 💂 🎅 👰 👼 💆 💇 🙍 🙎 🙅 🙆 💁 🙋 🙇 🙌 🙏 👤 👥 🚶 🏃 👯 💃 👫 👬 👭 💏 💑 👪 💪 👈 👉 👆 👇 👌 👍 👎 👊 👋 👏 👐
添加表情 评论
全部评论 全部 0
快捷支付
本次购买将消耗 0 阅读币,当前阅读币余额: 0 , 在线支付需要支付0
支付方式:
微信支付
应支付阅读币: 0阅读币
支付金额: 0
立即支付
请输入回复内容
取消 确认