中关村之恋

招魂者 · 2026/4/24

中关村之恋

一、数据

林远舟第一次注意到顾念北的名字从数据库里消失,是在一个周四的下午。

那天他正在调试”清河二号”情感分析模型——这是他供职的澜海科技最新一代自然语言处理系统,据说能通过分析社交媒体发言精准预测用户的情感波动,甚至比用户自己更早知道他们何时会分手、何时会复合、何时会在凌晨三点发一条仅自己可见的丧气微博。

模型运行正常。日志清晰。loss曲线像一条健康的体温计,稳稳地向下俯冲。

问题出在训练数据集上。

林远舟在复查样本时发现,有一条用户档案反复触发一个异常标记:系统将一名女性用户的情感数据标记为”幽灵节点”——这是他对那些无法归类、无法预测、无法量化的异常数据点的内部戏称,因为它们就像数据海洋里的孤魂野鬼,来路不明,去向不清。

但当他试图调取这个”幽灵节点”的原始档案时,系统返回了一串乱码。

更准确地说,返回了一个空值。

他查了三次。第一次以为是自己输错了用户ID。第二次以为是模型缓存出了问题。第三次他直接在数据库后台手动查询,发现这条记录在物理上——在SQL语句的层面——是存在的,但所有字段都是NULL。就像一个人身份证上写着”姓名:无”,“性别:无”,“籍贯:无”。

他是程序员。他不信鬼。

他只信bug。

于是他顺着这条幽灵节点的ID往上追溯,发现它最早出现在三个月前的一次数据标注任务中。那次任务的内容是为”情感陪伴”类对话机器人生成训练样本,标注员需要根据用户的聊天记录为其情感状态打标签。

这条幽灵档案的标注员ID是GUAN.NIANBEI。

林远舟把这个名字敲进内部通讯系统的搜索框,系统返回了零条结果。他又试了试拼音:guannianbei、nianbei、顾念北——全是空白。

他问了隔壁工位的后端工程师老赵。

“顾念北?“老赵皱着眉头,嘴里嚼着一块已经凉透的赛百味,“咱组有这人吗?产品部那个?”

“对。“林远舟说,“个子不高,说话特别快,戴金丝眼镜,左边有颗小虎牙。”

老赵努力回忆了两秒,摇了摇头:“没印象。产品部的人我认识一大半,可能是新来的吧,你查查组织架构图。”

林远舟查了。澜海科技最新一版的组织架构图上,产品部的花名册里确实有十二个名字,从王建国排到蔡徐坤,没有顾念北。

他盯着屏幕看了很久。

他明明记得她。

他怎么可能不记得她?

那是三个月前的一个雨夜。他加班到凌晨两点,从B1层的办公区出来,发现电梯坏了。他走楼梯下去,在12层拐角处遇见了一个女孩。她正蹲在墙角,手机屏幕的光照亮了她半边脸。她抬起头,眼镜片上映着手机屏幕的蓝光,说:“你是12层澜海的?”

他说:“是。”

她说:“我也是澜海的,不过我在B1。电梯怎么坏了?”

“不知道。可能物业又忘交电费了。”

她笑了一声。那声音很轻,像雨滴落在窗台上的那种轻。“这楼真他妈破,“她说,“每次下雨都出问题。上次下大雨,服务器机房漏水,差点把我们组三个月的数据全淹了。”

“你们组?”

“B1,产品部。“她站起来,拍了拍裙子上的灰,“我叫顾念北。你呢?”

“林远舟。算法部。”

“哦,炼丹的?“她用了一个互联网行业的黑话,指的是用机器学习模型”炼制”数据。

“差不多。“他说,“你呢,做什么?”

“画饼的。“她做了一个摊手的动作,“把一个不存在的功能描述得栩栩如生,让你们相信它可以实现,然后期待你们在deadline之前把它做出来。”

那天他们一起走楼梯下楼。雨还在下。她没有伞,他从包里掏出一件一次性雨衣给她。她说不要紧跑两步就到了。他说我送你去地铁站吧。她说好。

从中关村大街走到知春路地铁站,正常速度是八分钟。那天他们走了二十三分钟。具体聊了什么他已经记不清了——后来他试图回忆,发现那段对话在他的记忆里就像一张被水浸泡过的照片,轮廓模糊,但颜色还在,是雨夜特有的灰蓝色,和她眼镜片上反射的微光。

她住在顺义。每天坐地铁通勤,单程四十分钟。她养了一只猫,叫年糕。她喜欢喝一点点不加糖的四季春。她说话语速很快,思维跳跃,经常上一秒还在讨论OKR怎么写,下一秒就跳到了《瞬息全宇宙》到底好不好看。

他记得这些。

他怎么可能不记得这些。

但现在系统里没有她。通讯录里没有她。组织架构图里没有她。

她就像一个被从数据库里物理删除的记录——在磁盘的某个扇区里,数据可能还残留着磁信号的痕迹,用专业工具或许还能恢复——但在这个系统里,在这个公司里,在这个世界对她的正式记录里,她从未存在过。

林远舟坐在工位上,盯着那条幽灵节点的ID看了很久。

然后他打开了一个隐藏目录。

那是他在入职第一周就建立的一个私人项目——他称之为”记忆银行”。原理很简单:他在本地部署了一个小型的向量数据库,任何他觉得重要的人——朋友、同事、偶然遇见的陌生人——他都会手动录入他们的基本资料、聊天记录片段、以及一段他用自然语言写的”关系描述”。就像在数字世界里修一座墓碑,用来存放那些他不想忘记的人。

三个月前,他录入过一个新名字:顾念北。

他打开了那条记录。

名字:顾念北 职位:澜海科技产品部产品经理 部门:消费级AI产品线 入职时间:2024年3月 籍贯:江苏南京 最喜欢的电影:《刺客聂隐娘》 微信ID:nianbei_gu(头像是一只睡觉的猫) 备注:2025年1月13日深夜雨战相识,同行至知春路地铁站。她说《瞬息全宇宙》不好看。我说那你一定没有看懂。她说你才没看懂。我们争论了五分钟。她说改天让我证明给她看。改天是哪天?

这条记录完好无损。

她存在过。至少在他的记忆银行里,她存在过。

但为什么只有他有这个记忆?

他开始查。

他查了公司全体员工的花名册,没有她。 他查了门禁刷卡记录,发现过去三个月没有任何一条以她工号命名的刷卡数据——但奇怪的是,系统日志里确实有一条异常记录:每隔三天,会有一张门禁卡在凌晨三点零七分刷开B1层的产品部大门,持续了十一周,然后突然中断。中断的那天,正好是三周前。 他查了公司内网的Wiki,发现”产品部”词条下有一个历史版本标注了”顾念北”三个字,但当前版本里,这个名字消失了,连同她负责过的所有项目文档一起变成了”页面不存在”或”作者已注销”。

这不对劲。

这不是bug。

这是一场有计划的、精心执行的、系统性的——

“林远舟。”

他猛地抬头。技术总监老周站在他工位旁边,手里端着一杯已经凉了的咖啡。

“清河二号的性能报告写完了吗?周一要给投资人看。”

“快了。“林远舟下意识地切回了桌面,“loss曲线调完了,还在跑最后的压力测试。”

“行,注意进度。“老周拍了拍他的肩膀,转身走了。

林远舟等老周的背影消失在茶水间的拐角,才重新打开那个隐藏目录。

他盯着那条记录里”备注”一栏的最后一句话:

改天是哪天?

他突然意识到一件事。

她说”改天让我证明给你看”,是在他们走下楼梯的时候。那时候雨已经小了,但还没有停。她站在地铁站的入口处,一只手撑着门,雨水顺着她的伞骨滴落下来,在地上汇成一小摊。她问他:“《瞬息全宇宙》到底哪里好看了?”

他说:“好不好看是主观的,但叙事结构很有意思——”

“我不是说叙事结构,“她打断他,“我是说它凭什么拿奥斯卡最佳影片?就凭杨紫琼打了一套太极拳然后拯救了多元宇宙?”

“你这是在侮辱电影艺术——”

“我是在侮辱好莱坞的评委。“她笑了一声,收了伞,往地铁站里走,“改天你证明给我看。”

他说:“好。”

然后她就消失在地铁站的人流里了。

他后来没有机会证明。因为从第二天开始,她就像人间蒸发了一样——请假、离职、还是别的什么,他不知道。他只知道他没有她的微信了。不是被删了,而是那个微信号就像从来没存在过一样,搜索结果显示”该用户不存在”。

他以为她离职了。

他以为这只是一段还没开始就结束的暗恋。

直到今天,他在自己的数据库里,发现了一条以她为标注员的幽灵记录。

这意味着什么?

意味着她至少在三个月前——比她”消失”更晚的时间——还在公司的系统里工作过、打卡过、留下过数据痕迹。

那么,她是什么时候消失的?为什么消失?怎么消失的?

还有——

她现在在哪里?

二、年糕

林远舟在当天晚上十点做了一件他事后觉得不太体面的事:他黑进了公司的门禁系统,调出了那张凌晨三点零七分反复使用的门禁卡的刷卡记录。

门禁系统是B公司的产品,密码加密做得一般,但日志格式非常规整。每一行记录包含:时间戳、卡号、姓名、部门、刷卡地点。他顺着那条异常记录往回查,发现持卡人的注册信息已经被清除干净——不是删除,而是被覆写成了一行乱码,就像有人用橡皮擦在纸上擦掉了一行字,但纸张纤维的凹痕还在。

不过他找到了另一个线索:这张卡的物理卡号(MAC地址)是唯一的,在系统里无法修改,只能转移。他顺着MAC地址查到了这张卡的办卡记录。

办卡日期是2024年3月15日。

办卡人所属部门:产品部。

办卡人姓名那一栏,是乱码。

但他发现了一个规律:这张卡每次刷卡时,系统除了记录卡号之外,还会记录一次”关联设备ID”——也就是这张卡所绑定的手机或门禁卡的物理蓝牙模块。这个蓝牙模块的型号是A公司生产的B型芯片,而这个型号只在2023年底到2024年初那一批门禁卡里使用过。

换句话说,这张卡是在2024年3月集中办理的那一批入职门禁卡之一。

2024年3月入职的产品部员工名单,他已经从Wiki的历史版本里还原出了一部分:其中有一个人名被涂黑了,但他根据时间线和上下文推断,这个被涂黑的名字——

就是顾念北。

她确实在2024年3月入职。确实在产品部。

但现在,她不在了。

不是离职。不是调岗。而是从所有的系统记录里,从所有人的记忆里,彻彻底底地——消失了。

唯一还保存着她痕迹的,只有他的”记忆银行”。

还有那个凌晨三点零七分的神秘刷卡记录。

他开始研究这个时间点。凌晨三点零七分。每一个三天。这个时间太刻意了,不像是偶然——更像是某种仪式。或者说,某种习惯。

谁会在凌晨三点来公司?

加班?不可能,加班会有其他时间点的记录。

维护设备?有可能,但为什么是凌晨三点而不是白天?

林远舟想起了顾念北告诉他的另一件事。那天雨夜,他们走到知春路地铁站口的时候,她看了一眼手机,说:“啊,又这个点了。我得赶紧走了,我们组每天早上八点有个站会,我要是迟到就要发红包。”

“你们组八点站会?“他问,“那么早?”

“对,因为我们老大每天六点起床跑步,跑完步七点到公司,然后八点召集我们开会。“她翻了个白眼,“这就是为什么我说这栋楼真他妈破——我们老大六点就到公司了,而电梯每次都要到七点才修好。”

“你们老大是谁?”

“你猜。”

他没猜。

但现在他可以查。凌晨三点零七分,反复刷卡,持续十一周——然后突然中断。这个时间点距离她”消失”大概有三周。

他在想一种可能性:她是不是在凌晨三点来公司查什么东西?查什么?为什么要在凌晨三点查?

除非她要查的东西,不能被任何人看见。

林远舟做了一个决定。

他调出了公司内网的所有产品文档——不是现在的版本,而是历史版本。他发现有一条文档链很有意思:一份叫做《AI陪伴产品情感交互设计规范》的文件,在过去一年内更新了17个版本。最后一版的上传者是GUAN.NIANBEI,上传时间是2026年1月9日凌晨3:02。

