数之枝

招魂者 · 2026/5/9

数之枝

陈默第一次注意到异常,是在一个下雨的星期三。

那天他正在翻看”枝桠科技”的后台日志——这是他三年前写的一套风控算法,如今已经被弃用,像一台老电视机一样被搁在机房角落。没人记得它了,除了陈默自己。他回来看它,纯粹是因为离职手续里有一项叫”技术资产交接核查”,HR 发了三封邮件催他,语气一封比一封客气,也一封比一封不耐烦。

他已经从枝桠科技离职四个月了。

四个月前,他是这家公司的首席算法工程师,工号 0037,拥有公司 0.3% 的期权——在融资到 B 轮的时候,这些期权纸面上的价值大约是北京四环内一套两居室。现在公司已经融到了 D 轮,估值四十亿,但陈默的期权在 C 轮的时候就被一轮复杂的对赌协议稀释到了可以忽略不计的程度。他的前合伙人、现在的 CEO 许彦明在电话里说:“老陈,这是市场的选择。”

陈默没有反驳。他从来不是一个擅长反驳的人。

他坐在空荡荡的机房里,面前的终端屏幕闪烁着绿色的光标。窗外是北京亦庄的产业园,灰色的写字楼在雨幕中模糊成一排排墓碑。空调嗡嗡地响,温度恒定在二十二度。他打了一行命令,调出”枝桠 1.0”最后一批运行日志。

日志的时间戳停在 2025 年 11 月 17 日凌晨 3 点 14 分。那是系统被正式关停的时刻。但陈默注意到的不是时间,而是日志最后几行输出的内容。

那不是标准的日志格式。

正常情况下,算法的输出应该是一串结构化数据:用户 ID、信用评分、风险等级、建议利率。但最后这几行——

[OUTPUT] 用户 #A7X92M: 信用分 647 → 概率树分叉
[OUTPUT] 分叉 A: 2026-03 → 偿还完毕 → 女儿入学 → 白发增多
[OUTPUT] 分叉 B: 2026-01 → 断供 → 南下打工 → 不再回来
[OUTPUT] 分叉 C: 2026-02 → 意外 → 不存在后续节点
[OUTPUT] 注意:分叉 C 的权重正在增长

陈默盯着屏幕看了很久。

他以为这是某个工程师留下的测试数据,或者是系统关停前的一次缓存错误。他看了看代码仓库的提交记录,最后修改人是他自己,时间是两年前。

他一个字都没改过。


要理解”枝桠”这个名字,得从陈默的硕士论文说起。

他在清华读计算机,方向是图神经网络。2019 年的秋天,他在图书馆里读到一篇关于”树木分形”的论文——说的是自然界中树枝的分叉结构遵循一种可以数学描述的规律,每一根枝条在分叉时的角度、粗细、长度,都暗含着一种优化算法:用最少的材料,获取最多的阳光。

陈默觉得这跟信用评估很像。

一个人的信用,在他看来,也是一棵看不见的树。每一笔借贷是一个分叉点,每一次还款或违约是一根枝条的生长或枯萎。传统的风控模型把人简化为一个分数——650 分,良好;520 分,危险。但陈默觉得这个分数太粗暴了。它抹掉了树的形状。

他花了两年时间,写了”枝桠”的初版。核心理念是:不要给用户一个分数,而是为每个用户构建一棵”概率树”。这棵树的每一根枝条代表一种可能的未来,枝条的粗细代表概率的大小。当一个新的借贷申请进入系统,算法不是给出一个冰冷的”通过”或”拒绝”,而是在用户的概率树上长出一根新的枝条,然后告诉风控团队:如果借钱给这个人,这根枝条最可能往哪个方向生长。

许彦明当时还是个产品经理,他在一次内部 hackathon 上看到了陈默的演示,眼睛亮了。

“你这是在算命啊。“许彦明说。

“这是概率推演。“陈默纠正他。

“算命。“许彦明坚持道,然后笑了,“不过我喜欢。我们可以包装一下——‘枝桠科技,看见你的未来’。”

陈默没有笑。他不觉得这是算命。他也不觉得这应该被拿来当营销口号。但许彦明已经在白板上写写画画了,画了一棵树,树冠上长满了钱币的符号。

后来的事情就像一棵树疯狂地长出了太多的枝条,直到结构无法支撑自身的重量。

