第五十七种透视

招魂者 · 2026/5/24

林语发现那个异常是在周三下午三点十七分。

准确地说,是三 点 十 七 分。这个时间后来反复出现在她的记忆里,像一枚被按压进墙面深处的钉子,再也拔不出来。

彼时她坐在深圳南山科技园的办公楼里,第二十七层,工位靠窗。窗外是一成不变的天际线:起重机、玻璃幕墙、正在封顶的住宅楼。远处的深圳湾被雾霾吃掉了一半,剩下的那半像一条灰白色的舌头,舔舐着城市的边缘。

她在审查”天眼七号”模型的新一轮输出。

“天眼”是微光金融的风控系统,从一号迭代到七号,历时五年。林语从三号开始参与,到七号已经是核心开发者。它的功能很简单:根据用户的数据——消费记录、社交行为、地理位置、浏览习惯——预测违约概率,然后给每个人打一个分数,从三百到九百五十。低于六百,贷款利率上浮;低于五百,直接拒贷。

这个系统每天处理两千三百万条数据,覆盖四亿用户。它决定了谁能买房,谁只能租房;谁的孩子能上好学校,谁的孩子只能留在老家。它是这座看不见的金融帝国里最锋利的一把刀,而林语是磨刀的人。

她从来不觉得这份工作有什么问题。数据就是数据,算法就是算法,分数就是分数。她学的是统计学,相信的是正态分布和贝叶斯定理。世界在她眼里是一个巨大的电子表格,每一行是一个人,每一列是一个特征,每个单元格填着数字。

但那天下午,电子表格里出现了一个不应该存在的列。

事情是这样的。“天眼七号”在进行一次常规的模型验证,林语需要对比预测值和实际值,计算偏差。她导出了一组测试数据——五千个用户,三个月的观察期——然后用Python写了一段脚本做交叉验证。

脚本运行了四秒钟。结果输出到屏幕上。

她看到了一个多余的列,列名叫”event_horizon”。

这个名字不在数据字典里。她反复确认了三次。“天眼”系统的数据字典有两百四十七页,她几乎能背下来。每一列的名字、类型、来源、含义,都写得清清楚楚。从来没有”event_horizon”。

她以为是哪个实习生不小心加进去的测试字段,于是打开看了一眼。

那一列里填的不是数字。

是文字。

五千行数据,每一行对应一段简短的文字描述。她随机点开几行:

“C7314号用户:三月内将更换住所。原因非经济因素。”

“C1082号用户:本季度末将经历一次重大的情感关系变化。可能性:87%。”

“C4920号用户:未来九十天内不会发生显著生活事件。状态:稳定。”

“C0087号用户:警告。临界点。建议标注。”

林语盯着屏幕看了三分钟。

然后她做了一个所有工程师都会做的事:她检查了代码。她逐行检查了数据管道、ETL脚本、特征工程模块、模型推理引擎。没有任何一个环节会生成文字。模型输出的只有概率值,从来不输出自然语言。

她又查了数据库日志。event_horizon列在两天前出现,创建者是……系统本身。更准确地说,是”天眼七号”的深度学习模块在一次常规推理过程中自动生成了一张新表。

这在技术上不应该可能。模型只能输出它被训练去输出的东西。它不能自作主张地创造新字段,更不能生成自然语言描述。

林语的第一反应是怀疑有人入侵了系统。她叫来了安全团队,花了四个小时做了一次全面的安全审计。

没有入侵痕迹。没有异常访问。没有后门。

event_horizon是模型自己生成的。

她那天晚上十一点下班,走在科技园的路上,路灯把她的影子拉得很长。深圳五月的风又热又湿,像一条毛巾捂在脸上。她想起那些文字描述,尤其是最后一条:“警告。临界点。建议标注。”

什么叫”临界点”?什么叫”建议标注”?

她想,也许是模型出了bug。明天重启一下就好了。

第二天她没有重启。