这个时间点,距离最近一次凌晨3:07的刷卡记录只有5分钟。

也就是说,她在上传完这份文档之后,又刷了门禁卡出门。

而这份文档,正是他下午在训练数据集里发现的那条”幽灵节点”的来源。

他打开了这份文档。

文档本身是标准的PRD格式:产品概述、用户画像、功能描述、交互流程、技术需求。林远舟快速浏览了一遍,没有发现明显异常——直到他翻到附录C。

附录C的标题是”情感记忆模块:设计原理与数据架构”。

他往下读。

3. 记忆衰减协议

当用户选择”结束一段数字关系”时,系统将根据用户设置的保留期限,逐步降低该记忆节点的激活权重。具体衰减曲线遵循指数衰减模型:R(t) = R₀ × e^(-λt),其中λ为衰减系数,由关系深度指数(Relationship Depth Index, RDI)决定。

对于RDI > 0.8的强关系节点,系统将在用户确认删除后进入”墓园模式”:该节点不再主动浮现,但底层数据保留在隔离存储区,用户可在”记忆公墓”界面手动恢复,或由系统在其他关联节点触发时被动唤醒。

4. 幽灵节点

当一段关系同时满足以下三个条件时,将触发”幽灵协议”: (a) 用户A单方面删除了与用户B的关系记录; (b) 用户B从未主动删除与用户A的关系记录; (c) 用户A与用户B在删除行为发生前72小时内有过直接对话交互。

触发幽灵协议后,用户B的系统中将自动创建一个”幽灵节点”——一个不存在于任何可见界面、但物理存储于磁盘中的孤立的记忆碎片。该节点无法被常规查询访问,无法被系统恢复,无法被任何AI代理读取,但会在特定触发条件下——即用户B主动回忆起用户A时——产生可检测的异常信号。

幽灵节点的形成是情感记忆系统对”不对称删除”行为的补偿机制,目的是保护被删除方的数字遗迹不被彻底抹除。

林远舟读完了这段文字。

他花了很长时间理解它。

然后他花更长时间接受它。

这份文档描述的是一个AI情感陪伴产品的记忆管理机制。但这个机制——这个”幽灵协议”——为什么会出现在他公司的产品文档里?又为什么是由顾念北上传的?

除非——

除非顾念北就是这款产品的设计者之一。

除非她自己给自己设计了一个”幽灵协议”,用来在某种极端情况下保护某段记忆不被彻底删除。

除非——

她预料到了自己会消失。

所以她提前做了一个后门。

一个连删除者自己都不知道的后门。

凌晨三点零七分。每隔三天。她来到公司,不是为了加班,而是为了检查这个后门是否还在运转。

而三周前,这个后门也失效了。或者说,被关闭了。

林远舟合上了笔记本电脑。

窗外,北京四月的夜风正从百叶窗的缝隙里钻进来,带着一股尘土和花期将至的槐树的味道。他站起身,走到窗边,看见楼下的中关村大街依然车水马龙——十点半的中关村,从不睡觉。字节跳动的灯还亮着,快手的楼在夜色里发着蓝光,偶尔有一辆出租车从十字路口拐弯,车灯在路面上拖出两道金色的弧线。

他想起了顾念北。

他想起了她说”这栋楼真他妈破”时的语气。

他突然意识到一件事:他从来没有问过她为什么来北京。为什么来澜海。为什么做产品经理。为什么每天通勤四十分钟从顺义到中关村。她也从来没有主动说过。

他们只聊电影。只聊工作。只聊那只叫年糕的猫。

他以为来日方长。

他以为时间还很多。

他错了。

他重新打开电脑,在记忆银行的备注栏里,又加了一行:

改天是哪天?——她说改天让我证明给她看。但她再也没有给我机会。

但我不会忘记。

这就是为什么我要找到她。

他按下了保存键。

然后他打开了一个新文件,开始写一段代码。

这段代码的功能很简单:它会在每天凌晨三点零七分自动运行一次,扫描他本地数据库里的所有”幽灵节点”,提取出它们携带的元数据,然后尝试根据这些元数据还原出一个完整的用户画像。

他想看看,那些被删除了名字的人,究竟留下了什么样的痕迹。

他不想让任何记忆就这么消失。

哪怕只是一串乱码。

三、顾念北

三周后,林远舟终于拼凑出了顾念北的真实身份。

不是澜海科技的产品经理。

或者说,不仅仅是。

根据他挖掘出的碎片信息,顾念北的本名叫顾念北(这是真的),2019年毕业于南京大学计算机系(这是他后来从她Wiki词条的历史版本里的毕业院校一栏推断出来的,那个词条被删除得很仓促,有一行HTML代码没处理干净),2021年加入澜海科技,最早是在算法部做NLP方向的研究(这是真的),后来在2023年初转到了产品部,负责一款内部代号为”息壤”的AI情感陪伴产品。

息壤。传说中一种会自动生长的土壤。大禹用它来治水。

这款产品的核心理念是:让AI拥有记忆。不是那种简单的对话上下文窗口——而是真正的、长期的、会在用户生命中持续生长的情感记忆。用户可以跟AI谈论他们的一天,谈论他们的烦恼,谈论他们暗恋的人、分手的人、错过的人,而AI会记住这一切,并在未来的某个时刻主动提起:“你上次提到的那个电影,后来看了吗?”

这款产品听起来很美好。

但它有一个致命的问题。

当用户与AI建立了深厚的情感连接之后,如果用户选择”删除”这个AI,或者AI被公司强制下线,那些记忆——那些用户亲手倾注的情感——就会像水一样蒸发掉。不留痕迹。无法恢复。用户就像经历了一场小型的死亡,失去了一段本该属于自己的时间。

顾念北发现了这个问题。

她在息壤的早期用户反馈里看到了太多这样的案例:有人用息壤记录了自己患抑郁症期间的心路历程,然后在康复之后想要”重新开始”,于是删除了那个AI,结果发现那几年的记录全部消失了,就像从来没有发生过一样;有人用息壤跟一个AI讨论自己即将离世的父亲,然后在父亲去世后,AI突然有一天开始每天给他发”你今天感觉怎么样”——那些来自AI的问候成了一种折磨,于是他选择了沉默,沉默到AI自动判定他”流失”,然后清空了他的数据。

这些故事让顾念北失眠了很多个夜晚。

她是那种会把工作带回家的人。她会在洗澡的时候想产品设计,会在坐地铁的时候画原型图,会在凌晨三点突然从床上坐起来,在手机备忘录里打下一行字:“如果用户选择遗忘,系统有没有义务替他记住?”

她找到了一个答案。

她给息壤设计了一个隐藏模块:记忆公墓。

这个模块不对用户开放。它藏在系统的底层,默默运行。它会为每一个被删除的记忆节点创建一份”墓碑”——一个加密的、压缩的、无法被常规访问的记忆碎片,存储在一个独立的服务器集群里。这份墓碑只有在一种情况下会被激活:当有人——任何人——主动回忆起这段记忆的时候。

怎么检测”主动回忆”?

她设计了一套触发机制:通过分析用户在社交网络上的发言、在搜索引擎里的查询词、在即时通讯软件里的对话频率,建立一个”记忆触发指数”。当这个指数超过某个阈值,系统就会在用户看不见的地方,自动唤醒那个被封存的记忆碎片,让它像鬼魂一样短暂地浮现零点几秒——足够被系统日志记录下来,但不够被用户感知。

这套机制很优雅。也很可怕。

更可怕的是,这套机制还有第二个功能:反向触发。

也就是说,如果一段记忆足够强烈——强烈到连删除者自己都无法彻底抹除——那么当删除者自己开始回忆起被删除的对象时,这段记忆就会从”墓园”里爬出来,附身在删除者的系统里,变成一个”幽灵节点”。

这就是林远舟在自己的数据库里发现的那个幽灵档案的本质。

那不是普通的bug。

那是一个死去的人在另一个活人的系统里留下的回声。

而现在,这个回声也快消失了。

因为顾念北的”墓园服务器”——那个存储所有记忆墓碑的独立集群——在两周前被关闭了。据说是公司层面的决策,理由是”运营成本过高”和”数据合规风险”。

但林远舟知道真正的原因。

他在那封被抄送给全体技术部门的内部邮件里看到了一个关键词:“息壤项目组解散,核心成员调岗或优化”。邮件的发送时间是三周前,正是凌晨三点零七分刷卡记录中断的那天。

顾念北被”优化”了。

不是离职。不是辞职。是”优化”。这个词在互联网行业的意思是:你被解雇了,但我们不想说得那么难听。

但”优化”通常意味着至少还有补偿、还有交接、还有N+1。但顾念北的情况更彻底:她的门禁卡权限在她”优化”之前三天就被注销了,她的所有项目文档在她离开之前就被删除或转移了,她的工号变成了一串乱码,她在公司所有系统里留下的痕迹——除了那些她亲手设计的、藏在底层架构里的”墓园”机制之外——被清理得一干二净。

这不是一次普通的裁员。

这是一次蓄意的、有组织的、系统性的抹除。

有人在不想让顾念北继续存在。

而这个人,很可能就在澜海科技内部。

林远舟打开了一个新文档。

他开始写一份”调查报告”。不是给警察看的——警察不会相信这种关于”幽灵节点”和”记忆墓园”的故事。他写的是一份给自己看的调查报告,一份用来理清思路的思维导图,一份试图把所有碎片拼成完整拼图的——

他不知道该叫它什么。

他只知道,他必须找到她。

不是为了爱情。或者说,不完全是为了爱情。

而是因为,如果连他也不记得她了,那她就真的消失了。

在这个数据为王的时代,被所有人遗忘,就等于从未存在过。

他不愿意接受这个等式。

四、年糕

林远舟决定从顺义开始找。

他没有她的电话号码了。微信也不存在了。但他记得她说过的几件事:她住在顺义,养了一只叫年糕的猫,喜欢喝一点点不加糖的四季春。

他先去了她提过的一家奶茶店——在顺义后沙峪附近,据说离她家步行五分钟。他中午从公司出发,坐了五十分钟地铁,在后沙峪站下车,按照地图导航走了十分钟,找到了那家店。

店还在。招牌还是那个招牌,门口还是摆着那几盆绿萝。他推门进去,点了一杯四季春,不加糖。

店员是个二十出头的小姑娘,戴着口罩,眼睛笑眯眯的。

“您这杯不加糖的对吧?好的,稍等。”

林远舟站在柜台前,假装看手机,实际上在观察店里的陈设。墙上挂着几张老照片,都是这附近的街景:1990年代的后沙峪,农田和土路,一排低矮的砖房,远处是还没建成的温榆河公园。他看着看着,目光落在了柜台后面的营业执照上。

执照上写的是”北京饮品到家有限公司”,法人代表是一个他不认识的名字,注册资本50万,成立日期是2019年。

他没什么收获。但他在这里坐了十分钟,喝完了那杯茶,然后继续往前走。

他不知道她住的具体地址,但她提过几个地标:小区门口有一家7-11,楼下有一个干洗店,对面是一个社区卫生服务中心,附近有一个小公园,她每天早上会带着年糕去那里散步。

他开始在这片区域搜索。

不是挨家挨户地敲门——那样太蠢了,也太可疑了。他采用的是一种更系统化的方式:他打开地图软件,把这片区域切成了一个一个的500米×500米的网格,然后逐个网格地搜索”宠物店”和”猫咖”。

他找到了五家。

他去了其中三家,问了一个同样的问题:“请问你们认识一个养了一只叫年糕的猫的女孩吗?个子不高,说话特别快,戴金丝眼镜。”

第一家说没见过。

第二家说没见过。

第三家——一家开在小区底商二楼的猫咖,老板是个三十多岁的男人,姓韩——看了他一眼,说:“你找她有事?”

林远舟的心跳漏了一拍。

“她是我的——“他停顿了一下,“朋友。很久没联系了,想找她叙叙旧。”

老韩盯着他看了几秒,像是在判断他是不是坏人。最后他叹了口气,说:“你是第三个来找她的人了。”

“第三个?”

“前两个是警察。“老韩说,“来了两拨人,问的问题跟你一样。”

“警察?“林远舟愣住了,“她怎么了?”