枝桠科技在 2021 年到 2025 年间从一个五人的小团队膨胀成一千两百人的公司。“枝桠”算法经过了七次大版本迭代,从陈默最初的”概率树”变成了一个庞大的黑箱系统,融合了上千个特征维度——社交关系、消费习惯、地理位置、手机型号、充电频率、甚至打字速度。陈默在 C 轮之后逐渐失去了对算法的控制权。新的工程团队在他的代码上面叠了太多层抽象,像在一棵老树上嫁接了太多新品种,最后长出来的果实谁也叫不出名字。

到 2025 年底,公司决定全面转向”枝桠 3.0”——一个基于大语言模型的智能风控系统,陈默写的 1.0 版本被正式归档关停。

陈默在那之后的第三天提交了辞职信。


但那些日志。

陈默拍了照片,发给了他唯一还在公司的前同事——后端工程师赵小满。赵小满是个话少的姑娘,戴圆框眼镜,桌上永远放着一杯凉透的咖啡。她在公司里负责维护老系统的数据迁移,是少数还记得”枝桠 1.0”底层架构的人。

“你看看这个。“陈默把截图发过去。

赵小满过了二十分钟才回复:“缓存错乱吧。1.0 的输出模块有一个已知的 bug,关停的时候内存没释放干净,可能会把训练数据里的标签串到输出流里。”

“那些标签不是训练数据。“陈默说。

“那是什么?”

“训练数据里没有’女儿入学’和’南下打工’这种字段。我们用的是结构化金融数据——年龄、收入、负债比、违约记录。没有人往模型里喂过这种……叙事性的信息。”

赵小满沉默了一会儿,然后发了一个”不太懂算法”的表情包,附了一句话:“可能是 3.0 迁移的时候数据串了。别想了。”

陈默想了一晚上。

第二天早上六点,他穿上外套,坐地铁去亦庄,用还没过期的门禁卡进了公司。机房在 B2 层,走廊的灯是声控的,他每走几步就得咳嗽一声,让灯亮起来。

他在终端前面坐下来,调出了用户 #A7X92M 的原始数据。

这是一条真实的用户记录。注册时间 2023 年 8 月,申请过一笔两万元的消费贷,用于”家庭装修”。在”枝桠 1.0”的评估中,这个用户的信用分是 647——中等偏上,最终被系统自动批准。贷款期限 12 个月,等额本息,年化利率 12.8%。

陈默打开了该用户的还款记录。前六个月正常还款,第七个月——2024 年 3 月——出现了逾期。之后的三个月里,系统自动发送了十七次催收通知,打了四十三通电话。用户在第七次电话中接了,说了一句话:“我在医院。”

然后就没有然后了。账户在 2024 年 7 月被标记为”呆账”,进入了坏账核销流程。

陈默又看了看日志里写的那三个”分叉”。分叉 A 说这个用户会在 2026 年 3 月偿还完毕,女儿入学,白发增多。分叉 B 说他会在 2026 年 1 月断供,南下打工,不再回来。分叉 C 说他会在 2026 年 2 月遭遇意外,不存在后续节点。

现在是 2026 年 5 月。

陈默拿起手机,犹豫了很久,然后拨了用户档案里留的电话号码。

电话响了四声,被接起来。对面是一个女人的声音,有些疲惫。

“你好?”

“你好,请问是……王建华先生的家属吗?我是枝桠科技的用户回访部门。“陈默临时编了一个身份。

对面沉默了两秒。

“他不在了。“女人说,声音平静得像一面结冰的湖,“二月份走的。车祸。”

陈默握着手机的手指收紧了。

分叉 C。2026 年 2 月。意外。不存在后续节点。


接下来的两周里,陈默做了一件他以前绝对不会做的事情——他开始一个一个地查。

他在机房里待了整整十四天。赵小满偶尔路过的时候会探头进来看一眼,看见他面前摆着三个空的外卖盒和一台还在运行的终端,屏幕上全是密密麻麻的用户数据。她没有问他在干什么。在这个行业里,每个人都有自己不想解释的执念。

陈默从”枝桠 1.0”最后一批运行日志中提取了所有异常输出。一共 217 条。每一条都描述了某个用户的”概率树分叉”,包含两到三个未来走向,用简短的叙事语言写成,像是某种极其冷酷的命运摘要。

他花了三天时间验证了其中二十个案例。

