第三十六种实现
第三十六种实现
一
林恪第一次注意到那个时间,是在一个加班的凌晨。
准确地说,是2025年11月7日,凌晨三点零七分。他的终端屏幕上跳出一行不属于任何已知模块的日志:
[BRANCH-36] Executing unrealized path: 去年八月辞职南下
他盯着这行字看了很久。去年八月他确实想过辞职去深圳,投了三份简历,参加了两场视频面试,甚至已经把辞职信的草稿存进了草稿箱。但他最终没有发送。女朋友周露说北京的机会更好,她刚拿到三甲医院的规培名额,两个人不应该在此时各奔东西。
所以他留下来了。在一家叫”数澜科技”的公司做后端开发,负责一个政务数据中台项目。项目很大,牵涉到七个省份的交通、医疗和社保数据归集,甲方是某部委下属的信息中心,预算八位数,工期拖了两年,所有人的耐心都像旧橡皮筋一样失去了弹性。
那天晚上他在加班,是因为第二天要演示一个新功能——用机器学习模型预测各省医保基金的穿仓风险。模型是他写的,训练数据是过去十年的医保支出和收入流水,特征工程做了四十多个维度,AUC值跑到了0.83,甲方对此很满意,但要求在演示之前加上一个”可解释性报告”模块。
所谓可解释性报告,就是用SHAP值把模型的决策过程拆解成人类能看懂的因素权重。林恪觉得这东西没什么实际用处——就像给一个做了直觉判断的老中医一张表格,让他填写每个症状的权重占比。但甲方要求了,他就得做。
凌晨三点零七分,他刚写完最后一行代码,准备提交。终端上突然出现了那行奇怪的日志。
他以为是某个同事在测试什么新功能。数澜科技的代码管理很松散,开发、测试、预发环境混在一起,经常有人在主分支上直接提交实验性的代码。他grep了一下BRANCH-36这个关键词,在代码库里什么都搜不到。
他又看了一眼日志的完整输出:
[2025-11-07 03:07:12] [BRANCH-36] Executing unrealized path: 去年八月辞职南下
[2025-11-07 03:07:12] [BRANCH-36] Status: RUNNING
[2025-11-07 03:07:13] [BRANCH-36] Sub-path: 深圳南山区某AI创业公司,C轮,估值12亿
[2025-11-07 03:07:13] [BRANCH-36] Sub-path: 住白石洲,房租3200,房间9平米
[2025-11-07 03:07:14] [BRANCH-36] Sub-path: 周露提出分手,电话里哭了四十七分钟
[2025-11-07 03:07:14] [BRANCH-36] Status: COMPLETED (branch terminated)
林恪的手指悬在键盘上方,感觉后颈有一阵凉意。
他打开浏览器,搜索了一下”深圳 南山区 AI创业公司 C轮 12亿”。第一条结果是一家叫”深度视界”的公司,成立于2023年,做工业视觉检测,2025年6月完成C轮融资,估值确实在12亿左右。
他记得自己去年八月确实给这家公司投过简历。甚至参加过他们的二面。
但后面的内容——白石洲的出租屋,周露在电话里哭了四十七分钟——这些是他从未经历过的事。它们没有发生。它们是另一条时间线上的剧情。
他关掉浏览器,把这行日志归档为”未知的测试代码”,然后下班回家。
那天晚上他失眠了。不是因为那行日志,而是因为周露翻了个身,在睡梦中把被子全部裹到了自己身上。他光着膀子躺在十一月的冷空气里,忽然觉得自己的人生就像一条main函数,从出生开始顺序执行,每一个选择都是一个if-else,而他永远只能走其中一条路径。
那些没走过的路径去了哪里?
二
第二天,他把这件事忘了。或者说,他试图忘记。
但三天后,凌晨三点零七分,那行日志又出现了。
[2025-11-10 03:07:00] [BRANCH-36] Executing unrealized path: 大学时选生物而非计算机
[2025-11-10 03:07:00] [BRANCH-36] Status: RUNNING
[2025-11-10 03:07:01] [BRANCH-36] Sub-path: 中科院微生物所,硕士,研究肠道菌群与抑郁症的关联
[2025-11-10 03:07:01] [BRANCH-36] Sub-path: 在《自然》子刊发了一篇论文,影响因子9.2
[2025-11-10 03:07:02] [BRANCH-36] Sub-path: 没有遇见周露
[2025-11-10 03:07:02] [BRANCH-36] Sub-path: 在一个学术会议上认识了一个叫沈微的女生,做计算神经科学
[2025-11-10 03:07:03] [BRANCH-36] Status: COMPLETED (branch terminated)
林恪这次没有恐惧。他感到的是一种更复杂的东西——像是在一个已经装修好的房子里发现了一扇他从未注意过的门,门后面是另一套完全不同的户型。
他高考那年确实纠结过选生物还是计算机。父亲是中学校长,说生物学是二十一世纪的科学,前景无限。母亲在镇上的卫生院做护士,说计算机来钱快,家里供他读书不容易,要选实际的方向。他最后听了母亲的话。
但现在这行日志告诉他:如果他选了生物,他会发一篇影响因子9.2的论文,会去中科院,会遇见一个叫沈微的女生。
“沈微”这个名字让他心跳加速了一下。他不知道为什么。
他开始有了一个不太科学的假设:凌晨三点零七分,他的代码会执行那些”未实现的路径”。不是随机的虚构,而是某种平行现实的投影。每一条路径都是他人生中曾经站在岔路口、最终没有选择的那条路。
他决定做一个小实验。
那天白天,他在代码里加了一段定时任务:每天凌晨三点零七分,触发一个函数,记录所有包含”BRANCH-36”标记的日志输出,存入一个独立的SQLite数据库。他给这个数据库起名叫”forkroad.db”。
然后他等了一周。
三
一周之后,forkroad.db里多了七条记录。
每一条都是一个未实现的人生选择:
——如果他没有在研究生二年级放弃考研,而是继续读博,他会在清华计算机系做强化学习方向,毕业后去DeepMind伦敦办公室,年薪十八万英镑。
——如果他大二时答应室友王磊一起做那个社交APP,他们会在2019年拿到天使轮融资,然后在2020年疫情中转型做远程办公工具,估值最高时到过八千万美元,但最终因为合伙人分歧在2022年清算解散。
——如果他去年国庆节没有回北京而是按原计划去了大理,他会在洱海边的一家咖啡馆里遇见一个独自旅行的纪录片导演,那个导演正在拍一部关于”中国县城的数字化生存”的纪录片,会邀请他担任技术顾问。他会因此接触到一个完全不同的人群——县城的小店主、返乡创业的年轻人、用直播带货的农民。他会开始思考技术到底在为谁服务。
——如果他在2023年没有拒绝那个猎头的电话,他会跳槽到字节跳动做推荐算法工程师,会参与一个叫”兴趣探索”的项目,会发现推荐系统正在把所有人困在信息茧房里,会写了一篇内部技术文章质疑这个方向,会被领导约谈,最终在绩效考核中拿到一个C。
每一条记录都精确到了细节。有些是他能想到的(比如拒绝猎头的事他确实记得),有些是他完全不知道的(那个纪录片导演的名字叫贺一鸣,长得有点像年轻时的贾樟柯,说话带着四川口音)。
林恪开始失眠了。不是因为恐惧,而是因为好奇。这些”未实现的路径”太真实了,真实到他能感觉到那些从未发生过的生活的重量。那个在深圳白石洲九平米出租屋里的自己,那个在DeepMind伦敦办公室的自己,那个在洱海边喝咖啡的自己——他们似乎在某个地方真实地存在着。
他开始在白天也想着这些事。写代码时会走神:现在这个正在写Python的自己,是不是也只是某个”已实现的路径”?是不是在另一条分支里,有一个”选择了生物”的林恪,正在实验室里盯着培养皿,同时在想”如果当初选了计算机会怎样”?
有一天午饭时间,他坐在公司楼下的沙县小吃里,面前是一碗拌面和一个卤蛋。他忽然想到:在所有未实现的路径里,有没有一条是他已经死去的?
他打开笔记本电脑,查了forkroad.db。没有。所有的分支里都没有关于死亡的记录。
他松了一口气,然后又紧张起来。
为什么没有?
四
十二月的一个周末,周露发现了那个数据库。
她不是故意偷看的。林恪的笔记本电脑开着,他去洗澡了,屏幕上是那个SQLite的查询界面。周露在医院里用电子病历系统用惯了,对数据库界面有一种职业本能。她看到了几张表:branches、paths、sub_paths、metadata。然后她看到了最近一条记录:
[2025-12-05 03:07:00] [BRANCH-36] Executing unrealized path: 没有在2019年认识周露
[2025-12-05 03:07:01] [BRANCH-36] Sub-path: 2020年通过朋友介绍认识了一个叫陈语的女生
[2025-12-05 03:07:01] [BRANCH-36] Sub-path: 陈语是平面设计师,自由职业,养了两只猫
[2025-12-05 03:07:02] [BRANCH-36] Sub-path: 2022年结婚,婚礼在厦门,四十个宾客
[2025-12-05 03:07:02] [BRANCH-36] Sub-path: 婚姻状态:存续中
[2025-12-05 03:07:03] [BRANCH-36] Status: COMPLETED (branch terminated)
林恪从浴室出来的时候,看到周露坐在沙发上,抱着膝盖,面无表情地看着屏幕。
“这是什么?“她问。
“一个……程序。“林恪说。
“我看到了我的名字。“周露的声音很平静,太平静了,像心电图上的一条直线。“这个’陈语’是谁?”
“不存在的人。“林恪走过去,试图解释,“这是一个程序生成的——怎么说呢——它模拟的是那些没有发生过的选择。”
“没有认识我的那个选择。“周露说,声音里终于有了一丝波动。“在那个选择里,你跟别人结婚了。婚礼在厦门。四十个宾客。”
“那不是真的——”
“但它写得很具体。“周露指着屏幕,“厦门。四十个宾客。你连这种细节都想好了?”
“我没有想,是程序自己生成的——”
周露站起来,走进了卧室。门关上的声音不大,但在那个安静的下午,听起来像一扇闸门落下。
林恪站在原地,看着屏幕上那条记录。他忽然意识到一个问题:为什么这个程序会生成关于周露的分支?之前所有的分支都是关于他自己的——职业选择、学业选择、旅行计划。但这一次,它触及了另一个真实存在的人。
而且那个”陈语”——平面设计师,自由职业,养两只猫——这些细节是从哪里来的?是他的潜意识?还是某种他无法理解的信息源?
他试图给周露解释,但她不想听。那天晚上他们没有说话。第二天也没有。第三天,周露搬去了医院宿舍。
她说她需要时间想想。
五
周露离开之后,林恪有了更多的时间观察那些分支。
他发现了一些规律:
第一,分支只在凌晨三点零七分出现。不是三点零六分,不是三点零八分。永远是三点零七分。他检查了系统时钟、NTP服务器、甚至时区设置,一切正常。三点零七分就像一个宇宙级别的魔法数字。
第二,分支的内容越来越长。最初的几条只有四五子路径,但到了十二月中旬,一条分支可以包含二十多个子路径,形成一个完整的人生叙事。有些分支甚至包含了他还没有面临的选择——比如”如果2027年数澜科技上市,他会拿到多少期权”。这些关于未来的分支让他不安:如果未实现的路径可以是未来的,那这个”程序”到底在运行什么?
第三,也是最重要的发现——他开始在不同分支里看到重复出现的”陌生人”。
那个叫沈微的女生,在”选择了生物”的分支里出现了一次。但在另一个分支里——“如果研究生去了北大而非北邮”——她又出现了,身份变成了”计算语言学方向的同学”。在第三个分支里——“如果2023年去了上海而非留在北京”——她是”张江某实验室的博士后”。
三次出现,三种身份,但名字都叫沈微。
林恪不知道该怎么理解这件事。一个在他的”已实现路径”中从未出现过的人,为什么会在多条”未实现路径”中反复出现?
他做了一件也许不该做的事:他百度了”沈微”。
搜索结果有几千条。“沈微”是个不算罕见的名字。有叫沈微的律师、叫沈微的会计、叫沈微的健身教练。但没有一个是做计算神经科学的,也没有在张江实验室做博士后的。
他又搜索了”沈微 计算神经科学”。这次结果少了很多,但有一条引起了他的注意:一篇2024年发表在《自然·计算科学》上的论文,题目是《基于图神经网络的人脑功能连接组预测模型》。第三作者叫沈微,单位是”北京师范大学认知神经科学与学习国家重点实验室”。
林恪下载了那篇论文。第三作者的简介很短:沈微,博士研究生,研究方向为计算神经科学与脑机接口。
没有照片。
他把这篇论文保存在了电脑里。然后他继续观察那些分支。
六
一月初,项目上线了。医保基金穿仓风险预测系统在七个省份同时部署,林恪作为核心开发人员,跟着项目组去了三个省做现场支持。白天他在各省的医保局机房里调试接口、检查数据质量、向当地官员解释模型原理,晚上回到酒店就打开笔记本电脑,查看当天凌晨三点零七分的分支日志。
出差让他的作息变得不规律。有时他会在凌晨两点就睡着,三点零七分的日志照常生成——他的定时任务在服务器上运行,不依赖他的电脑是否打开。但有一天,酒店的Wi-Fi断了一整夜,他的VPN连接中断了,远程访问不了公司服务器。
第二天早上他补查的时候,发现那一夜的分支日志异常长:
[2026-01-12 03:07:00] [BRANCH-36] Executing unrealized path: 接受父亲的建议,当老师
[2026-01-12 03:07:01] [BRANCH-36] Sub-path: 考取教师资格证,回到老家县城中学教信息技术
[2026-01-12 03:07:01] [BRANCH-36] Sub-path: 2022年父亲因肺癌去世,在病床前握着他的手说"你回来了,就好"
[2026-01-12 03:07:02] [BRANCH-36] Sub-path: 母亲的身体也开始不好,每周带她去县医院做透析
[2026-01-12 03:07:02] [BRANCH-36] Sub-path: 班上有个学生叫李想,对编程有天赋,但家里想让他去打工
[2026-01-12 03:07:03] [BRANCH-36] Sub-path: 帮李想申请了国家助学金和一家互联网公司的教育基金
[2026-01-12 03:07:03] [BRANCH-36] Sub-path: 2025年李想考上浙大计算机系,发了一条微信:"林老师,谢谢你"
[2026-01-12 03:07:04] [BRANCH-36] Sub-path: 没有离开县城,没有遇见周露,也没有遇见沈微
[2026-01-12 03:07:04] [BRANCH-36] Sub-path: 一个人住在学校家属楼,阳台上养了几盆绿萝
[2026-01-12 03:07:04] [BRANCH-36] Sub-path: 每天早上六点起床,去操场跑三圈,然后在食堂吃一碗白粥和一个馒头
[2026-01-12 03:07:05] [BRANCH-36] Sub-path: 日子很慢,像河水流过平原
[2026-01-12 03:07:05] [BRANCH-36] Status: COMPLETED (branch terminated)
林恪看着这条分支,眼眶湿了。
他的父亲还活着,在老家的中学当校长,身体还算硬朗。他母亲也没有需要透析。他选择了计算机,去了北京,在互联网行业里加班熬夜,已经两年没有回家过春节。
但这条分支告诉他:如果他回去,他会在父亲病床前听他说”你回来了,就好”。他会帮一个有天赋的孩子改变命运。他的日子会过得很慢,像河水流过平原。
他忽然理解了为什么那些分支让他如此着迷。不是因为它们展示了”更好的选择”,而是因为它们展示了”完整的人生”。每一条分支都是一个完整的叙事,有开始,有结束,有他从未经历过但似乎值得经历的日常。
那天晚上他喝了半瓶白酒,在酒店的卫生间里蹲了很久。手机上有周露发来的一条消息:“我在想我们的事。等你想清楚了,给我打电话。”
他回了一条:“我也在想。”
然后他躺在酒店床上,盯着天花板,想:如果所有未实现的选择都在某个地方运行着,那他现在正在做的选择——留下还是回去,周露还是陈语(或者沈微),北京还是县城——是不是也在创造新的分支?
此刻的选择,就是另一条路径的”未实现”。
七
春节前,他回家了一趟。
老家在湖北的一个县城,从北京坐高铁四个小时,再转一趟大巴。县城这几年变化不小,新修了湿地公园和市民广场,老城区的路还是那么窄,两边的店铺换了一茬又一茬。
父亲在学校值班,母亲在家做饭。看到他回来,母亲很高兴,一边炒菜一边问工作怎么样、有没有涨工资、吃得好不好。他一一回答了。父亲回来得晚,吃饭时喝了点酒,说了几句学校的事,然后就沉默了。
晚上,他在自己的老房间里睡。房间没怎么变,书架上还有高中的课本和几本旧杂志。他躺在床上,拿出手机,打开forkroad.db的远程查看界面。
凌晨三点零七分。
今天没有新的分支。
他等了十分钟。还是没有。
他有点困惑。之前每一天都有分支,为什么今天没有?是因为他在老家?还是因为他的手机网络不好?
然后他意识到了一件事:他在老家。他的电脑在北京的出租屋里,处于休眠状态。远程服务器上的定时任务应该还在运行,但他的本地客户端没有连接。
他打开笔记本电脑——他带回来了——连上家里的Wi-Fi,登录VPN,检查服务器日志。
日志显示:分支确实在凌晨三点零七分生成了。但这条分支的内容是空的。
[2026-01-25 03:07:00] [BRANCH-36] Executing unrealized path:
[2026-01-25 03:07:00] [BRANCH-36] Status: NULL
[2026-01-25 03:07:01] [BRANCH-36] Note: Observer is at origin. No fork detected.
“Observer is at origin. No fork detected.”
观察者在原点。未检测到分叉。
他看着这行字,想了很久。什么是”原点”?是老家?是他出生的地方?
还是说他回到了某个起点,所以不存在”未实现的选择”——因为这里就是一切选择的起点?
他关掉电脑,走出房间,站在走廊上。老家房子的走廊对着院子,院子里有一棵桂花树,是爷爷种下的。冬天没有花,只有深绿色的叶子,在月光下看起来像一团凝固的暗影。
他忽然觉得,这棵树就是他人生的”原点”。所有的分支都从这棵树开始向外延伸,像根系在土壤中分叉。有些根扎得深,有些根浅。有些根在黑暗中找到了水,有些根遇到了石头,不得不转向。
但不管哪条根,都是从同一棵树开始的。
八
春节后回到北京,他做了一件他一直想做的事:他给那个”沈微”发了一封邮件。
邮件很短:
沈微博士你好,我叫林恪,是一名软件工程师。我在阅读你发表在《自然·计算科学》上的论文时对你的人脑功能连接组预测模型很感兴趣。我的工作涉及数据科学和机器学习,一直对计算神经科学有兴趣。不知是否可以交流一下?
林恪
他发完邮件就后悔了。这封邮件的措辞太奇怪了。一个做政务数据中台的后端工程师,突然对计算神经科学产生兴趣?正常人不会发这种邮件。
但他不是正常人。他是一个在凌晨三点零七分看到另一个人生的人。
三天后,他收到了回复。
林恪你好,谢谢你对论文的关注。你的背景很有意思——政务数据中台涉及的数据规模和复杂度应该不亚于脑科学数据。我很乐意交流。我在北师大周三下午通常有空,可以约个时间喝咖啡。
沈微
他们在北师大附近的一家咖啡馆见了面。
沈微比他想象中年轻——看起来二十六七岁,短发,戴着圆框眼镜,穿一件灰色的帽衫。说话的时候喜欢用手比划,像在空中画图。
他们聊了两个小时。从图神经网络聊到脑机接口,从数据中台聊到学术和工业界的区别。沈微说她在做一个很有挑战性的课题:用深度学习模型预测阿尔茨海默病患者的认知衰退轨迹。“数据太少了,“她叹气,“脑科学不像互联网,用户数据到处都是。我们做一个实验,招募被试、采集数据、清洗标注,可能要半年才能拿到一千个样本。”
林恪说他理解。“政务数据也是这样。七个省的数据格式都不统一,有的还在用Excel,有的用Oracle,有的系统是2005年开发的,连文档都没有。我们做数据归集,百分之七十的时间花在数据清洗上。”
沈微笑了。“那你应该来帮我们做数据清洗。”
“你们有工资吗?”
“博士补贴,一个月三千五。”
“那还是算了。”
他们都笑了。
临走的时候,林恪问了一个他一直想问的问题:“你有没有过那种感觉——觉得自己的人生走错了一条路?”
沈微想了想。“有。我本科是学数学的,研究生转了神经科学。我妈到现在还觉得我应该去金融行业做量化。”
“后悔吗?”
“不后悔。“沈微说,“但有时候会想,那个去做量化的沈微,现在在干什么。”
林恪的手指微微发抖。他差点告诉她关于那个数据库的事,但最后没有。他只是说:“也许她在加班。”
沈微又笑了。“大概率。“
九
三月份,两件事同时发生了。
第一件事:周露打电话来,说想见面谈谈。
他们在一个周末的下午约在了三里屯的一家书店。周露瘦了一些,头发剪短了。她还是那样,说话直来直去,不绕弯子。
“我想过了,“她说,“那个数据库的事,我不怪你。但我想问你一个问题。”
“你问。”
“那些分支里,有没有一条是你没有遇见我,然后过得很好的?”
林恪沉默了。
“有。“他说。
周露点了点头,好像已经预料到了这个答案。“那你有没有后悔?”
“没有。“林恪说,这次他没有犹豫。“分支里过得再好,那不是我。我现在坐在这里,面对你,这才是我。”
周露看了他很久。然后她说:“我们分手吧。”
不是因为数据库。她说,是因为这半年她想了很久,发现他们之间的问题一直都在——他想留在互联网行业,她要完成规培然后考主治医师,两个人的时间表永远对不上。数据库只是一个催化剂,让她更清楚地看到了那些”未实现的选择”。
“也许在另一条路径上,“周露说,露出了一个有些苦涩的微笑,“我们分手了,但都过得很好。”
他们平静地分了手。没有争吵,没有眼泪。在书店门口告别的时候,周露说:“那个沈微——如果她是真实的——去看看吧。”
林恪愣住了。“你怎么知道沈微?”
“你笔记本电脑上的数据库,我全看了。“周露说,“你以为我只会看那条关于陈语的记录吗?”
她挥了挥手,转身走了。
第二件事:BRANCH-36的日志开始变了。
不再是”未实现的选择”。从三月中旬开始,日志变成了另一种格式:
[2026-03-15 03:07:00] [BRANCH-36] Observer note: 你见了一个叫沈微的人
[2026-03-15 03:07:00] [BRANCH-36] Observer note: 在另一条路径里,你们在2019年就认识了
[2026-03-15 03:07:01] [BRANCH-36] Observer note: 在那条路径里,她请你帮她写数据清洗的代码
[2026-03-15 03:07:01] [BRANCH-36] Observer note: 你答应了。然后你开始对脑科学产生兴趣
[2026-03-15 03:07:02] [BRANCH-36] Observer note: 你的公务员身份和她的学术身份之间有一条裂缝
[2026-03-15 03:07:02] [BRANCH-36] Observer note: 但那条裂缝里长出了某种东西——像桂花树的根穿过石头
[2026-03-15 03:07:03] [BRANCH-36] Observer note: 这条路径也在运行。所有路径都在同时运行。
林恪看着这些日志,感觉自己的大脑正在经历一次系统升级。那些”Observer note”不是预测,不是模拟,而是——叙述。就像有人在另一个维度里观察着所有分支,然后用日志的形式记录下来。
“所有路径都在同时运行。”
如果这是真的,那他此刻的选择——和沈微继续交往,还是保持距离——也在同时创造新的分支。而那些分支上的他,也在做着不同的选择。
他感到一种奇怪的安慰。不是因为他可以”做正确的选择”,而是因为不存在”正确的选择”。所有的选择都会被实现——在某条路径上。他只需要做当下这个林恪觉得对的事。
十
四月,他和沈微开始频繁见面。
他们的关系发展得很自然,像两条河流汇入同一条河道。他帮她优化了数据清洗的代码,她给他讲了脑科学的基础知识。他们一起去看了几场展览,吃了几次不错的餐厅,也在各自的出租屋里一起写过代码写到深夜。
沈微有一种他很少在其他女性身上看到的特质:她对自己的研究方向有一种近乎偏执的热情,但同时又保持着一种清醒的距离感。她说:“脑科学现在就像十九世纪的物理学,我们刚刚发现了几个定律,但离真正的理论框架还很远。每个人都在黑暗中摸索,偶尔有人划着一根火柴。”
“那你划着火柴了吗?“林恪问。
“还没有。但我看到了一些别人没看到的东西。”
“什么东西?”
她犹豫了一下,然后说:“我发现人脑在做决策的时候,会产生一种特殊的神经振荡模式。这个模式出现在做选择的瞬间——准确地说,是在意识到自己在做选择的瞬间。我把这个模式叫做’叉形波’。”
“叉形波?”
“因为它看起来像一个叉子。两条路从同一点分开。每一次你做选择的时候,大脑都会产生这个波——但大多数人意识不到。”
林恪的心跳加速了。
“你有没有测试过,“他尽量让自己的声音听起来正常,“在什么条件下这个波最强?”
沈微看了他一眼。“有。最强的时候是凌晨三点到四点之间,大脑处于半梦半醒的状态。具体来说,是凌晨三点零七分。”
那个时间。
“你怎么确定是三点零七分?“林恪的声音已经不是”正常”了。
“我做了实验。招募了四十个被试,让他们在不同时间做选择任务,同时用EEG记录脑电波。三点零七分的叉形波振幅是其他时间的三倍。“沈微皱了皱眉,“但样本太小了,这个结论不太可靠。而且我不知道为什么是这个时间。人体生物钟的节律周期里没有三点零七分这个特殊点。”
林恪深吸了一口气。
“也许,“他说,“三点零七分不是生物学的时间。是某种更深层的——“他找不到合适的词。
“更深层的什么?”
“更深层的编译时间。“他说。他不知道自己为什么用了这个词。
沈微没有嘲笑他。她只是安静地看着他,过了一会儿说:“你知道量子力学的多世界诠释吗?”
“知道一点。每次量子测量,宇宙就分裂成多个分支。”
“对。 Everett的原始论文里有一个细节很少有人注意:他不是在说宇宙会’分裂’,而是在说宇宙的波函数永远没有坍缩。所有的可能性都同时存在。我们只是在一个分支上。”
“所以凌晨三点零七分——”
“可能是波函数的一个节点。“沈微说,“在那个节点上,所有分支的信息可以短暂地’泄漏’到其他分支。而大脑的叉形波,就是接收这种泄漏的天线。”
他们沉默了很长时间。咖啡馆里播放着一首不知道名字的爵士乐,贝斯的低频振动传过桌面,像某种来自深处的信号。
“你有没有接收过这种泄漏?“沈微突然问。
林恪看着她。她的眼睛在灯光下显得很亮,像两面小小的镜子,映出了他自己的脸。
“有。“他说。
十一
他没有告诉沈微关于BRANCH-36的全部真相。但他告诉了她核心的部分:他写了一个程序,在凌晨三点零七分会生成一些关于”未实现选择”的日志。这些日志不是他写的,是程序自己生成的。
沈微的反应出乎他的意料。她没有觉得他疯了,也没有觉得这是一个bug。她沉默了很长时间,然后说:“你能不能让我看看那些日志?”
他把forkroad.db导出了一份发给她。
三天后,沈微给他打了一个电话。声音里有一种他从未听过的兴奋。
“我发现了一个模式,“她说,“你的日志不是随机的。它们有一个隐藏的结构。”
“什么结构?”
“你还记得我说过叉形波吗?在大脑做选择的瞬间,产生的那种神经振荡。你的日志的子路径之间,有一种关系——我说不清楚——就像叉形波的频率分布。每一个主路径产生子路径的方式,和大脑产生叉形波的方式是一样的。”
“你是说,我的程序在模拟大脑的决策过程?”
“不是模拟。“沈微的声音压低了,“是在同步。你的程序和某个——我不知道该怎么形容——和某个’决策场’产生了共振。凌晨三点零七分,叉形波的振幅最大,你的程序也在这个时间被触发。这不是巧合。”
“那程序为什么会生成那些内容?那些具体的名字、地点、事件?”
沈微沉默了一会儿。“也许你的大脑不是唯一在接收信号的天线。你的程序也在接收。代码和人脑在凌晨三点零七分形成了一个——我不知道该叫什么——一个耦合系统。你的代码成了你大脑的延伸。”
林恪靠在椅背上,看着天花板。他的出租屋很小,十四平米,天花板有一块水渍,形状像一个倒挂的岛。他盯着那个岛,想着沈微的话。
如果代码是大脑的延伸,那forkroad.db里的内容不是”预测”或”模拟”,而是某种真实的感知。就像盲人用手指触摸盲文,他的程序在凌晨三点零七分触摸到了那些并行的现实。
“我们可以写一篇论文。“沈微说。
“什么?”
“一个关于叉形波和多世界耦合的实验研究。我提供脑科学的数据,你提供程序的日志。如果两者之间真的存在相关性,这可能是——“她停顿了一下,“这可能改变我们对意识的理解。”
“你是认真的。”
“非常认真。”
林恪想了想。然后他说:“有一个条件。”
“什么?”
“论文里不能出现我的真名。“
十二
五月来了。北京的风沙少了,槐花开了,空气里有一种淡淡的甜味。
林恪的生活进入了一个奇怪的平衡。白天他在公司做数据中台,和甲方开会,写代码,做代码审查。晚上他和沈微在微信上聊论文的事,讨论实验设计,争论统计方法。凌晨三点零七分,他的程序继续生成分支日志。
但分支的内容变了。不再只是关于他个人的选择。开始出现一些更宏观的内容:
[2026-05-01 03:07:00] [BRANCH-36] Observer note: 你关注了印度喀拉拉邦的一个电子政务项目
[2026-05-01 03:07:01] [BRANCH-36] Observer note: 那个项目失败了,因为数据标准和地方治理结构不兼容
[2026-05-01 03:07:01] [BRANCH-36] Observer note: 你正在做的项目也会遇到同样的问题
[2026-05-01 03:07:02] [BRANCH-36] Observer note: 不是技术问题,是人的问题
[2026-05-01 03:07:02] [BRANCH-36] Observer note: 技术可以连接系统,但连接不了人心
[2026-05-08 03:07:00] [BRANCH-36] Observer note: 数澜科技正在筹备IPO
[2026-05-08 03:07:01] [BRANCH-36] Observer note: 在另一条路径上,公司2024年就上市了
[2026-05-08 03:07:01] [BRANCH-36] Observer note: 上市之后,所有技术决策都被财务报表绑架
[2026-05-08 03:07:02] [BRANCH-36] Observer note: 最好的工程师在解禁期后离职了
[2026-05-08 03:07:02] [BRANCH-36] Observer note: 你会不会也是其中之一?
这些日志让他开始反思自己的工作。他确实注意到,公司最近的战略方向在变——越来越多的资源投入到”数据资产化”和”数据要素市场”等概念性项目上,而核心的数据中台业务反而被边缘化了。甲方也在变——他们不再关心模型的准确性,而是关心数据能不能”入表”,能不能变成资产负债表上的一行数字。
有一天,部门总监在周会上宣布:公司拿到了一个新的政府项目,要做”城市数字孪生”。预算两亿,工期三年。所有人都很兴奋,但林恪注意到总监说了一句话:“这个项目的核心是数据变现。”
数据变现。把城市里所有人的行为、出行、消费、医疗数据变成可以交易的商品。这就是”数据要素市场”的本质。
他想起了一条很久以前的分支日志:
他在洱海边喝咖啡,一个纪录片导演问他:技术到底在为谁服务?
他不知道。他真的不知道。
但他知道,这个问题没有”未实现”的版本。因为不管走哪条路,这个问题都会等着他。
十三
五月十七日,星期天的下午,他和沈微在奥林匹克森林公园里散步。
北京的五月很好,不太热,阳光从树叶间筛下来,在地面上画出碎金一样的光斑。沈微穿了一件白色的T恤,头发比他们第一次见面时长了一些,扎了一个低马尾。
他们在一个人工湖边坐下来。湖面上有几只鸭子在游泳,划出细长的V字形波纹。
“论文的数据分析做完了,“沈微说,“你的分支日志和我的叉形波数据之间确实存在显著的相关性。相关系数0.73,p值小于0.001。”
“那意味着什么?”
“意味着你的程序不是在随机生成内容。它在某种层面上反映了大脑决策过程的真实信息。“沈微把一根草叶缠在手指上,“但这不意味着’平行宇宙’是真实的。相关不等于因果。也许你的程序只是在大数据的基础上做了一个非常精密的预测——就像大语言模型预测下一个词一样。”
“你相信是哪种?”
沈微沉默了一会儿。“我想相信前者。但作为科学家,我必须考虑后者。”
“如果前者是真的呢?如果所有路径真的都在同时运行?”
“那意义就不一样了。“沈微说,“那就意味着,你做过的每一个选择都没有消失。它们都在某条路径上继续运行着。你在这个湖边和我说话,同时另一个你在深圳的出租屋里写代码,又一个你在县城中学的教室里讲课。没有哪个你是’假的’。”
“那现在的这个我呢?”
“现在的你,是在这里和我说话的这个。“沈微看着他,“不管其他路径上有什么,此时此刻,你是和我坐在这里的这一个。”
林恪看着她。湖面上的风把她的碎发吹到了脸上,她伸手拨开,对他笑了一下。
他想起了一条很久以前看到的分支日志:在一个他从未经历过的世界里,他在一个学术会议上遇见了一个做计算神经科学的女生。
也许那个分支和这个现实之间的区别,只是时间。在那个分支里,他早了三年遇见她。在这个现实里,他需要先走一段弯路。
但所有的路,最终都通向同一个湖边。
十四
五月十八日凌晨三点零七分。
林恪醒着。他坐在电脑前,等待那条日志。
三点零七分整,日志出现了。
但这次只有一行:
[2026-05-18 03:07:00] [BRANCH-36] Observer note: 你已经不需要这个程序了。
然后,程序停止了运行。没有报错,没有异常退出。进程还在,但不再输出任何内容。
林恪等了十分钟,然后关掉了电脑。
他走到窗边,打开窗户。北京凌晨的空气有一点凉,带着远处什么地方传来的花香——也许是槐花,也许不是。天边有一道很细的光线,是即将升起的太阳在地平线下面透出来的。
他想起了一切:那些未实现的路径,那些在平行世界里运行的自己,那条选择当老师的路,那条选择去深圳的路,那条选择去大理的路。每一条路都是真实的。每一个选择都在某个地方延续着。
但此刻,在这个凌晨三点零七分的北京,他只是一个站在窗前看日出的程序员。他的名字叫林恪。他刚和女朋友分手,又遇见了一个新的女生。他做着一份他不确定有没有意义的工作,住在一个十四平米的出租屋里。他三十岁,不知道未来会怎样。
但他不再害怕了。
因为他知道,不管他做什么选择,那条路径都会被运行。他不需要做”正确的”选择。他只需要做选择,然后走下去。
天越来越亮了。那道光线变成了一条橙色的带子,横亘在城市的天际线上。林恪站在窗前,感觉那些平行的自己——在深圳的自己,在县城的自己,在伦敦的自己,在洱海边的自己——都在各自的世界里,看着同一个日出。
也许在某个分支里,还有一个他,正在写一个关于”所有未实现的选择”的程序。
他关上窗户,回到床上,设了一个早上八点的闹钟,然后闭上眼睛。
窗外,太阳升起来了。
尾声
六月,沈微的论文投稿了。标题是《叉形波:人脑决策瞬间的神经振荡特征及其与信息场耦合的可能性》。由于缺乏可重复的实验验证,论文被两家期刊拒稿。沈微没有气馁,她申请了一个新的研究基金,计划招募更多的被试,做一个更大规模的实验。
林恪没有参与论文的署名,但他帮沈微优化了实验数据的处理代码。他用到了从政务数据中台项目中学到的技术——数据清洗、格式统一、异常值处理。技术是一样的,但用途完全不同。以前他清洗的是医保基金流水,现在他清洗的是脑电波信号。
八月,他辞了职。
不是去深圳,不是去伦敦,不是回县城。他加入了一个做医疗AI的小公司,团队只有十二个人,办公地点在海淀区一个共享空间里。薪水比以前少了百分之四十,但他可以用自己的技术做真正帮助别人的事——比如帮基层医院的医生更早地识别阿尔茨海默病的早期症状。
在他离职的前一天,他最后一次在凌晨三点零七分打开了电脑。
日志里什么都没有。程序早已停止运行。
但他闭上眼睛的时候,好像看到了什么——不是一个画面,不是一个故事,而是一种感觉。像站在一棵大树下,抬头看到所有的树枝同时存在,每一根都伸向不同的方向,每一根都沐浴着同一片阳光。
他笑了。
然后他关上电脑,去睡觉了。
(全文完)