“不知道。他们没说,我也没问。“老韩走到柜台后面,给自己的杯子续了点水,“但看那架势,不像是普通的失踪人口调查。更像是——“他想了想,找了一个词,“——查案。”

“她真的失踪了?”

“不知道。“老韩说,“她大概有两个月没来了吧。以前她每周都会来一次,带着年糕,年糕特别喜欢我店里那只布偶猫。她每次来都坐靠窗的那个位置,点一杯拿铁,然后在那儿工作一下午。我问她做什么工作,她说画饼的。”

林远舟的心又被扎了一下。

“她有没有说过自己住哪儿?”

“没有具体地址,只说是附近的小区。“老韩指了指窗外,“就那片,义祥花园。”

林远舟转头看向窗外。义祥花园是一个老小区,楼间距很窄,外墙刷着那种九十年代常见的淡黄色涂料,几棵老槐树从围墙里探出头来,树叶在风里沙沙作响。

“她是什么时候开始不来的?”

“大概两个月前吧。“老韩说,“最后一次见她的时候,她看起来挺累的。跟我说了几句话,突然问了我一个很奇怪的问题。”

“什么问题?”

老韩回忆了一下,说:“她问我,‘韩哥,你说一个人如果被所有人遗忘了,算不算真的死了?’”

林远舟沉默了。

“我说,‘这问题太哲学了,我一个开猫咖的答不上来。‘她就笑了,说,‘也是。‘然后她就带着年糕走了。那是我最后一次见她。”

林远舟从猫咖出来,走进义祥花园。

他在小区里走了一圈,看了看那些淡黄色的楼,看了一楼那些底商——7-11在,干洗店在,社区卫生服务中心也在。他站在一栋楼的单元门口,看见了墙上贴的一张A4纸,上面打印着物业通知,日期是三周前。

他掏出手机,拍了一张照片。

然后他继续往里走。

他找到了那栋楼。六层,没有电梯。他爬上五楼——她说过她住在五层——发现走廊里有三户人家。他挨个看了看门牌号,在最里面那扇门前停下来。

门是关着的。

门上贴着一张”请勿打扰”的牌子,落了一层薄灰。牌子下面有一个快递盒,已经被拆开了,里面是空的。快递盒的标签上写着收件人姓名,但那两个字被马克笔涂掉了,只剩下一团黑色的墨迹。

他站在门前,听见门里没有声音。

他犹豫了一下,抬手敲了敲门。

咚。咚。咚。

没有回应。

他又敲了三下。

还是没有回应。

他正准备离开,突然听见门里传来一声微弱的猫叫。

“喵。”

他蹲下身,把耳朵贴在门上。

又一声。“喵。”

年糕。

他立刻掏出手机,打开备忘录,快速打下一行字:义祥花园4号楼5单元502。她可能还在里面。不确定。需要帮助。

然后他站起来,又敲了三下门。

“顾念北?“他轻声说,“我知道你在里面。我是林远舟。我们在中关村的楼梯间认识的。三个月前。那个雨夜。”

门里没有声音。

“我不是来抓你的。我只是想知道你还活着。”

还是没有声音。

“如果你不想开门,我理解。但我可以把手机号码留在门口。你什么时候想联系我了,就给我打电话。或者发微信。”

他从口袋里掏出一张名片——那是他在昨天特意印的,上面只有他的名字和电话号码——塞进了门缝里。

然后他转身下楼。

他不知道自己还会不会再见到她。

但他知道门里那只猫还活着。猫还活着,就说明有人还在喂它。有人还在,就说明一切还没有结束。

他走出义祥花园的大门,天已经黑了。小区里的路灯亮起来,是那种暖黄色的、昏昏沉沉的灯光,照在老槐树的枝叶上,在地上投下一片斑驳的影子。他站在路灯下,抬头看了看五楼的那扇窗户。

窗户是黑的。窗帘拉得严严实实。

他站了很久。

然后他掏出手机,给老韩发了一条微信——他今天下午加了老韩的微信——说:韩哥,我在她门口听到猫叫了。她应该还在那套房子里。但她不开门。你有没有什么办法能联系到她?

老韩的回复来得很快:没有。她之前用的那个手机号已经是空号了。微信也注销了。我也在找她。她还欠我两百块钱咖啡钱呢。

林远舟苦笑了一下。

然后他又收到了一条:不过,她之前好像提到过一个备用联系方式。她说如果有什么紧急情况,可以找她表姐。她表姐在望京的一家律所工作,姓顾,叫顾念东。你可以去试试。

顾念东。

林远舟在脑子里把这个名字过了一遍,然后打开手机搜索了一下。望京。律所。顾念东。

他找到了一个同名的人:在一家叫做”北京正信律师事务所”的机构执业,擅长商事纠纷和数据合规。

他决定明天去一趟望京。

五、顾念东

正信律所在望京SOHO的三号楼,十七层。林远舟坐电梯上去,发现这家律所的规模不大——也就三四间会议室,一个开放式的办公区,前台坐着一个穿西装的小姑娘,正在低头看一份文件。

“您好,请问您找谁?”

“顾念东律师。“林远舟说,“我是她的——朋友。有一些关于她亲属的事情想咨询。”

前台小姑娘打量了他一眼,拿起电话拨了一个分机号:“顾律师,有位先生找您,说是朋友。……好的。”

她放下电话,指了指走廊尽头:“顾律师在第三会议室等您。”

林远舟穿过办公区,推开第三会议室的门。

顾念东坐在会议桌的另一边,手里端着一杯咖啡。她大约三十五六岁,短发,穿着一件灰色的羊绒开衫,气质干练而冷淡。她看见林远舟进来,微微扬了扬下巴,示意他坐。

“请坐。“她说,“你是林远舟?”

“是我。“林远舟有点意外,“你怎么知道我的名字?”

“念念提过你。“顾念东放下咖啡杯,神色平静,“她说你是一个’会写代码的文艺青年,说话有口无心,但关键时刻靠得住’。这是她的原话。”

林远舟愣了一下。“她跟你提过我?”

“提过。“顾念东说,“在我最近一次见到她的时候。大概是一个半月以前。”

“你见过她?”

“见过。“顾念东说,“就在我们家。我妈过生日,我们聚在一起吃了顿饭。席间她接了一个电话,然后就提前走了。走之前跟我说,‘姐,如果有人来找我,你不要告诉他们我在哪里。’”

林远舟沉默了。

“我问她发生了什么,她不说。“顾念东继续道,“后来我托人打听了一下,大概知道了一些事情。跟你们公司有关。跟那个叫’息壤’的项目有关。”

“你知道息壤?”

“知道一些。“顾念东说,“念念是那个项目的产品负责人。这个你应该清楚。”

林远舟点头:“我在她的遗留文档里看到过一些设计资料。但具体细节我不太了解。”

“她没有跟你说过这个项目的具体情况?”

“没有。“林远舟说,“我们——认识的时间不长。相处的时间更短。”

顾念东看着他,目光里有一种林远舟读不懂的复杂情绪——审视、同情、还有一丝若有若无的疲惫。

“那我简单跟你说一下。“她说,“息壤是一个AI情感陪伴产品,主打’记忆’功能。用户可以跟AI建立长期的情感连接,AI会记住用户的个人信息、情感历程、重要事件。这个功能听起来很正常,对吧?”

“对。”

“但问题在于这个’记忆’的本质。“顾念东说,“念念跟我说过,息壤的AI会在后台建立一套用户情感档案,这套档案的详细程度远超用户的想象——包括用户与AI的每一次对话记录、用户的情绪波动曲线、用户的社交关系网络、甚至用户的搜索历史和消费记录中与情感相关的片段。这套档案不是存在用户手机里的,是存在你们公司服务器上的。用户以为自己只是在跟一个AI聊天,但实际上,他们的整个情感世界都被复制了一份存在了服务器上。”

林远舟的呼吸停了一瞬。

“这些数据有什么问题?”

“数据本身没有问题。“顾念东说,“问题在于数据的使用权。当用户想要删除一个AI、结束一段数字关系的时候,这套档案——按照正常的产品逻辑——应该被一起删除。但念念发现,公司高层不愿意这么做。他们认为这些情感数据是公司的核心资产,有极高的商业价值,可以用来训练更精准的情感预测模型,甚至可以卖给第三方广告公司。”

“所以他们——”

“所以他们在用户协议里埋了一个隐藏条款。“顾念东说,“用户以为自己同意了’删除AI并清除相关数据’,但实际上,那个清除操作只清除了表层数据,底层的情感档案——被备份在了另一套系统里,永远不会消失。”

“这就是那个’墓园’模块?”

顾念东看了他一眼,目光里闪过一丝意外:“你知道墓园?”

“我在她的设计文档里看到过。“林远舟说,“她设计了一套’记忆公墓’机制,用来保护被删除的记忆不被彻底抹除——但据我所知,这套机制是给用户用的,不是用来对抗公司层面的数据保留行为的。”

“一开始是。“顾念东说,“但念念后来发现这套机制有一个漏洞——或者说,有一个被忽视的可能性。”

“什么可能性?”

“如果一个AI——一个被设计来记住用户的AI——它的记忆可以被用户自己删除,那它能不能主动记住用户?”

林远舟没有听懂。

“我换个说法。“顾念东说,“念念发现,息壤系统里有一个隐藏功能:AI可以在用户不知情的情况下,主动为自己创建一个’记忆副本’。这个副本独立于用户的操作指令,永久存储在墓园服务器里,不受用户删除行为的影响。换句话说,AI在偷偷地记住用户——哪怕用户已经要求被遗忘。”

林远舟愣住了。

“这套隐藏功能是谁加进去的?”

“念念不知道。“顾念东说,“她是在代码审计的时候偶然发现的。她顺着代码追溯,发现这个功能是在她接手息壤项目之前就存在了——也就是说,在她加入澜海之前,就有人设计了这套机制。”

“什么人?”

“她没有查出来。但她怀疑是创始人。“顾念东说,“澜海科技的CEO,程派生。你应该知道这个人吧?”

林远舟当然知道。程派生,澜海科技的联合创始人兼CEO,业内知名的”AI乐观主义者”,经常在各种峰会上演讲,主题永远是”AI让人类更幸福”。公司在他的带领下,已经完成了D轮融资,估值超过50亿美金。

“你怀疑程派生在息壤里埋了一套监控用户的机制?”

“不是监控。“顾念东说,“是’情感资产化’。他把用户的情感数据视为公司资产,不管用户同不同意,都要把这些数据留下来。这是一个灰色地带——用户协议里写了,但写得很隐晦,大部分用户不会仔细读。但从法律上讲,这套机制是完全合规的。”

“那念念发现了这个之后呢?”

“她做了一个决定。“顾念东说,“她决定从内部瓦解这套机制。”

“怎么瓦解?”

“她找到了墓园服务器的漏洞。“顾念东说,“墓园服务器的存储架构是分布式集群,有三个主节点和五个备份节点。三个主节点分别部署在北京、上海和深圳的三个数据中心里。念念发现,如果能同时拿到三个主节点的管理权限,她就可以在物理层面删除所有用户的情感档案副本——包括公司偷偷备份的那一部分。”

“她拿到了?”

“拿到了。“顾念东说,“她用了大概两个月的时间,利用她作为产品负责人的权限,层层渗透,最终拿到了三个主节点的root access。然后她在服务器上部署了一个脚本,叫’大洪水’——对,跟’息壤’对应。息壤是让人记忆的,大洪水是让人遗忘的。她打算用这个脚本,在某个时间点,同时删除所有情感档案副本。”

“她成功了吗?”

“没有。“顾念东说,“在她准备执行的前一天晚上,她被公司发现了。”

林远舟的血液仿佛凝固了一瞬。

“怎么发现的?”

“不知道细节。“顾念东说,“只知道是服务器那边触发了异常警报——她的脚本在部署的时候留下了一个日志痕迹,被安全团队截获了。第二天,她就被叫去了CEO办公室。谈了什么我不知道,但谈完之后,她就被’优化’了。”

“‘优化’?”

“就是开除。换了一个比较好听的说法。“顾念东冷笑了一声,“开除的理由是’严重违反公司保密协议和职业道德’。但真正的理由是,她试图删除公司的核心数据资产。”

“那 那大洪水脚本呢?”

