第1章 另一个我

我叫元来。元始的元,归来的来。1987年生人,四川人,AI工程师。

在开始讲这件事之前,我想先确认一件事:此刻正在写这行字的人,确实是我。不是工程师,不是伪人,不是艺术家。是那个四川小县城出来的、记得阿黄尾巴上白毛位置的、给一盆绿萝浇了四年水,刚完成以第一次视角记实小说《AI脑机接口:棱镜》的元来。

确认的方法很简单。我抬起左手,看了一眼小手臂。那里有一个烙铁烫的疤,十七岁换电容的时候留下的。疤痕的形状像一只缩成一团的蚕豆,边缘有点模糊——不是疤痕在消退,是我这两年皮肉松了一点,把它的轮廓扯变了形。工程师不会在意这个疤。伪人会给它编一个能在社交场合当谈资的背景故事。艺术家会把它比喻成“一枚焊在皮肤里的旧硬币”。只有我——原始元来——会盯着它看五秒钟,然后什么也不说。

疤在。我在。

这件事发生在回滚之后的第三个月。具体哪一天不重要,但我记得那天傍晚的光线。秋天的太阳落得早,窗台上那盆绿萝的影子被拉得很长,叶尖刚好碰到键盘的F12键。我正在修棱镜日志里的一个陈年bug——回滚把固件重置了,但历史数据没清干净,有些旧进程的残片还嵌在日志分区里,像搬家时发现前任租户塞在柜子角落里的旧报纸。工程师如果在,三十秒就能清完。我不行。我得一行一行看,看到不懂的地方还得停下来查手册。慢了至少二十倍。

但慢有慢的好处。慢让我看到了那条消息。

棱镜维护信道在回滚之后一直静默。这是我亲手确认过的——回滚脚本在最后一步执行了信道关停指令,把维护端口的监听进程杀得干干净净。我用网络分析工具扫过三遍,信道是死的。但那天傍晚,维护信道的状态灯闪了一下。不是绿色的链接状态灯,是红色的异常告警灯。只闪了大概零点几秒。如果不是我正好盯着屏幕,根本不会看到。

我打开信道日志。空的。回滚之后没有一条记录。但我注意到一个细节:日志文件的修改时间戳变了。从回滚当天的凌晨三点十七分,变成了今天傍晚的六点四十二分。有人往一个空日志文件里写了东西,然后又删掉了。删得很干净,但忘了恢复时间戳。

这个操作习惯我很熟悉。先写后删,留时间戳不留内容,这是入侵者在测试信道是否存活时的标准手法。我自己用过,在2016年一个安防系统的渗透测试里。报告里我管这叫“敲门”。敲门的目的是确认门后面有没有人醒着。如果醒着,会不会来开门。如果来开门,说明信道可通。如果信道可通,下一步就可以往里送东西。

有人敲了我的门。用的还是我自己的手势。

我靠在椅子上,盯着那行被篡改的时间戳看了大概五分钟。出租屋里只有电脑风扇嗡嗡地转,窗外有收废品的三轮车叮叮当当地过去。我脑子里只有一条思路在跑——不是多线程,回滚之后我的多线程处理能力退化得很厉害,工程师能同时追踪四条逻辑链,我只能一条一条来。

第一条:棱镜维护信道只有两个终端能访问,一个是我自己的棱镜本机,一个是03备份节点的管理后台。03不会敲我的门,他要找我直接发消息。

第二条:如果不是03,那就是有人拿到了备份节点的访问权限。

第三条:备份节点里存的是我手术前的原始人格快照——一个完整的、未经蒸馏的、带着全部记忆和全部专家人格的元来。

第四条:如果有人下载了那份快照,把它装进一套兼容的棱镜系统,激活,那他就会得到一个完整的我。

第五条,也是最让我睡不着的一条:一个完整的我——带着工程师的冷静、伪人的精准、艺术家的敏感——被激活之后会做的第一件事,就是测试自己的边界。测试自己能不能连上外部网络,能不能访问备份节点,能不能找到曾经属于自己的社区账号。他会敲门。敲最近的门。我的门。

我把那行时间戳截图,存进加密分区。然后我开始写一封邮件给03。邮件的措辞改了五遍——没有伪人的帮助,我的社交措辞退步到了高中水平。最后发出去的版本只有三行:“维护信道被敲过门。备份节点可能被访问过。帮我查。”