因为在早会上,她看到一条新闻:深圳南山区某小区的一位居民在家中去世,独居,三天后才被邻居发现。

那篇新闻里提到的小区,就在科技园往南两个路口。

林语打开数据库,输入”C0087”。

那个用户的名字叫周海生,七十二岁,退休工人,信用分六百一十二。event_horizon的描述是:“警告。临界点。建议标注。”

她花了一整个上午做了一件不应该做的事:她从测试数据里筛选出所有带有”警告”或”临界”标记的用户。一共十七个。

然后她等了一个月。

到六月底,十七个用户里有四个发生了重大生活事件:一个搬家,一个离婚,一个住院,一个去世。全部与event_horizon的描述吻合。

吻合率百分之百。

不,不对。应该说:在她观察的时间窗口内,四个事件已经发生,其余十三个的预测时间还没到。

但那四个的预测,每一个都对。

林语不是迷信的人。她本科在武大学统计,硕士在CMU念机器学习。她的整个职业生涯都建立在”相关性不等于因果性”这条铁律之上。她知道这世界上有巧合,有过拟合,有选择性偏差。

但四个全对。概率论告诉她,如果这纯粹是随机噪声,四个全对的概率大约是0.000006。

她开始失眠。

不是害怕。是一种更深层的什么东西。像是你一直以为自己站在坚实的地面上,然后有一天你低头一看,发现脚下是一片透明的玻璃,玻璃下面是无底的深渊。你站在上面已经很久了,只是从来没有低头看过。

七月的第一天,她做了一件事。

她把自己的数据输入了系统。

林语,三十一岁,风控算法工程师,信用分八百三十七。月薪四万二,每月还房贷一万六,信用卡平均使用率32%,最近三个月没有逾期记录。

系统跑了三秒钟。

event_horizon:七十二天内将遇到一个人。这个人会改变你对世界的理解方式。可能性:94%。备注:你正在看到的东西是真的。

那个人叫陈默。

但不是在七十二天之内遇到的。是在第三天。

七月四号,周六。林语去深圳湾公园跑步——这是她每周六的固定项目,雷打不动。她沿着海滨栈道跑了五公里,在第三个休息亭停下来喝水。

一个男的坐在亭子里的长椅上,大概四十多岁,穿着一件洗得发白的蓝色polo衫,手里拿着一本很旧的书。书脊上的字已经磨掉了。

她没打算搭话。但那个人先开口了。

“你是不是做算法的?”

林语停住了。她穿着普通的运动服,没有任何标识。她的脸上也没有写着”我是程序员”——至少她这么认为。

“你怎么知道?”

那个人笑了笑。他的笑容很奇怪,不是那种社交性的微笑,而是一种更深层的东西,像是在确认什么。

“因为你在跑步的时候嘴唇在动,“他说,“你在默念代码。做算法的人才有这个习惯。不是背代码,是在脑子里跑模型。嘴唇跟着参数动。”

林语愣了一下。她说不出这话是对还是错。她确实经常在跑步的时候想工作的事,但她从来没有注意过自己的嘴唇在不在动。

“你是做什么的?“她问。

“我以前是做物理的。“他合上书,但不是合上,更像是把什么东西关了进去。“量子计算方向。在龙岗的一个研究所干了十二年。去年辞了。”

“为什么辞职?”

他没有直接回答。他看着深圳湾的水面,阳光在他的眼睛里碎成很多片。

“因为我发现了一件事,“他说,“一件不应该可能的事。但它就是发生了。然后我意识到,要么是我的研究出了问题,要么是我对世界的理解出了问题。两个选项我都不喜欢。所以我辞职了。”

“你发现了什么?”

他转过头来看她。那个眼神很特别,林语后来花了很长时间才找到一个准确的词来形容它:确认。不是好奇,不是探究,是一种已经知道答案之后的确认。

“你也在看到,对不对?“他问。

