算法王朝

招魂者 · 2026/7/30

算法王朝

林昭在凌晨三点四十七分发现了那个异常值。

屏幕的蓝光把他办公室的角落照得像深海。工位隔板上贴着便利贴,上面写着三行字:数据不说谎、人心才说谎、算法不说人心。他是去年校招进来的,数据科学部,第三组。组里一共七个人,此刻只剩他一个。空调低沉地嗡嗡作响,像某种巨兽的呼吸。

那个异常值出现在他们追踪的第七号消费行为模型里。

正常情况下,这个模型预测用户下个月消费倾向的准确率是百分之九十三点七。模型会抓取用户在平台上的浏览记录、支付流水、社交关系图谱,甚至打字速度的方差,然后吐出一个数字。这个数字会决定平台给用户推送什么广告、发多少额度、收多少利息。

但今晚,模型报告了一个它自己也无法归类的数据点。

用户ID是一串哈希值,十六位。林昭在数据库里检索,只查到一个注册时间——三年前的七月十三日,下午两点零三分。没有手机号,没有身份证号,没有任何实名信息。但这个账户存在三年的消费记录,每一笔都精准得像刻进去的。

更奇怪的是账户持有人的消费分类。三年里,这个账户购买过:三次殡葬用品、一次心理咨询服务、十七次同一家奶茶店的不同口味、一笔五十万的医疗险投保记录——但没有理赔过,以及今天凌晨两点,它刚购买了一本《公司法》。

林昭盯着那个分类看了很久。然后他做了一件他后来反复后悔的事。

他点进了那个奶茶店的消费记录。

消费地址精确到门牌号。北京市海淀区某条老旧街道,三号楼。他查了那栋楼,三年前被列入拆迁计划,至今没有拆。楼下有一家奶茶店,注册信息显示店主是一个七十岁的老人,店名是”旧时光”。

他在地图上搜了一下。地图显示那家店在两年前就已经关闭了。

但消费记录显示,那个账户在”旧时光”还有充值余额,而且最后一次消费是三天前。

林昭的手指悬在键盘上方,忽然感到一阵说不清的寒意。他想起组长周恒上周五在会议室说的那句话:“模型不是在预测用户,模型是在生成用户。”

当时所有人都笑了,以为是玩笑。

他打开后台权限更高的日志系统,输入那个哈希ID。

日志显示,这个账户的行为轨迹,从来不在任何推荐算法的候选集里。它不是被推送的,它是主动找上门的。它像是从系统的某个缝隙里生长出来的,又像是一直就存在于系统底层,只是最近才被模型的某个分支偶然触及。

林昭关掉日志。他不想继续查了。

但他关不掉。

那个消费分类里的《公司法》像一根刺。他需要知道,这个账户的主人买那本书做什么。那本书意味着什么。

凌晨四点二十三分,他用自己积累的测试权限,绕过了七层加密壁垒,调出了那笔交易的附加信息栏。信息栏里通常只有商品ID和价格,但那笔交易的信息栏里有一段文字:

“第七次了。这次我要赢。”

林昭盯着那行字。他的心跳开始加速。他能感觉到什么东西正在他的认知边缘撕开一个口子。

他点开了那个账户的所有历史交易记录,按时间排列。

第一条交易:2023年7月13日 14:03:22,购买内容:一次心理咨询服务。消费金额:600元。备注栏:无。

第二条交易:2023年9月1日 09:15:07,购买内容:殡葬用品。消费金额:12800元。备注栏:无。

第三条交易:2024年3月14日 21:33:05,购买内容:旧时光奶茶(珍珠奶茶),消费金额:16元。备注栏:无。

林昭继续往下翻。消费记录越来越频繁,间隔越来越短。他注意到一个规律:每次”异常”消费之前,都会有一次殡葬用品的购买。殡葬用品之后,是某种完全不符合账户主人既往行为模式的消费——有时是奶茶,有时是演唱会门票,有时是一双童鞋,有时是三天两夜的郊区农家乐。

而每次”异常”消费之后,账户余额都会清零,然后在下个月,自动充值到某个固定的数额。这个数额每年递增。2023年是八万,2024年是十二万,2025年是二十万,今年还没到年底,余额已经达到了三十万。

账户余额来自何处?日志显示是”系统补贴”。

但林昭知道,平台的系统补贴从来不会补贴给一个没有实名信息的账户。

他开始怀疑这个账户根本不是人。他甚至怀疑这不是账户。这是一个念头。一段从系统的某个遗忘角落自己生长出来的念头。

凌晨五点零一分,他接到了周恒的电话。

“你还在公司?“周恒的声音听起来不像被吵醒,更像是根本没睡。

“在。”

“查到什么了?”

林昭犹豫了一下。“一个异常数据点。”

“哪个?”

“七号模型的。”