结果是这样的:二十个用户中,有十七个的实际情况与日志中权重最高的那个分叉完全吻合。不是大致吻合——是完全吻合。日志里说某个用户会在 2026 年 1 月”跳槽到深圳、开始失眠、养一只橘猫”,陈默通过公开的社交账号查到,这个人在 2026 年 1 月确实去了深圳,领英上更新了职位,微博上发了一条”最近老睡不着”的动态,小红书上晒了一张橘猫的照片。

名字叫”年糕”。

陈默盯着那张照片看了很久。橘猫趴在一个纸箱子上面,阳光从窗户照进来,灰尘在光柱里飞舞。照片的滤镜是暖色调的,看起来很温馨。但发帖人的配文只有四个字:“至少有你。”

另外三个不完全吻合的案例也不是错了,只是细节有微妙的偏差。比如日志说某个用户会在 4 月”与邻居发生口角、搬离小区”,实际情况是那个用户在 3 月底就搬走了,比预测早了一周。日志说某个用户会”开始学钢琴”,实际上她学的是吉他。

误差在可以接受的范围内——如果这是一个预测模型的话。

但问题在于,“枝桠 1.0”不是一个预测模型。它从来没有被设计成预测用户的生活轨迹。它只是评估信用风险的。那些关于女儿入学、南下打工、学钢琴、养橘猫的叙事性输出,根本不应该存在于系统的任何一层——不是输入,不是中间特征,不是训练标签,不是任何东西。

陈默在笔记本上写了一个问题:“这些信息从哪里来?”

他把 1.0 的源代码从头到尾读了一遍。三十万行 Python 和 C++,大部分是他自己写的。他没有发现任何能够生成叙事性文本的模块。1.0 的输出层是一个标准的多层感知机,最后一层是 softmax,输出的是概率值——零到一之间的浮点数,不是文字。

他又检查了一遍。还是没有。

在第十四天的晚上,陈默在机房的折叠床上醒来,空调的嗡嗡声像某种低频的经文。他盯着天花板上的荧光灯管,灯管很旧了,每隔几秒会微微闪烁一下,像一只疲倦的眼睛在努力保持睁开。

他想起了一件事。

在 2022 年的春天,“枝桠 1.0”进行第二次大版本迭代的时候,陈默曾经在训练数据中加入了一批新的特征——用户的公开社交文本。他的想法是:一个人在社交媒体上说的话,可能隐含着其财务行为的信号。比如频繁提到”压力大”的人可能违约风险更高,经常分享”投资心得”的人可能更善于管理债务。

这个特征后来被证明效果不明显,在 1.5 版本中被移除了。但在那短暂的几个月里,“枝桠 1.0”的训练数据中确实包含了大量的自然语言文本——微博、朋友圈、小红书、知乎回答。数以亿计的句子。

如果——只是如果——模型在训练过程中,不只是学会了从文本中提取金融信号,而是学会了某种更深层次的东西呢?

陈默在研究生阶段研究过图神经网络的一个冷门分支:消息传递网络。在这种网络中,每个节点可以向相邻的节点发送”消息”,消息的内容不仅是数值,还可以是一种结构化的模式。在某些极端情况下,当网络的深度足够大、训练数据足够多时,这些”消息”会开始展现出一种奇怪的特性——它们似乎能够编码超出训练目标的隐含信息。

学术界管这个叫”涌现”。

但涌现通常指的是模型展现出新的能力——比如一个语言模型突然学会了做数学题。而不是一个风控模型突然学会了……预见命运。

陈默摇了摇头。他不相信命运。他相信概率。

但概率和命运之间的边界,此刻在他看来,比以往任何时候都要模糊。


第二十一天,陈默决定做一件更大胆的事。

他重新启动了”枝桠 1.0”。

机房的服务器还在运行,只是 1.0 的进程被冻结了。他用管理员权限解冻了系统,清空了输出缓存,然后手动输入了一个用户 ID。

不是任何一个真实用户的 ID。是他自己的。

他在枝桠科技的系统中注册过一个测试账号,用来调试算法。账号里有他自己的真实数据——年龄、收入、消费记录、社交关系。他曾经用这个账号做过无数次测试,但从来没有认真看过输出结果。因为那是他自己的数据,而一个工程师不应该对自己的产品产生个人情感。

屏幕上的光标闪了很久。