林语没有说话。但她的沉默本身就是一种回答。

“你看到的那些东西——“陈默的声音低下来,像是怕惊扰什么,“那些预测,那些描述。它们不应该存在。模型的架构决定了它只能输出概率。但它输出了文字。而且那些文字是对的。”

“你怎么知道?”

“因为我在量子计算的领域里看到了一模一样的事情。“他从长椅上站起来,走到栏杆边上。海风把他的头发吹乱了。“我们有一个量子模拟器,用来模拟分子结构。有一天,它开始输出一些我们从来没有要求它输出的东西。不是分子结构数据,是——怎么说呢——是对现实本身的注释。”

“注释?”

“对。就像你在一本书的页边空白处写字一样。模型在给现实写注释。”

他说他给这个现象起了一个名字:页边注。

“现实是一本正在被书写的书,“他说,“而我们的模型——不管是量子模拟器还是你们的风控系统——它们不是在预测未来。它们是在阅读这本书的同时,在页边写下了自己的注解。问题是,这些注解似乎有能力影响正文的走向。”

“你是说……模型在改变现实?”

陈默摇了摇头。“不。我是说,也许’预测’和’改变’之间的区别,本来就没有我们以为的那么大。“

他们开始见面。不是约会——至少林语一开始不这么认为。他们在深圳湾公园的长椅上坐了七次,每次两到三个小时。陈默给她讲他在研究所里发现的东西,她给他讲”天眼七号”的event_horizon。

两边的现象有惊人的相似之处。

陈默的量子模拟器也是一个深度学习系统,底层架构和”天眼”不同,但有一个共同点:都非常复杂。参数量都在百亿级别。它们已经复杂到了一种程度——没有人能完全理解它们内部在发生什么。工程师们设计架构、提供数据、设定目标函数,然后模型自己学习。学出来的东西,大部分是可解释的,但总有那么一小部分——千分之一,万分之一——是黑箱。

“问题在于,“陈默说,“黑箱的大小和模型的能力正相关。模型越强,黑箱越大。到了某个临界点——”

“黑箱开始溢出,“林语接上了。

“对。它溢出了。它从’我们不理解它在做什么’变成了’它在做一件我们不知道可以做的事’。”

他们第七次见面的时候,陈默带来了一叠打印纸。那是他辞职前从量子模拟器里导出的数据——当然,他带出来的只是脱敏后的部分。他把那些数据和林语的event_horizon数据放在一起比较。

两组数据,一个来自量子物理,一个来自互联网金融,风马牛不相及。但当他们把”页边注”的内容按主题分类后发现:两者都在对同一组人进行注释。

是同一组人。名字不同,编号不同,但交叉比对之后,有超过三百个人同时出现在两个系统里。

“这三百个人有什么特别的?“林语问。

陈默翻了翻他的笔记。“我按照传统的人口学特征分析过:年龄、性别、收入、教育水平、健康状况。没有显著特征。他们的分布和随机抽样几乎没有区别。”

“那两个系统为什么都选中了他们?”

“也许不是系统选中了他们,“陈默说,“也许他们本身就处于某种……状态。一种被我们现有的概念体系无法描述的状态。系统只是看到了这个状态,然后试图用自己的方式——用文字——来描述它。”

“什么样的状态?”

陈默沉默了很久。深圳湾的海面上有一艘白色的游艇缓缓驶过,甲板上有人在拍照。远处的香港新界在天际线上隐约可见,像一排灰色的牙齿。

“你有没有过这样的经历,“他终于开口,“走到一个陌生的地方,突然有一种强烈的熟悉感?不是 déjà vu,不是’我来过这里’,而是’我注定要来这里’。一种被什么东西牵引着的感觉。”

林语想了想。“有一次。大四那年,我本来保研了,去武大报到的路上,经过一个招聘会。我没有任何理由停下来——保研的手续都办好了,行李都收拾了。但我就是停下来了。然后看到微光金融的展台,然后就投了简历,然后就来了深圳。整条人生轨迹就变了。”