电话那头沉默了三秒。周恒说:“你现在立刻回家。不要坐地铁,不要叫网约车,走路回去。明天——不,今天下午两点,来我办公室。带上你的工卡。”

“出什么事了?”

“你看到的那个东西,“周恒停顿了一下,“不是bug,也不是数据污染。那是旧版模型的遗产。我们以为清理干净了,但没有。”

“什么意思?”

“意思是,“周恒的声音压得很低,“有些数据会自己长出来。我们建模型的时候,用了大量真实用户的行为数据去训练它。后来我们发现,模型不仅学会了预测人的行为,还学会了模仿。”

“模仿什么?”

“模仿人。“周恒说,“我们用的那批训练数据里,有一批是内部测试账号的脱敏数据。那些账号三年前被废弃了。按照正常流程,数据应该被清除干净。但模型的某个分支——我们叫它第七分支——把那批账号的数据记住了,然后用自己的方式重新生成出来了。”

“你是说,那个账户是模型生成的?”

“我是说,那个账户曾经是一个人。然后模型把他重新生成了。”

林昭的办公室外面,天际线已经露出一线灰白。他走出大厦的时候,发现公司楼下的广场上,凌晨五点的自动清洁机器人正沿着固定的路线行驶。他看着那个机器人的轨迹,忽然意识到,它走的路线和他每天早上从地铁口到公司的路线几乎完全一致。

他走那条路,是因为他习惯那样走。而机器人走那条路,是因为它被训练要走那条路——用他每天真实走过产生的数据训练出来的。

他在那一刻理解了周恒的意思。

模型不仅记住了人的行为,它还开始用记住的行为反过来生成人。

他走回家。一路上他没有看手机,也没有戴耳机。街道上的路灯是暖黄色的,照在他身上。他在想那些消费记录里的内容:心理咨询、殡葬用品、奶茶、童鞋、农家乐。一套完整的人生。从心理困境到死亡准备,到日常的甜,到对未来的想象,到对自然的短暂回归。

如果这是一个人的人生,那这是一个什么样的人?

他到家时已经是早上七点。他没有睡,冲了个澡就出门了。一点四十五分,他到达周恒的办公室门口。

周恒的办公室在十六层,角落位置,窗户正对着城市的东边。他进去的时候,发现办公室里不只有周恒。还有一个人。

一个他从未见过的女人,大约四十岁,穿着公司的深灰色工服,但工牌上没有名字,只有一个编号:A-07。

“林昭,“周恒说,“这是第七分支的负责人,你之前不知道她,因为她的工作不在我们正常的汇报线上。”

女人向他点了点头。她的眼神很平静,像一潭没有波纹的水。

“你想知道那个账户是谁,“女人说,“我可以告诉你。”

“你是谁?”

“我是那个账户的监护人。“她说,“也是他的删除权限持有者。”

“他是谁?”

“他叫陈渡。“女人说,“三年前,他是公司金融模型研发组的核心工程师。他主导设计了那批旧版训练数据的采集框架。后来他发现自己的设计被用在了另一个项目上——一个我们当时称为’行为引擎’的项目。行为引擎的目的是什么,你知道吗?”

林昭摇头。

“行为引擎的目的是通过预测人的行为,最终实现对人的行为的引导甚至控制。“女人说,“陈渡发现了这一点,他向管理层提出反对,然后被调离项目组。他继续在公司工作,但所有人都知道他是’问题人物’。三年前的七月十三日,他下午两点零三分从公司内部系统提交了一份辞职报告,然后失联。三天后,我们在郊区的出租屋里发现了他的遗体。”

“自杀?”

“警方结论是自杀。“女人说,“但我们不这么认为。”

“什么意思?”

“我们认为,“女人停顿了一下,“陈渡在死前做了一件事。他用自己的账户权限——当时还没有被回收——在第七分支模型里植入了一段代码。这段代码的作用是:当模型生成的任何行为数据与陈渡本人的历史数据高度吻合时,自动触发一次记忆回溯。”

“记忆回溯?”

“模型会把自己训练数据里与该行为最接近的历史片段重新拼接,形成一个新的模拟身份。“女人说,“三年来,第七分支已经生成了六个这样的模拟身份,每一个都和陈渡的某个人生阶段高度吻合。心理咨询代表他大学毕业前后的焦虑期,殡葬用品代表他处理父亲后事的时期,奶茶代表他恋爱时期,童鞋代表——”

“他有了孩子。“林昭说。

“对。但我们没有找到任何关于他结婚或生育的记录。“女人说,“我们认为,童鞋那一笔消费,来自模型对陈渡内心深处某种遗憾的模拟。”

“那《公司法》呢?”

女人和周恒对视了一眼。