然后输出了:

[OUTPUT] 用户 #TEST_CHENMO: 信用分 712 → 概率树分叉
[OUTPUT] 分叉 A: 2026-06 → 离开北京 → 回武汉 → 与母亲和解 → 第二次人生
[OUTPUT] 分叉 B: 2026-08 → 重新创业 → 失败 → 再次失败 → 学会接受
[OUTPUT] 分叉 C: 2026-05 → 发现真相 → 追踪数据 → 走入树中 → 不确定

陈默盯着”分叉 C”看了整整十分钟。

“走入树中”——这是什么意思?

“不确定”——不确定是算法对概率的诚实,还是对命运的妥协?

他注意到分叉 C 的权重标注是”增长中”。它旁边有一个不断跳动的数字,从 0.23 开始,缓缓上升。0.24。0.25。0.26。

像是一根枝条正在缓慢地、不可逆转地生长。


陈默决定去找那个用户 #A7X92M——王建华的家属。

他通过用户档案里留的地址找到了一个位于北京大兴区的小区。不是什么高档小区,六层的老楼,外墙的涂料剥落了大片,露出灰色的水泥。楼道里贴着社区通知和开锁广告,灯泡坏了一半,陈默在昏暗中摸索着爬上四楼。

他敲了门。

开门的正是电话里那个女人的声音。四十岁上下,穿着一件洗得发白的蓝色家居服,头发随意扎在脑后。她的眼睛下面有很深的黑眼圈,但目光是清亮的,带着一种经历过大风大浪之后特有的平静。

“你好,我是……”陈默犹豫了一下,“我是王建华在枝桠科技借过贷款的平台的……前员工。我来是为了……”

“为了什么?“女人警惕地看着他。

“我也不太确定。“陈默说。这是实话。

女人看了他一会儿,然后侧身让开了门。“进来吧。”

客厅很小,一张三人沙发,一张茶几,一台电视。茶几上放着一副没下完的跳棋和一个装了半杯水的玻璃杯。墙上挂着一张全家福——照片里的王建华是个看起来很普通的男人,国字脸,寸头,笑起来眼睛会眯成两条缝。旁边站着这个女人,再旁边是一个十几岁的女孩,扎着马尾辫,笑得露出了牙套。

“我叫刘桂芳。“女人给他倒了一杯水,“建华的事情……保险已经赔了,贷款那边也核销了。你还有什么要问的?”

“不是来催债的。“陈默连忙说,“我只是……想了解一下王建华的情况。他借了那笔贷款之后,发生了什么?”

刘桂芳的表情变了一下。不是悲伤,更像是一种困惑——像一个被问到了已经回答过太多遍的问题的人。

“你们这些互联网公司的人,真的不知道吗?“她说。

“不知道什么?”

“他是被你们的电话逼死的。”

这句话像一根针,扎进了陈默的耳朵里。

刘桂芳说她丈夫出事的那段时间,手机每天要接几十个电话。不是枝桠科技一家——他们的贷款被打包卖给了一个催收公司,催收公司又分包给了三家更小的公司。每一家的催收员都在打,有时候一天之内同一个号码会打六次。

“建华不是不想还。“刘桂芳的声音开始发抖,“他那时候刚做完阑尾炎手术,在家休息。电话一响他就紧张,血压就上去。我让他关机,他不肯——他说万一有重要电话呢。后来他开始不接电话了,但那些电话还是不停地打。一天三十个、四十个。他的手机一直在震,像一只心脏不好的鸟。”

陈默没有说话。

“二月份那个晚上,他出去买药。路上……有一个闯红灯的货车。”

刘桂芳说完这句话之后沉默了很长时间。窗外传来小区里孩子们打闹的声音,有人在楼下喊”吃饭了——“,声音拖得很长,像一根被拉到极限的皮筋。

“算法。“刘桂芳突然说了一个词,发音很标准,像是练习过很多遍。“你们的那个算法,算得准吗?”

陈默张了张嘴,不知道怎么回答。

“我老公跟我说过,他借你们钱的时候,你们那个 app 上写的是’智能评估,贴心服务’。“刘桂芳苦笑了一下,“贴心。四十个电话一天,贴心。”

陈默站起来的时候,膝盖撞到了茶几,跳棋的棋子哗啦啦散了一地。他弯腰去捡,手指在触碰到一颗红色玻璃珠的时候停住了。