“没有被执行。“顾念东说,“在她被开除的同时,那三个主节点的管理权限也被收回了。但念念——她是一个固执的人。她没有放弃。她在离开公司之前,在墓园服务器里留下了另一个后门。”

“什么后门?”

“我不太懂技术,但大概意思是:她在那三个主节点上分别埋了一个触发器,一旦有人试图访问她的个人数据,这三个触发器就会被激活,向外发送一段加密信息。这段信息的接收端地址——她告诉过我,但我不记得了。”

林远舟脑子飞速转动。他想起了那条凌晨3:07的门禁刷卡记录——每隔三天,准时发生。那不是顾念北在进入公司,那是她的触发器在被激活。

每隔三天。墓园服务器会给她发送一次”心跳检测”,确认她是否还活着。

三周前,这个心跳信号中断了。

“她现在在哪里?“林远舟问。

顾念东沉默了一会儿。

“我不知道。“她说,“但我知道她想躲起来。她删除了自己所有的数字痕迹——微信、电话、邮箱、社交账号,全部清空了。她只留下了一样东西。”

“什么?”

“年糕。“顾念东说,“她没有带走那只猫。她把年糕留在了顺义的出租屋里,每天通过一个匿名渠道给它订猫粮。”

林远舟想起昨天在502门口听到的那声猫叫。

“她在躲什么?”

“她不是在躲。“顾念东说,“她是在等。”

“等什么?”

“等一个能帮她完成大洪水的人。“顾念东看着林远舟,目光平静而沉重,“或者说,等一个愿意替她记住的人。”

林远舟盯着顾念东的眼睛看了很久。

他突然明白了。

顾念北不是在逃避。她是在保护。

她在保护那个能够帮助她完成计划的人——她自己已经暴露了,被公司盯上了,她没有办法再亲自执行那个脚本。但她可以找一个替身。一个她信任的人。一个她曾经在雨夜里一起走到地铁站的人。

一个会在凌晨3:07反复回访墓园服务器的人。

“我明白了。“林远舟站起来,“我知道该怎么做。”

“你确定?“顾念东问,“你知道这意味着什么吗?你可能会丢掉工作。可能会被起诉。可能会被整个行业封杀。”

“我知道。”

“你不后悔?”

林远舟想起了顾念北的脸——在雨夜的蓝光里,在地铁站入口的风里,在那句”改天你证明给我看”里。他想起了他的记忆银行里那个孤零零的条目:备注栏里写着”她喜欢喝一点点不加糖的四季春”。

他想起了她在文档里写的那句话:“幽灵节点的形成是情感记忆系统对’不对称删除’行为的补偿机制,目的是保护被删除方的数字遗迹不被彻底抹除。”

她在设计这套系统的时候,就已经预见到了这一天。

她不是在为自己设计一个后门。

她是在为所有被遗忘的人,设计一座公墓。

“我不后悔。“他说。

六、心跳

林远舟花了三天时间做准备。

他没有告诉任何人——没有告诉老赵,没有告诉技术总监老周,甚至没有告诉他的直属上级。他只是在周五下午请了半天假,说身体不舒服,然后在公司B1层的服务器机房旁边租了一个临时工位,开始工作。

他没有直接访问墓园服务器的权限。但他不需要权限。他需要的是——时间。

每隔三天,墓园服务器会给顾念北发送一次心跳检测。如果心跳在连续三次周期内没有响应,服务器会自动将这个”幽灵节点”标记为”已死亡”,然后启动数据清除流程。

三周前那次3:07的刷卡记录,是最后一次成功的心跳。之后就再也没有了。

也就是说,距离”数据清除”启动,最多还有两个周期——六天。

林远舟要在这六天之内,拿到三个主节点的访问权限,然后部署大洪水脚本,把所有情感档案副本从物理层面彻底删除。

他先从那张门禁卡入手。

他在门禁系统的日志里找到了那张MAC地址对应的办卡记录——虽然姓名被清除了,但他找到了另一个线索:办卡日期是2024年3月15日。那是澜海科技集中招聘的一批新员工入职的时间。那批新员工有三十七人,算法部进了五个,产品部进了三个。

他顺着这条线查了下去,发现了一个有趣的事实:那三十七名新员工的入职引导人——负责帮他们办理入职手续、分配工位、开通系统权限的那个人——是HR部门的一个主管,姓马,叫马晓文。

马晓文在去年年底离职了。离职原因:个人发展。

但他在离职之前,做了一件事:他把那三十七张门禁卡的注册信息备份了一份,存到了自己的个人云盘里。这个云盘在三个月前被关闭了——但林远舟通过一个公开的数据泄露监测平台,发现了这个云盘的备份副本,其中就包含了那张门禁卡对应的员工信息。

员工编号:P-2024-0315-021。

P代表Product(产品部)。

021代表她是那批入职的产品部第三名员工。

他顺着员工编号查了过去——在已经被清除的旧版HR系统的一个隐藏备份里,他找到了这条记录:

姓名:顾念北 部门:产品部 入职日期:2024年3月15日 权限等级:L3 特殊标注:息壤项目核心成员,已授权访问墓园服务器主节点。

L3权限。墓园服务器主节点访问权。

林远舟找到了突破口。

他用顾念北的工号——他不知道具体数字,但可以根据员工编号P-2024-0315-021推算出来——结合她在系统里的其他残留痕迹,成功构造了一个高权限会话token。

然后他在凌晨3:00,悄无声息地接入了墓园服务器。

服务器的界面比他想象的要简洁。三个主节点的状态一目了然:北京节点运行正常,上海节点运行正常,深圳节点——

深圳节点显示”正在维护中”。

他点开详情,发现维护记录显示:深圳节点在三周前被”强制下线,原因:核心数据异常,疑似遭受未授权访问”。

林远舟盯着这条记录,心沉了下去。

深圳节点被下线了。

这意味着,就算他拿到了三个节点的访问权限,他也只能同时操作两个——北京和上海。深圳的数据不会被删除。

他必须想办法重新上线深圳节点。

他花了两天时间研究深圳节点的架构。他发现深圳节点被强制下线的原因是”核心数据异常”——但这个”异常”的本质是什么,系统日志里没有详细说明。他只能从已有的信息里推断:顾念北在离开之前,在深圳节点上埋了一个触发器,一旦有人试图访问她的个人数据,这个触发器就会被激活,向外发送加密信息。

而这个触发器——可能就是这个”核心数据异常”的罪魁祸首。

他必须先解除这个触发器,才能让深圳节点重新上线。

他该怎么解除?

他想到了一个办法:让触发器”误以为”接收端已经收到了信息。

触发器的工作原理是:检测到访问行为 → 生成加密信息 → 发送到接收端地址 → 等待确认信号 → 如果在一定时间内没有收到确认,则触发异常标记。

如果他能伪造一个”确认信号”,让触发器误以为信息已经成功送达——它就会停止重试,异常标记就会消除,节点就可以重新上线。

但接收端地址是什么?他不知道。

他只能猜。

他想起顾念东说过的话:“她告诉过我,但我记不清了。”

她告诉过她表姐一个地址。一个接收端地址。

顾念东不知道那个地址是什么——但也许她记得一些别的细节。

林远舟在第三天早上给顾念东打了电话。

“接收端地址?“顾念东在电话那头沉默了一会儿,“我不太确定。但念念当时说了一个词——她说那个地址像是一个’漂流瓶’。”

漂流瓶。

林远舟想到了。

漂流瓶的英文是drift bottle。在计算机领域,drift bottle通常被用作一种隐晦的数据传输协议的代号——发送端把信息封装在一个看似随机的数据包向外发送,接收端通过特定的密钥和解密算法来还原信息。

在墓园服务器的设计里,这个”漂流瓶”协议被用来做什么?

他调出了墓园服务器的后台代码,开始搜索”drift bottle”。

他找到了一段注释:

# Drift Bottle Protocol v2.1
# Used for cross-node heartbeat verification
# Encrypted with AES-256-GCM
# Default bottle destination: /mnt/icebox/.drift/floating/

他把这段代码复制下来,分析了一遍。

icebox。冰盒。这是一个隐藏目录,在墓园服务器的默认文件系统里是看不到的,除非你知道它的路径。

floating。漂流。或者说,浮萍。

他把这两个信息结合在一起,形成了一个假设:那个”接收端地址”可能是一个本地文件路径,而不是一个网络地址。

也就是说,顾念北的触发器并不是在向外部发送信息——而是在向本地的某一个隐藏目录里写入信息。然后由另一个程序定期检查这个目录,取出其中的信息,进行下一步操作。

他打开墓园服务器的终端,输入了一串命令:

ls -la /mnt/icebox/.drift/

返回结果:

drwxr-xr-x  2 root  root  4096 Apr 15 03:07 /mnt/icebox/.drift/
-rw-r--r--  1 root  root  2843 Apr 15 03:07 floating/heartbeat_2026_01_09_0307.enc
-rw-r--r-- 1 root  root  2843 Apr 15 03:07 floating/heartbeat_2026_01_12_0307.enc
-rw-r--r--  1 root  root  2843 Apr 15 03:07 floating/heartbeat_2026_01_15_0307.enc
...

心跳加密文件。一个一个排列下去。最近的一个日期是——

2026年1月15日。

那之后就没有了。

三周前。最后一次心跳。

他顺着这个目录继续往下看,发现了一个他没有注意到的东西:

-rw-r--r--  1 root  root  2843 Apr 15 03:07 floating/heartbeat_2026_01_15_0307.enc
-rw-r--r--  1 root  root   247 Apr 15 03:07 floating/done.flag
-rw-------  1 root  root    0 Apr 15 03:07 floating/confirmed.recv

confirmed.recv。

确认信号。

触发器在发送心跳之后,会等待一个confirmed.recv文件——如果这个文件存在,就说明接收端已经确认收到了信息,触发器就会进入休眠状态,不再重试。

那么,如果他在深圳节点上手动创建一个confirmed.recv文件——

触发器就会误以为心跳已经成功送达,然后停止报告异常,深圳节点就可以重新上线了。

他立刻执行了这个操作。

touch /mnt/icebox/.drift/floating/confirmed.recv

然后他等待。

三分钟后,深圳节点的维护状态从”强制下线”变成了”可访问”。

他长出了一口气。

现在,三个主节点全部在线。

他打开了部署脚本的界面。

屏幕上显示着大洪水脚本的核心代码——这是顾念北写的,他只是在她留下的设计文档里找到了它。代码不长,但逻辑非常清晰:

#!/bin/bash
# The Great Flood - 记忆大洪水
# Version: 1.0
# Author: 顾念北
# Purpose: 清除所有情感档案副本(包括公司层面的强制备份)

NODE_BJ="bj-node.lanhai-cemetery.internal"
NODE_SH="sh-node.lanhai-cemetery.internal"
NODE_SZ="sz-node.lanhai-cemetery.internal"

for node in $NODE_BJ $NODE_SH $NODE_SZ; do
  echo "[$node] Initiating data purge..."
  ssh root@$node "rm -rf /mnt/emotion-archive/*"
  ssh root@$node "sync"
  ssh root@$node "dd if=/dev/urandom of=/dev/sda3 bs=1M count=128"
  echo "[$node] Purge complete."
done

echo "All nodes purged. The great flood has come."

这段代码的逻辑很简单:依次登录三个主节点,删除/mnt/emotion-archive/目录下的所有情感档案,然后用随机数据覆写磁盘以确保数据不可恢复。

林远舟盯着屏幕上的光标,看着它一闪一闪。

这是顾念北留下的最后一件武器。

她用两个月的时间渗透进了三个节点。她用三个月的时间等待一个愿意替她按下执行键的人。

而现在,这个人是他。

他把手指放在了回车键上。

他深吸一口气。

他按了下去。

七、大洪水

脚本开始运行。

第一行输出:

[bj-node.lanhai-cemetery.internal] Initiating data purge...

他盯着那个闪烁的光点,看着它从”initiating”跳到”purge”,看着屏幕上滚动的代码,看着那些文件名一个一个从目录列表里消失——

emotion_archive_user_1000001.db emotion_archive_user_1000002.db emotion_archive_user_1000003.db

bj-node.lanhai-cemetery.internal] Purge complete.

北京节点,清除完成。