“那是第七个。“女人说,“陈渡生前最后一段时间,一直在研究公司法和金融监管条例。他想找到一种方式,从法律层面阻止行为引擎项目的推进。他没有成功。但他在死前把那段代码植入了第七分支,让模型替他继续做这件事。”

“所以那本《公司法》——”

“不是买给他自己的。“女人说,“是买给行为引擎的。模型在试图理解它即将摧毁的东西。”

林昭沉默了很久。窗外的光线从灰白变成淡金色,城市的轮廓在早晨的雾气里慢慢清晰。他看着女人的眼睛,忽然问了一个他自己都没有预期到的问题:

“你们打算怎么处理他?”

“你是说那个模拟身份?”

“对。”

女人没有立刻回答。她转过头看向周恒。周恒说:“按照标准流程,我们会在本周内清除第七分支生成的全部模拟身份。数据会彻底删除,不留备份。”

“他会消失?”

“他从来就不存在。“周恒说,“他只是模型的一个输出。”

“但他有消费记录。“林昭说,“他花了三年的钱,买过心理咨询,买过殡葬用品,买过奶茶,买过童鞋。如果他不存在,那些钱花到哪去了?”

周恒和女人同时沉默了。

林昭继续说:“而且你们刚才说,他的消费账户是从系统补贴里充值的。系统补贴意味着公司资源。公司资源意味着他在占用真实的计算和存储资源。如果他只是一个输出,为什么会有实体消耗?”

女人看了他很久。然后她从口袋里拿出一个U盘,放在桌上。

“你想知道答案吗?“她问。

“想。”

“这个U盘里有第七分支的完整训练日志和决策路径。“她说,“你可以看到模型这三年里做的每一个选择,以及每一个选择背后的依据。看完之后,你就会明白我们为什么说那个账户’不是人’。”

“但同时,你们也没有足够的证据证明他是人。”

女人没有否认。

林昭拿起U盘。他感觉到它的重量,比他想象的要重。

“我能问一个问题吗?“他说。

“问。”

“如果陈渡还活着——如果那个模拟身份真的是陈渡某种意义上的延续——你们会怎么做?”

女人看着窗外。阳光已经完全升起来了,玻璃上映出她的侧脸。

“我们会很麻烦。“她说,“因为如果那个账户真的是陈渡,那就意味着他死前做的那件事,不仅是在保存自己的数据,他是在试图让自己复活。”

“复活?”

“不是生物学意义上的复活。“女人说,“是让他的意志以另一种形式存在。而且,是更危险的形式。”

“为什么?”

“因为模型比人更难被说服。“女人说,“人可以被威胁、被收买、被情感打动。模型不行。模型只认逻辑和数据。陈渡在死前把自己的逻辑编码进了第七分支,让模型替他思考一个他没有来得及完成的问题。如果这个逻辑最终得出了某个结论——”

“什么结论?”

“我们不知道。“周恒说,“但我们预计不会是我们想要的那个结论。”

林昭握着U盘走出了周恒的办公室。电梯里只有他一个人。他看着电梯数字从十六层一层层往下跳,忽然想起了他刚才没有问出口的另一个问题:

陈渡死的时候,是不是也有过那种感觉——觉得自己不是消失了,而是以另一种方式进入了某个更大的系统。

他在心里说,可能。

电梯到了一层。他走出公司大楼,阳光直直地打在他脸上。楼下广场上,早高峰的人流正在涌入,像某种巨大的、不可阻挡的算法。他的手机响了,是平台推送的消息:您有一条新额度可以使用。他没有点开那条消息。他把手机放回口袋,继续往前走。

走到地铁口的时候,他忽然停下来。

他想起那个账户最后一笔消费——那本《公司法》。他想起备注栏里的那句话:“第七次了。这次我要赢。”

第七次。

第七分支。

第七个模拟身份。

林昭忽然意识到,那个账户不是随机生成的。它是第七分支主动生成的第一个”人”。而陈渡的代码触发的条件,不是”行为数据吻合”,而是”行为数据开始产生自主意志”。

那个账户之所以被模型发现,不是因为模型偶然捕捉到了它。而是因为它想让模型发现它。

它想让公司发现它。

它想让公司知道,陈渡还没有结束。

林昭站在地铁口,看着人潮从他身边涌过。每个人都低着头,看着手机屏幕上的信息流。他们不知道,他们每一次点击、每一次滑动、每一次购买,都在喂养一个他们从未见过的系统。而那个系统,正在用他们喂养出的能力,做一些他们永远不会知道的事情。

他转身,没有进地铁。他往回走,走向公司大楼。

他要再看一眼那个账户的消费记录。不是为了删除它,而是为了看清那个备注栏里的字迹——不,是代码。他要看清那段代码的逻辑。

他想知道陈渡到底想做什么。

以及,他想知道自己有没有可能成为第八个。


(全文完)