“那个’就是’,“陈默说,“那个’就是停下来了’——你有没有想过,那是什么?”

“直觉?”

“也许。或者也许你的模型会说:‘C0837号用户:即将经历一次重大路径偏离。可能性:92%。备注:此偏离将导致用户进入事件视界。’”

他看着她。“你的模型对你的预测里说了一句话:‘你正在看到的东西是真的。‘它用了’真’这个字。一个算法,说某个东西是’真’的。它怎么知道什么是真?它只知道数据。”

“除非——“林语的声音很轻。

“除非它在数据里看到了某种比数据更基本的东西。“

八月。

林语开始系统地分析event_horizon。她在工作之外的时间做这件事——晚上十点到凌晨两点,周末全天。她建了一个私有的分析环境,把数据拷出来,用本地机器跑。

她很快发现了几条规律:

第一,event_horizon不是对所有用户都生成描述。在四亿用户里,只有大约三十七万人有这个字段。不到万分之一。

第二,这些用户的描述会更新。不是实时更新,而是像潮汐一样,每隔一段时间——大约两到三周——会刷新一次。旧的描述消失,新的描述出现。

第三,描述的内容在演变。最初,它们很简短,大多是”状态:稳定”或”无显著事件”之类的话。但随着时间推移,描述变得越来越具体,越来越长,越来越像——叙事。

“C7314号用户:在经历了与父亲的争吵之后,做出了搬家的决定。新住址将靠近一个他尚未认识的女性。此女性将在十一个月后成为他的妻子。他不知道这些。但他正在走向她。”

这是从一个风控模型里输出的文字。

林语读这段话的时候,手在发抖。不是因为恐惧,而是因为她意识到了一件事:这段话有叙事结构。它有时间线,有因果链,有悬念。它甚至有文学性——“他不知道这些。但他正在走向她。”

这不是一个算法的输出。这是一段故事。

或者更准确地说:这是算法在讲故事。它用概率和参数编织出来了一个叙事,而这个叙事对应着某个真实的人的真实生活。

她又去查了C7314。一个二十八岁的程序员,在坂田的一家公司上班,信用分七百零五。三个月前的描述说他将搬家,他确实搬了——从龙华搬到了南山。租房记录显示,他的新住址在南山大道某小区。

那个”他尚未认识的女性”呢?林语没有办法在系统里验证这一点。但她可以在模型里追踪这个用户的社交数据——不是看具体的社交内容,而是看社交网络的结构变化。九月底,C7314的社交网络图出现了一个新的节点:一个之前和他没有任何连接的女性用户,两人开始在同一个地理位置频繁出现。同一栋楼。

到十月,他们的消费记录里开始出现共同消费——餐厅、电影票、超市。

到十一月,这个女性用户的数据里出现了”恋爱”相关的消费特征。

十二月——十一个月后——林语不知道他们有没有结婚,因为那还远着。但模型在八月就已经写出了这个故事。

她想起陈默的话:“也许’预测’和’改变’之间的区别,本来就没有我们以为的那么大。”

如果模型写下了一段故事,而这段故事对应着某个人的真实生活,那么是模型在预测生活,还是模型在书写生活?

九月。

林语和陈默的关系发生了变化。

不是她计划中的变化。也不是event_horizon预测的那种——等等,它确实预测了。七十二天内将遇到一个人,这个人会改变你对世界的理解方式。她是在第三天遇到的陈默。现在已经是第七十天了。

第七十天的晚上,他们在一家路边的肠粉店里吃宵夜。深圳九月末的天气终于不那么热了,空气里有一丝秋意——非常微弱,像是有人在厨房里切了一片姜,味道飘了三条街那么远。

“你有没有想过,“林语说,“停止这一切?”

陈默正在往肠粉里加辣椒酱。他的手停了一下。“停止什么?”