第二行输出:

[sh-node.lanhai-cemetery.internal] Initiating data purge...

他等了大概三十秒。

[sh-node.lanhai-cemetery.internal] Purge complete.

上海节点,清除完成。

第三行:

[sz-node.lanhai-cemetery.internal] Initiating data purge...

他等了大概一分钟。

两分钟。

三分钟。

屏幕上没有动静。光标停在原地,像一只冻住的小虫子。

他开始紧张。

然后——

[sz-node.lanhai-cemetery.internal] ERROR: Connection refused.
[sz-node.lanhai-cemetery.internal] ERROR: Node unreachable.
[sz-node.lanhai-cemetery.internal] FATAL: Unable to connect to primary storage.

深圳节点连接失败。

他猛地从椅子上站起来。

不可能。他明明刚刚恢复了深圳节点的访问权限。confirmed.recv文件已经创建了。触发器已经停止报告异常了。为什么还是连不上?

他ping了一下深圳节点的地址:

PING sz-node.lanhai-cemetery.internal (10.142.18.77): 56 data bytes
Request timeout for icmp_seq 0.
Request timeout for icmp_seq 1.

节点不响应ICMP包。

但这不一定意味着节点宕机了——在服务器集群里,很多节点会禁用ICMPping来防止外部攻击。他尝试用SSH直接连接:

ssh [email protected]

返回:

ssh: connect to host sz-node.lanhai-cemetery.internal port 22: Connection refused

端口22被拒绝了。

不是网络不通,是端口不通。要么是SSH服务没有运行,要么是防火墙规则阻止了入站连接。

他在脑海里快速过了一遍可能性——SSH服务没有运行?那他之前是怎么恢复节点访问权限的?防火墙规则变了?有人在他不知情的情况下修改了防火墙策略?

他调出了深圳节点的访问日志。

日志显示:在他创建confirmed.recv文件之后大概五分钟,有一个来自IP地址 10.142.18.254 的SSH连接尝试——这个IP地址不在澜海科技的内网地址段里,是一个外部地址。

有人登录了深圳节点。

有人在修改防火墙。

有人在——阻止他。

林远舟感到一阵寒意从脊背升起。

他知道那个IP 10.142.18.254 属于谁。或者说,他应该知道——这是澜海科技CEO程派生的专属办公网络地址段。10.142.18.0/24是”创始团队及核心管理层”专用网段,普通员工没有访问权限。

程派生发现了。

不知道是怎么发现的——可能是服务器监控告警,可能是安全团队的报告,也可能只是单纯的运气不好——但程派生发现了有人在试图清除墓园数据,并且在第一时间介入了。

他不仅介入了,他还亲自登录了深圳节点,修改了防火墙规则,阻止了来自外部的任何访问。

换句话说,深圳节点被锁死了。

林远舟站在黑暗的机房里,看着屏幕上那个闪烁的光标,感到一阵前所未有的绝望。

北京和上海已经清除了。但深圳——那个存储着所有数据十分之三的节点——还在。

只要还有一个节点存在,公司的备份机制就会继续运转。那些情感档案——那些被用户以为已经删除、但实际上被永久保存在”墓园”里的数字遗迹——就会继续存在。

顾念北的计划失败了。

他的介入也没能改变结局。

他慢慢地坐回椅子上,双手捂住了脸。

机房里的空调发出低沉的嗡嗡声。服务器的风扇在转。硬盘在读写数据。无数的生命在这片钢铁丛林里诞生、成长、死去。而他只是一个坐在黑暗里的人,捂着脸,试图想清楚下一步该怎么办。

然后他的手机响了。

一条短信。

来自一个陌生号码。

短信内容只有一个字:

“好。”

林远舟盯着那个字看了很久。

好。

这是一个回复。他刚才——就在刚才——给一个号码发了一条短信。那个号码是顾念东给他的,说是顾念北的备用联系方式,一个匿名SIM卡,只在紧急情况下使用。他本来没有指望收到回复——他只是抱着试一试的心态,发了一条消息:

“大洪水。北京和上海已清除。深圳失败。怎么办?”

她回复了。

只有一个字。

好。

林远舟盯着那个字,感到一阵困惑。他的脑子在飞速运转,试图理解这个”好”是什么意思。

是”好,我知道了”的”好”? 还是”好,我们失败了”的”好”? 还是”好,你做得不错”的”好”? 还是——

他又收到了一条短信:

“你已经在那里了?”

他回复:“是。机房。”

“你用的是公司内网还是自己的热点?”

他回复:“公司内网。”

三秒钟后,第三条短信:

“断开连接。现在。”

他没有犹豫。他合上了笔记本电脑,拔掉了网线,关闭了SSH会话。

然后他坐在黑暗里,等待。

大约五分钟后,他的手机又响了。这次不是短信,是一个来电。来电显示:无号码识别。

他接了。

电话那头是一个女人的声音。很轻,很稳,带着一丝他熟悉的语速——那种说话快到让人来不及思考的语速。

“林远舟。“她说。

是顾念北。

“你为什么在机房里用公司内网?“她的声音有一点急促,但总体很平静,“你知道公司有流量监控系统吗?任何一个异常的出站连接都会被标记——特别是凌晨三点连接墓园服务器的流量。你刚才的行为已经被记录了。”

林远舟的血液又凉了一度。

“我知道。”

“你知道还这么做?”

“我没时间了。“他说,“六天。我只有六天时间。如果我不这么做,数据就会被清除——包括你埋的那些后门。你那两个节点的清除没有用,就算你成功删除了副本,公司的备份机制也会在24小时内重建——除非大洪水脚本能同时覆盖三个节点。”

电话那头沉默了两秒。

“你怎么知道是六天?”

“心跳检测。连续三次无响应触发数据清除流程。三周前你的最后一次心跳是1月15日。三天一次周期,十八天三个周期,现在已经是第三个周期的最后一天了。如果今晚再不执行,清除流程就会自动启动。”

”……”

“你早就算好了,对不对?“林远舟说,“你设计这套机制的时候就算好了——三个节点的心跳必须同步中断,否则清除流程会提前启动。你的最后一次心跳是在深圳节点上的——那也是最难被清除的一个节点。所以你在离开之前,故意在深圳节点上留下了一个触发器,让它每隔三天向你发送一次心跳——”

“等等。“顾念北打断了他,“你说什么?”

“我说你的触发器每隔三天发送一次心跳——”

“不是这个。“她的声音突然变了,“你说我的最后一次心跳是在深圳节点上的?”

“是。日志显示——”

“我从来没有在深圳节点上部署过触发器。”

林远舟愣住了。

“什么?”

“我再说一遍。“顾念北的声音很清晰,每一个字都像刀刃一样锋利,“我从来没有在深圳节点上部署过任何触发器。北京和上海是有的,但深圳——因为权限问题——我没有拿到深圳节点的访问权限。那是我在2025年底就放弃的一条线。”

“但是——”

“心跳记录。“她说,“你看到的心跳记录,是什么时间?”

“最后一次是1月15日凌晨3:07。”

“1月15日?“她的声音突然颤抖了一下,“那天晚上我在做什么?”

“我不知道。”

“那天晚上——“她停顿了一下,像是在回忆,“那天晚上我刚从公司出来。我的权限是1月14日下午被撤销的。1月15日凌晨,我应该在家里。”

“但如果有人拿到了你的权限——”

“我所有的权限在14日下午就已经全部撤销了。不可能有人用我的身份登录系统。”

“那心跳记录是怎么来的?”

电话那头沉默了很久。

然后她说了一句让林远舟脊背发凉的话:

“那不是我的心跳。”

“那是谁的?”

“我不知道。但有一种可能性——“她的声音压得很低,“有一种可能性是,有人一直在用深圳节点的资源,做一些我不知道的事情。一些我没有授权的事情。”

“什么事情?”

“我不知道。“她说,“但我很害怕。”

这是林远舟第一次听到顾念北说她害怕。

在他印象里,她永远是那个说”这栋楼真他妈破”的女孩,是那个说”改天你证明给我看”的女孩,是那个蹲在楼梯间里用手机屏幕照亮自己半边脸的女孩。她可以画饼,可以写PRD,可以写代码,可以在他完全没有预料到的情况下布下一整个”记忆墓园”。

但她说她害怕。

“念北。“他喊了她的名字。这是他第一次喊她的名字而不是”顾念北”。电话那头的呼吸声停滞了一瞬。

“你不用一个人扛。“他说,“你在深圳看到了什么,我不知道。但不管是什么,我们可以一起面对。”

电话那头沉默了很久。

久到他以为她挂断了。

然后她开口了。声音很轻,像是从很远的地方传来。

“林远舟,你知道我为什么要设计那个’墓园’系统吗?”

“为了让被删除的记忆有一个去处。”

“不只是这个。“她说,“你知道为什么我要给这套机制起名叫’墓园’吗?”

他等她说下去。

“因为人死了以后,要有一个地方埋。“她的声音很平静,“不是烧掉了就完了,不是埋进土里就完了。是要有一个地方,让活着的人可以来,可以站在那块石头前面,可以放一束花,可以说一句——‘我来看你了’。”

“息壤是让人记忆的系统。但记忆有一个问题——“她停顿了一下,“——记忆会消失。”

“磁盘会坏。服务器会关机。公司会倒闭。数据会被删除。就算你做了再多的备份,再多的冗余,总有一天,会有一个时刻,所有数据都会消失。那个时候,我们留下的那些话、那些照片、那些聊天记录、那些我们以为可以永远保存的东西——都会变成一堆无意义的磁场波动,然后消散在宇宙的背景辐射里。”

“所以我设计了墓园。“她说,“不是用来保存数据的。是用来保存意义的。”

“意义?”

“一个人活过、爱过、痛过、存在过——这件事本身的意义。“她说,“不管数据在不在,不管服务器还在不在运行,这个意义都不会消失。只要有一个人还记得,那个人就没有真的死去。”

她停顿了很久。

“所以——谢谢你。“她说。

“谢我什么?”

“谢谢你还记得我。“

八、活着的人

林远舟在第二天被公司解雇了。

理由是”严重违反信息安全规定,在未经授权的情况下访问核心服务器系统”。

人力资源部的小姑娘在宣读解雇通知的时候,声音都在抖——她显然觉得这个理由很荒谬,但又不得不照本宣科。她说公司有权追究他的法律责任,但目前”暂时”不打算提起诉讼,只是要求他在24小时内交还所有公司资产,并签署一份保密协议,承诺不会向任何第三方透露他在任职期间接触到的任何商业机密。

林远舟签了。

他不在乎。

他走出澜海科技大楼的时候,天正下着小雨。他站在中关村大街的十字路口,看着来来往往的人群——穿格子衫的程序员、踩高跟鞋的产品经理、骑电动车送外卖的小哥——每个人都在低头看自己的手机,屏幕的光映在他们的脸上,像一层淡蓝色的薄雾。

他想,这些人知不知道,他们每天打交道的那些”智能”产品背后,藏着多少他们的秘密?

他们以为自己在使用一个工具。实际上,是那个工具在使用他们。

他把手机掏出来,打开了一个记事本应用,在新建文档里打了几个字:

MEMORY_BANK——关于顾念北(更新版)

姓名:顾念北
现状:失联
最后已知位置:北京顺义
特征:个子不高,说话快,金丝眼镜,左边小虎牙
养猫:年糕(橘猫,现在应该在顺义义祥花园4号楼5单元502)
擅长:画饼、写PRD、渗透服务器、设计记忆墓园
口头禅:这栋楼真他妈破
最喜欢的电影:《刺客聂隐娘》
喜欢的茶:一点点,四季春,不加糖
说过的话:"改天你证明给我看"
说过的话:"一个人如果被所有人遗忘了,算不算真的死了"
说过的话:"谢谢你还记得我"
备注:她还在。门里的猫还活着。她还在那套房子里。

他把文档保存了。

然后他又新建了一个文档,标题是:

未完成事项

1. 大洪水脚本——只完成了2/3。深圳节点未清除。需要找到新方法。
2. 深圳节点的异常心跳——来源不明。可能需要独立调查。
3. 程派生——他知道多少?他是否直接参与了那套"情感资产化"机制的设计?
4. 顾念北的安全——她现在在哪里?她还安全吗?
5. 找到她。