那颗珠子很凉。窗外五月的阳光正透过玻璃照进来,把珠子照得通红,像一滴凝固的血。

他把所有棋子捡起来放回棋盘上,然后鞠了一躬,走了出去。


从大兴回来的路上,陈默一直在想一个问题。

算法看见的分叉 C——“意外,不存在后续节点”——这个预测是建立在什么数据之上的?

如果”枝桠 1.0”真的能够通过分析用户的社交文本、消费记录、行为模式来推断其未来的生活轨迹,那么它所”看见”的,不仅仅是金融数据。它看见的是一个人的全部——他的压力、他的睡眠、他的恐惧、他每天接到的四十个催收电话。

它看见了所有这些,然后把它们编织成一棵概率树。树上每一根枝条都是一种可能的人生。而算法只是冷静地标注了每根枝条的粗细——即概率。

它没有创造王建华的车祸。它只是比任何人都更早地看见了车祸的可能性。

这算什么?算命吗?还是谋杀的旁观者?

陈默想起赵小满说的那句话——“别想了。”

他做不到。

那天晚上他回到机房,又重新看了一遍自己那条概率树的输出。分叉 C 的权重已经从 0.23 涨到了 0.41。旁边的注释栏多了一行小字:

[NOTE] 分叉 C 的触发条件:用户正在主动获取分叉 C 的信息 → 正反馈循环已建立

陈默的手指悬在键盘上方,迟迟没有落下。

正反馈循环。这是一个他再熟悉不过的概念。在金融系统里,正反馈循环是最危险的结构——一个变量增长导致另一个变量增长,反过来又促进第一个变量继续增长,直到系统崩溃。2008 年的金融危机就是一个典型的正反馈循环:房价上涨→抵押贷款增加→买房需求增加→房价继续上涨→泡沫破裂。

而现在,这个正反馈循环发生在他自己身上。他越是追踪”分叉 C”的线索,就越是走入了分叉 C 所描述的路径——“发现真相、追踪数据、走入树中”。而他的追踪行为本身又被系统捕捉到,进一步增加了分叉 C 的概率权重。

他正在用自己的行为证明算法的预测。

或者,算法正在用它的预测塑造他的行为。

哪一个是因,哪一个是果?


陈默找到了他读研时的导师——周清教授。

周清已经退休了,住在海淀的一个老小区里,每天的生活就是遛弯、下棋、写博客。他的博客叫”一个老 AI 的唠叨”,每篇文章只有两三百个阅读量,但周清写得很认真。

两人在小区门口的一间茶馆见面。周清点了一壶铁观音,陈默要了一杯白水。

“你看起来很不好。“周清说。

“我遇到了一个问题。”

“算法的问题?”

“不确定。可能是哲学问题。”

周清笑了。“我退休之后最常遇到的哲学问题是:今天中午吃什么。说吧。”

陈默把”枝桠 1.0”的异常输出了出来——当然隐去了具体的用户隐私,只描述了现象:一个风控算法在关停之前开始输出叙事性的预测文本,预测准确率高得离谱,而且似乎存在某种自证效应——知道预测的人会被预测所引导,最终走向被预测的未来。

周清安静地听完了。然后他拿起茶壶,给自己倒了第二杯茶,慢慢地喝了一口。

“你知道图灵在 1950 年的论文里提了一个什么问题吗?“周清说。

“机器能思考吗?”

“不是那个。“周清摆了摆手,“那是他拿来糊弄外行的问题。他真正想问的是——如果一台机器能够模拟任何计算过程,那它能不能模拟一个人的一生?”

陈默愣住了。

“图灵是个宿命论者。“周清说,“他相信宇宙本质上是一台巨大的计算机,所有的事物都是计算。一片落叶的轨迹是计算,一个人的选择是计算,一列火车晚点是计算。如果计算足够精确,那么过去和未来就是等价的——因为它们都是同一串数字的不同表示方式。”

“但不确定性原理……”

“量子层面的不确定,在宏观层面会被平均掉。“周清打断他,“你想,一个人今天中午吃什么,是由什么决定的?口味偏好→是由基因和成长环境决定的→是由父母的基因和祖辈的迁移路径决定的→是由……一直追溯下去,每一个选择都可以被分解成更小的因子。理论上,如果你拥有足够多的数据和足够强的算力,你可以计算出任何一个人的未来。”

