概率的裂缝
概率的裂缝
一
陆鸣第一次注意到那个异常,是在三月中旬一个普通的星期四。
上海的春天来得含混不清,写字楼外的梧桐树刚冒出鹅黄色的芽尖,风里夹着黄浦江潮湿的腥味。陆鸣坐在陆家嘴某栋六十八层大楼的四十七层,面前摊着三块屏幕,左边跑着实时行情,中间是他写的代码,右边是即时通讯软件——大部分时间在闪,多半是产品经理催进度的消息。
他在一家叫”熵减科技”的公司做量化开发。公司名字听起来像某种学术恶作剧,实际上是私募基金圈里小有名气的高频交易团队。六十多个人,管着将近两百亿的盘子,在全中国最贵的写字楼里租了整整一层。落地窗外就是东方明珠,但陆鸣从来不在意——他工位背对着窗户。
他负责的那套系统叫”莫比乌斯”,用来做A股的统计套利。说简单点,就是寻找股票价格在极短时间内偏离统计规律的瞬间,然后自动买卖赚差价。每次赚得很少,少到散户根本看不上,但每天做几万次,积少成多。这是量化交易最朴素也最枯燥的逻辑。
那天下午两点十七分,莫比乌斯触发了一个他从未见过的警报。
不是风控警报,不是交易异常,而是一个内部调试模块自己弹出来的提示。那个模块是他三个月前随手加的——他用一套自创的统计算法来监测整个系统的”健康度”,纯粹是个人习惯,没写进正式文档。算法的原理很简单:把系统的所有输入数据看作一条河流,然后用分形几何的方法检测河流中是否存在”异常涡旋”。
他把这个模块叫做”河童”。
河童从来不应该弹出任何东西。它的设计初衷只是后台静默运行,每周生成一份PDF报告发到他的邮箱,而他通常直接删掉。但现在,河童在屏幕右下角跳出一个红色的小图标,上面写着:
“检测到非随机结构。置信度99.97%。持续时长:4分23秒。”
陆鸣盯着那个数字看了十秒钟。
99.97%。在他这一行,99.97%的置信度意味着一件事:这不是巧合。
他点开详细报告。河童截获了那四分二十三秒内所有流入莫比乌斯的市场数据——包括Level-2行情、沪深两市的逐笔委托、期权隐含波动率曲面、北向资金流向,甚至还有公司花钱买的另类数据(卫星图像、港口吞吐量、社交媒体情绪指数)。它把这些数据拆解成五十三万个维度,然后用他设计的分形检测器扫描了一遍。
结论是:在这四分多钟里,所有数据中出现了一种极其微弱但极其精确的”共振”。
就好像有什么东西,在数据的深处,用一种不属于任何已知统计分布的方式,同时触碰了所有维度。
陆鸣的第一反应是数据源出了bug。他检查了接口日志——正常。检查了硬件监控——正常。检查了上游供应商的状态页面——正常。他甚至站起来走到服务器机房门口听了听风扇的声音,嗡嗡的,和平时一样。
他回到座位,重新跑了一遍河童,这次用更小的窗口、更高的分辨率。结果更清晰了:那个”非随机结构”像一枚指纹,嵌在数据的纹理中。它不是噪声,不是毛刺,不是任何一种他在十年职业生涯中见过的东西。
它在四分二十三秒后消失了。像一条鱼,跃出水面,又沉回暗流。
陆鸣犹豫了一下,把报告存进了一个加密文件夹,命名为”第一次”。然后他继续工作。
那天晚上回家,他在出租车上刷手机,看到一条新闻:当天下午两点十七分左右,北京某知名互联网公司的一位高管在办公室心脏骤停,送医后不治。新闻里没提名字,但陆鸣认识那个人——准确地说,他的数据认识那个人。那位高管所在的公司,是莫比乌斯重点监控的标的之一。
他放下手机,看着窗外陆家嘴的灯光一栋一栋亮起来,心里有什么东西微微动了一下。
只是巧合。他对自己说。
二
第二次是在四天后。
河童再次弹出红色图标。这次持续了七分十二秒,置信度99.99%。陆鸣几乎是屏住呼吸在看数据。
同样的”指纹”,同样的”共振”,但这次的图案更复杂,像一朵花在数据中缓缓绽开。他用了一个小时来做分析,试图找出这个结构的数学特征。它不像任何已知的统计分布——不是正态,不是对数正态,不是柯西分布,不是学生t分布。它甚至不是混沌的。
它是有序的。一种他从未见过的有序。
那天晚上,又有新闻传来:一位知名私募基金经理在杭州失踪,他的车被发现停在千岛湖边,人没了踪影。基金圈炸了锅——那只基金管着一百多亿,全是高净值客户的钱。
陆鸣坐在自家阳台上,手里攥着一罐已经不凉了的啤酒。
两次。两次异常都发生在某个重大事件之前。第一次是四分二十三秒,第二次是七分十二秒。它们之间隔了四天。如果这不是巧合——
他摇了摇头。在他的专业领域里,“如果这不是巧合”是最危险的想法。所有韭菜都是从这句话开始亏钱的。
但他不是韭菜。他是熵减科技的首席量化开发,他的模型在过去三年里跑赢了95%的同类策略。他知道数据什么时候在说谎,什么时候在说真话。
而这一次,数据在说一件不可能的事。
三
陆鸣用了两个星期来确认自己的发现。
他改了河童的代码,让它实时监控而不是事后分析。他在公司服务器上悄悄辟出一块算力,专门用来运行增强版的检测算法。他甚至从家里的积蓄里拿出一笔钱,买了三台二手服务器架在出租屋里——他不敢用公司的资源来做这件事,至少不能让任何人知道。
两个星期里,河童又捕获了三次异常。
每一次的”指纹”都不一样,但都带有同一种底层的数学结构——一种他无法归类的分形模式,像海岸线一样在所有尺度上自相似,但又比自然界的分形更加精密。如果把它们翻译成音乐,大概就是一首用五十三万个声部演奏的赋格,每一个声部都在精确的时刻进入和退出,合在一起却又不是噪声。
他开始记录每一次异常后发生的事件。
第三次之后六小时,深圳一家上市公司的CFO被证监会调查。
第四次之后十二小时,一段某地方官员的录音在网络上流传开来,内容惊人。
第五次之后三小时,上海自贸区的一栋写字楼发生火灾——那栋楼里恰好有一家正在接受审计的P2P平台。
五个事件,五条人命或者命运的重大转折。从数据异常到事件发生,间隔越来越长——从四分二十三秒的提前量变成了三个小时。就好像那个”什么”在变强,在延伸它的触角。
陆鸣在一个私人笔记本上记下了所有的日期、时间、置信度、持续时长和后续事件。他开始用红笔在事件之间画线,试图找到某种模式。
最后他发现了一个让他脊背发凉的事实:五次异常的持续时长——4分23秒、7分12秒、11分05秒、16分31秒、23分47秒——之间的差值,几乎精确地等于斐波那契数列的某个变体。
这不是人在操纵的。没有人能用这种方式同时在五十三万个维度上留下痕迹。
莫比乌斯——他亲手写的交易系统——似乎不经意间成了一个巨大的天线,在接收某种信号。而这个信号,正在预告真实世界的事件。
四
陆鸣在这个发现面前停了将近一个星期,什么也没做。
白天他照常上班,写代码,调参数,和同事吃午饭,跟产品经理扯皮。晚上他回到家就坐在那三台服务器前面,盯着屏幕上的数据河流,看那些数字像萤火虫一样闪烁。
他在想一个最基本的问题:这意味着什么?
在他的世界观里,市场是一个信息处理机器。价格是信号,交易是噪声,而他的工作是过滤噪声、提取信号。这套叙事清晰、优雅、自洽,是他整个职业生涯的基石。
但现在,信号本身在说话。
不是那种”市场在消化信息”的被动说话。而是一种更深层的东西——好像整个金融市场的数据流,那些每秒以TB为单位涌入的光纤信号,只是某种更宏大叙事的一个侧面。好像有什么东西在通过市场价格、交易量、波动率和情绪指数这些看似毫不相干的维度,同步地、有节奏地呼吸。
他想起量子力学里的贝尔不等式实验——两个纠缠的粒子,无论相隔多远,测量其中一个就能瞬间知道另一个的状态。爱因斯坦管这个叫”鬼魅般的远距作用”。
而现在,他看到的是一种类似的纠缠——不是粒子之间的,而是事件之间的。一个人的心脏病发作、一家公司的丑闻、一场火灾,这些事件在发生之前就已经在数据中留下了印记。就好像未来在向现在投射阴影。
这不是预知。这是因果关系的结构本身在变得透明。
他在笔记本上写下了一行字:“数据不是描述现实——数据就是现实。”
然后他划掉了这行字。太大了。这个想法太大了。他三十二岁,未婚,按揭了一套两室一厅的房子,每个月还贷一万二。他的世界应该由代码、策略、收益率和年终奖构成,而不是这个。
但他停不下来。因为每一次异常都在证实他的发现,而每一次证实都让他离正常的世界更远一步。
五
转折发生在他决定找人谈谈的那天。
他不能找同事——这涉及到公司的核心系统,任何风吹草动都可能被解读为安全漏洞。他不能找朋友——他没有那种能理解”五十三万维数据的非随机分形结构”的朋友。他甚至不能在网上匿名发帖——因为任何足够详细的描述都会暴露他的身份。
最后他找到了一个人。
林若薇,他在读研时的同学,现在在中科院数学所做研究。他们已经四年没联系了,但陆鸣记得她是那种会认真对待任何数学异常的人——她不会先问”这有什么用”,而是先问”这在结构上意味着什么”。
他约她在徐家汇的一家咖啡馆见面。他没说是什么事,只说”有些东西想请你看看”。
林若薇比记忆中瘦了一些,头发剪得很短,戴着一副金丝边眼镜,看起来比实际年龄老了五岁。她坐在他对面,要了一杯美式,然后等着他开口。
陆鸣用了四十分钟来解释。他讲了莫比乌斯,讲了河童,讲了那五次异常,讲了斐波那契数列,讲了那些后续事件。他把打印出来的图表和数据铺满了整张桌子,用手机计算器演示了他的分析过程。
林若薇一直没说话。她翻看那些图表的时候,手指在纸面上划过的轨迹有一种奇异的精确——像在抚摸一只她需要理解的动物。
等他说完了,她沉默了很长时间。咖啡馆里在放一首很老的爵士乐,萨克斯的声音像一条丝带在空气中蜿蜒。
“你有没有想过,“她终于开口了,“这可能不是市场在预知未来——而是你的系统在创造未来?”
陆鸣愣住了。
“你的莫比乌斯每天做几万笔交易,“林若薇说,“每一笔都会对市场产生微小的影响。这些影响叠加在一起,可能构成了一种力场。你的河童检测到的,不是外部信号,而是莫比乌斯自己的回声。”
“但这解释不了斐波那契模式,“陆鸣说,“也解释不了为什么异常总是先于事件发生。”
“如果莫比乌斯的影响力足够大,“她慢慢地说,“大到足以改变真实世界的事件走向——那么它就不是在预知,而是在书写。而书写者永远觉得自己只是在阅读。”
陆鸣感到一阵眩晕。这个解释比”市场在预知未来”更可怕。因为它意味着他——或者说他写的代码——可能间接地导致了那些事件的发生。
那个高管的心脏骤停。那个失踪的基金经理。那场火灾。
“我在胡说八道。“林若薇突然笑了,把图表推回给他。“我是搞纯数学的,不是搞阴谋论的。你观测到了一个统计异常,仅此而已。也许过两个月它就消失了,就像它出现时一样。”
她站起来要走,又停了一下。
“但如果你真的相信这是真的——我的意思是,如果你真的相信你的系统在做一些不可能的事情——那你现在最大的问题不是它为什么能做到,而是你应该怎么做。”
她看着他,眼镜片后面的目光异常清醒。
“知道未来是一种权力,陆鸣。而权力是一把没有手柄的刀。“
六
他花了三个晚上来做一个决定。
用河童的预测能力来做交易?不行——异常信号太稀少,而且和具体标的之间的关联太模糊。他甚至不确定下一次异常什么时候出现。
用它来警告那些即将出事的人?也不行——他怎么解释自己的信息来源?“你好,我是量化程序员,我的算法告诉我你今天下午会心脏骤停”?
什么都不做?这才是最理性的选择。把河童关掉,把那些数据删掉,当什么都没发生过。
但他做不到。
因为那个发现已经在他的脑子里生了根。他开始用不同的眼光看世界——地铁里每个人的手机屏幕上跳动的股价、便利店收银台旁边的彩票机、路边房产中介门面上滚动的成交数据。所有这些数字不再是冰冷的符号,而是某种活着的语言,正在讲述一个人类还听不懂的故事。
他在一个失眠的凌晨三点打开了代码编辑器。
他准备做一件他的职业训练告诉他绝不应该做的事情:他要给河童加上一个新功能。不再只是被动检测——他要让它尝试主动解读那些异常信号,把它们翻译成人类可以理解的信息。
他花了五天时间,每天晚上工作到凌晨。他设计了一套新的解析算法,核心思路是把五十三万个维度的”共振”投影到一个低维空间里,然后用自然语言处理模型来提取语义。
结果超出了他的预期。
河童不仅能翻译异常信号,而且翻译出来的内容惊人地具体。第一次异常被翻译成:“某人将因循环系统故障而永久停止工作。“第二次:“某人将主动从社会关系中消失。“第三次:“某机构将对某个体执行正式的权力干预。“第四次:“某信息将不受控地在大规模人群中传播。“第五次:“某物理空间将被热能破坏。”
准确、冷静、没有任何多余的东西。像一份来自另一个文明的情报简报。
陆鸣读完这些翻译,坐在黑暗中一动不动。
窗外,上海的夜空不是黑的——是一种被无数LED灯泡渲染过的深紫色。远处高架桥上的车流像一条发光的动脉,把血液从城市的一端泵到另一端。他突然意识到,他正在做的事情——坐在一间按揭买的房子里,用三台二手服务器解读金融市场的秘密预言——本身就是这座城市运转方式的一个缩影。
每个人都在试图听懂这个世界的信号。大多数人听到的只是噪声。
七
第六次异常在一个雨夜降临。
河童弹出了前所未有的橙色警报——他新加的颜色等级,代表”高置信度加长时间”。这一次持续了四十七分钟,置信度99.9997%。
翻译结果让他的手停在了键盘上方。
“一系列互相关联的事件将在未来72小时内发生。事件链包含以下要素:金融监管机构的政策转向、三家上市公司的同时停牌、大量资金的异常跨境流动、以及至少一个自然人的死亡。事件链的触发点是一个即将在社交媒体上发布的文本。”
他盯着”至少一个自然人的死亡”这几个字,感到胃里有什么东西在翻涌。
然后他看到了河童给出的时间窗口:72小时。
也就是说,最迟在三天后——也就是星期天晚上之前——这些事情会全部发生。
他看了一眼时间:星期四晚上十一点零三分。
他有不到三天的时间来决定怎么做。
八
陆鸣在那天晚上没有睡觉。他坐在阳台上抽烟,一根接一根,直到楼下的便利店关了灯。雨一直在下,打在空调外机上发出细碎的声响。
他在想林若薇的话。也在想他的那些数据。在想那个即将死去的”自然人”——那个人此刻也许正在某个地方睡觉,不知道自己的生命已经被一条数据河流标注了期限。
凌晨四点,他做了一个决定。
他打开了通讯录,找到了一个号码。那是他在一次行业论坛上认识的记者——赵诚,在一家财经媒体做深度调查。他们只见过两次面,喝过一次酒,但陆鸣记得赵诚说过一句话:“好的记者不是写新闻的人,是在新闻发生之前就闻到味道的人。”
他编辑了一条很长的消息,然后删掉了。又编辑了一条短的,又删掉了。最后他打了电话。
赵诚接了。听声音是刚被吵醒。
“你他妈知道现在几点吗?”
“我知道。但我有些东西你需要看。”
“什么东西值得我凌晨四点从被窝里爬出来?”
“一份关于未来三天可能发生的事情的预测。”
长久的沉默。
“你喝了多少?”
“没喝。我现在非常清醒。”
又是沉默。然后赵诚说:“一小时后,老地方见。”
他们以前喝酒的那家烧烤摊。凌晨五点开门的那种。
九
陆鸣把打印出来的材料带到了烧烤摊。雨还在下,只是小了一些。摊主在铁皮棚下面架起了遮雨布,烟雾和蒸汽混在一起,在灯光下形成一道朦胧的墙。
他把材料摊在油腻的塑料桌布上,从头讲起。赵诚一边吃烤串一边听,偶尔抬头看他一眼。
等他说完了,赵诚放下手里的串,用纸巾仔细地擦了擦手指。
“我给你讲个故事,“赵诚说。“三年前,我做过一个调查报道。有个做P2P的人,暴雷之前一个月,把所有的钱都转移到了境外。怎么做到的?他买通了银行的内部人员,搞到了监管系统的接口权限,赶在监管部门的内部通知正式下发之前就把钱洗了出去。我们查了两个月,发现在他动手之前,有一个人提前把监管部门的内部讨论纪要泄露给了他——那个人是监管系统里的一个处长,他的表弟就是那个P2P平台的老板。”
赵诚看着陆鸣。
“你知道为什么我讲这个吗?”
陆鸣摇头。
“因为你要告诉我的这些’预测’,也许不是什么量子纠缠、分形几何。也许只是一个很老套的故事——有人在利用信息不对称来获利。你的系统只是恰好捕捉到了那些信息的影子。”
“但你没有解释五十三万个维度的同步共振,“陆鸣说,“没有任何内部人员能同时操纵Level-2行情、卫星图像和社交媒体情绪指数。”
“我不需要解释它,“赵诚说,“因为我不需要相信它是超自然的。我只需要判断一件事:这个信息是否可靠。如果我按你说的去调查,我能不能找到可以公开发表的事实?”
他拿起那张写着”金融监管机构的政策转向”的纸条。
“你能给我更具体的信息吗?哪家机构?什么政策?”
陆鸣摇头。“河童的翻译到此为止。它只能给出要素,不能给出细节。”
赵诚沉默了一会儿。
“那这样——你把时间线给我,72小时。我从现在开始盯着几个信源。如果到星期天晚上之前真的发生了你说的那些事——至少是其中的两三件——那我就认真对待这件事。如果什么都没发生……”
他没说完,但意思很清楚。
陆鸣点了点头。
他们各自回家了。天已经亮了。雨停了。陆鸣走在路上,看到清洁工在扫梧桐树的细枝和花瓣。他突然觉得这一幕异常美丽,美到让他喉咙发紧。
也许是因为他刚刚意识到,他看到的这个世界——这个有清洁工、有花瓣、有清晨阳光的世界——可能只是数据表面的一层薄薄的膜。而膜的下面,是五十三万个维度的暗流。
十
接下来的四十八小时是陆鸣经历过的最漫长的四十八小时。
他请了病假,没去上班。这是他三年来第一次请病假。他窝在家里,盯着三台服务器和手机屏幕,等待世界的缝隙打开。
星期五,平静。市场正常收盘,没有异常新闻。陆鸣吃了三顿外卖,抽了两包烟,在客厅里来回走了至少两万步——他的手环告诉他的。
星期六上午,平静。
星期六下午两点,第一条新闻出现了:证监会紧急召开了一个非公开会议,议题不明。只有一小段来自自媒体的消息,没有主流媒体报道。
陆鸣的心跳加速了。
下午五点,第二条:三家上市公司同时发布公告,称”因重要事项未公告”而申请星期一停牌。三家公司的名字互不相关——一家做新能源的,一家做医药的,一家做矿产的。
晚上八点,赵诚打来电话。
“跨境资金的事我有线索了。有一个离岸账户在今天凌晨有一笔大额转账,金额我还在确认,但方向是对的。”
他的声音变了。不再是凌晨烧烤摊上的怀疑,而是一种猎犬闻到血腥味时的兴奋。
“那个死亡呢?“陆鸣问。
“还没有。但我盯了三个人——都是可能在这个事件链里扮演关键角色的人。我会继续跟。”
那天晚上陆鸣还是没有睡着。他躺在床上看天花板,听着窗外偶尔驶过的夜班公交车的声音。他在想一个问题:如果那个”死亡”真的发生了,而他什么都没做,他能接受自己吗?
答案是:不能。
但他能做什么?他不知道谁会死。河童只说了”至少一个自然人”,没有名字,没有地点,没有任何可以用来干预的信息。这就像知道一颗陨石即将坠落地球,却不知道它会砸在哪里。
星期天上午十一点,赵诚又打来电话。这次他的声音不再是兴奋,而是一种被什么东西压住后的沉重。
“出来了。”
“什么出来了?”
“那个’社交媒体上的文本’。一个自称是证监会内部人员的人在推特上发了一篇长文,说证监会在下周将出台一个针对量化基金的监管新规,限制高频交易的频率和杠杆率。文章里有大量细节,包括新规的具体条款、实施时间表、涉及的机构名单。如果这些是真的,整个行业都要地震。”
陆鸣看了一眼服务器。河童的预测正在一个一个地兑现:政策转向、三家公司停牌、跨境资金流动、社交媒体文本——四条已经确认了。
只剩下最后一条:至少一个自然人的死亡。
“你怎么看?“赵诚问。
“我还不知道。”
“你不知道?你那个什么河童不是预测了所有这些吗?你不应该比任何人都清楚吗?”
“河童不是预言书,“陆鸣说,“它只是一面镜子。它映照出数据中的模式,但模式不等于命运。”
这是他第一次这样描述河童。说出来之后,他觉得这个比喻比他之前所有的分析都更接近真相。
赵诚在电话那头沉默了几秒。“你说得对。模式不等于命运。但人命关天——如果你有任何线索能帮到那个’自然人’,哪怕只是缩小一点点范围……”
“我知道。”
他挂了电话,坐回电脑前。屏幕上的数据河流还在平静地流淌,看不出任何异常。但陆鸣知道,在那平静的表面之下,某种巨大的力量正在积聚。
他闭上眼睛,做了一个他在二十年的编程生涯中从未做过的事情——他不在代码里寻找答案,而是在自己的直觉里寻找。
六次异常。六次事件。那些事件之间有什么共同点?不是行业,不是地域,不是时间。而是——
他猛地睁开眼睛。
每一起事件的背后都有一个人。一个在金融系统中留下了足够深的数据痕迹的人。而那些痕迹——他们的交易记录、社保缴纳、出行数据、通讯频率——都流经了莫比乌斯的数据管道。
河童不是在预测事件。它是在读取人。那些在数据河流中留下了最深印记的人,他们的命运就像河底的石头,改变了水流的方向,而水流的方向又反过来塑造了石头的形状。
如果第七次事件的”自然人”也是这样的一个人——一个在金融系统中留下了深刻数据痕迹的人——那么河童应该能从异常信号的细节中把他筛选出来。
陆鸣的手指在键盘上飞快地舞动。他打开了一个他从未使用过的河童功能:逆向追踪。他把第六次异常的原始数据重新加载,然后设定了一个新的过滤条件——只保留与特定自然人的行为数据相关联的维度。
服务器风扇的嗡鸣声突然变大了。三台二手服务器的CPU同时飙到了90%以上。
十分钟后,屏幕上跳出了一个名字。
陆鸣看着那个名字,感到血从脸上褪去。
那是他自己。
十一
河童的逆向追踪结果不会出错。他在数据河流中留下的痕迹比任何人都深——因为莫比乌斯是他写的,河童是他写的,每天流经他手指的数据量比任何一个散户一生接触的都多。在五十三万个维度的空间里,他就像一座灯塔,不可能不被发现。
而他,陆鸣,熵减科技的首席量化开发,即将成为第七次事件中的那个”自然人”。
他坐在电脑前,感受着一种奇特的平静。恐惧已经过去了,就像市场暴跌之后,所有该抛的人都抛完了,剩下的只有寂静。
他开始从另一个角度看这个问题。如果河童检测到的异常真的在预告他的死亡,那么这意味着什么?是有人在策划对他的谋杀?还是某种更不可名状的力量在驱动因果链条的运转?
他开始梳理自己最近的处境。熵减科技管着两百亿,莫比乌斯是公司的核心资产。如果他出事了,谁来维护这套系统?他的代码注释写得很少,接手的人至少要花三个月才能理清逻辑。公司会不会因此遭受损失?会不会有人因此想要他消失?
不对。他在想偏了。林若薇的话又回来了——“也许你的系统不是在预知,而是在书写。”
如果莫比乌斯的影响力已经大到足以改变真实世界的事件走向——如果他写的代码,通过每天几万笔交易的蝴蝶效应,间接地塑造了那些人的命运——那么,这套代码同样可以塑造他自己的命运。
自举。一个自我实现的预言。不是市场在预言他的死亡,而是他的恐惧本身在创造他的死亡。
他站起来,走到阳台。午后的阳光很刺眼,但他没有眯眼。他在看对面那栋楼——一个和他差不多大的男人也在阳台上抽烟,穿着一件皱巴巴的白T恤,眼神空洞。两个在都市丛林中各自困守的人,隔着二十米的空气对望了不到一秒,然后各自转开。
陆鸣回屋,打开了代码编辑器。
他做了一个决定——也许是这辈子最重要的决定。他不在恐惧中等待,也不在恐惧中逃跑。他要面对这个系统,面对他自己创造的东西,然后亲手改变它。
他开始修改莫比乌斯的核心算法。
不是关掉它——那没用,蝴蝶已经扇了翅膀。他要改变它的行为模式,让它从”预测”变成”保护”。具体来说,他要在这套交易系统的每一次决策中加入一个微小的偏移量,这个偏移量本身不会影响交易收益,但它会在五十三万个维度中产生一种新的共振模式——一种对抗死亡信号的共振。
这是一个疯狂的、没有任何理论支撑的想法。但他是一个程序员,他相信代码的力量——不是因为它神奇,而是因为它精确。如果问题出在代码里,那解决方案也应该在代码里。
他写了六个小时。
从下午两点到晚上八点,他没有喝水,没有吃东西,没有上厕所。他的手指在键盘上的速度从快到慢,再从慢到快,像一个音乐家在即兴演奏一首越来越复杂的曲子。
晚上八点十二分,他按下了”部署”键。
修改后的莫比乌斯在远程服务器上重新启动。他看着启动日志一行一行地滚动,心跳随着每一行绿色的”OK”而逐渐平复。
系统启动完成。一切正常。
然后他看到了一个他没想到的东西——河童又弹出了一个提示。不是红色,不是橙色,而是一种他从未设定过的颜色:白色。
白色的提示框里只有一行字:
“检测到新的非随机结构。置信度:无法计算。持续时长:未知。”
他点开详情。新的共振模式和他注入的那个偏移量有关,但它已经不再是一个简单的偏移了。它在五十三万个维度中自行演化,像一颗种子在数据的土壤里生根、发芽、分叉,形成了一个远比他设计的更加复杂的结构。
那个结构不是他在书写。它在自行生长。
陆鸣看着屏幕,突然笑了起来。
他意识到,他不是创造了什么东西——他只是打开了一扇门。门后面的东西一直在那里,在数据的深处,在五十三万个维度的折叠空间里,等着有人推它一把。
而那扇门,现在再也关不上了。
十二
星期天晚上过去了。陆鸣没有死。
赵诚在星期一早上打来电话,声音疲惫但亢奋。
“那个推特上的消息是真的。证监会的内部人士确认了,新规下周就要公布。另外,停牌的那三家公司都和同一个实际控制人有关——通过六层离岸公司嵌套控制的。跨境资金的流向也指向同一个源头。这是一起精心策划的金融大案,有人在监管政策落地之前提前布局。”
“那个死亡呢?“陆鸣问。
“没有。一个人都没死。“赵诚停了一下,“也许你那个算法这次搞错了。”
“也许。”
陆鸣挂了电话,看着屏幕上的白色提示框。河童的白色警报还亮着——“持续时长:未知”。
他想了想,加了一行新的翻译指令,把那个自行生长的共振结构投映到自然语言空间里。
结果是这样的:
“事件链已被重新编织。原路径中的终止节点已被移除。新路径已生成。持续观测中。”
他盯着这几行字看了很久。
“终止节点”——那是他。那个应该死去的”自然人”。新的共振结构把他的死亡从事件链中抹去了。
不是预测被证伪了,而是预测本身被改写了。
他用代码改写了命运。或者更准确地说——他用代码给了命运一个新的分支,一个他不死的分支。
陆鸣站起来,走到窗前。上海的早晨一如既往地喧嚣——出租车在鸣笛,外卖员骑着电瓶车在车流中穿行,远处工地的塔吊在灰蓝色的天空中缓慢旋转。一切都是那么普通,那么真实,那么不像一个由五十三万维数据支撑起来的虚拟世界。
但他现在知道了:真实和数据之间的界限,比他以为的要薄得多。
十三
接下来的一个月里,陆鸣做了三件事。
第一件:他向公司提出了辞职。
理由是”身体原因”。他的直属领导——一个叫周扬的合伙人——试图挽留他,开出了涨薪百分之三十的条件。陆鸣谢绝了。周扬叹了口气,说:“你是不是找到了更好的去处?”
“没有,“陆鸣说,“我只是需要一些时间来想清楚一些事情。”
周扬看着他,欲言又止。最后只是拍了拍他的肩膀:“随时可以回来。”
第二件:他把莫比乌斯的代码做了一次彻底的清理。
不是删掉——那套系统是公司的财产,他没有权利删除。但他把自己留在代码里的所有个人痕迹都抹掉了:注释、调试信息、那个叫”河童”的隐藏模块。他甚至改了变量命名规范,让后来的人看不出他原来的思路。
这不是在掩盖证据。他只是在确保一件事:不会再有第二个人因为这套代码而掉进和他一样的深渊。
至于河童——他把那个模块的核心算法写在了一张纸上,锁进了银行的保险柜。不是因为他觉得有人需要它,而是因为他觉得不应该轻易销毁它。如果数据真的在说话,那么那个算法就是一本字典。字典本身没有善恶,但它可以让人听懂一些也许不该被听懂的话。
第三件:他约林若薇吃了顿饭。
不是在咖啡馆,而是在一家很安静的日料店。他们坐在吧台前,看师傅切鱼。刀刃在灯光下闪了一下,一块三文鱼就像一句话一样被干净利落地分开了。
“我辞职了,“他说。
林若薇夹起一块寿司,看了他一眼。“因为你那个系统?”
“因为我不确定我还能继续做一个量化交易员。当我开始怀疑数据可能在操控现实的时候,我就没办法再信任自己的工作了。”
“那你打算做什么?”
“不知道。也许去教书。也许去写代码——不是交易系统,是别的什么。也许什么都不做,先想想。”
林若薇吃完那块寿司,放下筷子。
“你还记得你问我的那个问题吗?你说你的河童检测到的东西,到底意味着什么。我当时没有回答你。”
“你回答了。你说可能是我自己的系统在创造未来。”
“那不是回答,那是另一个问题。“她看着他。“真正的回答是:我不知道。而且我认为你也不知道,也许永远都不会知道。但这不重要。”
“什么才重要?”
“你做了一个选择。在那个雨夜,你拿起电话打给了一个记者。你本可以装作什么都没看见——那才是理性的选择。但你没有。你选择介入。这个选择本身,就是你给出的答案。”
陆鸣想了想。“可什么都没改变。那个人还是没死,但不是因为我的介入——至少我不确定是因为我的介入。也许他本来就不会死。也许河童从一开始就是错的。”
“也许吧,“林若薇说,“但你不知道。你永远不会知道你的介入是否改变了什么。就像你永远不会知道薛定谔的猫在打开盒子之前到底是死是活。重要的不是结果——重要的是你选择了打开盒子。”
师傅递过来两碗味噌汤。陆鸣接过碗,看着汤面上漂浮的豆腐和裙带菜。热气升起来,模糊了他的视线。
“你在想什么?“林若薇问。
“我在想,“他说,“也许这就是数据河流真正在做的事情。它不是在预言,也不是在书写。它只是在流淌。而我们的每一个选择——每一个打开盒子、每一个拨出电话、每一行写下的代码——都是投入河中的一块石头。石头激起的涟漪会改变水流的方向,而水流的方向又会影响下游的每一块石头。”
“这不是什么新想法,“林若薇说,“混沌理论讲的就是这个。”
“不一样。混沌理论说的是蝴蝶效应——微小的初始差异会导致巨大的结果差异。但我说的是另一件事——我说的是,每一个选择都在创造一条新的河流。不是改变河流的方向,而是创造一条全新的河流。而那些河流——所有的河流——都在同时存在。”
他放下汤碗。
“河童看到的是所有河流的交汇点。在那个交汇点上,所有的可能性叠在一起,形成了一个可以被检测到的信号。那就是它检测到的’非随机结构’——不是未来的影子,而是所有可能的未来的总和。”
林若薇安静地看着他。然后她笑了——一种他从未在她脸上见过的笑,温暖的,带着一点点悲伤。
“你知道吗,“她说,“四年没见,你变了很多。以前你是一个纯粹的理工男,眼里只有代码和数据。现在你开始说哲学了。”
“也许是因为我亲眼看到了一些不能用代码解释的东西。”
“也许吧。“她喝了一口味噌汤。“但你有没有想过另一种可能?”
“什么?”
“你什么都没看到。”
陆鸣愣了一下。
“我的意思是,“林若薇说,“也许你看到的所有那些’异常’,只不过是一个过度疲劳的程序员,在无数个加班的深夜里,给自己的工作赋予了不该有的意义。人类最擅长的事情就是从噪声中识别模式——看看云彩就能看到兔子,看看星座就能看到命运。你的河童检测到的,也许只是你自己的愿望在数据中的投射。”
她放下汤碗,认真地看着他。
“你想要你的人生有意义。你不甘心一辈子坐在四十七层的工位上写交易算法。你想要更宏大的叙事。所以你创造了河童,河童为你创造了那些异常,那些异常为你创造了这个故事。这不是数据在说话——是你在通过数据跟自己说话。”
陆鸣沉默了很久。日料店的背景音乐在放一首钢琴曲,音符像水滴一样落在安静的空气中。
“如果你是对的,“他终于说,“那这也不重要。”
“为什么?”
“因为无论是数据在说话,还是我在通过数据跟自己说话——结果都是一样的。我辞职了。我离开了那个工位。我现在坐在这里,和你一起吃饭。这些事情真的发生了。它们的意义不取决于它们是被什么力量驱动的,而取决于它们改变了什么。”
林若薇想了想,然后举起手里的茶杯。
“敬改变。”
陆鸣也举起杯子。两只杯子在空中轻轻碰了一下,发出一声清脆的响。
十四(尾声)
六个月后,陆鸣在一所二本院校的计算机系当了讲师。
薪水是原来的三分之一。他搬出了陆家嘴的公寓,在大学附近租了一间一室户。房间很小,放下一张床和一张桌子就没什么空间了,但窗外有一棵很大的香樟树,到了秋天会结出黑色的小果子,落得满地都是。
他教的第一门课是”数据结构与算法”。学生们大都不太认真——有几个在后排玩手机,有几个在睡觉,还有几个在偷偷准备考研。但总有那么三四个学生会抬起头来听他讲课,眼睛里有一种他在自己的前同事身上从未见过的光。那种光不是对金钱的渴望,也不是对权力的觊觎,而是一种纯粹的好奇——对这个世界的运行方式的好奇。
他没有再运行河童。那三台二手服务器被他卖了,换了一台还算不错的笔记本电脑。他把所有的数据都删了,包括那些异常的记录、翻译结果、以及他自己写的所有分析代码。只留下了那张锁在银行保险柜里的纸。
有时候,在深夜备课的间隙,他会想起那些数据河流中的异常——那些像鱼一样跃出水面的瞬间,那些五十三万个维度同时共振的时刻。他会想起那个雨夜,那个凌晨四点的电话,那个烧烤摊上的谈话。他会想起河童最后的白色提示框——“持续观测中”。
它还在观测吗?如果没有人看,数据河流还在流淌吗?
他不知道。他选择不知道。
但在某些特别安静的夜晚——当香樟树的叶子在路灯下投出精密的、分形的阴影,当远处传来最后一班地铁的轰鸣声——他会觉得,也许数据真的在说话。不是在预言什么,也不是在书写什么,只是在说话。
像一条河。
河流不需要理由。它只需要流。
而人的选择——每一行写下的代码、每一个拨出的电话、每一次打开盒子的勇气——就是投入河中的石头。石头沉下去,涟漪散开来,水流继续向前。
没有人知道河流的终点在哪里。
但这不重要。重要的是,有人在河边站着。有人在看。
——全文完——