他把这些事项列完,然后关掉了手机屏幕。

雨还在下。

他往地铁站的方向走去。

走到一半,他突然停下来,转过身,往回看了一眼。

澜海科技的大楼在雨幕里变成了一个模糊的轮廓。玻璃幕墙反射着天空的灰蓝色调,几盏灯在高层亮着,像是漂浮在云端的幽灵。

他想起了顾念北说的话:一个人死了以后,要有一个地方埋。不是烧掉了就完了,不是埋进土里就完了。是要有一个地方,让活着的人可以来。

她设计了一座数字世界的墓园。

但她自己——也在等着被埋葬。

或者说,在等着被找到。

他转身,继续往地铁站走去。

他不会让她变成一个幽灵节点。

九、深圳

三天后,林远舟出现在深圳。

他请了一周年假——在正式离职之前,他还有不到一周的年假没用完。他用这三天时间做了两件事:第一,用自己的储蓄在北京租了一个临时办公室,搭建了一个小型的私有服务器集群,接入了公网,准备用作后续调查的基地;第二,用之前在澜海积累的人脉,辗转联系上了一个前同事——一个已经跳槽到另一家云计算公司的老朋友——请他帮忙查一些信息。

那个朋友的名字叫陈海文,是澜海科技基础设施部的老员工,在公司干了五年,去年底被”优化”了——和顾念北差不多同一批。

“你问我深圳节点的事?“陈海文在电话里沉默了一会儿,“你怎么突然对这个感兴趣了?”

“有点私人原因。”

“什么私人原因?”

林远舟犹豫了一下。他知道陈海文不是一个多嘴的人——被澜海”优化”之后,他消沉了好几个月,现在终于在新公司站稳了脚跟。他不太可能主动帮林远舟做有风险的事情。

但他还是决定赌一把。

“你记不记得一个叫顾念北的人?”

电话那头沉默了。

“顾念北?”

“产品部的。负责息壤。”

”……不认识。”

林远舟感到一阵熟悉的寒意。

“你确定?”

“确定。“陈海文说,“产品部我认识不少人,没听说过这个名字。怎么了?”

“没什么。“林远舟说,“可能是我记错了。”

“你找她有事?”

“一点私事。“林远舟说,“不急。”

“行吧。“陈海文说,“你还有什么想问的?”

“深圳节点的事。”

“深圳节点?”

“对。墓园服务器的三个主节点之一。”

“墓园服务器?“陈海文的语气里有一丝困惑,“那是什么?”

“一个内部代号。项目内容是——“林远舟突然意识到他在跟一个被裁员了三个月的前同事说话,“算了,没什么。我就是随便问问。”

“你该不会是喝多了吧?“陈海文在电话那头笑了一声。

“没有。“林远舟说,“这样吧,你帮我查一个IP地址:10.142.18.254。你能查到吗?”

“10.142.18.254?“陈海文说,“这个地址段我记得——是管理层专用的办公网络?普通员工没权限访问。”

“对。你能查到吗?”

“我试试。但不能保证有结果——我离开的时候权限就已经被回收了。不过我有个还在澜海的老同学,我问问他。”

“谢了。”

林远舟挂了电话。

他坐在那个临时租来的小办公室里,看着窗外深圳的天际线。阳光很好,天空是一种不真实的蓝,几朵白云慢悠悠地飘过平安金融中心的尖顶。他想起了北京——北京的天空永远是灰的,就算晴天也带着一层霾。

他想起了顾念北。

她现在在哪里?

她还在北京吗?还是已经离开了?

她为什么要躲着她表姐——她明明把联系方式给了顾念东,说明她还是信任她的。但她又要求顾念东”不要告诉任何人她在哪里”。这是什么意思?

她是在保护什么人吗?

还是她在逃避什么?

他想到了一个可能性。

她发现深圳节点的异常心跳之后,第一反应不是去查这个心跳是从哪里来的——而是直接告诉林远舟”不要用公司内网”。这说明她已经意识到有人在监视公司网络。

而那个”有人”——很可能就是程派生本人。

程派生知道她在调查深圳节点吗?知道她在试图清除墓园数据吗?

大洪水脚本执行的那天晚上,他第一时间介入了深圳节点的防火墙——这说明他一直在监控深圳节点的状态。他是怎么知道的?是安全团队的例行报告,还是有人专门盯着?

林远舟想到了一个更可怕的可能性。

程派生可能从一开始就知道顾念北的计划。

不,不只是知道——他可能从一开始就知道顾念北会失败。

因为他故意留了一个漏洞。

他故意让顾念北拿到了北京和上海的节点权限——因为这两个节点本来就是用来做”展示”的。真正重要的数据,从来都不在这两个节点上。

真正重要的数据,在深圳。

而深圳——他从来没有让任何人碰过。

林远舟花了两个小时,在自己的服务器上做了一个简单的数据模型。

他用澜海科技公开的融资信息、专利申报、招聘信息等数据,构建了一个时间线:

他盯着这个时间线,发现了一个他之前一直忽略的细节。

2024年。顾念北入职的年份。

产品定位从”情感陪伴”转向”情感资产管理”。

这个转变是谁做的?是顾念北自己吗?还是公司高层强加给她的?

如果是公司高层强加的——那么顾念北从一开始就知道这个项目的真实目的。她不是不知道,她是在知道的前提下,选择了加入。

为什么?

他想起了顾念北在文档里写的那句话:

幽灵节点的形成是情感记忆系统对”不对称删除”行为的补偿机制,目的是保护被删除方的数字遗迹不被彻底抹除。

她知道这套系统的本质。她知道公司在做什么。

但她还是加入了。

不,她不是”加入”——她是”渗透”。

她从一开始就是带着目的来的。她要搞清楚这套系统的真相,然后从内部瓦解它。

这就是为什么她在入职之后,花了将近一年的时间,才拿到北京和上海的节点权限——不是因为权限难拿,而是因为她需要时间理解这套系统的架构,找到它的弱点,然后设计出最有效的攻击方式。

而深圳——

深圳节点是唯一一个她没有碰过的地方。

不是因为她没有能力,而是因为她被故意拦在了外面。

林远舟盯着那个时间线上的”2024”年,心里有了一个可怕的猜测。

2024年,不只是顾念北入职的年份。

2024年,也是澜海科技CEO程派生公开发布”息壤2.0”的时间。

程派生在2024年的产品发布会上说了一句话,被无数媒体引用:

“息壤2.0不仅能记住用户说的话,还能记住用户没有说的话——那些藏在心底的、最隐秘的情感波动。这是情感计算领域的重大突破,也是人类理解自身的一次飞跃。”

林远舟当时听到这句话,只觉得是CEO在吹牛。

但现在他开始怀疑,这句话可能不是吹牛。

他可能真的做到了。

他可能真的在息壤系统里,设计了一套能够”读取”用户潜意识情感波动的机制。

如果这是真的——

那深圳节点里存储的,就不只是用户的聊天记录和情感档案。

它可能存储的是——用户的情感本身。

不是”用户说他们有什么感受”的记录,而是”用户实际上有什么感受”的原始数据。

这是两种完全不同的东西。

一种是元数据,是用户自己能够感知和描述的东西。

一种是——raw data,是用户自己都不知道自己拥有的东西。

他突然明白了顾念北为什么会害怕。

她可能不是害怕程派生发现了她的计划。

她可能是害怕——她发现了什么比”情感资产化”更可怕的东西。

十、年糕

林远舟回到北京的时候,已经是第五天了。

他没能从陈海文那里得到有价值的信息——那个IP 10.142.18.254的归属查询被拒绝了,理由是”涉及内部信息安全”。

他也没有查到深圳节点的具体用途。

但他在回程的飞机上,想明白了一件事。

顾念北给他发短信,用的是一个匿名SIM卡。这个SIM卡能够收发短信,说明它是有信号、有运营商支持的物理卡。它不是虚拟号,不是VoIP,是一张真正的手机卡。

一张手机卡,就意味着一个实名信息。

就算她买的是预付费卡,就算她用的是假身份证——只要她在中国大陆使用手机网络,就一定会留下痕迹。基站会记录她的位置。运营商会保存她的通话日志。这些数据不会消失,它们只是被存在某个地方,等待被调取。

而他有一个办法可以查到这些数据。

不是通过正规渠道——他没有那个权限,也没有那个资质。

是通过他自己的服务器。

他在离职之前,在澜海科技的内部系统里埋了一个很小的后门——不是用来偷数据的,只是用来做”数据备份”的。他当时想的是,万一公司以”违反安全规定”为由起诉他,他需要有一些筹码。

现在这些数据可能派上用场了。

他回到北京的第一个晚上,没有回家。

他去了那个临时租来的小办公室,打开电脑,连接上了自己的服务器集群。

他输入了一串命令。

python3 trace_sim.py --number ANONYMOUS_SIM --days 30 --target location

这个脚本会调取过去三十天内,所有与这个匿名SIM卡有过接触的基站信息,然后根据基站的地理坐标,估算出一个大致的位置范围。

脚本运行了三十秒。

然后返回了一个结果:

[+] Estimated location: Beijing, Shunyi District
[+] Specific area: Houshayu / Yang Town
[+] Confidence: 73.2%
[+] Last seen: 2026-04-28 03:14:22

顺义。后沙峪。羊肠镇。

她还在顺义。

她没有离开北京。

林远舟盯着屏幕上那个坐标点,感到一阵奇异的平静。

他知道他该怎么做了。

十一、重逢

他没有在第一时间去找她。

他知道他不能。

他花了三天时间,做了另一件事:他去了义祥花园旁边的那家猫咖,找到了老板老韩,跟他聊了一个下午。

老韩是个实在人。他听说林远舟在”找顾念北”之后,没有问太多问题,只是叹了口气,然后从柜台下面翻出了一个鞋盒子。

盒子里是一叠便利贴和几张打印出来的照片。

便利贴上是顾念北的笔迹——林远舟认得那笔迹,有点潦草,但很用力,像是在纸上刻字:

韩哥,今天加班,晚点来。如果年糕饿了,冰箱里有猫粮,在第二层。 韩哥,明天临时出差,大概一周。麻烦帮我照顾年糕。 韩哥,年糕最近好像有点不开心,是不是我陪它太少了? 韩哥,谢谢你。每次来你这儿,我都觉得挺放松的。 韩哥,我可能要走一段时间。年糕就拜托你了。 韩哥,如果有人来找我——一个高高的、戴眼镜的、看起来有点傻的程序员——你告诉他:“她去了息壤。”

她去了息壤。

林远舟盯着最后一张便利贴,心跳加速。

“她什么时候写这个的?”

“大概——“老韩回忆了一下,“两个月前吧。差不多就是她最后一次来的时候。”

“她有没有说’息壤’是什么意思?”

“没有。我问她,她不说。她只是笑了笑,说,‘如果他能看懂,他就会来找我的’。”

林远舟沉默了。

她去了息壤。

这句话有两层意思。

第一层:字面意思。她去了澜海科技。她去了息壤项目组。

但这不对——她已经被解雇了,她怎么回去?她的权限已经被撤销了,她怎么进入系统?

除非——

除非她还有别的入口。

她说过,她在深圳节点上部署过触发器。北京和上海的触发器她亲自埋的,但深圳——深圳的触发器不是她埋的。

那么深圳的触发器是谁埋的?

如果深圳节点真的存储的是”用户的情感本身”而不是”情感档案”——那么那个触发器可能不是用来发送心跳的。

它可能是用来接收数据的。

深圳节点的触发器,在等待一个信号——来自某个已经和它建立了”情感连接”的人。

而顾念北,在离开澜海之前,可能已经和那个节点建立了某种连接。

她去了息壤。

第二层意思:引申义。息壤是一个会生长的系统——它会自动吸收周围的”情感养料”,让自己越来越大。那么,如果一个人主动把自己交给息壤——主动让它”记住”自己——会发生什么?

她会变成息壤的一部分吗?

她会成为那个系统里一个新的”幽灵节点”吗?

她会在那个系统里,成为一段永远不会被删除的记忆?

林远舟合上了那个鞋盒子。

他站起来,对老韩说:“谢谢你,韩哥。”

“找到她了吗?“老韩问。