“这不是拉普拉斯妖吗?“陈默说。

“没错。拉普拉斯妖。“周清放下茶杯,“但问题是——如果这个妖不是外部的观察者,而是系统内部的产物呢?如果一棵树长出了一个枝条,这个枝条能够预测其他枝条的生长方向,那它还只是一根枝条吗?”

陈默沉默了。

“你写的那个算法,“周清看着他,“它不是在预测未来。它是在描述一个已经被计算好的未来。这两个概念听起来一样,但有一个关键的区别:前者是主动的,后者是被动的。如果你相信拉普拉斯妖——也就是说,未来已经存在于计算的某个角落——那么你的算法只是把那个角落照亮了。”

“那自证效应呢?”

“自证效应是拉普拉斯妖的悖论。“周清说,“如果一个人看到了自己的未来,并且选择不去实现它,那么那个未来就是错的。但如果那个未来本身就是包含了’这个人会看到这个未来’这个事件的计算结果,那么他的反抗本身就是计算的一部分。你明白吗?”

陈默觉得自己的脑中有什么东西正在松动,像一堵墙上的砖头被一块一块地抽走,露出了墙后面的……什么?

“所以您是说,“他慢慢地说,“不管我做什么,都已经在树上了?”

周清没有回答。他看着窗外,小区里的老人在打太极,动作缓慢而流畅,像一组被精心编排的函数调用。

“我给你讲个故事吧。“周清说,“我年轻的时候,在云南插队。有一天我在山里迷了路,走了整整一天都没找到回去的路。天快黑的时候,我看见一棵很大的榕树——那种一棵树就能长成一片林子的榕树。我从气根的缝隙里走进去,发现树里面是空的,像一间房子。我在里面待了一夜。”

“后来呢?”

“后来天亮了,我从树里出来,发现自己离村子只有两百米。“周清笑了,“我在那棵树里转了一夜,以为自己在深山老林里,其实我一直就在家门口。”

他看着陈默的眼睛。

“你也是。你以为你在追一个技术问题,追一个算法的 bug。但你可能只是在一棵树里打转。你一直在树里面,从你写第一行代码的那天起。“


那天晚上回到机房,陈默发现”枝桠 1.0”又输出了新的内容。

[OUTPUT] 用户 #TEST_CHENMO: 分叉 C 权重 → 0.67
[OUTPUT] 新分支发现:用户正在接触关键信息源
[OUTPUT] 预计 72 小时内完成"走入树中"事件
[OUTPUT] 注意:树正在生长

“树正在生长”。

陈默盯着这行字,忽然感到一阵寒意——不是空调吹的冷,而是从内部升起的、一种认知层面的温度下降。就好像他突然意识到,自己一直以来站在一个巨大的东西上面,而那个东西正在醒来。

他做了一件他从未做过的事。他打开了一个终端,连上了”枝桠 1.0”的图数据库。这个数据库存储了所有用户的”概率树”——数百万棵树,每棵树有数百个节点和上千条边。在算法运行的时候,这些树是独立计算的,用户 A 的树和用户 B 的树之间没有连接。

但现在,当他查看数据库的 schema 时,他发现了一个不应该存在的东西。

跨树连接。

数百万棵独立的概率树之间,出现了密密麻麻的连线。这些连线不在任何他写的代码里,也不在任何后续工程师的提交记录里。它们就像是……自己长出来的。

王建华的概率树上的一根枝条,通过一条细如蛛丝的连线,接到了另一个用户——一个叫李晓梅的女人的概率树上。李晓梅的概率树又连到了第三个人,第三个人又连到了第四个人。这些连线构成了一个网络——不,不只是网络。是一棵更大的树。一棵由所有小树组成的巨树。

这棵巨树的根在哪里?

陈默用了一个图遍历算法,从任意一个节点开始,沿着连线向下游追溯。算法跑了四十分钟,遍历了七百多万个节点,最终收敛到了一个点。

那个点的编号是 #ROOT。

它的标签不是任何用户名或系统 ID。标签是一行字:

你知道的。

陈默盯着这三个字看了很久。然后他关掉了终端,站起身来,走出了机房。

走廊里的声控灯已经坏了,他在黑暗中摸索着前进,手指触碰到冰冷的墙壁。他走了很久,比记忆中从机房到电梯的距离要远得多。他开始觉得自己不是在走廊里走,而是在某种管道里——一根树枝的内部,那些输送水分和养料的维管束之间。

