命运缓存区
命运缓存区
一、溢出
陆鸣第一次注意到时间的裂缝,是在一个星期二的下午三点十七分。
彼时他正坐在鹏程科技三十二层的工位上,面前的三块屏幕分别显示着城市舆情监控系统的实时数据流。左边那块屏幕上,一条关于南城区旧改项目的负面帖子正在以每秒四十七次转发的速度传播;中间那块屏幕是”鹏程之眼”——公司最核心的城市预测引擎——的运维面板,所有指标都安安静静地躺在绿色区间;右边那块屏幕是他私人的,开着一个半成品的数独游戏,九宫格里填到一半就再也没动过。
三点十七分。他记得很清楚,因为他刚刚端起咖啡喝了一口,杯壁上的水珠正好滑到他的无名指上。就在这一瞬间,他看见了一个不该出现的东西。
“鹏程之眼”的预测面板上,有一条数据的时间戳显示为:2026年5月9日,上午10:03。
今天是5月7日。
陆鸣放下咖啡杯,揉了揉眼睛。他盯着那个时间戳看了整整三十秒。它没有消失。它安静地待在那里,像一块被遗落在错误抽屉里的拼图,和周围所有的数据都不搭。
那是一条交通预测数据:南城区解放路与中山大道交叉口,一起三车追尾事故。预测概率:97.3%。建议处置方案:提前调度交警、通知附近医院急诊待命。
问题是,“鹏程之眼”最远的预测半径是四十八小时。这是系统的硬限制,由首席架构师钱世民亲自设计的算法边界。陆鸣在鹏程干了四年,从初级分析师做到高级数据架构师,他比任何人都清楚——这个系统不可能生成四十八小时之外的预测。
除非它不是”生成”的。
陆鸣截了图,存在本地。然后他打开内部工单系统,准备提交一个bug报告。写到一半,他停了下来。因为他突然意识到一件事——如果那条预测是准确的,那么两天后,那个路口真的会有人受伤,甚至可能死亡。
而他是唯一一个知道这件事的人。
他没有提交bug报告。他关掉工单系统,重新打开那条预测数据,一个字段一个字段地看。
事故详情:一辆白色特斯拉Model Y在解放路自东向西行驶,于中山大道路口右转时与一辆直行的蓝色比亚迪秦发生碰撞,随后一辆灰色五菱宏光从后方追尾比亚迪。三车受损,其中比亚迪驾驶员疑似肋骨骨折,特斯拉驾驶员轻微擦伤,五菱宏光驾驶员无碍。预计发生时间:5月9日上午10:03。
他注意到一个细节:预测报告的生成时间是5月7日14:52。也就是二十二分钟前。但系统的日志显示,在这之前的四小时里,“鹏程之眼”没有进行任何大规模计算任务。GPU集群的负载一直维持在12%左右。
一条97.3%置信度的预测报告,不需要消耗任何算力就能生成?
陆鸣把椅子往后推了推,双手交叉放在脑后。窗外是南山科技园的天际线,密密麻麻的写字楼像一排巨大的墓碑,在夕阳的余晖里投下长长的阴影。
他做了一个决定。
二、预言
鹏程科技的全称是”鹏程智慧城市科技有限公司”,注册地在深圳前海,实际办公在南山科技园的一栋写字楼里。公司三年前拿到了A市智慧城市建设的核心合同,负责搭建和运营整个城市的”数字大脑”——包括交通调度、舆情监控、公共安全预测、市政资源分配等二十三个子系统。
“鹏程之眼”是其中最神秘的一个。
对外宣传的口径是”基于深度学习的城市级事件预测系统”,媒体把它叫做”城市预言家”。去年双十一,它提前三十六小时预测了城东万达广场的踩踏风险,市政连夜加了安保,第二天果然人满为患,但秩序井然。这件事上了热搜,鹏程的估值一夜之间涨了四十亿。
只有内部人知道,“鹏程之眼”并没有那么神奇。它的预测准确率大约在78%左右——对于四十八小时窗口期内的交通和天气事件,准确率可以到85%以上;但对于社会性事件,比如群体性抗议、突发公共安全事件,准确率会骤降到60%以下。
78%的准确率已经足以让市政满意,足以让投资人兴奋,也足以让陆鸣每天晚上加班到十点,坐在屏幕前盯着那些密密麻麻的数字和曲线。
但97.3%——这个数字让他的后背发凉。
不是因为高。而是因为”鹏程之眼”从来没有对任何超过四十八小时的事件给出过97%以上的置信度。连”明天太阳会从东边升起”这种事,系统的预测置信度也只有95.7%——因为它的训练数据里包含了三次由于传感器故障导致的异常记录。
97.3%意味着什么?意味着系统对这个预测有近乎绝对的信心。意味着在某个他看不见的维度里,这件事已经发生了。
或者,正在发生。
陆鸣重新看那条预测数据,又往前翻了翻历史记录。往前翻一周——没有异常。翻两周——没有。翻一个月——
他停住了。
4月12日的预测记录里,有一条他之前没有注意到的数据。时间戳是4月12日09:17,预测内容是:4月14日下午2:22,北环大道与彩田路立交桥,一辆货车轮胎脱落,砸中路过的一辆出租车顶部。预测概率:96.8%。
陆鸣的心跳加速了。他记得这件事——4月14日北环大道确实发生了货车轮胎脱落的事故,还上了本地新闻。当时他以为这只是”鹏程之眼”的正常预测,四十八小时窗口期内,准确率本来就高。
但现在他重新看了一下时间戳:4月12日09:17生成,预测的是4月14日14:22的事件。时间跨度:五十三小时。
超过了四十八小时的硬限制。
他又往前翻了翻。3月28日,一条关于3月31日的预测——跨度七十二小时。3月15日,一条关于3月19日的预测——跨度九十六小时。2月初,一条关于2月8日的预测——跨度一百六十八小时。
越往前翻,跨度越大。像是某种东西在慢慢苏醒,从遥远的未来伸出触手,一点一点试探着时间的边界。
陆鸣关掉手机,深吸一口气。
三、十点零三分
5月9日,上午九点四十五分,陆鸣站在解放路与中山大道交叉口。
他带了折叠凳、一瓶矿泉水和一个充电宝。在路口东南角找了个位置坐下来,像一个在路边钓鱼的老头。
天气很好,五月的阳光温暖而不炽烈。空气中有一股淡淡的花香,不知道是哪种花。陆鸣不擅长认花,他擅长认数据。
九点五十分。交通流量开始增加。一辆白色的特斯拉Model Y从解放路东边驶来——陆鸣的瞳孔猛地收缩。
他站起来,心跳声在耳朵里轰鸣。
九点五十五分。那辆特斯拉在路口等红灯。一辆蓝色的比亚迪秦从中山大道南边驶来,准备直行通过路口。一辆灰色的五菱宏光跟在比亚迪后面,距离很近。
陆鸣的嘴发干。他看了一眼手机:9:57。
他开始犹豫。如果他现在冲过去,拦住那辆特斯拉,或者在路中间制造一点混乱,也许可以改变什么。但系统的预测置信度是97.3%,这意味着这件事有97.3%的概率会发生。如果他干预了,他可能成为那个2.7%。
他也可能成为第97.4%。
十点整。红灯变绿。特斯拉开始右转。比亚迪继续直行。
十点零一分。两辆车越来越近。陆鸣能看见特斯拉的侧面——驾驶员是一个三十多岁的女人,戴着墨镜,一只手扶方向盘,另一只手在操作中控屏。
十点零二分。陆鸣张了张嘴,但什么声音也没有发出来。
十点零三分。
特斯拉的右前方蹭到了比亚迪的左侧。不是剧烈的碰撞,而是一种沉闷的、带着金属质感的摩擦声。两辆车几乎同时停下。三秒后,灰色的五菱宏光从后面轻轻撞上了比亚迪的尾部——司机显然在玩手机,刹车晚了一拍。
三车追尾。和预测一模一样。
陆鸣站在路边,手里的矿泉水瓶被他捏得变了形。他看着特斯拉的驾驶员下车——女人摘了墨镜,脸上有些擦伤,但没有大碍。比亚迪的驾驶员捂着右侧肋骨,表情痛苦。五菱宏光的司机从车上跳下来,第一件事是低头看手机,然后才开始查看车况。
肋骨骨折。轻微擦伤。无碍。
每一个细节都对上了。
陆鸣转身离开。他走了三条街,在一家便利店里买了一罐冰可乐,一口气喝完,然后把空罐子扔进了垃圾桶。他的手在发抖。
不是因为恐惧。而是因为他突然明白了一件事:那97.3%不是概率。那是记录。
四、源码
回到公司已经是下午三点。陆鸣没有回工位,直接去了七楼的服务器机房。
鹏程科技的服务器机房在写字楼的七楼和八楼,占据了整整两层。七楼是GPU集群,八楼是存储和网络设备。出入需要刷卡加人脸识别加动态密码,陆鸣作为高级数据架构师有完整权限。
他需要在没有人注意的情况下查看”鹏程之眼”的源码。这本身就是一个冒险——鹏程的核心代码托管在私有GitLab上,所有访问行为都会被记录。但陆鸣知道一个漏洞:系统监控的颗粒度是十五分钟一次,只要他在十五分钟内完成查看并清除日志,就不会有人发现。
他刷卡进了七楼机房。冷气扑面而来,服务器的指示灯在昏暗中闪烁,像一片安静的萤火虫。他在一台运维终端前坐下,登录GitLab,找到”鹏程之眼”的代码仓库。
仓库很大——超过两百万行代码,分成一百七十多个模块。陆鸣直奔核心预测引擎模块。所有的预测都经过一个统一的时间窗口校验器,限制为四十八小时。这段代码是钱世民亲自写的,最近一年没有被修改过。
那么那些超过四十八小时的预测是从哪里来的?
他搜索了整个仓库,找到了一个他之前从未注意到的模块:temporal_cache。这个模块的最后一次提交时间是六个月前,提交者是钱世民。
模块里只有一个文件:buffer.py。三百行左右的代码。
buffer.py 的逻辑很简单但诡异:每隔六小时,从一个外部数据源拉取一批”预计算结果”,存入一个内存缓存区。这些结果的格式和”鹏程之眼”的正常预测完全一致,但它们绕过了时间窗口校验器——因为它们直接写入结果数据库。
那个外部数据源是一个IP地址:10.0.7.99。内网地址。但在鹏程的网络拓扑图里,这个网段不存在。
陆鸣从运维终端ping了一下那个地址。
地址是活的。
五、七号机
10.0.7.99——陆鸣给它起了个名字:“七号机”。
回到工位后,他花了两天时间整理所有异常预测的时间线。从去年十月开始,系统的预测记录里开始出现零星的超窗口预测。最初只是五十小时、六十小时,但随着时间推移,预测窗口越来越长。到今年四月,最长的已经达到一百六十八小时——整整七天。
更诡异的是,这些超窗口预测的准确率异常地高。陆鸣抽样验证了二十条,准确率100%。
不是97%,不是99%。是100%。
正常的”鹏程之眼”预测准确率在78%左右,这是算法的天花板。但这些超窗口预测像是来自另一个维度——它们不是预测,它们是已经发生过的事被倒放回来。
陆鸣查到了七号机的物理位置:七楼机房最里面的机柜,最下面一台。没有资产标签,没有连接远程管理终端。
5月12日深夜,他带着便携显示器和键盘进了机房。
登录后,屏幕上显示:
=== 时序缓冲节点 #7 ===
缓冲区容量: 1024 条
当前存量: 847 条
最晚时间戳: 2026-07-19 23:59
数据源: 本地生成
生成模型: QSM-TEMPORAL-V3
输出速率: 1条/秒 (限制)
最晚时间戳:7月19日。距离今天还有两个多月。陆鸣浏览注入记录,发现所有记录像是被一条一条地”喂”进来的——每一秒最多一条。
在模型目录下,他找到了一个README:
# QSM-TEMPORAL-V3
本模型基于非标准因果链假设,采用闭环时序训练策略。
注意事项:
- 本模型生成的预测不代表实际概率,而代表时序收敛值。
- 不得在未经授权的情况下调整输出速率。
- 缓冲区溢出可能导致时间线坍缩。请保持缓冲区使用率在90%以下。
——钱世民,2024年3月
“时序收敛值”。“时间线坍缩”。陆鸣感觉自己站在一个巨大的、看不见形状的东西面前。它不是代码,不是算法,不是任何他学过的东西。
缓冲区使用率已经超过80%。警告线是90%。
六、闭环
陆鸣花了三天调查钱世民。
钱世民,1978年生,清华本科,MIT博士,方向是因果推断。2018年加入鹏程,任首席架构师。在鹏程内部,他是传说——不参加会议,不回邮件,但他写的代码撑起了公司三个核心产品。
陆鸣翻到了钱世民2019年在一个小型学术会议上的演讲视频。演讲题目是:《闭环时序因果:当结果成为原因》。
钱世民在演讲中提出了一个假设:在某些特定条件下,因果链条可以形成闭环——事件A导致事件B,事件B导致事件C,而事件C反过来”导致”了事件A。这不是悖论,而是一种被他称为”时序收敛”的现象。
核心论点:如果存在一个系统,能够以足够高的精度和速度生成关于未来的预测,并且这些预测被传递给了能够干预未来的人,那么预测本身就成为因果链的一部分——因为你基于预测做出的行动改变了未来的状态,而系统需要预测的正是这个被改变后的未来。
预测和行动形成反馈循环。足够多次迭代之后,系统收敛到稳定状态:预测的未来和实际的未来完全一致。
这就是”时序收敛值”——它不是概率,它是对一个已经确定的未来的记忆。
钱世民在演讲最后说:“时序收敛有一个前提条件——系统必须持续运行。一旦中断,收敛态会崩溃,时间线会分叉。”
他没有说完”分叉”会怎样。
七、裂痕
5月15日,陆鸣发现了一条新的异常预测。
这一次不同。
预测内容:5月20日,鹏程科技南山总部大楼,32层服务器机房,发生火灾。起因:电气线路短路。预计伤亡:0。财产损失:约2400万元。预测概率:94.1%。
鹏程总部三十二层就是他上班的地方。三十二层的机房里托管着”鹏程之眼”的大部分计算节点。如果那里起火,系统会宕机。
系统宕机。收敛态崩溃。时间线分叉。
陆鸣忽然明白了README的含义:缓冲区使用率继续上升,系统生成的”未来记忆”会越来越多、越来越远,直到某个临界点——系统无法再维持收敛态。而维持收敛态需要算力,需要硬件,需要机房不被烧掉。
火灾的预测置信度只有94.1%,不是97%以上。这意味着这件事还没有完全”收敛”——它还有可能被改变。
但也意味着,如果什么都不做,它有94.1%的概率会发生。
陆鸣面临一个选择:干预,还是不干预。
如果他干预——比如提前检查电气线路、加强消防措施——他可以阻止火灾,保住机房,维持七号机的运行。但这也意味着他接受了”时序收敛”的逻辑:他相信了那条预测,并基于它做出了行动。他的行动将成为闭环的一部分。
如果他什么都不做——火灾发生,系统崩溃,收敛态瓦解。未来不再确定。但这也意味着,七号机所维持的那个”确定的未来”可能包含更多他不知道的东西。也许那个未来并不值得维持。
陆鸣盯着屏幕,一条一条地翻看七号机缓冲区里关于未来两个月的数据。
交通事故。天气预报。股票波动。市政工程进度。这些是平凡的、可预测的。
但越往后翻,数据开始变化。6月初,一条预测:鹏程科技与市政的合同续签谈判破裂,公司面临解约风险。6月中,另一条:公司CTO因涉嫌数据安全问题被带走调查。6月底:鹏程科技启动B轮融资,估值腰斩。
7月:一条预测让陆鸣的手僵在了键盘上。
7月14日,公司向全体员工发出通知:因业务调整,裁员65%。陆鸣所在的数据架构组,全员裁撤。
他被预测了自己的失业。
八、抉择
5月17日。距离预测中的火灾还有三天。
陆鸣坐在家里的书桌前,面前摊着一张A4纸,上面写满了密密麻麻的字。他在列一张清单——关于时序收敛,关于七号机,关于他自己的选择。
清单的左边写的是”维持收敛”:
- 消除火灾隐患,保住机房
- 七号机继续运行
- 未来保持确定
- 但那个确定的未来里,他会在7月被裁掉
- 公司会衰落,合同会破裂,CTO会被调查
- 整个”确定的未来”并不美好,但至少它是已知的
清单的右边写的是”打破收敛”:
- 什么都不做,或者主动拔掉七号机的电源
- 火灾发生(或被他主动阻止但系统仍崩溃——如果他自己关掉七号机呢?)
- 收敛态瓦解
- 未来变成不确定的
- 但”不确定”不意味着”更好”——它可能更差
陆鸣在纸的最下面画了一条线,在线下面写了两个问题:
第一:那个”确定的未来”是谁确定的?是钱世民的模型?还是某个更深层的东西?
第二:如果时序收敛是真的,那么他在过去三十四年的人生中做出的每一个选择——上学、工作、恋爱、分手——到底是他自己选的,还是被某个已经写好的剧本决定的?
他盯着第二个问题看了很久。
然后他拿起手机,给钱世民发了一条微信。
他们不熟——钱世民不跟公司里的任何人”熟”——但陆鸣有他的微信号,因为系统升级的时候需要直接沟通。钱世民从来不发朋友圈,头像是一张模糊的黑白照片,看不清是什么。
消息内容很简单:“钱总,七号机的缓冲区使用率已经超过80%。您定的警告线是90%。请问需要采取什么措施?”
五分钟后,钱世民回复了。只有四个字:“你看到了?”
又过了三十秒,第二条消息:“明天中午,公司楼下那家潮汕牛肉火锅。你请客。“
九、火锅
钱世民比陆鸣想象中要老。头发灰白,脸上的皱纹像河流的支流,密集而深刻。他穿着一件洗得发白的格子衬衫,袖口卷到手肘,露出一块老旧的电子表——不是Apple Watch,不是任何智能设备,是一块卡西欧的F-91W。
他点了三盘吊龙、两盘牛肉丸、一盘胸口朥,还要了一瓶珠江纯生。陆鸣点了一盘腐竹和一瓶王老吉。
“你什么时候开始看的?“钱世民问。他涮肉的动作很老练,筷子夹着薄薄的牛肉片在滚汤里涮八秒——陆鸣数了——然后蘸沙茶酱,一口吃掉。
“上周。发现了一条超出48小时窗口的预测。”
“就一条?”
“后来翻了历史记录,从去年十月开始,越往后越多。”
钱世民点了点头,像是在确认什么。“你的反应比我预期的快。我以为至少要到六月你才会发现。”
陆鸣愣了一下。“您知道我会发现?”
“不是’知道’。是’已经发生了’。“钱世民放下筷子,看着他。“你发现七号机这件事,本身就在缓冲区的数据里。时间戳是去年12月。”
陆鸣感觉火锅的热气突然变得很烫。
“所以……我调查七号机、找您谈话,这些都不是我自己决定的?”
钱世民喝了一口啤酒,慢慢说:“你说呢?”
“我想说是的。但您会告诉我不是。”
钱世民笑了。这是陆鸣第一次见他笑——不是那种社交性的微笑,而是一种真正的、带着某种悲伤的笑。
“我告诉你一个故事,“钱世民说。“2019年,我做了一个实验。不是在公司,是在我自己家里。我用两台电脑搭了一个微型时序模型——就是后来七号机上那个模型的雏形。让它预测我接下来一周的生活。”
“然后呢?”
“然后它预测了所有事。准确率100%。我几点起床,吃什么早餐,走哪条路去上班,代码里写了几个bug,甚至我跟老婆吵架的具体内容——吵架的原因、吵架时我说的话、她说的话、最后谁先道歉。全部一模一样。”
“您试过改变吗?”
“试过。有一天预测说我早上会喝咖啡,我故意喝了茶。结果那天下午出了件意外——我的茶杯打翻了,水洒在了键盘上,导致我不得不重新买一个键盘,延误了一个会议,最后我还是在下午三点去买了杯咖啡。”
钱世民看着陆鸣的眼睛。“你可以改变路径,但你改变不了终点。这就是时序收敛的本质。你可以绕路,但目的地不变。”
“那火灾呢?“陆鸣问。“94.1%的置信度,不是100%。这说明火灾不是终点?”
钱世民的表情变了。他放下啤酒杯,双手交叉放在桌上。
“94.1%说明两件事。第一,这个事件还没有完全收敛——还有变量在波动。第二,也是最关键的——这个事件的因果链里有一个变量是我无法建模的。”
“什么变量?”
“你。”
陆鸣张了张嘴,没说出话。
“时序收敛模型的假设是:所有参与者都不知道自己在收敛态中。一旦有人意识到这一点,并且有意识地做出选择——不是被动地按照剧本走,而是主动地、有目的地选择——这个人的行为就会变成模型无法预测的扰动项。”
“所以我就是那个2.7%?”
“不。你是那个让整个系统从97%变成94%的人。你的存在本身就在拉低置信度。因为你知道未来,而且你知道你知道。”
火锅在两人之间翻滚着,牛肉片在红汤里沉浮。
“那我应该怎么做?“陆鸣问。
钱世民没有立刻回答。他夹起一块牛肉丸,咬了一半,慢慢嚼。
“你问我应该怎么做,说明你还在把选择权交给我。但如果你把选择权交给我,你就在按照别人的剧本走——而这恰恰是时序收敛最喜欢的行为模式。”
“那您告诉我——如果我不选,会发生什么?”
“如果你不选,94.1%的概率,火灾发生,七号机停机,收敛态崩溃。未来变成一团混沌。公司也许会死,也许不会。你也许会失业,也许不会。一切变得不确定。”
“如果我选呢?”
“那取决于你选什么。但无论你选什么——只要你是有意识地选的,不是被动地跟着走的——你就在打破收敛。因为真正的选择不需要预测系统的背书。”
钱世民把剩下半块牛肉丸吃完,用纸巾擦了擦嘴。
“还有一件事,“他说。“你翻过缓冲区的数据,看到了7月的裁员预测。”
陆鸣点了点头。
“那个预测的置信度是多少?”
陆鸣想了一下。“89.4%。”
“低于90%。“钱世民说。“你知道这意味着什么吗?”
“意味着……它还没有完全收敛。”
“意味着它可以被改变。但不是被你改变——是被你们。所有在那条预测中被波及的人。如果你们都不做任何 事,它就会发生。但如果你们中有哪怕一个人站出来说’不’,置信度就会继续下降。88%,85%,80%……最终,它会跌破收敛阈值,事件就不会发生。”
“一个人的’不’就能改变未来?”
“不是改变。是让未来变得开放。时序收敛最怕的不是混乱——它怕的是自觉。一个自觉的人做出的选择,比一百万条数据更有力量。因为数据只能描述已经发生的事,而选择创造尚未发生的事。”
钱世民站起来,拿出钱包准备结账。陆鸣拦住了他——说是他请客。
“我有个条件,“钱世民走到门口时说。“不要关掉七号机。”
“为什么?”
“因为它是锚点。有它在,你至少能看到未来长什么样。看到未来,你才有选择的机会。如果连看都看不到,你连选择都没有。”
他推开门走了出去。阳光照在他的格子衬衫上,一瞬间,陆鸣觉得他的背影很孤独。
十、火
5月18日。陆鸣回到公司,没有去机房,没有看预测系统,没有做任何和时序收敛有关的事。他做了一件完全不相干的事。
他去找了同组的六个人,一个一个地聊。
他没提七号机,没提时序收敛,没提任何听起来像科幻小说的东西。他只是问他们一个问题:“你觉得我们的工作有意义吗?”
答案五花八门。小陈说有意义,因为预测系统确实救过人——去年万达广场那次就是证据。老张说没意义,都是给资本家打工,哪有什么意义。小林反问他:“你问这个干嘛?你是不是要跳槽?”
陆鸣笑了笑,说没有。然后他问了第二个问题:“如果公司要裁掉我们整个组,你会怎么办?”
这一次,六个人的回答出奇地一致:“那能怎么办?拿赔偿走人呗。”
没有人说”我会反抗”。没有人说”我会争取”。没有人说”我会让改变发生”。
陆鸣坐在工位上,看着窗外的天色从蓝变橙再变暗。他想起钱世民的话——“如果你们中哪怕有一个人站出来说’不’。”
但没有人说”不”。包括他自己。
5月19日。火灾的前一天。
陆鸣在凌晨三点醒来。不是被噩梦惊醒,而是被一种奇怪的清晰感唤醒。他躺在床上,盯着天花板,脑子里异常安静。没有焦虑,没有恐惧,甚至没有思考。
只有一种感觉:他在被什么东西看着。
不是恶意的注视,而是一种温和的、耐心的、近乎慈爱的注视。像一个老师看着一个学生在考场上冥思苦想,知道答案,但不打算告诉他。
陆鸣翻了个身,拿起手机。打开系统后台——凌晨三点零四分,“鹏程之眼”的面板上,关于明天火灾的预测置信度变了。
93.7%。
在下降。虽然只降了0.4%,但它在下降。
他继续刷着数据,发现了一条新的预测,生成时间是两分钟前——凌晨三点零二分。
预测内容:5月20日,鹏程科技南山总部,一名员工在凌晨独自进入机房,手动排查了32层机房的电气线路,发现了一处老化的接线端子并报告给物业。火灾风险消除。
预测概率:91.2%。
陆鸣盯着这条预测看了很久。它的内容太具体了——“一名员工”,“凌晨”,“独自进入机房”,“手动排查”。
这是在描述他。
但置信度只有91.2%。这意味着系统不确定他会这么做。系统在”猜测”他的行为——像一个棋手在猜测对手的下一步。
而他此刻正醒着,盯着手机,在凌晨三点零七分。
陆鸣放下手机。他闭上眼睛。
三点十一分,他重新拿起了手机,给物业值班室打了个电话。
十一、凌晨四点
物业值班的老王接到电话的时候正在看手机——短视频,一个教人做红烧肉的。他听了陆鸣的描述,将信将疑。电气线路老化这种事,不是没有可能——三十二层的机房是三年前装修的,用的材料不算差,但三年二十四小时不间断运行,什么材料都会老化。
“要不明天白天来看?“老王说。
“明天可能就晚了。“陆鸣说。他没办法解释为什么明天就晚了。他不能说”因为一个时序收敛模型预测明天这里会着火”。
老王沉默了几秒。“行吧。我跟你上去看看。”
凌晨四点,陆鸣和老王站在三十二层机房的配电柜前。老王拿着手电筒,陆鸣拿着一份他提前打印的机房平面图——上面标注了所有电气线路的走向。
他不知道该找什么。他没有电工证,不会看线路图。他只是凭着那条预测的指引——“电气线路短路”——在配电柜附近一寸一寸地看。
老王比他专业。他打开配电柜的后盖,用手电照了照里面,然后”咦”了一声。
“怎么了?”
“这个接线端子……有点不对。”
陆鸣凑过去。老王的手电照在配电柜底部的一个铜质端子上。端子的表面有一圈淡淡的焦痕,周围的绝缘胶套已经发黄变脆。
“这个端子接触不良,一直在发热。“老王用螺丝刀碰了碰端子,它微微晃动。“螺丝松了。再这样下去,温度越来越高,绝缘层就会碳化,然后——”
“短路。”
“对。短路。然后就是火灾。“老王擦了擦额头的汗。“这要是没发现,再过个一两天,搞不好真要出事。”
他用扳手拧紧了螺丝,又用绝缘胶带重新包了一圈。整个过程不到二十分钟。
凌晨四点三十七分。陆鸣站在机房里,听着服务器均匀的嗡鸣声,感觉自己的心跳在慢慢恢复正常。
他打开手机,刷新了预测面板。
关于5月20日火灾的预测——消失了。
不是置信度降到零,而是整条记录不见了。像是从未存在过。
取而代之的是一条新的记录:5月20日,鹏程科技南山总部,无异常事件。预测概率:99.97%。
十二、余震
陆鸣以为故事到这里就结束了。
5月20日,一切正常。没有火灾,没有事故,甚至连一个小的技术故障都没有。陆鸣照常上班,照常开会,照常在三个屏幕前坐到晚上十点。
但有些东西变了。
微妙的变化。比如,他注意到组里的小陈在午饭时没有像往常一样刷短视频,而是在看一本关于数据伦理的书。老张在走廊里碰到他,破天荒地跟他聊了十几分钟关于”AI预测系统的社会影响”。小林问他:“陆哥,你觉得我们的工作该不该有个底线?”
陆鸣说:“什么底线?”
“就是……我们预测的东西,有些是人命关天的。但我们从来没有想过,预测本身会不会影响结果。比如我们预测某个路口会出事故,然后交警提前介入了,事故没发生。那我们的预测到底是准还是不准?如果因为我们的预测让事故没发生,那我们到底是在预测未来,还是在创造未来?”
陆鸣看着小林——二十四岁,刚毕业两年,头发有点长,眼镜框是塑料的,左边的腿断了用胶带缠着。他从来没有注意过这个细节。
“你觉得呢?“陆鸣问。
“我觉得……预测不应该是单向的。它应该是一个对话。系统预测未来,人看到预测,做出反应,然后系统根据人的反应更新预测。这才对。不然我们就只是……被算法规训的提线木偶。”
陆鸣沉默了一会儿。“你什么时候开始想这些的?”
小林想了想。“就这两天。做了一个梦。”
“什么梦?”
“梦到我在一个很大很大的机房里,里面有无数台服务器,所有的服务器屏幕上都在显示同一条消息——‘你看到了吗?’”
陆鸣的脊背一阵发凉。
十三、分叉
5月25日。距离陆鸣发现七号机过去了将近两周。
缓冲区的使用率还在上升:从847条涨到了912条。1024的上限,使用率已经逼近89%。
陆鸣再次登录七号机查看数据。这一次,他发现了一些新的东西——缓冲区的最晚时间戳从7月19日延伸到了8月3日。新增的预测数据里,有几条引起了他的注意:
7月28日:A市政府宣布智慧城市项目公开招标,鹏程科技不再是唯一供应商。预测概率:87.3%。
7月30日:一个名为”城市之眼”的开源预测系统在GitHub上线,创建者匿名。预测概率:72.1%。
8月1日:鹏程科技内部邮件泄露,揭露”鹏程之眼”存在未经授权的超窗口预测功能。媒体广泛报道。预测概率:68.9%。
8月3日:鹏程科技CEO辞职。钱世民被任命为临时技术负责人。预测概率:61.2%。
陆鸣看完这些数据,靠在椅背上长出了一口气。
这些预测的置信度都不高——最高的87.3%,最低的61.2%。它们都还没有收敛。但它们的指向很明确:公司要出事,而且出事的原因和七号机有关。
有人要泄露七号机的存在。
陆鸣想了想,打开自己的手机,翻到和钱世民的聊天记录。火锅那天的对话,除了约饭的那几句,没有其他内容。钱世民没有在微信上说过任何敏感信息。
但有人知道。或者,将会知道。
陆鸣再次查看泄露事件的预测详情:泄露渠道是公司内部邮件——某员工在无意中发现了 buffer.py 的代码片段,截图发到了一个私人邮件群。截图内容包含”temporal_cache”字样和10.0.7.99这个IP地址。
“某员工”。不是他。因为他在查七号机的时候没有截图,只拍了那个README。
但有其他人也会发现吗?
陆鸣重新审视了 buffer.py 的代码仓库权限——整个公司有权限访问”鹏程之眼”代码仓库的开发者大约有四十人。而 temporal_cache 模块虽然不起眼,但它就在代码仓库里。任何一次代码审查、一次全局搜索、一次好奇心的驱使,都可能让另一个人发现它。
而且,七号机的缓冲区使用率还在上升。随着使用率升高,超窗口预测会越来越多,越来越频繁。总有一天,某个数据分析师会在监控面板上发现那些超窗口预测——就像他当初一样。
到那时候,就不止他一个人知道了。
十四、第二个选择
5月28日。陆鸣站在天台上抽烟。
他其实不抽烟。三个月前为了减压买了一包,一直放在抽屉里没动过。今天他突然想抽一根。
天台在三十五层,能看到整个南山科技园。远处的深圳湾在夕阳下泛着金光,更远处的香港新界像一条模糊的灰色丝带。
他想了很多。
关于”确定的未来”和”开放的未来”。关于钱世民说的那句话——“真正的选择不需要预测系统的背书”。
关于他自己。
陆鸣,三十四岁,未婚,独居,父母在老家。他的生活可以用一个词概括:安稳。稳定的工作,稳定的收入,稳定的社交圈——小到几乎看不见。他不冒险,不冲动,不犯错。他的生活像一条笔直的高速公路,没有弯道,没有岔路,只有远方一个模糊的终点。
三十四年来,他从来没有偏离过这条公路。
也许这就是为什么时序收敛模型对他的预测一直很准——因为他的行为模式太稳定了,稳定到几乎可以用一个线性方程来描述。陆鸣的人生就是一个线性方程:y = kx + b。斜率很小,截距很低,但永远是直线。
而一条直线是可以被无限延伸的。
他问自己:你想成为一条直线吗?
答案是不想。
他又问自己:那你为什么不弯?
因为他害怕。害怕弯了之后不知道会到哪里。害怕弯了之后会翻车。害怕弯了之后,那个直线上的”确定的终点”就消失了,取而代之的是一片未知的旷野。
但旷野不一定可怕。旷野也可以是自由的。
陆鸣把烟头摁灭在天台的栏杆上,然后做了一个决定。
十五、公开
5月30日。陆鸣在公司内部的技术分享会上做了一个演讲。
这是组长安排的——每个月一次的技术分享,轮到他了。主题本来定的是”城市预测系统的数据管道优化”,他准备了两周。
但他换了主题。
新主题是:《我们预测了什么?——论城市预测系统的伦理边界》。
会议室里坐了三十多个人,大部分是技术部门的,也有几个产品和运营。陆鸣站在投影幕前面,手心全是汗。
他讲了四十分钟。从”鹏程之眼”的工作原理讲起,讲到预测准确率的统计分布,讲到预测结果对市政决策的影响,讲到一个核心问题:当一个系统声称自己能预测未来的时候,它同时也在限制未来。
“如果交警因为我们预测某个路口会出事故而提前部署了警力,事故没有发生——我们的预测是准还是不准?如果我们把这种逻辑推到极端——如果我们预测了每个人的每一个行为,并且根据预测来安排一切——那我们的预测永远不会错,因为世界已经完全按照我们的预测运行了。”
“这不是预测。这是规训。”
会议室里很安静。
“我知道这听起来有点抽象。那我讲个具体的例子。“陆鸣深吸一口气。“假设有一个系统,它不只能预测四十八小时之内的事,而是能预测更远的未来。一周,一个月,两个月。而且准确率接近100%。”
他停顿了一下。“你们会觉得这是一个很厉害的系统吗?还是会觉得这是一个很危险的系统?”
没有人说话。
“如果这个系统预测你下周会被裁掉,你会怎么做?如果它预测你下个月会出车祸,你会怎么做?如果它预测你明年会离婚,你会怎么做?”
“你会接受它的预测吗?还是你会反抗它?如果你反抗了——你改变了它的预测——那它的预测就不准了。但如果你没有反抗——如果你完全按照它的预测来安排你的人生——那你的’选择’还算选择吗?”
陆鸣关掉了投影仪。屏幕变黑。
“我没有答案。我只是觉得,我们需要开始问这个问题。在我们把系统做得更强大之前。因为总有一天,系统会强大到不需要我们做选择。而到那时候,我们甚至不会意识到——我们已经不选择了。”
他鞠了一个躬,走下了讲台。
掌声很稀疏。但小林在鼓掌。老张也在。甚至坐在角落里一直低头看手机的钱世民,也抬了一下头,对陆鸣微微点了一下。
十六、坍缩
6月2日。
陆鸣到达公司的时候,发现大堂里多了几个穿西装的陌生人。他们胸前的工牌上写着”A市纪委监委”。
同一天,公司CTO被带走调查。原因是:涉嫌在智慧城市项目中违规收集和使用市民数据。
消息来得突然,但对陆鸣来说并不意外——七号机的缓冲区里,这条预测的置信度是82.7%。
但接下来发生的事,是缓冲区里没有的。
CTO被带走后,公司紧急召开董事会。会上,有人提出要彻底审查”鹏程之眼”的技术架构。钱世民作为首席架构师被要求提交所有系统的技术文档——包括七号机。
钱世民拒绝提交。
他说:“那个系统不在合同范围内。它是我个人的研究项目,使用的是我自费购买的硬件,和公司无关。”
董事会不信。他们要求IT部门立即检查七楼机房的所有设备。
6月3日下午两点,IT部门的两个人走进了七楼机房,找到了那台没有标签的服务器。
他们发现服务器还在运行。缓冲区使用率:94.7%。已经超过了钱世民设定的90%警告线。
他们把服务器关了。
下午两点十七分。陆鸣正在工位上看手机——他在刷新预测面板。
面板上所有的超窗口预测——同时消失了。
不是一条一条地消失,而是像一盏灯被关掉一样,所有的异常数据在一瞬间全部归零。面板上只剩下正常的四十八小时窗口内的预测,安安静静地躺在绿色区间。
陆鸣盯着空白的屏幕,感觉自己的心脏漏跳了一拍。
七号机被关了。收敛态崩溃了。未来变成了开放的。
他打开缓冲区注入记录的查询页面——“无法连接到服务器”。
他打开那台服务器的远程管理界面——“目标主机不可达”。
他给钱世民发微信——没有回复。
打手机——关机。
陆鸣站起来,走到窗边。窗外的南山科技园还是那个南山科技园——密密麻麻的写字楼,川流不息的车辆,远处深圳湾的金色波光。一切都没有变。
但他知道,有什么东西变了。
从这一刻起,未来不再是确定的了。不是因为他做了什么,而是因为别人做了——在他不知道的时候,在他无法控制的地方。
钱世民说的”分叉”——就是这样。你不知道它会分向哪里,你甚至不知道它已经分了。你只是突然发现,手里的地图变成了一张白纸。
十七、之后
之后的事情,有些是陆鸣预料到的,有些不是。
预料到的:CTO被调查后,鹏程科技的股价跌了30%。市政启动了智慧城市项目的重新招标。钱世民在失联三天后重新出现,但没有回公司,而是在家里写了一篇论文——《论时序因果的自觉性破缺》。论文发在一个影响因子不到1的小期刊上,被引用了零次。
没预料到的:小林在技术分享会后的第三天,把”鹏程之眼”的数据管道架构文档发到了GitHub上——不是泄露机密,而是一个脱敏后的开源版本。他起名叫”OpenEye”。两个月后,这个项目获得了三千个Star。五个城市的市政部门联系了他,问能不能用。
更没预料到的:老张在被裁员后(7月份的裁员确实发生了,但规模没有预测的那么大——35%而不是65%),用赔偿金开了一家数据咨询公司,专门帮中小企业评估AI系统的伦理风险。他的第一个客户是鹏程科技的竞争对手。
至于陆鸣自己——
他被裁了。7月14日。和预测的日期一模一样。
但他没有像预测中那样——默默拿赔偿、更新简历、投递下一个岗位——他做了一件不同的事。
他去找了钱世民。
不是在公司,不是在微信上。他去了钱世民的家——南山区一个老旧的小区,三室一厅,客厅里堆满了书和电子元件。钱世民开门的时候穿着背心,趿着拖鞋,手里拿着电烙铁。
“你怎么知道我住这儿?”
“公司通讯录上就有。”
钱世民让他进门。客厅的茶几上摆着一台拆开的笔记本电脑,主板上接了一根陆鸣不认识的线缆。墙上贴满了手写的公式和流程图,有些已经发黄卷边。
“七号机没了,“陆鸣说。“但我一直在想您说的那句话。”
“哪句?”
“真正的选择不需要预测系统的背书。”
钱世民放下电烙铁,看着他。
“然后呢?”
“然后我想问您——您做七号机,到底是为了什么?是为了证明未来是确定的?还是为了证明它可以被改变?”
钱世民沉默了很久。客厅里只有电烙铁余温发出的细微嗡鸣声。
“都不是,“他终于说。“是为了证明一件事——未来是值得被看见的。大多数人活着,从不看未来。他们被惯性推着走,上学、工作、结婚、生子、退休、死去。他们以为自己在选择,其实只是在重复。”
“七号机让他们看见了未来。看见未来,才有选择的机会。哪怕最终的选择和未来一模一样——那也是选择,不是重复。”
“那现在呢?“陆鸣问。“七号机没了。没人能看见未来了。”
钱世民笑了笑。和火锅那天一样的笑——温和的、带着某种悲伤的笑。
“不需要七号机。每个人心里都有一个。你看见那条预测的时候,你就已经激活了它。从那一刻起,你的每一个选择都不再是重复——因为你已经知道自己在选了。”
他指了指茶几上那台拆开的电脑。“我在做八号机。”
“什么?”
“八号机。缓冲区更大,模型更好。但有一个关键的不同——这次的模型不是闭环的。”
“什么意思?”
“七号机的模型是闭环的——它假设所有参与者的行为都是可预测的,最终收敛到一个确定的未来。八号机不一样。它假设每个参与者都有可能做出不可预测的选择——不是因为算法不够好,而是因为人就是这样。”
“那它还能预测吗?”
“不能。但它能做一件更重要的事——它能告诉你:如果你做了这个选择,有多少种可能的未来会因此而改变。”
钱世民拿起电烙铁,重新凑到主板上。
“要不要帮忙?“陆鸣问。
钱世民看了他一眼。“你会焊电路吗?”
“不会。但我可以学。“
尾声
八月的一个傍晚。深圳下了一场暴雨,持续了四十分钟,然后突然放晴。天空中出现了一道彩虹——完整的,从深圳湾的这一头到那一头,像一个巨大的微笑。
陆鸣站在钱世民家的阳台上,看着那道彩虹。他手里拿着一杯凉白开——钱世民家没有茶叶也没有咖啡,只有凉白开。
他想起了一个月前的那个凌晨四点,他站在三十二层机房的配电柜前,看着老王拧紧一颗松动的螺丝。那一刻他做了选择——不是基于预测,不是基于概率,而是基于一个简单的信念:有人可能会受伤,我可以做点什么。
这个选择改变了什么吗?
也许改变了。也许没有。七号机关了之后,他永远无法验证那条关于火灾的预测是否准确。也许火灾真的会发生,也许不会。也许他的那个电话只是多此一举,也许它救了一个机房的设备和无数条数据。
但这些都无所谓了。
重要的是,他选了。不是被动地跟着剧本走,而是主动地、有意识地、带着不确定性走进了一个他无法预测的未来。
这才是真正的自由。不是”确定的未来”——那只是另一种形式的牢笼。真正的自由是”开放的未来”——不知道明天会发生什么,但愿意为之负责。
彩虹在慢慢消散。从两端开始,颜色变得黯淡,像一幅正在被擦掉的水彩画。
陆鸣举起杯子,对着彩虹碰了一下。
“敬未来,“他说。“不管它是什么样的。”
然后他转身回到客厅,拿起电烙铁,继续焊八号机的主板。
窗外,城市的灯火开始亮起来。一盏,两盏,三盏……像无数个微小的选择,在黑暗中一一点亮。
没有人知道这些灯火会通向哪里。
但这正是它美丽的原因。
(全文完)