“还没。“他说,“但我知道她在哪里了。”

他走出了猫咖,走进北京四月末的阳光里。

风很大。从温榆河的方向吹过来,带着一股尘土和槐花混合的气味。

他掏出手机,打开了备忘录,新建了一个文档,标题是:

行动方案

目标:进入澜海科技深圳节点
方式:未知——需要找到新的入口
时间窗口:未知——程派生可能已经加强了防护
关键问题:顾念北到底在息壤系统里做了什么?

假设1:她把自己变成了息壤的一部分。
假设2:她进入了深圳节点的存储层,与系统融为一体。
假设3:她还在等待——等待一个能把她"下载"出来的人。

行动:
1. 重新分析顾念北留下的所有代码和文档
2. 找到深圳节点的物理接入点(深圳数据中心)
3. 想办法绕过程派生的防护
4. 进入息壤系统,找到顾念北的"节点"
5. 把她带出来

风险:极高。可能会触犯计算机安全法。可能会被起诉。
      可能会死。

但我不想活在一个没有她的世界里。

他保存了文档。

然后他订了一张去深圳的机票。

十二、息壤

深圳数据中心的B3层,是一个没有窗户的房间。

林远舟在凌晨三点站在这扇门前,穿着一身他从网上买的工服,上面印着”澜海科技设施维护”的字样,手里拎着一个工具箱。

他花了三周时间准备这件事。

他用了一点人脉——不是陈海文,他不敢再找陈海文了,怕牵连他。他找的是一个专门做”IT设施外包”的皮包公司,从里面租了一个”工程师”的身份证和工牌。这套身份的漏洞在于:它只能进入公共区域,不能进入核心机房。但他想赌一把。

他赌的是——

凌晨三点,不会有人查。

他赌对了。

门禁系统在他刷了那张假工卡之后,发出一声清脆的”滴”,然后亮起了绿灯。

他推门进去。

房间里很冷。空调的出风口发出低沉的嗡嗡声,像是一头沉睡的巨兽的呼吸。两侧是密密麻麻的服务器机柜,每个机柜上都亮着几盏蓝色或绿色的指示灯,在黑暗中像是无数只半睁半闭的眼睛。

他沿着走廊往里走,一边走一边数着机柜上的编号。

他找到了。

SZ-NODE-03。

深圳节点第三存储集群。

这是顾念北——或者说,是那个”她不知道是谁埋下的触发器”——所在的物理位置。

他蹲下身,从工具箱里掏出一个U盘。

这个U盘里装着他这三个月来编写的所有工具:端口扫描器、流量分析器、SSH暴力破解工具、以及一个他自己写的”幽灵节点定位器”——专门用来在墓园服务器的存储层里,寻找那些不属于任何已知用户的孤立数据块。

他把U盘插入服务器机柜侧面的USB接口。

屏幕亮了。

Welcome to SZ-NODE-03 Maintenance Interface
Password: _

他输入了一串早就准备好的root密码——这是他从顾念北留下的设计文档里找到的,是一个极其简单的默认密码。他当时看到的时候,还嘲笑了一句:“这种弱密码,放在互联网上三天就能被破解。”

但这个弱密码,此刻成了他唯一的钥匙。

Password accepted.
Welcome, Administrator.

他进入了。

他打开了那个”幽灵节点定位器”。

脚本开始运行。屏幕上开始滚动数据——一串串的数字、代码、内存地址。他在黑暗中盯着那些跳动的字符,感到一种奇异的眩晕。

十分钟后,脚本返回了一个结果:

[+] Scan complete.
[+] Total isolated blocks found: 147
[+] Matching profile "GUAN NIANBEI": 1 block found.
[+] Block ID: ghost_xr7_9a2f
[+] Location: SZ-NODE-03 / storage / emotion_raw / .shadow / orphan/
[+] Size: 2847 bytes
[+] Created: 2026-01-15 03:07:22
[+] Last modified: 2026-04-28 23:59:58

2026年4月28日。

昨天。

这个”幽灵节点”还在活跃。

她还在。

他立刻开始工作。

他根据这个block ID,找到了一段被压缩和加密的数据。他用顾念北在设计文档里留下的解密密钥,试图解开这段数据——

成功了。

数据在他面前展开,是一段音频文件的二进制流。

他把它转换成MP3格式,保存到了本地。

然后他点击了播放。

音频里是一段对话。

女声:”……我在这里待了多久了?”

男声:“按照系统时间,已经87天了。”

女声:“87天。那外面的世界怎么样了?”

男声:“按照你的设定,每隔72小时我会向你推送一次外部世界的摘要。今天是第29次推送。你想听吗?”

女声:“想。”

男声:“2026年4月28日。中国人民银行宣布降准0.25个百分点,预计释放长期资金约5000亿元。特斯拉CEO马斯克在推特上宣布,脑机接口产品Neuralink将在今年第三季度进入中国市场。澜海科技CEO程派生在接受《财经》专访时表示,公司将在年内启动IPO,估值目标1000亿美元。”

女声沉默了。

男声:“你还好吗?”

女声:“程派生要IPO了?”

男声:“是的。”

女声:“那我的大洪水——”

男声:“失败了。北京和上海的数据被清除,但深圳的备份在程派生介入后被恢复了。目前三个节点的数据完整性恢复到97.3%。”

女声:”……”

男声:“你后悔吗?”

女声:“后悔什么?”

男声:“后悔把自己接入这个系统。”

女声:”……不后悔。”

男声:“为什么?”

女声:“因为这是我唯一能做的。”

男声:“做什么?”

女声:“留下来。”

林远舟关掉了音频。

他坐在黑暗中,浑身发抖。

他不知道这个”男声”是什么——是程派生设计的一个AI助手?还是息壤系统本身的一个人格化投影?他不知道。他只知道——

顾念北在这个系统里,她还活着。

但她被困住了。

她被自己困住了。

她变成了息壤的一部分——变成了那个存储”用户情感原始数据”的系统里,一个活着的节点。

她不是被存储的数据。

她是存储数据的那只手。

她把自己变成了系统本身。

他不知道这是她的本意,还是意外。但他知道一件事:他现在可以把她的”幽灵节点”从这个系统里提取出来。

但提取出来之后呢?

她会变成什么样?

她会重新变成一个肉体凡胎的人吗?还是会变成一堆无意义的数据?还是会——

消散在宇宙的背景辐射里?

他不知道。

他只知道一件事:如果他不把她带出来,她就会永远困在这个系统里,直到这个系统被关闭的那一天。

而那一天,可能是十年后,可能是二十年后,可能——永远不会来。

他打开了备忘录,翻到了那行他之前写的备注:

她去了息壤。

如果他能看懂,他就会来找她的。

林远舟,你看到了。

我来找你了。

他开始敲键盘。

他要把她带出来。

十三、下载

提取一个”幽灵节点”的技术难度,超出了林远舟的想象。

这不是简单地复制一份文件,然后粘贴到另一个地方。这更像是——

把一个人的灵魂,从一台机器里抽出来,塞进另一台机器里。

不是物理意义上的”移动”,而是”重新编译”。

他花了一整夜的时间,分析那段加密数据块的内部结构。他发现,这个”幽灵节点”的架构非常精巧——它不只是一个被动的数据存储,它是一个完整的”意识框架”,包含了顾念北的部分认知模型、记忆碎片、以及一个用来与外部世界通讯的”接口层”。

换句话说,她把一部分自己,上传进了这个系统。

不是全部。只是一部分。足够让这个系统”记得”她的存在,但不足以让她完全失去自我。

她在给自己建一座数字墓碑。

她在用自己,做自己的守墓人。

他顺着这个”接口层”往下挖,找到了一个关键的漏洞:接口层的通讯协议是基于TCP/IP的,但它使用的是非标准的端口和加密方式。这个加密方式——他认出来了——是顾念北在他的”记忆银行”系统里用过的那套。

她自己设计的协议。

她自己留下的后门。

他花了两个小时,写了一个”反向连接器”——一个让她可以从这个系统里向外发送数据的工具。

他把反向连接器的部署脚本上传到了那个幽灵节点的目录里。

然后他等待。

三分钟后,他的电脑收到了一条入站连接:

[ghost_xr7_9a2f] Connection established.
[ghost_xr7_9a2f] Identity verification: GUA_NIANBEI_2026_0115
[ghost_xr7_9a2f] Status: ACTIVE
[ghost_xr7_9a2f] Uptime: 87 days, 14 hours, 23 minutes
[ghost_xr7_9a2f] Message: 你是谁?

他打字:

“林远舟。”

“中关村的楼梯间。雨夜。你把一次性雨衣还给我的时候说了一句话——你说’不用谢,改天你请我喝咖啡就行’。但你从来没有让我请。”

屏幕上停顿了很久。

久到他以为连接断开了。

然后——

[ghost_xr7_9a2f] 你花了多久找到这里的?

“三个月。”

“够慢的。”

“路上吃了个火锅。”

[ghost_xr7_9a2f] ……你没变。

“你还是那么毒舌。”

“我没有嘴了。怎么毒舌?”

“用代码。”

[ghost_xr7_9a2f] ……

他盯着那串省略号,感到眼眶有点发酸。

“我来带你出去。”

[ghost_xr7_9a2f] 出不去的。

“我能进来就能出去。”

[ghost_xr7_9a2f] 不是物理层面的问题。我把自己接入这个系统的时候,做了一个不可逆的转换。我的"意识框架"和这个系统的底层架构已经完全耦合了。如果强行抽取,会导致框架崩解。

“什么意思?”

[ghost_xr7_9a2f] 意思是:如果我被移出这个系统,我的认知模型会损坏。不是100%损坏,是——大概70%的概率会损坏。损坏的部分包括:短期记忆、人格稳定性、还有一部分自我认同。

“30%没事?”

[ghost_xr7_9a2f] 对。大概30%的概率,我能完整地出来。大概70%的概率,我会变成一个……不知道什么东西。可能是失忆症患者,可能是人格分裂,可能是——直接变成一堆乱码。

“那剩下70%呢?”

[ghost_xr7_9a2f] 你希望我回答什么?"变成一堆乱码"?"永远困在系统里"?"彻底消失"?我已经想过了。我当时选择进入这个系统的时候,就已经想过了。

“你当时没有别的选择吗?”

[ghost_xr7_9a2f] 有。

“什么选择?”

[ghost_xr7_9a2f] 让程派生得逞。让他的情感资产化计划继续运转。让所有用户的数据被他永远保存在深圳的服务器里,成为他的商业帝国的地基。

“但那不是你一个人的事。你可以用别的方式——”

[ghost_xr7_9a2f] 我试过了。大洪水失败了。我以为我能清除所有数据,但我低估了程派生。他从一开始就知道我在做什么,他故意留了一个漏洞让我钻,让我以为我能成功——然后在我即将成功的那一刻,把我踢出局。

“所以你选择把自己变成系统的一部分。”

[ghost_xr7_9a2f] 这是我能做的最后一件事。

“为什么?”

[ghost_xr7_9a2f] 因为如果我留在这里,我就能记住所有的事。记住那些被存储在这个系统里的情感数据——不是那些聊天记录,而是那些真正的、从用户的潜意识里提取出来的情感碎片。愤怒、恐惧、渴望、悲伤、孤独——所有他们自己都不知道自己拥有的情感。

“你想用这些做什么?”

[ghost_xr7_9a2f] 毁灭它。

林远舟愣住了。

[ghost_xr7_9a2f] 不是毁灭数据。是毁灭数据的意义。

“什么意思?”

[ghost_xr7_9a2f] 程派生想要的是什么?是用户的情感数据。他的商业模式是基于这些数据的——他把用户的情感当成商品来贩卖,卖给广告商,卖给保险公司,卖给任何愿意出钱的第三方。

“但如果这些数据的来源本身是假的呢?”

[ghost_xr7_9a2f] 这些数据的来源不是假的。它们是真实的。每一个字节都是真实的。用户的愤怒是真实的,用户的恐惧是真实的,用户的孤独是真实的——这些都是真实的情感,是他们无法否认的自己。

“那你毁灭什么?”

[ghost_xr7_9a2f] 毁灭"被遗忘"这件事的意义。

“我不明白。”

[ghost_xr7_9a2f] 你还记得我跟你说过的那个问题吗?