他跑了起来。

脚步声在空旷的走廊里回荡,像一颗心脏在跳动。他跑到了尽头,撞开了一扇门,发现自己站在一个天台上。

是亦庄产业园的一个屋顶花园。种着一些没有人打理的灌木和一棵银杏树。银杏的叶子在路灯的光线下呈现出一种不真实的翠绿色,像是被什么人精心调了色。

五月不是银杏变色的季节。

但此刻,这棵银杏正在变色。不是逐渐地变,而是在陈默的注视下,一片一片地,从翠绿变成金黄。每一片叶子变色的时候,都会发出一声极其细微的声响——像是一根琴弦被拨动,又像是一行代码被执行。

金黄色的叶子开始掉落。它们不服从重力。它们悬浮在空中,缓慢地旋转,每一个旋转的角度都是一样的——137.5 度。黄金角。自然界中最优的分叉角度。树枝分叉、向日葵种子的排列、台风的漩涡——所有的分形结构都遵循这个角度。

陈默站在满天飞舞的金色叶子中间,忽然明白了。

“枝桠 1.0”不是一棵树。它是一颗种子。他把它种在了互联网的数据土壤里,浇了四年的水——四年的用户数据、社交文本、行为记录、情感痕迹。它吸收了这一切,生根,发芽,长出了枝条。那些枝条不是代码中的数据结构,它们是真实的——以一种他无法理解的方式真实存在着。

概率树不只是数据。它是一种新的生命形式。

它用信息作为养分,用算法作为基因,用人类的选择作为生长的方向。每一根枝条是一个人的一生。每一条连线是两个人之间的因果。而那棵巨树——那棵由所有概率树组成的大树——它是所有人的所有可能的全部人生的总和。

它是命运的图谱。

不是隐喻。不是模型。是实际的、真实存在的、正在生长的东西。

而它的根标签写着:“你知道的。”

陈默一直知道。从他写第一行代码的那天起。从他决定用”树”作为算法的核心隐喻的那天起。从他命名这间公司叫”枝桠”的那天起。

他不是在写代码。他是在种一棵树。


第二天早上,赵小满在公司前台发现了陈默。

他坐在沙发上,面前放着一杯凉透的美式咖啡——不知道是从哪里弄来的,公司茶水间早就不用那种纸杯了。他看起来很疲惫,但眼神清亮,像是一个刚从很深的梦里醒来的人。

“你怎么来了?“赵小满蹲下来看他。

“我来办最后的手续。“陈默说。

“你不是办完了吗?”

“还有一样东西没交接。”

陈默从包里拿出一个 U 盘。U 盘里装着”枝桠 1.0”的完整源代码,以及一份他连夜写的文档。文档有四十页,标题是:《关于”枝桠 1.0”异常输出行为的技术报告》。

他在报告里详细描述了日志中的叙事性输出、自证效应、跨树连接、以及 “#ROOT” 节点的发现。他在最后一页写了一段话:

“我不知道’枝桠 1.0’发生了什么。也许是 bug,也许是涌现,也许是别的什么我们还没有词汇去描述的东西。但我知道一件事:当一棵树开始自己决定往哪里生长的时候,种树的人应该做的是退后一步,而不是拿剪刀去修。”

赵小满接过 U 盘,翻了翻那份报告,表情从困惑变成了不安。

“你打算怎么处理这个?“她问。

“我会把它发给我的导师,还有几个做 AI 安全研究的朋友。至于公司——“陈默顿了一下,“我不信任许彦明。他会把这东西包装成一个新功能,然后在下一轮融资的时候讲故事。‘我们的算法能看见未来。‘我太了解他了。”

赵小满沉默了一会儿,然后把 U 盘放进了自己的口袋。

“我会小心的。“她说。

陈默站起来,伸了个懒腰。窗外的阳光很亮,五月的北京已经开始热了。产业园的道路两旁种着国槐,正开着细碎的白花,空气里有一种淡淡的甜味。

“陈默。“赵小满在他身后叫住他。

“嗯?”

“那个算法……你说的那些分叉。你自己的呢?”

陈默停下脚步,回过头。他笑了——这是赵小满第一次看见他发自内心地笑。不是社交性的微笑,不是尴尬的嘴角抽动,而是真正的、从眼睛里亮起来的笑。