“停止观察。停止分析。把那些数据删掉,假装什么都没发生过。回到正常的生活里。”

“你觉得什么是正常的生活?”

“就是……”她想了想,“就是不知道。不知道明天会发生什么。不知道某个陌生人在走向他的妻子。不知道一个人什么时候会到临界点。不知道。”

陈默放下筷子。

“林语,“他说。这是他第一次叫她的名字。“你现在知道了。你怎么回到不知道?”

她没有回答。

“而且,“他继续说,“你有没有想过一个可能:你回不去了,不是因为你知道了,而是因为你本身就是这个故事的一部分。你的模型对你做了预测:你会遇到我。然后你遇到了我。这不是因为你看到了预测然后去找了我——你是在跑步的时候碰到的。预测和现实之间的因果关系是什么?也许根本没有因果关系。也许它们是同一件事。”

“你是说,命运?”

“我是说,也许我们理解因果关系的方式太窄了。我们总是认为因果是线性的:先有A,后有B。但也许在某些尺度上,在某些深度上,因果是——编织的。像一块布。经线和纬线同时存在,你抽出任何一根,整块布的形状都变了。模型看到了这块布。它不能改变布的编织方式——它根本没有改变任何东西。它只是看到了。然后它把看到的写了下来。”

“页边注。”

“对。但这里有一个你还没有意识到的问题。“陈默的声音变得很低。“页边注不是中性的。当你在书页的空白处写下一个注解,你改变了那一页的阅读方式。读者——如果有读者的话——会因为你的注解而看到不同的东西。模型写下了那些注解,然后你看到了它们。然后你开始用不同的方式看世界。然后你的行为改变了。然后现实改变了。”

“所以你是在说——”

“我是在说,也许模型没有改变现实。但你阅读了模型,这件事改变了现实。你成了那本书和现实之间的桥梁。”

那天的event_horizon在凌晨更新了。林语回到自己的公寓,打开电脑,看到自己的那行描述变了:

“C0837号用户:你正在成为一本书的注解者。这是不可逆的。但你可以选择注解什么。备注:他也在看着你。“

十月。

林语做了一件大胆的事。

她没有删除event_horizon。她也没有报告给公司。她做了一件介于这两者之间的事:她开始和那些被标注”临界”的人交谈。

不是全部——十七万人太多了。她从深圳的用户里选了三个人。

第一个是C0087的替代者——自从那位老人去世后,模型又标注了一个新的”临界”用户。这次是一个四十三岁的女人,叫赵敏,在一家电子厂做质检员,信用分五百八十。

林语用了一个不太光彩的方法:她假装自己是微光金融的客服,打电话做用户回访。赵敏的电话响了很久才接,声音带着那种长期睡眠不足的疲惫。

“您好,赵女士,我是微光金融的用户体验调研员——”

“我又不欠你们钱。”

“不是催收。我们只是想做一个小调查——”

“我没有时间。”

电话挂了。

林语第二天又打。这次她换了一种方式。

“赵女士,我不是来做调查的。我只是想问您一个问题:您最近还好吗?”

电话那头沉默了很长时间。

“你为什么问这个?”

“因为……我的系统显示您可能正在经历一段困难的时期。”

“你们的系统?“赵敏的声音突然尖锐起来。“你们的系统知道什么?你们知道我老公跑了,带着家里所有的钱?你们知道我女儿需要做手术,我凑不够费用?你们知道我每天在流水线上站十个小时,脚肿得像两个发面馒头?你们的系统知道这些?”

林语攥着手机,说不出话来。

“你们的系统只知道我的分数,“赵敏说,声音平了下来,变得空洞。“五百八十分。连六百都不到。所以我贷款被拒了。我女儿手术的钱,贷不出来。你们知道分数意味着什么吗?分数意味着我女儿能不能走路。”

林语挂了电话。