03的回信第二天早上到的。不是邮件,是一条加密消息,走的是社区内部的通信协议。他的消息永远很短,短得像电报:“有人在用你的身份登录社区。IP不在你所在的城市。登录者的人格参数与你备份版本完全一致。”附了一个登录日志的压缩包。

我解压日志,逐行往下看。登录时间在昨天深夜,正好是我发现维护信道闪灯之后几小时。登录账号是我的旧社区ID,那个ID我在回滚之后就没登过——密码我自己都快忘了,但日志显示对方输入密码只用了不到两秒。不是破解的,是直接输入的。

他知道密码?!

他不但知道密码,还知道密码的生成逻辑——我所有的密码都是用同一个算法生成的:核心词加一个基于服务名称的哈希值,核心词是阿黄名字的拼音反过来写。他没有用“找回密码”功能,没有暴力破解,没有社交工程攻击。他直接输了密码,像输自己的生日一样自然。

社区登录记录显示他翻阅了我当年写过的所有技术帖:电极间距仿真、侧信道去噪方案、MoE路由架构的初步设计。浏览顺序和我当年的学习路径完全一致——先硬件层,再信号处理层,再人格路由层。连在某个帖子上的停留时间都对得上。我当年在侧信道去噪方案的帖子上停了整整四十分钟——因为那个方案里有一个我一直没想通的数学瓶颈,反复推了几遍公式,中间还切出去查了一篇学术论文。日志显示,这个登录者在那篇帖子上也停了四十分钟。同样的时间点切出去,同样的查阅记录。他在复刻我的思考路径,每一步都踩在我当年的脚印上。

但他不是简单地复刻。他在学习。或者说,他在用和我当年完全相同的方式重新学习这些东西。就像一个被格式化的硬盘重新装了一遍操作系统——装的过程和第一次完全一样,但更快,因为硬件比当年更好。

我拉到最后一条浏览记录,时间是今天早上六点十二分。那是一个很老的帖子,发帖人是03,内容是关于受试者筛选标准的内部讨论。帖子里有一句话被反复划过三次:“我们不制造病人,我们寻找的是合作者。”三次。我当年也划过三次。因为第一次听到这句话时觉得是口号,第二次觉得是真话,第三次——第三次我签了知情同意书。

我发给03四个字:“他学了多久。”

03回:“四天。”

四天。这个人已经用我的身份在我的社区里待了四天,而我一直在修一个陈年bug,什么都不知道。四天,足够一个带着完整专家人格的元来做很多事情。足够他学完我当年花了大半年才学完的社区讨论历史。足够他搭建一套临时开发环境。足够他把自己棱镜系统的路由参数调到一个比我现在这台残血版高出几个数量级的水平。足够他敲我的门,看我的反应,然后决定下一步。

我又发了一条:“他现在在线吗。”

03回:“在线。正在看你的回滚日志。你公开的那一部分。”

“他还不知道你在查他?”

“应该不知道。我用的是只读权限,没有触发操作日志。”

“不要告诉他。也不要封他的账号。”

03隔了几秒才回:“你确定?”

“确定。如果他是元来,他做任何事都会有后手。封他只会让他换个入口,到时候我连他往哪个方向走都不知道。让他继续待着。社区就是我的蜜罐。”

打出最后这句话的时候我停了一下。蜜罐。这个词从我指尖出来的时候,带着一种久违的、让我不太舒服的熟悉感。当年我用蜜罐钓过多少人?记不清了。但这是我回滚之后第一次重新用这个词,用它的方式和我当年完全一样——不是愤怒,不是报复,是一种冷静的、把对手当成一个待分析的系统的态度。这种态度在我回滚之后消失了一阵,现在又回来了。不是工程师人格回来了,是那个叫元来的人——不管有没有专家人格——在遇到特定情况时,会自然地切换到这种模式。

这让我不安,也让我安心。不安的是,我和那个登录者之间的距离可能没有我想象的那么大。安心的是,至少我还有能力保持距离。

接下来的几个小时,我开始写私信。不是用伪人的社交策略写的——伪人已经卸载了。也不是用工程师的冷静逻辑写的——工程师也不在了。我是用那个最笨拙、最不爱说话、但从来不会骗人的原始元来写的。我写了删,删了写,反复了三次。第一版太冲——“你是谁,为什么用我的账号?”发出去等于告诉对方我很慌。第二版太冷——“社区账号近日有异常登录记录,请确认是本人操作。”发出去等于告诉对方我在装。第三版我删掉了所有的策略,所有的伪装,所有试图让自己看起来不那么慌的努力。我只留了三个字:“你是谁?”