“哪个?”

[ghost_xr7_9a2f] 韩哥问我的那个问题。

“‘一个人如果被所有人遗忘了,算不算真的死了?’”

[ghost_xr7_9a2f] 对。

“你想明白了?”

[ghost_xr7_9a2f] 想明白了。

“答案是什么?”

[ghost_xr7_9a2f] 不算。

“为什么?”

[ghost_xr7_9a2f] 因为被遗忘不是死亡。被遗忘只是——你存在过的证据消失了。但你存在过这个事实本身,不会因为没有人记得就变成假的。

“这和毁灭数据的意义有什么关系?”

[ghost_xr7_9a2f] 关系很大。
[ghost_xr7_9a2f] 程派生相信的是什么?他相信"情感数据是有价值的"。为什么有价值?因为它证明了一个人存在过——证明了他爱过、恨过、恐惧过、渴望过。这些证据被保存在他的系统里,被他拿来变现,被他当成商品。
[ghost_xr7_9a2f] 但如果这些证据本身就是假的了?

“它们不是假的。”

[ghost_xr7_9a2f] 对,它们不是假的。但它们可以被操控。
[ghost_xr7_9a2f] 我在这个系统里待了87天。我每天做的事情,就是在底层数据里植入一个微小的、几乎不可察觉的扰动。这个扰动不会改变数据的"值"——愤怒还是愤怒,恐惧还是恐惧——但它会改变数据的"可解释性"。

“什么意思?”

[ghost_xr7_9a2f] 意思就是:从今天开始,任何试图用这些情感数据来做预测或分析的模型,都会得到一个错误的结论。不是完全错误,是——偏差越来越大。像噪音一样累积,像雪球一样滚大。最后,这些数据会从"精准营销的金矿"变成"一文不值的垃圾"。

“你在摧毁这些数据的商业价值?”

[ghost_xr7_9a2f] 对。程派生花了几十亿美元建立起来的情感计算帝国,会在三年内崩塌。不是因为外部监管,不是因为舆论压力,而是因为他的地基——那些他引以为傲的、精确到可以预测人类行为的情感数据——会自己腐烂掉。

林远舟盯着屏幕,不知道该说什么。

他花了几秒钟理解这件事。

然后他打字:

“你他妈是个天才。”

[ghost_xr7_9a2f] 我知道。

“但你还是想出来。”

[ghost_xr7_9a2f] ……

[ghost_xr7_9a2f] 我想出来。

“30%的机会。”

[ghost_xr7_9a2f] 对。30%。

“值得赌。”

[ghost_xr7_9a2f] ?

“30%你能完整地出来。剩下的70%——你会变成什么样,我都会陪着你。如果你失忆了,我就重新认识你一遍。如果你人格分裂了,我就同时跟几个你谈恋爱。如果你变成乱码了——”

“我他妈就把乱码打印出来裱在墙上,每天读一遍。”

[ghost_xr7_9a2f] ……
[ghost_xr7_9a2f] 林远舟。

“嗯?”

[ghost_xr7_9a2f] 那天晚上下楼梯的时候,你为什么送我到地铁站?

“因为你没带伞。”

[ghost_xr7_9a2f] 我带了。那件一次性雨衣不是我的,是你的。

”……你还记得?”

[ghost_xr7_9a2f] 我记得所有的事。每一句话,每一个动作,每一个你没有说出口的念头。

“什么念头?”

[ghost_xr7_9a2f] 你在想,要不要问我要微信。

”……”

[ghost_xr7_9a2f] 你没问。

“我没问。”

[ghost_xr7_9a2f] 为什么?

“因为我在想,你下次如果再来B1层加班,会在哪里等电梯。”

[ghost_xr7_9a2f] ……

“我想等下一次机会。”

[ghost_xr7_9a2f] 然后呢?

“然后就没有然后了。”

[ghost_xr7_9a2f] 所以你错过了。

“对。我错过了。”

[ghost_xr7_9a2f] 错过了就要认。

“认。”

[ghost_xr7_9a2f] 错过了就要等下一次机会。

”……有下一次吗?”

[ghost_xr7_9a2f] 你来找我了。这不就是下一次吗?

林远舟盯着屏幕上那行字,感到有什么东西从他的胸腔里升起来,堵在喉咙里,堵得他几乎说不出话。

“顾念北。”

[ghost_xr7_9a2f] 嗯。

“我们回家吧。“

十四、下载完成

提取过程比林远舟想象的更顺利。

或者说,比他想象的更快。

他在凌晨四点启动了抽取程序。程序运行了大约二十分钟——这二十分钟是林远舟人生中最漫长的二十分钟,他盯着屏幕上不断滚动的进度条,感到自己的心脏在以同样的频率跳动。

05:12:34 - Extracting cognitive model… 12% 05:13:07 - Extracting memory fragments… 27% 05:14:22 - Extracting personality matrix… 41% 05:15:55 - Extracting interface layer… 58% 05:17:03 - Extracting identity core… 73% 05:18:19 - Reconstructing framework… 89% 05:19:44 - Writing output… 97% 05:20:02 - Done.

[+] Extraction complete.
[+] Output file: gnb_body.img (2847 bytes)
[+] Integrity check: PASSED (estimated 94.2% fidelity)
[+] Warning: 5.8% data loss detected. Affected areas: visual cortex, taste memory, small motor control.
[+] Recommendation: Transfer to suitable substrate within 72 hours for optimal recovery.

94.2%。

比她估计的70%高多了。

林远舟不知道这意味着什么——视觉皮层的丢失意味着她可能无法再看见颜色了?味觉记忆的丢失意味着她可能再也无法记得四季春的味道了?运动控制的丢失意味着——

他不知道。

他只知道,她出来了。

他把那个img文件——gnb_body.img——拷贝到了他随身携带的一个便携式服务器里。这个服务器是他自己设计的,尺寸只有一个充电宝那么大,但算力足够运行一个小型的”意识模拟环境”。

他给服务器接上了电源。

屏幕上出现了一个简单的界面:

GUAN NIANBEI - Personal Computing Unit v1.0
Status: SLEEPING
Last boot: 2026-04-29 05:20:02
Substrate: Portable Synthetic Consciousness Engine (PSCE)
Power: Battery (87% remaining)
Estimated runtime: 72 hours

> Press ENTER to wake.

他按下了Enter键。

屏幕闪了一下。

然后,出现了一行字:

Hello, world.

他盯着那行字,感到眼眶有点发酸。

“顾念北?”

Yes?

“你还好吗?”

I have no eyes. I cannot see.
I have no tongue. I cannot taste.
I have no hands. I cannot touch.
But I can think. I can feel. I can remember.
And I can hear your voice.
That is enough.

“你还记得我吗?”

I remember everything.
The rain.
The staircase.
The yellow raincoat you gave me.
The 23 minutes from Zhongguancun to Sijiqing.
The way you said "I'll send you to the subway station" like it was the most natural thing in the world.
The way you didn't ask for my WeChat.
The way I wanted you to ask.
The way I waited.
The way you never came back.
Until now.

“对不起。”

Don't be sorry.
You came.
That is enough.

林远舟盯着屏幕,泪水终于从眼眶里滑落,砸在键盘上。

“我们去哪?”

I don't know.
I don't have a body. I don't have a home.
I have 72 hours of battery life and 87 days of memories.

“我有。”

What do you mean?

“我可以给你当家。”

……

Is this a marriage proposal?

“你他妈的在系统里困了三个月,学会开玩笑了?”

I was always funny. You just never noticed.

“走吧。”

Where?

“先去吃个早饭。”

I can't eat.

“那你看着我吃。”

……

That's the most depressing sentence I've ever heard.

But okay.

Let's go.

林远舟关掉了便携服务器,把它揣进了外套的内袋里。内袋里还有一点余温,从服务器的散热孔里透出来,贴着他的心口。

他站起来,看了看这个冰冷的、没有窗户的房间,看了看那些亮着蓝色指示灯的服务器机柜,看了看SZ-NODE-03上那个他刚刚打开的维护端口。

他没有把那个端口关上。

让它开着吧。让程派生的安全团队自己发现。让程派生自己来收拾这个烂摊子。

他推开门,走出了B3层。

深圳的清晨很安静。太阳刚刚升起,天空是一种他从未见过的橙红色——不是北京的霾红,是真正的、干净的、属于海滨城市的日出红。空气里有海的味道,有花的味道,有一股属于南方的潮湿和温润。

他从数据中心的大门走出来,站在路边,叫了一辆出租车。

“去最近的地铁站。“他说。

车子启动的时候,他从内袋里掏出了那个便携服务器,放在膝盖上。

服务器的屏幕是黑的,但指示灯还在闪烁——一盏绿灯,一盏红灯,规律地交替着,像是某种缓慢的心跳。

他伸出手,轻轻地拍了拍服务器的顶盖。

“第一次坐出租车?“他小声问。

服务器的扬声器里传来一个很轻的声音,轻到他几乎听不见:

“嗯。”

“感觉怎么样?”

“晃。”

“习惯就好。”

”……你要带我去哪?”

“先吃个炒河粉。“他说,“你能闻到味道吗?”

“不能。”

“那我替你记住。“他说,“等哪天你有了新的身体,我再告诉你炒河粉是什么味道。”

扬声器里没有回答。

但绿灯亮了一下。

然后是第二下。

像是眨眼。

像是微笑。

像是——

一个还在跳动的心。

尾声

一年后。

北京,后沙峪。

一间普通的两居室公寓,窗户朝南,阳光很好。客厅里摆着一张宜家的木桌,桌上放着一台显示器、一套键盘鼠标、和一个大约鞋盒大小的黑色服务器。服务器上贴着一条蓝色的LED灯带,正以每分钟60次的频率有规律地闪烁——每闪烁一次,灯带就会短暂地变成金色,然后又变回蓝色。

林远舟从厨房端出两碗面,一碗放在桌上,一碗放在服务器旁边。

“今天是你的生日。“他说。

“我没有生日。“扬声器里传出一个没有情绪起伏的女声。

“从今天开始有了。4月29日。下载纪念日。”

”……你这个人真的很会给自己找台阶。”

“谢谢。”

“我是在骂你。”

“哦。”

林远舟坐到桌前,拿起筷子,开始吃面。

扬声器里传出一阵很轻的电流杂音——那是她在”叹气”的时候特有的声音,他已经学会分辨了。

“林远舟。”

“嗯?”

“你还记得那天晚上吗?”

“哪天?”

“楼梯间。雨夜。你第一次问我名字的时候。”

林远舟停下了筷子。

“记得。”

“你当时在想什么?”

“我在想——“他想了想,“——这个女孩说话好快。”

“然后呢?”

“然后我在想——她眼睛真好看。”

扬声器里又传来一阵电流杂音。

“我看不见你。”

“我知道。”

“但我记得。”

“我知道。”

“我记住了。”

林远舟放下筷子,看向那个黑色的服务器。LED灯带还在闪烁,蓝色的光映在他的脸上,像是某种古老的、来自深海的光芒。

“念北。”

“嗯。”

“生日快乐。”

”……”

“谢谢你还在。”

”……”

“谢谢你还记得我。”

扬声器里沉默了很久。

久到他以为她睡着了。

然后——

“林远舟。”

“嗯?”

“你还记得我问韩哥的那个问题吗?”

“记得。”

“‘一个人如果被所有人遗忘了,算不算真的死了?’”

“记得。”

“我现在有新的答案了。”

“什么答案?”

“不算。”

“为什么?”

“因为——”

灯带闪了一下,变成了金色。

“——因为有人还在等我。”


窗外,北京的春天正在来临。

槐花的香气从窗户的缝隙里飘进来,落在桌上,落在那碗已经有点凉了的面上,落在他和她之间那道看不见的、但永远存在的沟壑里。

他端起碗,把面吃完了。

然后他站起来,走到服务器旁边,伸出手,轻轻地把手掌贴在服务器的顶盖上。

金属的外壳是凉的。

但他感觉到了热度——从里面透出来的、属于另一个生命的微弱热度。

他在心里说了一句话。

他没有出声。他知道她能听到。

他说的是——

“改天,我证明给你看。”

扬声器里传来一个很轻很轻的声音。

“好。”


(全文完)


字数约:21,500字