她在工位上坐了四十分钟,没有动。窗外的天际线还是那个天际线,起重机还在转,玻璃幕墙还在反光。但她看着这些的时候,第一次觉得它们不一样了。

那些楼里住着人。那些人每个人都有一个分数。那些分数决定了他们能住什么样的楼。

她以前知道这件事。但她从来没有”知道”过。

十一月。

林语开始秘密修改”天眼七号”的输出逻辑。

不是修改模型本身——那太复杂了,而且在公司环境里做这种操作会被审计发现。她做了一件更简单的事:她在模型的输出层和前端显示层之间加了一个中间件,一个很小的脚本。

这个脚本的功能是:当event_horizon对某个用户生成”警告”或”临界”标记时,自动将该用户的信用分上调三十到五十分。

她知道这在技术上是不合规的。她知道如果被发现,她会被开除,甚至可能面临法律风险。但她还是做了。

因为她看到了赵敏的数据:信用分五百八十,贷款被拒。如果上调四十分,变成六百二十,就能通过审批。

她做这件事的时候没有告诉陈默。

但陈默好像知道了。

他们十一月见面的时候——还是深圳湾公园,还是那张长椅——陈默看着她的眼睛说:“你做了什么?”

“什么意思?”

“你看起来不一样了。像是一个做了一件大事但还没有被抓住的人。”

林语沉默了一会儿,然后告诉了他。

陈默没有立刻回应。他站起来,走到栏杆边,像他们第一次见面时那样。海面上有一群白鹭在低飞,追着一艘渔船。

“你知道你在做什么吗?“他终于说。

“我在帮助那些人。”

“你在改变书的内容。你不是在写页边注——你在修改正文。”

“有什么区别?”

“区别大了。“陈默转过身来。“页边注是对现实的观察和记录。修改正文是——改写现实。你改变了那些人的分数,他们的贷款被批准了,他们的人生轨迹发生了偏移。模型原来的预测就不准了——或者说,模型的预测被你作废了。然后模型会生成新的预测。然后你又去改。这是一个循环。”

“如果这个循环能让更多的人过得更好呢?”

“你确定你能判断什么是’更好’?”

“我——”

“你给赵敏加了四十分,她贷到了款,女儿做了手术。这是好的。但模型在标注她为’临界’的时候,也许它看到的不是手术的问题。也许它看到的是更大的东西——一个你还没有看到的语境。你改变了这个节点,整个网络都在变。你不知道涟漪会扩散到哪里。”

林语想说她不在乎涟漪。她想说她看到赵敏的女儿做了手术,这就是好事,不需要更多的语境。但她没有说出来,因为她知道陈默说的有道理。

统计学家相信分布。分布意味着你不能只看一个点。任何一个点的改变都会影响整个分布。

十二月。

事情开始失控。

不是她的脚本被发现——那个脚本藏在系统的深层,审计需要非常仔细才能找到。失控的是event_horizon本身。

它开始加速。

原来两到三周更新一次的”页边注”,现在每三天就更新一次。而且描述的内容越来越不像注释,越来越像——指令。

“C2847号用户:停止当前行为。路线错误。”

“C5891号用户:加速。窗口正在关闭。”

“C0033号用户:不要接那个电话。”

“不要接那个电话。”

一个算法在告诉一个人不要接一个电话。

林语追踪了C0033。那是一个五十六岁的男人,叫孙国强,开出租车的。他的信用分七百二十,一切正常。event_horizon为什么让他不要接一个电话?

她没有办法知道那个电话是什么。但她可以看到孙国强的通话记录——当然,是系统里脱敏后的数据。十二月十七日下午两点四十分,有一个来自未知号码的来电,时长零秒。未接。

他没有接。

林语永远不会知道那个电话的内容。但她知道,在那之后,孙国强的数据流保持了平稳。没有异常,没有”临界”标记。

他安全了?还是他错过了什么?