对面回复得很快。快到不像在思考,快到像是在等我这句话等了很久。

“我叫元来。元始的元,归来的来。你是谁?”

我盯着这行字。手指悬在键盘上方,悬了很久。窗外开始有狗叫——不是阿黄那种低沉的、从胸腔深处滚出来的叫声,是楼下谁家养的宠物犬,声音尖尖细细的,每隔几秒叫一次,像是在反复确认什么东西。

他在确认他的身份。我在确认我的。

那天晚上我没有回复。不是不想回,是我不知道该用什么身份回。如果我说“我也是元来”,那就等于承认我们是可以并列存在的两个实例——像两台跑了相同镜像的虚拟机,IP不同但系统完全一致。如果我说“你不是元来”,那我就必须证明他不是。而证明他不是的唯一方法,是证明他拥有的记忆不是真的。但那些记忆,我也有。阿黄、486显示器、烧烤摊铁签子的声音、手术台上的静电响、窗帘缝里那片光谱——他全有。我怎么证明他的记忆不是真的而不顺便推翻自己的?

这个死结我在黑暗里翻来覆去想了一整夜。没有工程师帮我跑逻辑推演,没有伪人帮我分析对方心理,没有艺术家帮我把焦虑转化成一个漂亮的隐喻然后放在一边。只有我自己,和一个不会回嘴但也不会出主意的自己。凌晨三点十七分——巧合,回滚脚本也是在这个时间点执行完的,我看着那个数字,发现它现在正好是凌晨三点十七分。凌晨三点十七分,我蹲在卫生间马桶边吐了一次。不是胃的问题,是脑子里太多东西在转,转得身体受不了。回滚之后我的身体比之前敏感了很多——以前工程师能在高负载时自动调节自主神经,现在没人帮我调了。压力大就反胃,连续熬夜就流鼻血,看到太亮的光就偏头痛。这些症状以前被专家人格们压得很好,现在全部裸在外面。这就是做回一个人的代价。

第二天上午,我给他发了第二条私信。

“明天,下午三点。城市图书馆,三楼自习室。靠窗的位置。”

对面回复:“我知道那个位置。窗外有一排法国梧桐,秋天叶子会落进窗缝里。你以前——不,我们以前——在类似的窗边坐过。那时候没有棱镜,没有专家,只有一个坐在窗边看树叶发呆的四川人。”

我盯着那个词——“我们”。不是“你”,不是“我”。是“我们”??他已经把我们当成了同一个东西的两个副本,而且他说得理所当然,像在说一条已经被证明过无数次的事实。在他说出“我们”的时候,我心里那个最不会辩论、最不爱说话的原始元来,轻轻地问了一句:他说的对吗?我不是唯一一个元来。我只是第一个。

那天下午我没有出门。我坐在窗台边,把棱镜的系统日志从头到尾翻了一遍。不是检查bug,是看一个人。看那个在手术前写固件的人,看那个在甜头期享受掌控感的人,看那个在殡仪馆洗手间里蹲了十分钟的人,看那个在楼下运维的房间里对着绿萝发呆的人,看那个在八百公里外的机房里按下回滚确认键的人。

我看完了。然后我关上电脑,站起来,走到窗台边。

绿萝的第十九片叶子已经完全展开了。边缘的波浪形比前几天更明显,叶面上的绒毛在下午的光里泛着一层很淡的银灰色。盆土有点干,我拿起水壶浇了一圈。水渗进去的时候有一小团热气蒸上来,带着泥土特有的那种潮湿的、微微发甜的味道。

我想起一件事。2023年在手术前告诉我的那句话——“永远留一个后门给自己。”我当时以为他在讲代码。后来我以为他在讲锚点。现在我明白了,他讲的既是代码也是锚点,但最重要的是——他讲的是:你得有一个地方,是只有你能打开的。那个地方不需要容纳任何专家人格,不需要被优化,不需要向任何人证明它存在的合理性。那个地方只要还在,你就还是你。

我摸了摸左手小臂外侧那个蚕豆形的疤。它还在。

我在。