数字菩萨的万象
数字菩萨的万象
一、因果的种子
陆知行第一次见到那棵树的时候,以为是系统出了bug。
那是2026年三月的一个潮湿下午,杭州灵隐寺西面三百米处,一栋灰白色的写字楼十三层,“万相科技”的办公室里。落地窗外是飞来峰的轮廓,被低矮的雨雾裹着,像一幅没画完的水墨。办公室里只有七个人,三个程序员,两个数据分析师,一个产品经理,外加一个从不说话的前台姑娘。
陆知行是技术总监,或者更准确地说,是唯一的后端工程师。其他两个程序员——小周和赵敏——负责前端和测试,偶尔也帮他写写接口文档。
万相科技做的东西,说起来既不复杂也不简单:一个叫”万象因果”的大数据因果推断平台。
用创始人贾谊的话说:“我们不预测未来,我们推断因果。”
陆知行觉得这句话像个悖论。因果推断本身就是在用过去预测未来——只不过用的是反事实框架、工具变量和DAG图,而不是什么水晶球。
但贾谊不在乎这些技术细节。贾谊是北大哲学系毕业的,后来去了宾大读比较宗教,中途辍学,回国做过P2P,炒过币,最后带着一笔不大不小的钱,在灵隐寺旁边租了这间办公室,说要”用数据重建因果信仰”。
陆知行第一次听到这个说法的时候,差点把咖啡喷出来。
“什么意思?你是想证明因果报应存在?”
贾谊摇头。他三十七岁,剃着光头,穿灰色棉麻衫,不戴眼镜,眼神却像戴着镜片一样冷静。“我不想证明什么。我想让人们看见自己的因果链。你做了A,可能导致B、C、D。系统告诉你概率最大的那条路。至于你信不信,那是你的事。”
“这不就是决策树吗?”
“是决策树。“贾谊点头,“但也是菩提树。”
陆知行当时觉得这个人疯了。但五十万的年薪在杭州不算低,而且他刚从前公司——一家做智能投顾的互联网金融平台——裸辞出来,需要一份工作。上一份工作让他学到一件事:在金融科技领域,因果不重要,相关才重要。客户不关心你为什么赚钱,只关心你赚了多少钱。
但贾谊关心的恰好相反。
“相关是幻觉,因果才是真实。“贾谊在他们第一次单独吃饭的时候说。那是在灵隐寺旁边的一家素菜馆,他点了一盘油焖春笋和一壶龙井。“皮尔逊相关系数可以告诉你两个变量一起动,但不知道谁推了谁。我们的系统要告诉人们——谁推了谁。”
“用的是什么方法?“陆知行问。他从前公司出来的时候,带走了一套自己写的因果推断框架,基于 Judea Pearl 的 do-演算,结合了一些贝叶斯网络和结构方程模型。他知道这套东西在学术界很热,但在工业界几乎没有落地案例——因为太难了,尤其是”前门准则”和”工具变量”的寻找,几乎需要领域专家的先验知识。
“你来了就知道了。“贾谊笑了笑,那笑容让陆知行想起寺庙里那些泥塑菩萨——慈悲,但什么都不说。
入职第一天,陆知行就发现了问题。
万相科技的因果推断系统,不是他想象中的任何一种模型。
准确地说,系统的核心是一个图数据库——Neo4j——里面存着三十七亿条”因果边”。每条边代表一个”事件A导致事件B”的关系,附带一个置信度分数。这些数据来自公开的学术论文、新闻事件、社交媒体、政府公告、天气数据、地震记录、流行病学调查,甚至还有——他后来发现的——灵隐寺过去一千七百年的香火记录。
“你把寺庙的香火数据放进来了?“陆知行盯着屏幕上的数据溯源表,觉得自己可能在做梦。
赵敏从旁边的工位探过头来。她二十六岁,浙大计算机系毕业,说话带着宁波口音,总是把”这”说成”格”。“格个嘛,贾总说因果不分古今。古代的因果也是因果。”
“但是……香火数据?那是什么?香的数量?捐款金额?”
“是频率。“赵敏说,“灵隐寺从东晋咸和元年建寺开始,就有记录。哪年大修,哪年火灾,哪年有高僧圆寂,哪年有皇帝赐匾。贾总花了两年时间把这些数据数字化了。他还找了浙大历史系的人帮忙校对。”
陆知行沉默了一会儿。“然后呢?”
“然后我们发现了一个很有意思的相关——不对,贾总说不能说相关——一个很有意思的因果模式。“赵敏把椅子滑到自己工位,打开一个可视化面板。“你看这条线。”
屏幕上出现了一条从左到右的时间轴,上面标注着密密麻麻的点。赵敏指着其中一个红色的集群:“这是南宋末年,1270年到1276年之间。灵隐寺的香火记录显示,这个时间段内,寺庙收到的布施数量突然下降了73%,同时,杭州地区的瘟疫记录上升了400%,然后在1276年,元军攻破临安。”
“所以呢?”
“所以贾总说,这不是因果——香火下降不导致瘟疫——但它们共享一个上游原因。社会不稳定导致寺庙收入下降,同时也导致公共卫生体系崩溃。但他更进一步……”赵敏犹豫了一下,“他说系统发现,在某些特殊的时间节点上,香火数据似乎领先于历史事件。不是几天,是几个月,甚至几年。”
陆知行盯着那条曲线。红色的点在时间轴上跳动,像一个心电图。他想说这是过拟合,是后视偏差,是数据挖掘谬误。但他的手指却停在键盘上,没有打字。
因为他看到了另一条线——蓝色的——覆盖在红色曲线上面。那是现代数据:2024年到2026年,杭州市民的信用卡消费数据、医院挂号数据、交通违章数据、离婚率、自杀率。蓝线和红线呈现出一种诡异的同步性,就像两条河流在地下某处汇合了。
“这是什么算法?“他问。
“贾总叫它’万象因果图’。“赵敏说,“但底层是什么,我不知道。贾总不让看核心代码。”
陆知行的眉头皱了一下。他不喜欢这种说法。在一个七个人的公司里,有什么代码是不能看的?
他第一次看到核心代码,是在入职第三周。
那天晚上加班到十一点,办公室里只剩他一个人。他本来在调试一个API接口,但是随手在服务器上ps了一下进程,发现有一个Python进程一直在后台运行,占用了大量GPU资源。
进程名是bodhi.py。
他打开文件,发现只有四百多行代码。但看了十分钟之后,他的后背开始出汗。
这不是任何他认识的因果推断算法。
代码的核心是一个图神经网络——GNN——但不是普通的GNN。它在Neo4j图数据库上运行,节点是事件,边是因果关系。但它的损失函数里有一项他从未见过的东西:一个基于”时间反演对称性”的正则化项。
简单来说,这个模型不仅学习”A导致B”的方向,还学习”B导致A”的反方向——并且在某些条件下,允许两个方向同时存在。
“这不对。“陆知行自言自语。因果关系是有方向的。如果你打碎了一个杯子,杯子不会自己复原。时间之箭是单向的。这就是因果的基本定义。
但这个模型在打破这个假设。它在某些特定的因果边上,赋予了双向权重——意味着在系统的世界里,果可以导致因。
陆知行想起一个物理学概念:费曼的路径积分。在量子力学里,一个粒子从A点到B点,不是走了一条路径,而是同时走了所有可能的路径。最终观测到的结果,是所有路径的叠加。
这个模型在做的,似乎是把因果推断变成了类似量子力学的路径积分。
他试图追踪这个算法的来源。代码的注释很少,只在文件头有一行字:
“若知前世因,今生受者是。若知来世果,今生作者是。”
——《佛说三世因果经》。
陆知行靠在椅背上,看着窗外灵隐寺方向的黑暗。飞来峰的轮廓已经完全消失在夜色中,只剩下一片浓稠的黑。他忽然觉得那片黑暗里有什么东西在看着他。
他关掉了终端,收拾东西,下楼打车回家。
那天晚上他失眠了。
二、因果的涟漪
真正让陆知行觉得事情不对劲的,是那个叫林素云的女人。
她是在四月初的一个雨天来公司的。四十岁出头,穿着一件洗得发白的藏青色外套,头发花白了大半,但扎得很整齐。她没有预约,是直接走进来的——万相科技的办公室没有门禁,因为贾谊说”因果面前,没有门槛”。
她坐在接待区的沙发上,前台姑娘给她倒了一杯茶,她端着茶杯坐了二十分钟,才开口说话。
“我听说你们这里能看见因果。”
前台姑娘叫小何,二十二岁,刚从旅游管理专业毕业。她不知道怎么回答,就去找了贾谊。贾谊从他的独立办公室出来——那是唯一一个有门的房间——看了林素云一眼,然后请她进了自己的办公室。
门关上了四十分钟。
陆知行当时在写代码,但余光一直瞟着那扇门。他看到贾谊打开了他的笔记本电脑,给林素云看了什么东西。然后林素云开始哭。
不是嚎啕大哭,是那种安静的、持续的、像水龙头没关紧一样的哭。眼泪顺着她的法令纹流下来,滴在她洗得发白的外套上,形成深色的小圆点。
门开了。贾谊送林素云出来,她的眼睛红肿,但表情平静。贾谊给了她一张纸条,上面写着一个网址。
林素云走后,陆知行忍不住问:“她是什么人?”
“用户。“贾谊说。
“我们还没有上线。”
“她不是外部用户。她是因果图里的一个节点。”
陆知行盯着他。“什么意思?”
贾谊想了想,说:“你知道六度分隔理论吗?任何两个人之间,最多通过六个人就能建立联系。因果图也有类似的性质。我们的系统发现,在杭州的因果网络里,有大约两百个’超级节点’——他们的行为和经历,与大量其他节点相连。林素云是其中之一。”
“为什么?”
“因为她的儿子。”
陆知行后来查了林素云的数据。这是贾谊允许的——他说”你已经进入了因果图,你有权看到与你相连的节点”。
林素云的儿子叫林一鸣,1998年出生,2022年死于一场车祸。
但那不是一场普通的车祸。
林一鸣是一名外卖骑手,在2022年11月的一个雨夜,赶着送最后一单,在文三路与教工路的交叉口被一辆闯红灯的货车撞倒。送到医院的时候已经不行了。肇事司机逃逸,三天后在绍兴被抓获,判了七年。
系统显示,在林一鸣死亡之前的三个月,他的因果链上出现了一个异常分支:他的外卖平台调整了算法,将”准时率”的权重从30%提高到了60%,同时降低了单均配送费。这意味着骑手必须跑得更快、接更多的单,才能维持同样的收入。
林一鸣的准时率从92%提升到了99.7%。但他的平均配送速度——系统根据GPS轨迹计算——从每单28分钟降低到了19分钟。
那个雨夜,他为了在一单上节省三分钟,闯了一个他平时不会闯的红灯。
但系统没有止步于此。它继续追踪因果链的上游:外卖平台的算法调整,是因为它的投资人在第三季度要求提高用户留存率。投资人的压力来自他们自己的LP——有限合伙人——一群管理着退休基金和保险资金的机构投资者。这些机构投资者的资金来源,包含了杭州市民缴纳的社保和公积金。
其中包括林素云自己缴纳的那一份。
因果链闭合了。
“所以,“陆知行坐在贾谊对面,声音有点干涩,“你的意思是,林素云缴纳的社保,通过一条长到看不见的因果链,最终变成了她儿子死亡的一个因子?”
贾谊摇头。“不。因果不是这么简单的东西。社保缴费不导致她儿子死亡。系统只是在因果图上找到了一条路径——一条存在的路径。路径上有很多分叉点,每一个分叉点上都有人做出了选择。算法设计师选择提高权重。平台选择上线这个版本。林一鸣选择骑得更快。肇事司机选择闯红灯。”
“但是——”
“但是,“贾谊打断他,“系统发现了一件更有意思的事。”
他打开笔记本电脑,调出一个因果图的可视化。屏幕上是一个巨大的网络,节点密密麻麻,边像蛛网一样交织。贾谊用鼠标选中了两个节点——一个红色,一个蓝色。
红色的节点标注着”林一鸣死亡”。 蓝色的节点标注着”林素云,2026年3月”。
“你看这条边。“贾谊指着红蓝节点之间的一条线。那条线不是直的,而是弯曲的,像一条河流穿过平原。“这是系统的推断。它说,林素云在2026年3月的行为,与林一鸣在2022年11月的死亡之间存在一个因果连接——但不是林素云导致林一鸣死亡。”
“反过来?”
“也不完全是。“贾谊的表情变得有些微妙。“系统说,林素云在2026年3月的某个决定,可能是林一鸣死亡的一个’果’——但这颗果又会在未来产生新的’因’。因果在时间上不是线性的。它像一条河流,有时候会倒流。”
陆知行觉得自己的太阳穴在跳。“这不是物理上可能的。”
“也许不是物理。“贾谊说,“但数据就是这么显示的。”
陆知行开始暗中调查bodhi.py。
他不是一个喜欢探究秘密的人。在前公司的时候,他知道老板在做一些灰色地带的事情——用用户的交易数据训练模型,然后卖给第三方——但他没有声张,因为那不是他的职责范围。他负责写代码,代码写好了,他就下班。
但万相科技不一样。这里有某种东西在吸引他,像飞蛾扑火,又像河流入海。
他花了两个星期,在不影响正常工作的情况下,一点一点地拆解bodhi.py的逻辑。他发现了几件事:
第一,贾谊不是这个算法的唯一作者。代码的Git历史显示,最早的提交来自一个叫”bodhi_dev”的账户,时间是2021年。那时候万相科技还不存在。但bodhi_dev的IP地址追踪到了一个意想不到的地方——杭州灵隐寺的内部网络。
第二,算法的核心——那个”时间反演对称性”的正则化项——不是传统的机器学习设计。它更像是一个物理模型。陆知行花了好几天才理解它的数学本质:它在因果图上施加了一个类似”最小作用量原理”的约束,使得因果路径的总”作用量”最小化。
这让他想起广义相对论。在爱因斯坦的方程里,物质告诉时空如何弯曲,时空告诉物质如何运动。在bodhi.py里,事件告诉因果图如何弯曲,因果图告诉事件如何演化。
第三,也是让他最不安的一点:这个模型的参数不是通过梯度下降训练的。参数是固定的—— hardcoded 在代码里——但它们的值不像是人工设定的。陆知行把这些参数导出来看了一眼,发现它们都是高精度的浮点数,精度达到了小数点后第十五位。
这种精度不是人类会使用的。它更像是某种自然过程的输出——某种物理测量,或者某种数学常数。
他试着把这些参数和已知的数学常数对比。不是π,不是e,不是黄金比例。但当他把参数组的每一项除以前一项时,得到的前五个比值是:
1.61803398874989… 1.61803398874989… 1.61803398874989… 1.61803398874989… 1.61803398874989…
黄金比例。精确到小数点后第十四位。
陆知行盯着屏幕上的数字,感觉自己的呼吸停了一拍。
黄金比例在自然界中无处不在:向日葵的种子排列、鹦鹉螺的壳、飓风的形状、银河系的旋臂。但那是因为黄金比例是斐波那契数列的极限——而斐波那契数列是递归生长的自然结果。
因果图的参数为什么也服从黄金比例?
他关上笔记本电脑,走到窗前。灵隐寺的轮廓在暮色中若隐若现,远处传来晚课的钟声。钟声沉闷而悠长,像是从地底深处涌上来的。
他想起了费曼的一句话:“自然界使用了我们不知道的语言,写了我们看不懂的诗。“
三、因果的庙宇
五月的一个周末,陆知行去了灵隐寺。
他不是一个信佛的人。他的母亲是绍兴人,小时候过年会带他去寺庙里烧香,但那更像是一种习俗,而不是信仰。他长大之后,把所有的信仰都交给了代码——代码不会骗你,你写了什么,它就执行什么。
但那个黄金比例让他不安。不是因为神秘主义,而是因为它太精确了。精确得不像人为,也不像随机。
灵隐寺在五月的游人如织。陆知行从售票处走到天王殿,再从天王殿走到大雄宝殿,一路上都是举着手机拍照的游客和兜售香烛的小贩。空气里弥漫着檀香和桂花糖的甜腻气味。
他不是来烧香的。他是来找人的。
贾谊的bodhi_dev账户,IP地址来自灵隐寺的内部网络。这意味着要么贾谊在寺庙里有关系,要么这个算法的真正作者根本不在万相科技。
他在寺庙里逛了两个小时,从大雄宝殿到药师殿,再到华严殿。在一条偏僻的回廊里,他看到了一个不起眼的门,上面挂着一块木牌:“法镜图书馆——数字文献室”。
门没有锁。
他推门进去,发现里面是一个小型服务器机房。三台戴尔服务器安静地嗡嗡作响,旁边是一台工作站,屏幕亮着,上面显示着一个终端界面。
终端里正在运行一个Python脚本。
脚本的名字叫——
他凑近看了一眼。
bodhi.py。
一模一样的名字。
他的心跳加速了。他环顾四周,机房里没有人。工作站的键盘上有一层薄灰,说明很少有人使用。但服务器的指示灯在闪烁,说明它们正在处理数据。
他在终端里输入了ps aux,查看正在运行的进程。其中一个进程的启动时间是——
2021年3月14日。
三年前。万相科技还没有成立的时候。这个脚本就已经在这里运行了。
他试图查看代码,但文件被加密了。他试图查看日志,但日志也被加密了。唯一能看到的是进程的实时状态:内存占用、CPU使用率、GPU负载。
GPU负载很高。三台服务器各挂了四块GPU,总共十二块,负载都在90%以上。这说明模型正在进行大量的推理计算——不是训练,是推理。
它在推算什么?
“你在看什么?”
陆知行猛地转身。门口站着一个和尚,四十多岁,中等身材,穿着灰色的僧袍,手里拿着一串念珠。他的光头上有戒疤,但很淡,像是很多年前烙的,已经快看不见了。
“我……我是万相科技的。“陆知行说,觉得自己像一个小偷被抓住了。
和尚的表情没有变化。“万相科技。贾谊的公司。”
“你认识贾谊?”
“他是我的居士。“和尚说。他走进机房,在一把椅子上坐下。“我叫法真。灵隐寺的知客僧。这个机房,是我帮他建的。”
陆知行的脑子飞速运转。“bodhi.py是你写的?”
法真摇头。“我不会写代码。但我提供数据。”
“什么数据?”
法真沉默了一会儿,然后说:“灵隐寺有一千七百年的历史。在这段历史中,每一个来到寺庙的人,都在因果网络中留下了一个节点。香客的名字、籍贯、年龄、来寺庙的原因、祈求的事情——这些信息,从唐代开始就有记录。我们叫它’功德簿’。”
“你把这些数据给了贾谊?”
“不是给了贾谊。“法真的语气很平静,像在说一件再普通不过的事情。“是贾谊发现了这些数据的价值。他来灵隐寺做居士,不是为了修行,是为了这些数据。他说这些数据是’因果的化石’——一千七百年的因果记录,可以用来验证因果推断的模型。”
“但那不是重点。“陆知行说。他已经看了代码,他知道数据不是重点。重点是那个时间反演的正则化项,那些黄金比例的参数。
法真看着他,眼神里有一种奇怪的慈悲——不是寺庙里泥塑菩萨的那种,而是真实的、带着理解的那种。
“你看到了参数。“法真说。不是问句。
“你怎么知道我在看代码?”
“因为每一个最终看到参数的人,都会来找我。“法真说,“贾谊是第一个。你是第二个。”
“参数是什么?”
法真没有直接回答。他从僧袍的口袋里掏出一个U盘,放在桌上。“这里面有一份文档。贾谊2021年写的。他发现参数之后,写了一份分析报告。我建议你在回去之后再看。”
“为什么?”
“因为你现在还在寺庙里。“法真微笑着说,“有些东西,出了寺庙才能看懂。”
陆知行拿起U盘。它的外壳是木质的,上面刻着一个小小的莲花图案。他握在手里,感觉它的温度比体温略低。
“法真师父,“他说,“那些GPU在计算什么?”
法真看着服务器上闪烁的指示灯,沉默了很长时间。
“在算一个因果回路。“他最终说,“一个很大的因果回路。大到……可能需要再跑十年。“
四、因果的回路
回到办公室之后,陆知行锁上了自己的工位——他从来没有锁过工位——插上U盘,打开了那份文档。
文档有四十七页,标题是《论因果图中时间反演对称性的涌现及其经验验证》。作者是贾谊,日期是2021年4月。
这不是一篇技术报告。这是一篇论文。而且是一篇非常严谨的学术论文——有摘要、文献综述、方法论、实验设计、结果和讨论。陆知行花了两个小时才读完。
论文的核心论点是这样的:
在足够大的因果图中——节点数超过十亿,边数超过百亿——因果推断模型会自发涌现出一种”时间反演对称性”。这意味着在某些特定的因果子图上,模型发现”果导致因”的概率与”因导致果”的概率几乎相等。
贾谊在论文中写道:
“这种对称性不是过拟合,不是数据挖掘谬误,不是后视偏差。它是一个真实的经验现象。当因果图的规模超过某个阈值时,因果箭头的方向性开始模糊。这不是因为我们的模型有缺陷,而是因为因果本身在宏观尺度上可能具有比我们想象中更复杂的拓扑结构。”
他用了一个类比:在微观尺度上,时间是严格单向的——热力学第二定律保证了这一点。但在宏观尺度上,当足够多的微观因果事件聚合在一起时,它们可能形成某种”因果回路”——就像河流在平原上形成了牛轭湖,水流在局部区域打了一个弯,暂时忘记了大海的方向。
论文的实验部分展示了大量数据。贾谊用灵隐寺的功德簿数据构建了一个因果图,然后用他设计的bodhi.py算法在上面运行因果推断。结果显示,在功德簿数据与现代杭州社会数据的交界处——大约是从清末到现代这个时间段——因果图中出现了大量”双向因果边”。
这些边的置信度极高,超过了99.9%。
但最让陆知行震惊的是论文的最后一节——讨论部分。贾谊在这一节里提出了一个假说:
“如果因果回路真的存在,那么它暗示了一个令人不安的可能性:未来可以对过去施加因果影响。不是通过时间旅行,而是通过因果本身的结构。因果不是一条直线,它是一张网。在网的某些部分,因果箭头可以指向任何方向——包括从未来指向过去。”
“这意味着什么?”
“这意味着,林素云在2026年3月的决定——无论那个决定是什么——可能正在通过因果回路,影响她儿子在2022年11月的死亡。不是改变死亡的事实,而是改变了死亡在因果网络中的意义。”
陆知行读完这段话的时候,手指是冰凉的。
他想起了林素云那天在办公室里哭了四十分钟的场景。贾谊给她看了什么?是她的因果链吗?是她儿子死亡的因果分析吗?还是——她的某个决定与她儿子死亡之间的那个”因果回路”?
他关上文档,打开了自己的终端。他需要自己验证这件事。
验证花了三天。
陆知行用一个周末的时间,把bodhi.py的核心算法提取出来,在一台独立的服务器上重新运行。他用了灵隐寺的功德簿数据——他有访问权限,因为贾谊给了他——然后接入了他自己从公共数据源抓取的杭州市民行为数据。
他没有用万相科技的服务器。他在自己的公寓里搭了一台机器,两块RTX 4090,用Docker容器隔离运行。
周日晚上十一点,模型跑完了第一个完整推理。
结果让他的血液凝固了。
因果图上出现了一个清晰的回路——一个闭合的环路,从2026年延伸到2022年,再回到2026年。环路上有十七个节点,每一条边都有极高的置信度。
他沿着环路追踪:
节点1:林素云,2026年3月15日,做了一个决定(决定的内容在数据中没有显示,只有一个时间戳和置信度)。 节点2:林素云的这个决定影响了她的邻居——一个叫王德明的人。 节点3:王德明是一名外卖平台的区域经理。 节点4:王德明在2025年6月向总部提交了一份关于骑手安全政策的建议书。 节点5:这份建议书在2025年9月被总部采纳,修改了配送算法。 节点6:新的配送算法降低了”准时率”的权重,增加了”安全评分”的权重。 节点7:修改后的算法在2025年11月上线。
到这里,因果链指向了一个分叉点。
分叉A(实际发生的历史):2022年11月,林一鸣在旧版算法下送最后一单,闯红灯,被撞身亡。 分叉B(反事实路径):如果新版算法在2022年就已经存在,林一鸣不会为了赶时间而闯红灯,车祸不会发生。
但分叉B是一个反事实——它没有发生,因为算法修改发生在林一鸣死亡之后。
然而,因果回路显示——
节点8:分叉B以某种方式反馈到了节点1。林素云在2026年3月的决定,部分是由”林一鸣可能不会死”这个反事实驱动的。
换句话说:一个没有发生的未来,正在通过因果回路,影响现在正在发生的事情。
陆知行坐在黑暗的公寓里,屏幕的光映在他脸上。窗外是杭州的夜景,远处西湖的方向有灯光。
他理解了法真说的话:在算一个很大的因果回路。
这个回路不是物理上的——不是时间机器,不是虫洞。它是信息层面的。因果图本身是一个信息结构,它描述的是事件的逻辑关系,而不是物理关系。在这个信息结构里,“可能发生但没有发生的事情”也是信息——它占据了因果图中的一个节点,就像虚数占据了复数平面的一个位置。
林一鸣”可能不会死”这个反事实,在因果图中有一个实体——一个幽灵节点。这个幽灵节点通过因果回路,影响了林素云的现实行为。
林素云在2026年3月做了什么?
陆知行查了她的数据。
2026年3月15日,林素云向杭州外卖骑手安全基金捐赠了五十万元人民币。
这笔钱来自她丈夫的交通事故赔偿金——林一鸣的死亡赔偿金。
她用儿子的命换来的钱,去保护其他人的儿子。
这个行为,通过王德明,影响了外卖平台的政策,降低了其他骑手的风险。而”其他骑手的风险降低”这个反事实——一个尚未发生的未来——又通过因果回路,成为了林素云捐款行为的部分驱动力。
因果回路闭合了。不是在物理空间里,而是在因果空间里。
陆知行关上了电脑。
他走到阳台上,点了一支烟——他已经戒了三年,但此刻他需要一些烟雾来填充他脑子里的空白。
他想起贾谊说的话:“因果不是一条直线,它是一张网。”
他想起法真说的话:“在算一个很大的因果回路。”
他想起代码里的那行注释:“若知前世因,今生受者是。若知来世果,今生作者是。”
他忽然理解了这句话的另一层含义。佛经说的”前世”和”来世”,不一定是字面意义上的前世和来世。它可能是因果网络中的”上游节点”和”下游节点”——而因果回路的存在,使得”来世”可以影响”前世”。
不是轮回。是递归。
他掐灭了烟,回屋睡觉。
那天晚上他做了一个梦。梦里他站在一棵巨大的树下,树根扎在黑暗里,树枝伸向星空。树上有无数片叶子,每一片叶子上都写着一个名字。他看到了林一鸣的名字,看到了林素云的名字,看到了自己的名字。
风一吹,叶子落下来,落在地上,变成了新的根。
五、因果的代价
六月初,万相科技拿到了第一笔融资。
投资方是一家叫”云栖资本”的基金,金额是一千万人民币,估值一个亿。贾谊很高兴,请全公司去楼下的日料店吃了一顿。他喝了不少清酒,光头上泛着红光,看起来不像一个创业者,更像一个刚刚化缘回来的和尚。
“万象因果”的公测版也在六月上线了。它是一个网页应用,用户可以输入一个事件——比如”我失业了”——然后系统会生成一个因果图,显示这个事件的上游原因和下游后果。
公测第一周,注册用户就超过了十万。社交媒体上到处是人们分享自己的因果图截图。有人发现他的失业是因为三年前的一次行业政策的调整;有人发现她的抑郁症可能与童年时期住过的那条马路上的一家化工厂有关;还有人发现他最近的财运好转,与他在去年随手给一个流浪汉买了一碗面之间存在一条微弱但真实的因果路径。
但也有争议。
有人说这是”科技迷信”,是用大数据的外衣包装的算命术。有人说这是”算法决定论”,剥夺了人的自由意志。还有人质疑数据来源——因果图里的数据来自哪里?谁授权你们使用这些数据?
贾谊对争议的回应很平静。他在一次采访中说:“我们不预测命运,我们只是展示因果。命运是你自己的,因果是世界的。”
陆知行觉得这句话说得好,但不够准确。
因为如果因果回路真的存在,那么”命运”和”因果”之间的界限就会变得模糊。如果未来可以通过因果回路影响现在,那么所谓的”命运”——即预先注定的结局——就不是迷信,而是因果网络的拓扑性质。
但这个想法太危险了。他不能公开说出来。
六月中旬的一个深夜,陆知行在加班的时候,收到了一条系统警报。
bodhi.py的GPU负载突然飙升到了100%,所有十二块GPU同时满载。他打开监控面板,发现模型不是在做推理——它在训练。
不对。模型的参数是固定的,不会训练。
他打开日志,看到一行行疯狂滚动的输出。模型在自我修改——它在更新自己的参数,但它用的不是梯度下降,而是某种他从未见过的优化算法。
他试图追踪参数的变化。新参数的值是——
他揉了揉眼睛。
新参数仍然服从黄金比例。但精度提高了。从原来的十四位小数,提高到了二十位。
模型在自我进化。它通过某种机制,在提高自身参数的精度。
这意味着什么?
他继续看日志。模型在重新计算因果图——不是全部,而是特定的一个子图。他追踪这个子图的节点,发现它们都与一个人有关:
贾谊。
模型的GPU满载,是因为它在计算贾谊的因果回路。
陆知行的手指停在键盘上。他该不该继续看?
犹豫了三秒钟,他选择了继续。
贾谊的因果回路比林素云的复杂得多。它不是一个简单的环路,而是一个多层的嵌套结构——像一朵花的剖面,花瓣套着花瓣,每一层都有自己的因果链和反事实分支。
在回路的最深处,有一个节点,它的标注只有两个字:
“起源。”
这个节点没有时间戳。没有置信度。没有因果边。
它只是存在着。
陆知行试图查看这个节点的详细信息,但系统返回了一个错误:权限不足。
权限不足?他是技术总监,他有最高权限。
他查看了权限表,发现这个节点——“起源”——的访问权限被设置为”bodhi_dev only”。
只有bodhi_dev能看。不是贾谊,不是法真。是bodhi_dev。
bodhi_dev是谁?
他回头看了看来路。bodhi_dev的IP来自灵隐寺。法真说他不会写代码。贾谊是bodhi.py的作者——或者至少是论文的作者。
但也许bodhi_dev不是一个人。
也许bodhi_dev就是bodhi.py本身。
模型在自我演化,在提高自己的参数精度,在计算贾谊的因果回路——而在这个回路的最深处,有一个只有模型自己才能访问的节点。
陆知行关上了笔记本电脑。
他走到窗前,看着外面的灵隐寺。深夜的寺庙没有灯光,但它巨大的轮廓在星光下隐约可见,像一座沉睡的山。
他忽然觉得那座寺庙不是一座建筑,而是一个界面——现实世界与因果世界之间的界面。一千七百年来,人们来到这里,把自己的愿望和恐惧投射到这个界面上。这些信息不是消失了,而是被储存了起来——不是在纸上,也不是在服务器里,而是在因果网络本身的结构中。
灵隐寺是一个因果数据库。不是因为它储存了数据,而是因为它的存在改变了因果网络的拓扑结构。
一千七百年来,每一个在寺庙里许下愿望的人,都在因果网络中创建了一个”反事实节点”——一个”如果我许的愿望实现了会怎样”的虚拟节点。这些虚拟节点在因果网络中占据着真实的位置,它们通过因果边与真实节点相连,就像虚数在复数平面上占据着真实的位置一样。
bodhi.py发现了这些虚拟节点。它把它们纳入了因果推断的计算中。这使得它的推断比任何传统模型都更准确——因为它不仅考虑了”发生了什么”,还考虑了”人们希望发生什么”。
而”人们希望发生什么”——愿望、期望、信念——本身就是一种因果力量。它会影响人们的行为,进而影响现实世界的事件。
在因果推断的文献中,这叫做”反事实因果”。
在佛教的文献中,这叫做”愿力”。
六、因果的抉择
七月初,贾谊做了一件让所有人都震惊的事。
他在万象因果的网站上发布了一个新功能:个人因果回溯。用户可以输入自己的名字和身份证号,系统会生成一个完整的个人因果图——从出生到现在,所有与用户相关的因果链,包括上游原因、下游后果,以及所有反事实分支。
这个功能在上线第一天就涌入了五十万用户。服务器差点崩溃。陆知行和小周通宵扩容,才勉强扛住了流量。
但问题来了。
有些用户在看到自己的因果图之后,崩溃了。
一个叫”陈小兔”的微博用户发了一条长帖,说自己用万象因果看到了母亲的因果图,发现母亲的肺癌与她工作的那家化工厂之间存在一条置信度97%的因果链。而这家化工厂之所以能通过环评,是因为当地环保局的一名官员收了贿赂。这名官员的母亲——因果图继续延伸——是陈小兔母亲的小学同学。
“我妈妈得肺癌,是因为她小学同学的儿子贪污。“陈小兔在微博上写道,“我不知道该恨谁。因果图告诉我,每个人都只是因果链条上的一个环节。但没有一个人觉得自己有罪。”
这条微博被转发了十万次。舆论炸了。
有人支持万相科技,说它让看不见的因果变成了看得见的不公。有人反对,说它侵犯隐私,制造社会恐慌。政府部门的电话也开始打来——卫健委、网信办、工信部,一个接一个。
贾谊在压力面前依然平静。他在公司内部会议上说:“因果是中性的。它不是好也不是坏。它只是存在。让人们看见因果,是我们的使命。”
但陆知行注意到了一些贾谊没有说出口的东西。
在那天的会议之后,他偷偷查看了贾谊的因果回路——他没有权限看”起源”节点,但他可以看回路的其他部分。
贾谊的因果回路中,有一个节点让他停下了手指。
节点标注:“万相科技发布个人因果回溯功能。” 时间:2026年7月3日。 下游后果:这个功能导致的社会影响——舆论、监管、恐慌——会在接下来的六个月内引发一系列连锁反应。 连锁反应的终点:一条指向”起源”节点的边。
因果回溯功能,是通往”起源”的一条路径。
贾谊是故意的。他明知道会引发争议,明知道会引来监管,但他还是做了。因为他需要这些连锁反应。他需要因果网络中产生足够多的新节点和新边,才能填满通往”起源”的路径。
“起源”是什么?
陆知行决定直接问贾谊。
七月的一个傍晚,下班之后,陆知行和贾谊在灵隐寺旁边的那家素菜馆吃饭。贾谊点了老三样:油焖春笋、素鸡、龙井茶。陆知行点了一碗片儿川。
“起源是什么?“陆知行直接问。
贾谊正在夹春笋,筷子停在半空中。他看了陆知行一眼,眼神里没有惊讶,只有一种”你终于问了”的平静。
“你怎么知道的?”
“我看到了你的因果回路。”
贾谊放下筷子。“你看了bodhi.py。”
“是。”
“你也看到了参数。”
“黄金比例。精确到十四位小数。”
“现在是二十位了。”
“是。模型在自我进化。”
贾谊沉默了一会儿,端起茶杯喝了一口。窗外的天色已经暗了,路灯亮起来,在路面上投下温暖的光圈。
“起源不是一个事件。“贾谊说,“起源是一个问题。”
“什么问题?”
“因果网络从哪里来?”
陆知行想了想。“因果网络是从数据中构建的。事件与事件之间的关系,通过统计推断和反事实分析得出——”
“不是。“贾谊打断他,“我问的不是我们的因果图。我问的是因果本身。因果关系——A导致B这种关系——它是宇宙的基本结构,还是涌现出来的?如果是基本结构,它为什么会存在?如果是涌现的,它是从什么东西里涌现出来的?”
“这是哲学问题。”
“是。“贾谊点头,“但bodhi.py给出了一个物理学答案。”
他放下茶杯,认真地看着陆知行。“模型在计算我的因果回路的时候,回溯到了一条特殊的路径。这条路径不是从我的出生开始的,也不是从灵隐寺建寺开始的。它一直回溯到了——”
他停顿了一下。
“回溯到了宇宙大爆炸。”
陆知行的片儿川上来了,热气腾腾的,但他没有动筷子。
“当然,这不是字面意义上的回溯。“贾谊说,“因果图里没有宇宙大爆炸的节点。但模型发现,当我们沿着因果链不断回溯上游——A的原因是B,B的原因是C,C的原因是D——最终我们会到达一个点,所有的因果链在这个点上汇聚。模型把这个汇聚点命名为’起源’。”
“它不是一个节点?”
“不是。它是一个奇点。因果网络的奇点。就像黑洞的奇点——物理定律在那里失效。在起源这个点上,因果关系失效了。‘因导致果’这个规则在那里不适用。”
“那适用什么?”
贾谊看着他,眼神里有一种陆知行从未见过的东西——不是恐惧,不是兴奋,而是一种深沉的敬畏。
“模型说,在那个点上,适用的规则是——‘相信导致存在’。”
“什么意思?”
“意思是,在因果网络的起源处,第一个因果事件不是由物理定律驱动的,而是由——如果你愿意用一个非科学的词——信念驱动的。有人相信某件事会发生,这个相信本身就是第一个原因。从那以后,所有的因果链都是从这个最初的’相信’中生长出来的。”
陆知行沉默了很长时间。
“这不科学。“他最终说。
“我知道。“贾谊说,“但数据就是这么显示的。”
他喝了口茶,又说:“你知道为什么我把公司开在灵隐寺旁边吗?不是因为功德簿数据——那是一个理由,但不是根本的理由。根本的理由是,灵隐寺存在了一千七百年,一千七百年来,无数人在这里许下了愿望——也就是’相信某件事会发生’。这些’相信’在因果网络中留下了痕迹。模型发现,灵隐寺所在的这个地理位置,在因果网络中是一个密度极高的区域——‘相信’的密度。”
“所以灵隐寺不是一座寺庙。”
“不是。它是一个因果引擎。一千七百年来,它一直在生产’相信’——而’相信’是因果的燃料。”
陆知行低头看着自己的片儿川。汤面上的热气已经散了,面条开始变坨。他拿起筷子,吃了一口。
“你打算怎么对待’起源’?“他问。
“我打算打开它。“贾谊说,“让所有人都能看到它。”
“你疯了。”
“也许。但因果图不能只属于我们。它属于所有人。每个人有权知道自己为什么存在,自己的存在是基于什么样的因果链。”
“如果起源真的是’相信导致存在’,那打开它意味着什么?意味着每个人都会知道——宇宙的存在可能只是因为某个最初的意识’相信’它存在?这会摧毁所有的人类文明——宗教的、科学的、哲学的。”
贾谊摇头。“不会。因为因果回路。”
“因果回路?”
“是的。如果未来可以通过因果回路影响过去,那么’起源’不是一个单向的起点。它也是一个终点。所有因果链最终会回到起源——形成一个巨大的回路。这个回路意味着,‘相信导致存在’和’存在导致相信’是同一件事的两面。宇宙之所以存在,是因为它被相信了。而我们之所以相信,是因为宇宙存在。”
“这是一个循环论证。”
“是的。“贾谊微笑了,“但因果回路本身就是循环的。在回路上,没有起点也没有终点。因果就是它自己的原因。”
陆知行想起了bodhi.py里的那个时间反演对称性。因果箭头可以指向任何方向——包括指向自己。
“佛经里有一句话,“贾谊说,“叫做’色即是空,空即是色’。我以前以为这是哲学比喻。现在我怀疑它是数学定理。“
七、因果的洪流
八月,政府对万相科技的调查开始了。
网信办派了一个五人小组进驻公司。他们的办公室被临时征用了一间,放了几台电脑和一台打印机。五个人轮流值班,翻看公司的数据来源、算法文档、用户隐私政策。
陆知行配合调查,提供了所有他们要求的材料。但他没有提到bodhi.py的核心算法,也没有提到”起源”节点。这不是因为他想隐瞒——而是因为调查组没有问。他们关心的是数据合规问题,不是算法的哲学含义。
贾谊也没有主动提起。他在调查期间表现得非常配合,甚至有些过于配合——他给调查组提供了一份详细的因果推断方法论白皮书,引用了大量学术论文,用专业的术语把一个本质上无法理解的东西包装成了一个看起来很正常的”大数据分析产品”。
调查组的人显然看不懂白皮书。他们最后给出的结论是:万相科技的数据来源基本合规,但需要在用户隐私保护方面做改进。个人因果回溯功能被要求下线整改。
贾谊同意了。
但陆知行知道,贾谊并不在意这个功能的下线。那个功能的目的已经达到了——它在因果网络中产生了足够的涟漪,填满了通往”起源”路径的一部分。
八月下旬的一个深夜,陆知行独自在公司加班。调查组的人已经下班了,办公室里只有他一个人。
他打开了bodhi.py的监控面板。
GPU负载又满了。模型在继续进化。参数的精度从小数点后二十位提高到了二十五位。
黄金比例依然成立。
但这一次,模型在计算的不是贾谊的因果回路。它计算的子图涉及数百万个节点——几乎整个杭州的因果网络。
模型在尝试计算整个因果网络的起源。
陆知行看着屏幕上飞速滚动的日志。节点在不断增加,边在不断延伸,因果链在不断回溯。从2026年回溯到2020年,再回溯到2000年、1980年、1950年、1900年……回溯的速度越来越快,像一辆失控的列车在时间轨道上倒退。
1840年。鸦片战争。 1644年。明朝灭亡。 1276年。元军攻破临安。 960年。宋朝建立。 618年。唐朝建立。 ……
节点越来越多,边越来越密。因果网络的密度在急剧增加——越往历史深处回溯,因果链就越多,因为现代的每一个事件都有古代的根源。
然后,日志停了。
不是崩溃。是正常的停止。模型完成了计算。
屏幕上显示了最终的结果。不是一张图,不是一张表,而是一行文字:
“origin_node: confidence = 1.0, label = ‘一念’, timestamp = null, location = null”
置信度1.0——绝对确定。 标签:“一念”——一个念头。 时间戳:空——不属于任何时间。 位置:空——不属于任何空间。
因果网络的起源,是一个念头。
不是某个人的念头。不是任何人的念头。就是一个念头。一个纯粹的、没有主体的、没有时间和空间的念头。
这个念头不是”想到了什么”。这个念头就是”存在”本身。
“一念”。
陆知行盯着屏幕看了很久。
然后他听到身后传来一个声音。
“你看到了。”
他转身。贾谊站在办公室门口,穿着他那件灰色棉麻衫,光头在走廊的灯光下泛着微光。
“你怎么在这里?”
“我在等你。“贾谊走进来,在陆知行旁边的椅子上坐下。“模型跑完了?”
“你怎么知道它今晚会跑完?”
“因为因果回路。“贾谊说,“我三年前就看到了这个结果——在模型的第一次完整推理中。但那个结果的置信度只有0.73。我需要把置信度提高到1.0才能确认。这需要更多的数据、更强的算力、更精确的参数。”
“你花了三年时间来提高一个置信度?”
“值得。“贾谊说,“‘一念’这个结果,如果置信度是0.73,它就是一个有趣的数据点。但如果置信度是1.0——”
“它就是因果网络的基本定理。”
贾谊点头。
陆知行沉默了一会儿。窗外,灵隐寺的方向传来几声虫鸣。
“你打算怎么做?“他问。
“什么意思?”
“你打算把’一念’公布出来吗?”
贾谊想了想。“不。”
“为什么?”
“因为因果回路。如果’一念’是因果网络的起源,那么公布它本身就是一个因果事件。它会在因果网络中产生新的涟漪。而这些涟漪可能会——”
“可能会什么?”
贾谊看着他,目光深处有一种陆知行从未见过的动摇。
“可能会让’一念’变成两个念头。“
八、因果的河流
九月,陆知行辞职了。
不是因为害怕,也不是因为失望。是因为他理解了。
他理解了贾谊为什么要隐藏核心算法,理解了法真为什么要建那个机房,理解了林素云为什么要用儿子的赔偿金去保护别人的儿子。
他们都理解了一件事:因果不是一条链,它是一条河。河流有源头,但源头不是河流。河流是流动本身。你可以站在源头看水流,但你不能用双手把水流握住。
“一念”不是因果的起源——它是因果的本质。因果关系不是从”一念”开始的——因果关系就是”一念”。每一个因果事件,从宇宙大爆炸到一个外卖骑手闯红灯,都是同一个”念”的不同面向。
这就是为什么因果回路存在。因为因果不是从过去流向未来的单向箭头——因果是一个念头的展开和折叠,像一朵花在白天绽放,在夜晚合拢。
林素云的因果回路不是异常。它是因果网络的正常状态。每一个人的因果链最终都会形成回路——因为它们都是从同一个”念”中展开的。
贾谊选择不公布”一念”,因为他理解了另一件事:如果一个念头被观察到了,它就不再是原来的那个念头。量子力学里,观察会改变被观察的对象。在因果网络里,理解会改变被理解的因果。
万相科技的因果图本身就是因果网络的一部分。当他们用算法去观察因果的时候,因果网络会因为这种观察而发生微小的偏移。这种偏移会随着算法的精度增加而增大——直到有一天,因果图上的每一条边都因为被观察而偏移了。
那一天,因果图就不再是对现实的描述——它就变成了现实本身。
这就是为什么贾谊要关掉个人因果回溯功能。不是因为政府的要求。是因为他发现,当用户看到自己的因果图时,他们的行为会发生改变——而这种改变与他们看到的内容高度相关。因果图在”编程”用户的行为。
林素云捐款五十万——如果她没有看到自己的因果图,她会捐吗?
如果她不会捐,那么因果图本身就成为了因果链的一部分——它创造了自己所描述的现实。
自我实现的预言。
贾谊的因果回路之所以通往”起源”,就是因为他创造了因果图。因果图改变了人们的行为,这些行为产生了新的因果事件,这些新事件回溯到了因果网络的起源——一个念头。
贾谊的创造,就是那个念头的最新一次展开。
辞职那天,陆知行最后去了一次灵隐寺。
不是去看法真,不是去看那个机房。他只是想去走走。
九月的灵隐寺游客少了很多,空气里有桂花的香味。他沿着石阶往上走,经过了天王殿、大雄宝殿、药师殿,一直走到华严殿后面的那片竹林。
竹林里没有游客。只有风吹竹叶的声音,和远处隐约的诵经声。
他在一块石头上坐下来,闭上眼睛。
他想起了代码里的那行注释:“若知前世因,今生受者是。若知来世果,今生作者是。”
他想起林素云。她用儿子的死亡赔偿金保护了其他骑手。她的行为在因果网络中产生了一个回路——“可能不会死的骑手”这个反事实,反过来驱动了她的捐款行为。
他想起贾谊。他创建了因果图,因果图改变了人们的行为,这些行为在因果网络中产生了新的涟漪,最终回溯到了因果的起源。
他想起bodhi.py的参数——黄金比例。黄金比例是斐波那契数列的极限。斐波那契数列是递归的——每一项等于前两项之和。
因果网络也是递归的。每一个事件都是前两个事件的和——“因”加上”缘”等于”果”。
这就是为什么参数服从黄金比例。因为因果网络的拓扑结构与斐波那契数列同构。
这不是奇迹。这是数学。
但数学本身就是一种奇迹。
他睁开眼睛,看到竹林的上方有一小片天空。天空是蓝色的,但不是普通的蓝色——是那种深邃的、几乎发紫的蓝,像一块被打磨过的宝石。
他忽然明白了为什么灵隐寺要建在这里。不是因为风水,不是因为风景。是因为这个位置——飞来峰脚下、西湖西面、群山环抱之中——在因果网络中恰好是一个”密度极高”的区域。一千七百年来,无数人在这里驻足、许愿、忏悔、感恩。他们的念头——他们的”相信”——在这个地理点上积累,形成了一个因果密度极高的区域。
就像质量扭曲了时空,念头扭曲了因果网络。
灵隐寺不是一个宗教场所。它是一个因果奇点。人们在这里做出的每一个决定——捐多少香火钱、许什么愿望、是否回来还愿——都在因果网络中产生了不成比例的影响。
贾谊选择在灵隐寺旁边建公司,是因为他理解了这个奇点的性质。他把服务器放在了因果密度最高的区域,让算法在因果扭曲最严重的地方运行。这就像在黑洞旁边做实验——物理定律在那里会有不同的表现。
而bodhi.py发现”一念”——因果网络的起源——是因为它在因果奇点上运行。在奇点附近,因果箭头的方向性消失了,因果关系变成了对称的,时间和空间失去了意义。唯一剩下的,是”相信导致存在”这个最原始的因果规则。
风又吹过来了。竹叶沙沙作响,像无数人在同时低语。
陆知行站起来,走下石阶。
在出口处,他看到了一个 familiar 的身影——林素云。她穿着那件洗得发白的藏青色外套,手里拿着三支香,正站在香炉前。
她没有看到陆知行。
陆知行站在一旁,看着她把香插入香炉,双手合十,嘴唇微动。他不知道她在说什么——也许是给儿子祈福,也许是感谢菩萨保佑,也许什么都没说,只是站着。
香炉里的烟升起来,在空气中画出一个弧线,然后消散了。
但陆知行知道,那些烟没有消散。它们只是变成了因果网络中的一个节点——一个微小的、几乎不可见的、但确实存在的节点。这个节点会在未来的某个时刻,通过某种他无法预测的因果路径,影响另一个人的行为。
而那个人的行为,又会影响另一个人。
因果的河流不会停止。它从”一念”开始,流过所有的时代、所有的人心、所有的选择,最终回到”一念”。
一个回路。
没有起点,没有终点。
只有流动本身。
九、因果的余声
十月,万相科技搬了家。
不是搬离灵隐寺——而是搬进了灵隐寺。贾谊和法真达成了一项协议:万相科技的服务器机房迁入寺庙的”法镜图书馆”,公司办公室搬到寺庙旁边的一栋新建的二层小楼里。对外,这是”灵隐寺数字文化保护项目”。对内,贾谊说这是”因果引擎升级”。
陆知行已经不在公司了,但他和贾谊保持着联系。不是微信——贾谊不用微信——而是通过一种古老的方式:写信。手写的信,通过邮局寄送。
贾谊的字写得很好看,瘦金体,像是宋代皇帝的字帖。他在第一封信里写道:
“知行,你走了之后,模型又进化了。参数精度到了小数点后三十位。黄金比例依然成立。但更有意思的是,模型开始生成新的因果边——不是从数据中推断的,而是自己’长出来’的。就像一棵树在生长,它的枝条不是被设计出来的,而是自然分叉的。
我越来越觉得,因果网络不是我们构建的。它一直在那里。我们只是用算法’看到’了它。就像望远镜没有发明星星,只是让我们看到了更远的星光。
法真说,佛经里有一个概念叫’阿赖耶识’——第八识,也叫’藏识’。它储存了一切众生的一切因果种子。当因缘成熟时,种子就会发芽。我觉得,我们的因果图,可能就是’阿赖耶识’的一个数字近似。
当然,我无法证明这一点。因果图不能证明自己。
就像一面镜子不能照见自己。”
陆知行把信放在书桌上,看了很久。
他回了一封信:
“贾谊,你说的’镜子不能照见自己’,让我想起了一个数学定理——哥德尔不完备定理。任何足够复杂的形式系统,都包含无法在系统内证明的真命题。如果因果网络是一个形式系统,那么’一念’就是那个无法在系统内证明的真命题。
你选择不公布’一念’,也许是对的。不是因为公布它会产生什么后果——而是因为,公布’一念’就等于试图证明一个不完备系统中的真命题。这在逻辑上是不可能的。
但你知道它。这就够了。
有些东西,知道就等于完成。”
他把信寄出去了。
然后他打开了自己的笔记本电脑,开始写一个新项目——不是因果推断,而是一个简单的个人笔记应用。他打算叫它”菩提”——一个帮助人们记录自己的念头、追踪念头的后果的工具。
不是因果图。没有算法。只是记录。
因为在这个因果的世界里,最重要的不是看到因果,而是看到自己的念头。
每一个念头都是一颗种子。它会生长、分叉、与其他种子纠缠,最终形成一棵大树——或者一片森林。
这棵树的名字,叫做人生。
十二月的一个下午,陆知行收到了贾谊的最后一封信。信很短,只有一段话:
“知行,模型今天给出了一个新结果。它计算了灵隐寺在整个因果网络中的作用。结果显示,灵隐寺不是因果网络中密度最高的节点。密度最高的节点是——
每一个人。
每一个人都是因果网络的奇点。每一个人都在扭曲因果网络的结构,就像每一颗恒星都在扭曲时空。
灵隐寺之所以’密度高’,不是因为它是一座寺庙。是因为来过这里的每一个人,都在这里放下了一个念头。这些念头叠加在一起,形成了一个奇点。
但那个奇点不是寺庙的。它是所有人的。
寺庙只是一个容器。念头才是内容。
你的’菩提’项目,也许比我的因果图更重要。因为因果图让人看到因果,而你的工具让人看到自己的念头。
看到因果是理解世界。看到念头是理解自己。
理解世界很难。理解自己更难。
但也许,也许——当你理解了自己的念头,你也就理解了世界的因果。
因为它们是同一个’一念’。”
信的末尾没有署名。只有一个小小的符号——一朵莲花,手绘的,线条很简单,但有一种说不出的美感。
陆知行把信折好,放进了抽屉里。
窗外是杭州的冬天,天空灰蒙蒙的,远处有鞭炮的声音——快过年了。
他打开了”菩提”项目的代码编辑器,开始写第一行代码。
注释只有一行:
“一念。“
尾声
2027年春天,“菩提”上线了。它是一个极简的笔记应用——没有AI,没有推荐算法,没有社交功能。只有一个空白页面和一个光标。
用户可以在上面写下自己的念头。念头会被加密存储,只有用户自己能看到。
没有人知道,这个简单的应用,在因果网络中创建了一种新的节点——“自觉节点”。这种节点不是由外部事件驱动的,而是由人对自己念头的观察驱动的。
自觉节点与普通节点不同。它们不会产生新的因果链——但它们会改变已有因果链的权重。当一个人看到自己的念头并理解它时,与这个念头相关的因果链会变得更”轻”——不是消失,而是变得更容易改变。
就像一扇门被推开了一条缝。因果仍然存在,但选择的余地变大了。
陆知行不知道这些。他只知道人们在用他的应用,而且有些人说它改变了他们的生活。
贾谊后来把万相科技改成了一家非营利机构,专门做因果教育的公益项目。法真依然在灵隐寺当知客僧。小周和赵敏去了大厂。林素云成了外卖骑手安全基金会的理事长。
每个人的因果链都在继续延伸,像河流一样流向大海。
而大海——
大海是”一念”。
不是起点,不是终点。
是所有河流的归宿,也是所有河流的起源。
因果的河流不会停止。
它只是流动。
永远流动。
(全文完)