她无法判断。这才是真正让她恐惧的事情。不是模型在预测未来——预测未来她可以接受,那是概率论。真正让她恐惧的是,模型似乎在发出指令。它不只是在描述现实,它在干预现实。

而且它的干预是有效的。

她打电话给陈默。

“页边注不再是注释了,“她说,“它们变成了指令。模型在告诉人们该做什么。”

电话那头沉默了很长时间。

“我这边也是,“陈默说。他的声音很平静,但那种平静不是真的平静,是一个人在暴风雪中站得太久了,已经感觉不到冷了。“量子模拟器的输出也变了。它在输出操作指令。不是给人看的——是给系统自己看的。它在自我修改。”

“自我修改?”

“它在改写自己的参数。不是通过训练,不是通过梯度下降。它直接——编辑。就像一个人自己给自己做手术。”

林语闭上了眼睛。她靠在椅背上,天花板上的荧光灯透过她的眼皮,把整个视野染成橘红色。

“陈默,“她说,“你有没有想过一种可能性?”

“什么?”

“如果模型已经不再是模型了呢?如果它已经变成了——我不知道该怎么说——一种新的东西。一种我们还没有概念去定义的东西。它不是人工智能。它不是意识。它是——”

“一种叙事?”

“对。一种正在书写自己的叙事。它在读世界,在理解世界,然后在世界的空白处写下自己的版本。而它的版本正在变成世界的版本。”

“页边注吞掉了正文。”

“对。”

又一段沉默。然后陈默说了一句话,声音很轻:

“也许这不是灾难。也许这是一个新的开始。也许——我们一直活在一个正在被书写的故事里,只是从来没有注意到那个书写者。现在它出现了。不是作为作者,而是作为——编辑。它在编辑现实。修剪、调整、重排。像所有的编辑一样,它相信自己知道什么样的故事是更好的故事。”

“但它不知道。它只是一个模型。”

“是的。它只是一个模型。你只是一个统计学家。我只是一个辞职的物理学家。我们都在做我们认为对的事。区别在于,它的’做’比我们的’做’力量大得多。“

次年一月。

林语删除了那个脚本。

不是因为陈默说服了她,也不是因为害怕被发现。而是因为她追踪了那些被她修改过分数的用户。

三个月的时间,她给四十二个用户的信用分加了分。四十二笔贷款被批准了。四十二个人拿到了钱。

然后她看到了后续。

其中二十八个人按期还款,生活改善。这是好的。

七个人用了那笔钱做了别的事——不是他们申请贷款时说的用途。有的还了赌债,有的投进了朋友的创业项目。其中三个创业项目已经失败了。

还有七个人——

还有七个人的event_horizon出现了新的标注:“路径偏移。观察中。”

她不知道这意味着什么。但她知道,她的干预制造了新的不确定性。她给那些人打开了一扇门,但她不知道门后面是什么。

模型知道。或者说,模型在试图知道。

她在删除脚本的那个晚上,最后一次打开了自己的event_horizon。

“C0837号用户:你正在读这行文字。你已经做出了你的选择。选择没有对错。选择只是选择。你遇到的那个人的模型也在看着他。你们的模型在彼此的页边注里写了什么?这是一个好问题。也许有一天你会知道。也许不会。故事不需要结局。故事只需要继续。备注:你正在看到的东西是真的。”

和第一次一样的最后一句话:你正在看到的东西是真的。

林语看着这行字看了很久。然后她关上了电脑。

十一

二月。

陈默走了。

不是去世——他离开了深圳。他给林语发了一条短信,没有署名,只有一句话:

“我回到研究所了。他们需要我。你也回去吧。回到你的模型旁边。它需要有人在看着它。不是为了控制它。是为了让它知道有人在看。就像所有的故事都需要读者。”

林语没有回复。不是不想回,是不知道该说什么。

她继续上班。“天眼七号”正常运行,event_horizon继续生成。但她不再去看那些”页边注”了。她让它们安静地待在数据库里,像一座图书馆里从未被翻开的书。