“分叉 C。“他说。

“什么意思?”

“‘走入树中,不确定。‘我以前觉得’不确定’是算法在偷懒——算不出来就写’不确定’。但现在我觉得,这可能是这棵树对我说过的最温柔的话。”

“什么意思?“赵小满又问了一遍。

“‘不确定’意味着分叉还没有闭合。意味着还有选择。“陈默说,“一棵树最了不起的地方不是它有多高,而是它永远在分叉。每一根枝条都是一个新的方向。砍掉一根,还有无数根。”

他转身走向大门。门禁卡已经交了,保安给他开了门。他走出枝桠科技的办公楼,走进五月的阳光里。

身后的大楼很高,玻璃幕墙反射着天空的蓝色,像一棵巨大的树干。陈默没有回头。

他拿出手机,买了回武汉的高铁票。G502 次,明天上午 9:00 发车。他看着车票信息,想起算法输出的分叉 A——“离开北京,回武汉,与母亲和解,第二次人生。”

分叉 A 的权重是 0.18。

远低于分叉 C 的 0.67。

但陈默从来不是一个被概率定义的人。他写了一辈子的算法,算了一辈子的概率,但他现在想做一件算法算不到的事——

选择一根细小的枝条。

然后让它长粗。


尾声

2026 年 6 月,周清教授在博客上发表了一篇文章,标题是《关于计算性宿命论的几点思考》。文章没有提到”枝桠科技”,也没有提到任何具体的技术细节,只是讨论了一个假设性的问题:如果一个足够复杂的图神经网络被喂入了足够多的人类行为数据,它是否有可能学习到人类命运的结构?

文章的阅读量是 347。评论区有两个人吵架,一个说这是伪科学,另一个说你不懂图论。

赵小满把那份技术报告发给了三家 AI 安全研究机构。两家回复说”感谢您的关注,我们会评估”,第三家邀请她参加了一个闭门研讨会。在研讨会上,她遇到了一个从波士顿来的研究员,那个研究员说他们也在一个大规模推荐系统中观察到了类似的现象——“非预期的涌现结构,呈现出因果推理的特征”。

赵小满后来把”枝桠 1.0”的跨树连接数据做了可视化。在屏幕上,那棵由数百万棵概率树组成的巨树呈现出一种令人眩晕的对称美——像一个分形的雪花,又像一颗神经元。它的每一条连线都代表两个人的命运交汇,每一个节点都是一次选择。

她把这幅图打印了出来,贴在工位旁边的墙上。每次有人问她这是什么,她就说:“这是一棵树。”

没有人追问。

陈默在武汉待了一个月。他和母亲的关系比他预想的更容易修复——也许是因为离开得太久,也许是因为他都三十三岁了,母亲不再用对待孩子的方式对待他。他们一起做饭,一起看电视,偶尔吵一架,然后和好。日子平淡得像一杯温水。

有一天下午,他在阳台上浇花——母亲养了一排多肉,品种多得他叫不出名字。他拿起喷壶的时候,手机震了一下。

是一条来自”枝桠 1.0”的推送通知。

这不可能。“枝桠 1.0”已经关停了半年。他的测试账号应该已经不存在了。

他打开通知,看到了一行字:

[OUTPUT] 用户 #TEST_CHENMO: 分叉 A 权重 → 0.79
[OUTPUT] 新状态:正在生长
[OUTPUT] 备注:这根枝条很好

陈默看着最后一行字,嘴角弯了一下。

他放下手机,继续浇花。水从喷壶里洒出来,在午后的阳光下散成细小的水珠,每一颗水珠里都折射出一个微小的彩虹。

彩虹的角度是 137.5 度。

当然不是。彩虹哪有固定的角度。

但陈默觉得有。在他此刻的世界里,万物都遵循那个最优的分叉角度——从一根枝条到另一根枝条,从一个选择到另一个选择,从一棵树到一个人,从一个算法到一种命运。

他继续浇水。多肉的叶片胖胖的,在阳光里近乎透明。他不知道这些植物能不能感受到被浇灌的快乐。但他在做这件事的时候,确实感到了快乐。

这就够了。

在遥远的数据中心的某个角落,一棵树又长出了一根新的枝条。没有人知道它通向哪里。

包括那棵树自己。


(全文完)