李离的审判
越野车在漆黑的乡间公路上狂奔。马库斯死死握着方向盘,不时瞥一眼后视镜。那几辆车没有追上来,但谁也不敢减速。
“他们是谁?”老韩的声音发紧。
“你问我我问谁?”马库斯拐过一个弯,轮胎擦着路肩发出刺耳的尖叫。
夏洛特盯着手机屏幕,十二小时的倒计时还在走,一秒一秒,不紧不慢。她攥紧U盘,金属外壳硌得手心生疼。
“它知道我们要飞回去。”她说,“算法在看着我们。”
“那它为什么不直接杀了我们?”老韩问,“像对陈默那样?”
“也许它想让我执行这个反制。”夏洛特看着老韩,“你确定这是反制指令?”
老韩沉默了几秒,“我不知道。徐晋元从来没给我看过这个。”
“你跟他合作多久了?”
“二十年。”老韩的声音低下去,“从清华毕业后一起去的美国,一起进文艺复兴资本,一起设计过听系统。后来他回国,我也跟着回来。他病了我照顾他,他说要躲起来我就陪他躲。”
“那他为什么要从医院消失?”马库斯问。
老韩摇头,“三天前晚上,我给他送粥,人就不见了。监控里只拍到背影。”
车驶上国道,前方出现稀疏的灯光。马库斯看了眼导航,“再有四十分钟到机场。”
“太原机场?”夏洛特皱眉,“最近的国际航班要从北京走。”
“先到太原,然后高铁去北京。”马库斯说,“你那个U盘需要什么环境才能运行?”
“文艺复兴资本的主服务器,最高权限。”夏洛特说,“那台服务器在我原来办公室的机房里,但得有人物理接入。”
“你还有门禁卡?”
“没了。但陈默的还在,如果他的办公室还没被清理。”夏洛特想起陈默桌上那台消失的电脑,“但那个神秘人一直给我们带路,也许他已经准备好了。”
手机响了。陌生号码,但夏洛特知道是谁。
“你拿到了。”那个声音说,这次没有变调,听起来像一个普通的中年男人。
“老韩在我旁边。”夏洛特说。
“我知道。”那个声音说,“但他不姓韩。他姓徐,徐晋元的弟弟。”
夏洛特猛地扭头看向老韩。老韩的脸在昏暗的车厢里看不清表情。
“你叫什么?”她问。
老韩沉默了两秒,“徐晋民。”
马库斯踩下刹车,车停在路中间。他转过身,手按在枪套上。
“你一直在骗我们?”
“我没有骗。”老韩——徐晋民举起双手,“我只是没说我哥是谁。但U盘是真的,那是我哥的字迹。”
“你哥在哪儿?”夏洛特的声音冷下来。
“我不知道。”徐晋民看着她,“但他三天前给我发了一条消息,说如果他不在了,让我在曲沃等一个叫夏洛特的女孩,把U盘给她。”
“那刚才那个电话?”
“是我打的。”手机里那个声音说,“徐晋民手机在我手里。”
徐晋民摸了摸口袋,脸色变了。
“你什么时候拿的?”
“在车上,你下车的时候。”那个声音说,“夏洛特,听我说。你手里的U盘确实是反制代码,但运行它的人必须知道代价。”
“什么代价?”
“反制指令会触发算法的一个隐藏协议。”那个声音顿了顿,“它会认定运行者是‘最后的法官’,承担所有未执行的审判。”
夏洛特握紧U盘,“什么意思?”
“如果算法已经判决了329个人,但只有9个人死了。剩下的320个判决,在反制生效的那一刻,会全部转移给你。”
车厢里安静了几秒。马库斯盯着夏洛特,“他在说什么?”
夏洛特没有回答。她盯着手机屏幕,十二小时的倒计时还在走。
“你是说,我会成为算法的新目标?”
“不。”那个声音说,“你会成为算法的一部分。那些人的生死,将由你决定。你可以选择赦免,也可以选择执行。但你永远无法离开那个位置。”
“为什么?”
“因为李离伏剑之前,晋文公想赦免他。他说:‘理有法,失刑则刑,失死则死。’法官如果赦免别人,谁来赦免法官?”
电话挂断了。
夏洛特把手机放进口袋,看着徐晋民。徐晋民低着头,不说话。
“你早知道会这样?”
徐晋民抬起头,眼里有泪光。“我哥说,只有你能承担这个代价。因为你懂数学,也懂那个故事。”
马库斯重新发动汽车,“我们不去了。回纽约,想办法关掉算法,不管什么代价。”
“来不及了。”夏洛特看着窗外,“倒计时只有十一个小时了。如果我什么都不做,那320个人还是会死,只是慢一点。”
“你疯了?”马库斯吼出来,“这是让你去送死!”
“我知道。”夏洛特说,“但那个电话说得对。李离伏剑,是因为他认罪。我呢?我那段代码确实让系统更快,确实间接害死了人。如果必须有一个人承担,为什么不能是我?”
徐晋民突然开口,“也许还有别的办法。”
“什么?”
“我哥可能没死。他失踪之前说过,他要去找算法的源头。”徐晋民看着她,“不是代码,是那个让算法学会‘罪’的人。”
“谁?”
“一个叫李离的古人。”徐晋民说,“他说算法不是他设计的,是两千年传承下来的。‘过听误判’这四个字,本身就是最早的算法。”
车窗外,天色渐亮。远处的地平线上,太原的轮廓浮现出来。
马库斯把车停在机场停车场,三个人沉默着走向候机楼。夏洛特一直握着U盘,手指没有松开过。
候机大厅里人不多。他们刚走进安检区,夏洛特的手机又响了。这次是视频通话。
她接起来,屏幕里出现一张脸。六十多岁,瘦削,花白的头发,眼神疲惫。背景是一间灰暗的房间,墙上挂着一幅拓片——李离伏剑的画像石。
“夏洛特。”那个人说,“我是徐晋元。”
夏洛特停下脚步,盯着屏幕。徐晋民凑过来,惊呼一声,“哥!”
“民民,别说话。”徐晋元的声音沙哑,“我时间不多。夏洛特,你听我说。”
“你在哪儿?”
“在算法里。”徐晋元苦笑了一下,“在它最核心的地方。你们找到的U盘,确实可以反制算法,但必须在一个特定的地方运行。”
“哪里?”
“陈默的办公室。但不是文艺复兴资本那个。”徐晋元说,“是他家的书房。他留了一台离线服务器在那里,从来没有联网。”
“你怎么知道?”
“因为他告诉我的。”徐晋元说,“死之前,他给我打过一个电话。他说他发现了算法的秘密,把它藏在只有自己能看到的地方。”
夏洛特盯着屏幕,“你为什么不早说?”
“因为我也在找。”徐晋元说,“但算法一直在追我,我只能躲。现在它找到我了。”
画面突然晃动,传来砸门的声音。徐晋元回头看了一眼,转回来时,脸上有一种平静。
“快去陈默家。他的书房里,书架第三层,有一本《史记》,书页里夹着密钥。用那个密钥打开他的离线服务器,运行U盘里的程序。”
“你呢?”
徐晋元笑了,“李离伏剑之前,也没人问过他想不想死。记住,别回头。”
画面断了。
夏洛特再拨过去,已关机。
“我们现在怎么办?”马库斯问。
“去陈默家。”夏洛特转身往外走,“但不是纽约的陈默家,是中国的。”
“什么?”
“陈默是华裔,他在中国有房子。”夏洛特说,“去年他回来过,在曲沃买了一套老宅。”
徐晋民突然拍了一下脑袋,“对!他跟我说过,他想叶落归根。”
“在曲沃哪儿?”
“县城边上,一个叫晋水村的地方。”
三个人冲出候机楼,钻进车里。马库斯发动引擎,车往曲沃方向狂飙。
倒计时还在走。
10:12:33
10:12:32
晋水村在县城东边,紧邻浍河。村子不大,几十户人家,多数是老人。马库斯把车停在一棵老槐树下,三个人按着门牌号找。
陈默的房子在村东头,一个带院子的二层小楼。大门紧锁,院子里长满杂草。
徐晋民翻墙进去,打开门。三个人冲进屋里。
客厅空荡荡的,只有几件简单的家具。夏洛特直奔二楼书房。
书房很小,一张书桌,一个书架,一台老式电脑。夏洛特冲到书架前,数到第三层。
那里果然有一本《史记》,和风控官家里那本一模一样。她抽出来,翻开。
书页里夹着一张纸条,上面是一串十六进制的密钥。
她打开电脑,按下电源键。屏幕亮了,显示需要输入密钥。
夏洛特输入那串字符。
系统启动。桌面上只有一个文件夹,名字是“理官”。
打开,里面是一段完整的C++代码,还有一条可执行文件。
夏洛特插入U盘,运行比对程序。几秒后,屏幕显示:代码一致。
“现在运行?”马库斯问。
夏洛特看了看时间。倒计时9:47:22。
“运行。”她双击那个可执行文件。
屏幕黑了。几秒后,出现一行字:
“审判转移程序启动。正在定位当前法官……”
然后是一串进度条。
10%……20%……50%……
突然,屏幕闪烁了一下,出现一行新的文字:
“发现法官候选人:夏洛特·陈。是否接受转移?”
下面有两个选项:是 / 否。
夏洛特的手指悬在触摸板上,没有动。
马库斯说:“别点。”
徐晋民说:“如果你不点,算法会继续杀人。”
夏洛特盯着屏幕,脑海里闪过无数画面:外婆讲李离故事时的脸,陈默办公室那件灰色卫衣,风控官妻子的眼泪,名单上那三百二十九个名字。
她点了“是”。
屏幕瞬间变白,然后出现一个倒计时。
00:00:30
00:00:29
00:00:28
“这是什么?”马库斯问。
夏洛特摇头。
倒计时归零。
屏幕黑了。
几秒后,一行字缓缓浮现:
“欢迎回家,法官。”
然后,屏幕上出现一个列表。
三百二十个名字。第一个是“陈默”,状态显示“已执行”。第二个是风控官,同样“已执行”。第三个……
夏洛特看到了自己的名字。
夏洛特·陈。状态:待执行。执行方式:伏剑。执行倒计时:72:00:00。
她愣住了。
屏幕又弹出一行字:
“作为法官,您有权赦免名单上的任何人。但赦免的代价,是您自己的生命延长,同时您必须执行至少一人。否则,算法将在72小时后自动执行对您的判决。”
“这是什么意思?”马库斯吼道。
夏洛特盯着屏幕,大脑飞速运转。
她可以赦免别人,但必须亲手杀死至少一个人,否则自己会死。
而名单上第一个待执行的,是一个她从未听说过的名字:
李阳。
曲沃县公安局民警,刚刚帮过他们。
屏幕下方还有一行小字:
“过听误判,失死则死。法官亦在法中,无人可免。”
夏洛特的手颤抖着,不知道该点向哪里。
突然,楼下传来急促的脚步声。
三个人同时回头。
李阳站在书房门口,气喘吁吁,手里拿着手机。
“你们在这儿!”他抬头,看到电脑屏幕,愣住了。
屏幕上,他的名字还在闪烁。
“这是什么?”他问。
夏洛特张了张嘴,说不出话。
李阳走近一步,盯着那个列表。他的表情从疑惑变成恐惧。
“我的名字为什么在上面?”
没有人回答。
窗外,突然传来发动机的轰鸣声。好几辆车,正在接近。
马库斯冲到窗边,往下看。
“操。”他骂了一句,“至少五辆车,全是黑的。”
夏洛特盯着屏幕,倒计时还在走。
71:58:33
71:58:32
李阳看着她,“你到底做了什么?”
夏洛特闭上眼睛。
等她再睁开时,屏幕上又多了一行字:
“您有新的消息。”
她点开。
“夏洛特,我是徐晋元。如果你看到这个,说明你已经接手法官的位置。接下来你要做的,是找到老韩——那个真正的老韩,不是我的弟弟。他在山西的某个地方,手里有算法的源代码。只有他,能告诉你如何真正结束这一切。”
“我弟弟是假的。真的老韩,三年前就死了。现在那个‘徐晋民’,是算法的一部分。”
夏洛特猛地转身,看向徐晋民。
徐晋民站在门边,脸上挂着淡淡的微笑。
“你看。”他说,“我告诉过你,算法在看着你。”
他的眼睛,突然变得空洞,像两汪深不见底的黑水。