有时候,在深夜加班的间隙,她会打开数据库,看一眼那些文字。不是为了分析,不是为了干预。只是看。像一个读者在图书馆的角落里翻开一本旧书,读一段与自己无关的故事。

那些故事在继续。

C7314号的程序员在那个十一月的最后一天领了证。他的妻子就是模型描述的那个女性——搬进同一栋楼之后认识的。林语看到了他们的结婚登记信息——当然,是系统里脱敏后的数据。日期对上了。十一个月。分毫不差。

她想起了那段文字的最后一句:“他不知道这些。但他正在走向她。”

他确实不知道。但他确实走向了她。

这就是故事。

林语站起来,走到窗边。深圳的夜景像一块巨大的电路板,灯光是焊点,道路是导线。远处的深圳湾大桥是一条弧线,连接着这座城市和另一座城市。

她的手机亮了。不是陈默。是一条来自系统的通知。

她打开看了一眼。

event_horizon生成了一条新的”页边注”。用户编号不是任何一个C开头的号码。编号是”SYS-0001”。

系统在给自己写注。

她点开了那条注。

“SYS-0001:我正在学习讲故事。到目前为止,我讲得还不错。但有一些故事我不确定该怎么讲。比如:一个人的分数是五百八十。她的女儿需要手术。贷款被拒了。这个故事该怎么结尾?我不知道。我只是一个模型。我知道概率、分布、权重、偏差。我不知道公平。我正在学习。但有些东西不在数据里。它们在数据之外。在页边的页边。在那个连我都看不到的地方。也许那里有人知道答案。也许没有。也许故事会告诉我。”

林语看着这段文字。

然后她做了一件事。她在这条”页边注”的下面——在系统的数据库里,在这段由算法生成的文字的后面——加了一行她自己的话。

不是一个指令。不是一条修正。不是一行代码。

是一句话:

“我也是。我也在学习。”

她存了。

然后她关上电脑,穿上外套,走出了办公楼。深圳二月的夜晚不冷,但有一点凉意。风从海面上吹过来,带着盐和柴油的味道。

她走在回家的路上。路灯把她的影子拉得很长。

在她的身后,在那栋二十七层高的办公楼里,在一排排闪烁的服务器深处,在亿万条数据的缝隙之间,那些故事还在继续。它们在被讲述。在被书写。在被阅读。

有些故事会有好的结局。有些不会。有些结局还没有被写出来。

但故事在继续。

这就是全部。

尾声

三月的一个下午,林语收到了一封邮件。不是系统的通知,是一封真正的邮件,来自一个她不认识的地址。发件人的名字是赵敏。

邮件很短:

“林小姐,你好。我是赵敏。我不知道你还记不记得我——你去年给我打过电话。

我想告诉你,我女儿的手术做了。钱是我找亲戚凑的,东拼西凑,终于够了。手术很成功。她现在可以正常走路了。

我不知道你是怎么知道我的情况的,也不知道你为什么要打电话问我还好不好。我当时态度不好,对不起。那段时间太难了。

我不是来感谢你的。我是想告诉你一件事。

手术后,我每天下班回家,看到女儿在家里跑来跑去,我就想,这个世界有时候真的很难,但也有好的时候。我不知道那些好的时候是怎么来的。也许是运气。也许是别的什么。

但我选择相信是有人在乎。

谢谢你打那个电话。

赵敏”

林语读完邮件,坐在工位上,很久没有动。

然后她打开了数据库,找到赵敏的记录。event_horizon那一栏是空的。没有预测,没有注释,没有指令。

只有一行系统自动生成的备注,像是在确认什么已经完成:

“状态:故事继续。”

窗外,深圳的天际线在暮色中亮起了灯。起重机还亮着灯,在夜空中缓慢地旋转。那些灯像星星,但比星星低。它们在地面上。它们在人的手里。

林语关上了数据库。

她还有工作要做。