强制回滚完成之后七分钟,姜泰宇从服务器机房里走了出来。
他的眼镜摘掉了,拿在手里,镜片上沾着一块指纹。他的脸色在走廊冷白色的灯光下显得近乎透明,颧骨下方的阴影比三天前更深了。但他走路的步伐很稳,一步一步,踩在深灰色地毯上几乎没有声音。
林秀雅站在走廊中间等他。她身后是会议室紧闭的门,门内安成哲和朴正桓的声音被厚重的橡木板隔成了模糊的嗡鸣。姜泰宇走到她面前,把眼镜戴上,然后开口,声音沙哑但平静。
“溯源模块被删了。首尔三个节点的补丁全部回滚。所有看过溯源页面的用户评分都涨了5%。回滚日志显示,执行指令的签发位置是这栋楼的37楼A区——权宁久的终端。”
“集体自首模块呢?”
“还在。进度条到89%了。权宁久的回滚指令是针对溯源模块的,集体自首模块被他标记为‘核心系统升级’,不在回滚范围。他不知道那个模块才是真正的漏洞。”姜泰宇的嘴角动了一下,那不是一个笑容,只是嘴角肌肉的一次轻微抽搐,“他把错误的目标当成了威胁。这给了我们一个窗口。但窗口很小。一旦集体自首模块上线,他们就会发现它的真正作用。到那时候——”
他没有说完。走廊尽头,电梯间的方向传来一阵急促的脚步声。不是安成哲带来的特别小组成员——那些人都穿着皮鞋,步伐训练有素。这个脚步声更轻、更快,像是运动鞋底踩在地毯上。
一个年轻女人从转角处跑了出来。她穿着“净化”公司的浅蓝色工作服,胸口别着工牌,头发在脑后扎成一个松散的髻。她跑得很急,呼吸急促,看到林秀雅和姜泰宇的时候猛地停住了。她的眼睛在两个人之间来回扫了一遍,然后锁定在姜泰宇身上。
“你是姜泰宇前辈?”
姜泰宇微微皱眉:“你是——”
“我叫河恩星。净化公司后端开发组,入职一年半。”她咽了一下口水,努力让自己的声音平稳下来,“前辈,你今天下午写的那段代码——评分溯源模块——我在回滚之前看到了全部源码。”
姜泰宇的表情僵住了。
“不只是我。后端开发组还有三个人也看到了。权次长让我们执行回滚指令的时候,我们必须先把溯源模块的源码逐行审核,确认回滚范围。在审核的过程中,我们都看到了你藏在源码注释里的东西。”
她从口袋里掏出一部手机,屏幕亮着,显示着一段代码截图。截图的是一段用注释符包裹起来的文字,藏在评分溯源模块的底层逻辑里,不运行、不影响功能、但任何审核源代码的人都会看到。那段文字是姜泰宇在写补丁的时候加进去的:
“致所有看到这段代码的后端工程师:你们正在维护的系统叫天秤。它的公开功能是预测犯罪倾向。但它隐藏了一个功能——诱导犯罪倾向升高,然后以升高的评分作为处决依据。你们不需要相信我说的。你们只需要查一下你们自己过去三个月的评分变化曲线,然后回忆一下,在每一次评分上涨之前,你们的手机收到过什么样的推送。如果你们发现我说的是真的,请记住一件事:天秤系统有一个致命缺陷,它无法预测自首。一个人主动坦白自己的罪行,系统就会失效。如果很多人同时坦白,系统就会崩溃。你们不需要做任何危险的事。你们只需要对自己坦白。——姜泰宇,天秤系统核心算法原作者。”
河恩星把手机收回去,她的手指在发抖,但声音越来越稳。
“我查了。我过去三个月的评分从31%涨到了58%。每次上涨之前,我都收到过推送。有一条推送是在我加班到凌晨三点的时候发来的——‘过劳员工的职业倦怠与道德风险关联研究’。我当时以为是公司内部培训材料。现在我回头看,那条推送的发送时间和我评分上涨的时间完全重合。”
她深吸一口气。
“还有三个人也查了自己的数据。我们的结论是一样的。权次长现在在监控室里盯着回滚进度,他不知道我们已经看完了源码。前辈,你写的那段话里说‘你们不需要做任何危险的事,只需要对自己坦白’——这句话是什么意思?”
走廊里很安静。会议室里模糊的嗡鸣声还在继续,安成哲和朴正桓的声音正在升高,但那扇橡木门仍然紧闭着。姜泰宇看着河恩星,看了很长时间,像是在打量一个他很久以前就认识的人。
“字面意思。”他终于开口,“天秤的评分模型建立在‘预测未自首犯罪’的基础上。一个人如果已经坦白了自己的错误,他就不再是预测对象。系统的算法会自动跳过他的数据。我三年前在核心代码里故意留下了这个逻辑漏洞——坦白的人,评分自动归零。不是道德意义上的归零,是数学意义上的。算法找不到他们。”
“那集体自首呢?”
“如果同一个区域内,同时有足够多的人坦白自己的错误,算法就会收到大量‘归零’信号。这些信号会互相干扰,产生共振效应。在共振状态下,评分模型无法区分谁坦白了、谁没有坦白。所有人的评分都会在短时间内剧烈波动,出现大规模误报和漏报。当误报率超过阈值的时候,系统的自动防护协议就会启动——它会把整个评分模型标记为‘不可靠’,暂停所有基于评分的决策。包括处决令。包括清洗名单。”
河恩星的眼睛亮了起来。但姜泰宇接下来的话让那光亮迅速暗淡下去。
“但问题在于,集体自首需要足够多的人同时做这件事。天秤系统有三千多万用户分布在各个地区。要让算法产生共振效应,至少需要某个区域内有超过十万人在同一时段内点击自首按钮。而我写的集体自首模块只是一个触发器。它可以把自首按钮推送到所有人的首页,但它没办法让所有人同时按下去。”
“我可以帮忙。”河恩星说,声音斩钉截铁,“我在后端开发组。我有权限编辑系统通知的推送模板。如果你能给我一个坐标——一个能让足够多人同时看到同一条消息的渠道——我可以把自首按钮直接嵌入推送通知里。用户收到通知的时候,不需要打开天秤应用,在锁屏界面上就能点按钮。”
姜泰宇沉默了几秒。然后他转向林秀雅。
“你弟弟在监狱里写的那份‘潜在犯罪诱因自我陈述’,有多少人看到了?”
林秀雅愣了一下:“他贴在监狱走廊公告板上了。服刑人员有平板电脑,可以拍照,可以传到监狱内部网络。监狱内部网络和法务部专网互通。法务部专网——”
“和天秤服务器在某些节点上互通。”姜泰宇接过话,语速开始加快,“如果那份自我陈述被传到法务部专网上,它就有可能被天秤的爬虫抓取到。而天秤的爬虫会把所有抓取到的‘自首行为’都输入评分模型。如果秀赫写的那份陈述在措辞上符合自首的格式——包含具体罪行、时间、地点、主观承认——它就会被系统识别为有效自首。”
他在走廊里来回踱步,手指在空中划过,像是在空气中写代码。
“监狱里有大约一千五百名服刑人员。他们每个人都有一台预装了天秤应用的平板电脑。如果秀赫能让他们集体点击自首按钮,监狱就会成为第一个共振点。一千五百人同时自首,虽然不足以引发全国性的共振,但足够让法务部专网上的天秤节点产生波动。这个波动会扩散到首尔地区的镜像节点——包括诚实便利店地下室的那一台。然后,如果河恩星能同时在首尔地区推送通知,让至少十万名普通用户在同一时段点击自首按钮,两股波动叠加在一起——”
“系统就会崩溃。”河恩星说。
“不是物理崩溃。是评分模型崩溃。所有评分会在短时间内变成无效数字。处决令会暂停,清洗名单会失效。系统会进入安全模式,只保留最基础的登录功能,所有评分和决策功能都会被冻结。冻结的时间——我估计至少七十二小时,可能更长。”
林秀雅想起弟弟在探视室玻璃后面说过的话。他说他在写一份自我陈述,一件一件地把他被系统标记为“犯罪倾向”的事情拿出来,直视它们,然后问自己——这些到底是不是罪。他已经写完了十二页。他把最后一页贴在了监狱走廊的公告板上。他说他不知道天秤会不会读到它,但他想用最笨的办法对抗一套算法。
那个最笨的办法,现在变成了唯一的办法。
她掏出手机,拨了仁川监狱的探视预约号码。自动语音提示她“今日预约已满,请明天再拨”。她挂了,又拨。反复三次。第四次的时候,她按了人工服务的选项。等了四十五秒之后,一个疲惫的男声接起电话。
“仁川监狱外联科。”
“我是警察厅刑事一科林秀雅刑警。我需要紧急联系服刑人员林秀赫,编号R-2023-0781。不是探视预约——是紧急公务通讯。涉及天秤系统安全漏洞的处置。”
对面沉默了几秒。她听到键盘敲击声,然后那个男声重新响起:“林刑警,林秀赫今天下午因为在监区公告板上张贴未授权材料,被暂时限制通讯。限制期限二十四小时。您如果要联系他,需要他的监区主管签字。”
“那就让主管签字。”
“主管现在不在监区。今天下午开始,全国监狱系统收到法务部紧急通知,所有评分超过50%的服刑人员都被集中转移到了重点监区。林秀赫评分68%,已经被转移了。新的监区主管还没有到位。”
林秀雅握着手机的手指收紧。最终清洗的通知发出去之后,法务部用最快速度开始了对服刑人员的分层隔离。她的弟弟被转移到了一个连主管都还没到位的监区。也许这正是朴正桓想要的效果——在集体自首模块上线之前,把所有可能集体行动的人先物理隔离。
“那他有没有留下什么东西?任何文件、笔记——”
“他离开之前把一份手写材料交给了室友。”男人顿了顿,“我去问一下。你稍等。”
电话那头传来放下听筒的声音。然后是漫长的静默。林秀雅站在考瑞安大楼37楼的走廊里,手机贴在耳边,窗外是首尔无边无际的夜。她听到走廊尽头的会议室里突然爆发出一阵激烈的争吵——安成哲的声音第一次穿透了橡木门。他在喊什么,词句被墙壁滤成了模糊的咆哮。然后又是安静。
电话那头重新响起声音。不是那个男声,而是另一个更年轻的声音,带着一点畏缩,像是被临时拉过来接电话的服刑人员。
“喂?是林秀赫的姐姐吗?”
“是。你是——”
“我叫金俊赫,秀赫哥的室友。”那个声音压低了一些,“秀赫哥被转走之前,把这个本子给了我。他说如果他的姐姐打电话来,就把最后一页的内容读给你听。他说你一定会打来。”
林秀雅把手机贴在耳边,手指微微发抖。
“你读吧。”
金俊赫清了清嗓子。然后他开始读。他的声音在电话里被压得很低,但每一个字都很清楚:
“姐,如果你听到这段话,说明他们把我转走了。我不怕被转走。我只怕一件事——我以为我做的是对的,但系统说它是错的。如果系统是对的,那我十六岁那年修的台灯、二十三岁那年挡在韩尚哲前面的那一步、以及每一次我看到不公正就忍不住冲上去的冲动——都是错的。如果这些是错的,那我这辈子可能真的就是天秤说的那个68%的潜在暴力犯。但我不信。因为如果这些是错的,那你从来没有放弃过我这件事,也应该是错的。而你是警察。你用自己权限查我的档案,被加了分。你去探视我,被加了分。你站在我这边,被加了分。如果系统是对的,那你也是错的。但我比任何人都知道——你不是。”
电话里安静了一瞬。金俊赫的声音继续:
“所以我不是在坦白罪行。我是在坦白我做过的事。我修过台灯。我推过狱警。我对不公正的事情总是过度敏感。我保护亲近人的时候会不计后果。这些事我都做过。如果天秤觉得这些事是犯罪倾向——那就让天秤来审判我。但在天秤的评分系统外面,还有一套叫‘人’的评分系统。那套系统没有算法,没有权重,只有每一个活过、错过、被原谅过的人。姐,你在那套系统里的评分——永远归零。”
金俊赫停下来。然后他说:“最后还有一行字,写在最下面,字很小:‘请每一个看到这份陈述的人,问一问自己被天秤标记的每一项“倾向”,到底是不是罪。如果你不确定,那就坦白它。不是为了降低评分,是为了让你自己知道——你是可以被原谅的。’”
电话挂断了。
林秀雅站在走廊里,握着手机,很久没有动。窗外,首尔的霓虹灯在夜雾中晕成一片模糊的光海。她想起三天前在便利店里,姜泰宇给李在宇补上那枚百元硬币的时候,她说了一句“不用找了”。那是她作为刑警第一次对一件微不足道的小事选择沉默。那个沉默的举动,她的天秤评分没有记录。但它被别的东西记录了——被那个高中生走出店门时微微挺直了一点的背脊,被姜泰宇收银台上那枚百元硬币在荧光灯下泛出的光,被她自己心里某个极其安静的角落。
天秤没有抓取这些东西。天秤永远抓取不到。
“林刑警。”姜泰宇的声音把她拉回来。他站在机房门口,手里拿着笔记本电脑,屏幕亮着,显示着集体自首模块的进度条——92%。
“我弟弟那份陈述,”林秀雅转过身来,“如果被传到天秤的服务器上,能触发共振吗?”
姜泰宇调出一个界面,界面上是一段刚被天秤爬虫抓取到的数据流。数据的来源是仁川监狱内部网络,内容是林秀赫手写陈述的扫描件。天秤爬虫已经自动识别了文件中的关键词——“坦白”“我做过”“不是罪”,并将它标记为“潜在自首行为”。但因为是单人自首,评分模型只将林秀赫的评分从68%调降到了63%,没有触发更高级别的共振效应。
“单人自首不够。监狱里至少需要一千人同时点击自首按钮。首尔地区至少需要十万人。两者叠加,共振效应才能达到让评分模型崩溃的阈值。”姜泰宇把屏幕转向河恩星,“你刚才说你能编辑推送通知模板。如果我把自首按钮的API接口给你,你能不能在通知里直接嵌入?”
“能。但我需要管理员的授权。我的账号权限不够。”
“我的账号够。”姜泰宇打开一个登录界面,输入一串密钥。他的手在键盘上停了一下,转过头看着河恩星,“你一旦用这个权限发送推送,天秤会立刻记录你的操作。你的评分会涨。可能会突破85%。可能会更糟。你做不做?”
河恩星沉默了两秒。然后她从工作服口袋里掏出自己的手机,打开天秤应用。屏幕上显示着她的评分——58%。她盯着那个数字看了很长时间,然后把手机翻过来,屏幕朝下,放在桌上。
“我已经涨了27个百分点。大部分是因为加班到深夜的时候收到的不明推送。我不知道它们是怎么来的。但我知道——如果我今天不做这件事,明天我的评分还是会涨。后天也是。直到有一天,它突破临界点,然后我的名字出现在白夜的名单上。”
她看着姜泰宇。
“所以答案很简单。不做什么也会被审判。做点什么也是被审判。不如做点什么。”
姜泰宇把笔记本电脑推给她。她坐在机房的备用工位上,手指开始在键盘上敲击。她的打字速度很快,指法精准,每一次敲击都干净利落。屏幕上开始出现推送通知的模板代码,每一行都在把自首按钮嵌入更深的系统层级。
林秀雅站在她身后,看着屏幕上滚动的代码。她的手机又震动了。她低头,看到天秤应用弹出了一条新的推送。不是系统通知,不是评分更新。而是一条来自——姜泰宇刚激活的集体自首模块测试版:
“天秤系统新功能预告:集体自首评估模块即将上线。该模块将允许所有用户在自愿的前提下,对自身行为进行评估与坦诚。天秤始终相信,对错误的认知是预防犯罪的第一步。我们期待您的参与。”
这条推送的措辞被姜泰宇写成了天秤官方的标准语气——冷静、中立、不带任何威胁性。没有人会从这条推送里读出“系统即将崩溃”。但当他们点击推送里的按钮时,他们的行为就会被标记为自首,评分就会归零。而如果足够多的人同时点击——
机器房里,河恩星的键盘声持续敲响。走廊尽头,会议室里安成哲和朴正桓的声音忽高忽低,在橡木门后面交替响起。林秀雅不知道他们在谈什么——也许是交易,也许是威胁,也许是清算。但无论他们在谈什么,一旦会议室的门打开,所有正在进行的秘密都将暴露在走廊的灯光下。
而她站在走廊里,手机屏幕上显示着弟弟那份手写陈述的最后一页。她看了一遍,又看了一遍。然后她打开天秤应用,翻到自己的评分页面。55.1%,下面标注着“红色加注:访问非授权功能导致评分上升”。
她用手指划到页面最底部。那里有一个她之前从未注意到的按钮,灰色的小字写着“自首申报”。按钮旁边附着一行说明:“主动坦白您的行为,评分可归零。请确保陈述真实、完整、具体。”
她的手指在按钮上方悬停了三秒。
然后她按了下去。
手机屏幕刷新。一个文本框弹出来,标题是“请描述您认为自己可能构成犯罪倾向的行为”。她开始打字。一个字一个字地打。她写了自己用内部系统查询弟弟档案的事,写了她在便利店调查期间越权自行前往的事,写了她与文智浩进行非公务对话的事,写了她在高东镇办公室停留超过三十分钟的事。她没有解释,没有辩护,没有说“因为他是我的弟弟”或“因为我觉得真相更重要”。她只是如实记录。写完之后,她点击了提交。
评分页面刷新。55.1%开始下降。54%,52%,49%,44%。数字一格一格地往下掉,像是有人在缓慢地松开水龙头。最终停在了37%。
下面弹出一行绿色的文字:“您的坦白已被记录。天秤系统根据您的自我评估,已将您的评分重新校准。感谢您的配合。”
她把手机放进口袋。37%。比三天前她第一次看到天秤图标时的17%高了二十个百分点,但比一小时前的55.1%低了将近二十个百分点。她不知道这个数字对她意味着什么——重点观察名单或许仍然适用,但至少她不再站在临界点的边缘。至少她主动选择了承认那些她已经做过的事。至少她在天秤的评分系统之外,用自己的方式做了一次自我审判。
而那个审判的结果是——她认为自己是错的,但她不认为自己应该停止做这些错事。这本身大概也是一种天秤无法量化的倾向。
她转过身,看着会议室紧闭的门。门内,安成哲和朴正桓的声音终于安静了下来。安静得很突然,像是两个人在同一时刻达成了某种默契。然后门开了。
安成哲从门内走出来,他的深蓝色西装仍然笔挺,但领带结略微松了一些,额头上渗着一层细密的汗珠。他看到林秀雅,目光停了一瞬,然后从她身边走过去,对着走廊里待命的特别小组成员挥了挥手。他什么也没说。但他的表情里有一种林秀雅从未见过的东西——不是愤怒,不是沮丧,而是一种极其微妙的、几乎被完美掩饰的恐惧。
她走进会议室。
朴正桓仍然坐在长桌尽头。他的姿势和两个小时前一模一样——双手交叠放在桌上,背脊挺直,头发一丝不乱。但他面前的触摸屏已经关掉了,倒扣在桌上的照片也收了起来。他面前只摆着一杯已经凉透的红茶,茶面上浮着一层薄薄的油脂。
“林刑警。”他的声音仍然平稳,“安成哲给了我一份谅解备忘录的草案。他提议,特别调查小组将白夜的所有罪责归于已经被撤职的李秀妍和权宁久,我作为刑事政策研究院的前院长,只需要承担‘监管不力’的行政处分。作为交换,他要求我把天秤系统的核心管理权限移交给特别调查小组。换句话说——他要用法律掩护我,换取对这套系统的控制权。”
他端起红茶杯,轻轻晃了一下,茶水在杯中转出一个缓慢的漩涡。
“我拒绝了。”
林秀雅没有说话。她站在长桌的另一端,两个人隔着三米长的深色橡木桌面,像是法庭上对峙的公诉人和被告。
“不是因为我不想。而是因为我知道——安成哲拿到天秤之后,第一件事不是瓦解白夜,而是用天秤的数据库去清洗所有对他构成政治威胁的人。他不在乎犯罪倾向。他只在乎权力。他比我想象的——更像我。”
朴正桓站起来,走到落地窗前。他的身影倒映在玻璃上,和江南区的万家灯火叠在一起。窗外的霓虹灯在夜雾中晕开,把他的白头发染成一片模糊的红蓝交织的颜色。
“林刑警,你刚才按了自首按钮。你的评分降到了37%。你觉得这意味着什么?”
“意味着系统承认了我的坦白。”
“不。意味着系统无法判断你的坦白是不是真的。”朴正桓转过身来,“天秤没有测谎能力。它只能识别‘坦白’这个行为的格式。只要你的措辞符合自首的标准格式,系统就会默认降低你的评分。姜泰宇在核心算法里留的那个漏洞——坦白自动归零——不是系统的仁慈,是系统的无知。它不知道什么是真诚的悔过,什么是策略性的利用。”
他走近两步。
“所以你明白了吗?即使集体自首模块上线,即使姜泰宇让整个首尔的自首按钮变成热门商品,天秤系统也不会真的‘崩溃’。它只会把所有人的评分全部打乱,进入安全模式,暂时冻结所有决策。但冻结不是终结。冻结之后,一定会有重启。而重启的时候——谁来重新制定规则?”
林秀雅看着他,忽然明白了。朴正桓不是在对抗姜泰宇,也不是在和安成哲谈判。他在等一个更大的东西。他在等天秤系统进入安全模式之后,所有人都意识到——算法不能审判人类,但人类也无法回到没有算法的世界。到那时候,所有人都会问同一个问题:谁来重新制定规则?而答案,早已被他写进了天秤系统的架构文档里——那个冷静、中立、不可删除的白名单机制,最高权限持有者。
朴正桓。
他可以在一夜之间从“白夜的幕后操控者”变成“唯一掌握天秤重启密钥的技术专家”。安成哲可以用谅解备忘录替他洗脱罪责,交换条件是共同掌控重启后的天秤。而重启后的天秤,将在法律和技术双重意义上,彻底合法化。
她站在会议室的灯光下,忽然觉得自己做的每一件事——按下的自首按钮、保存的评分截图、帮助姜泰宇推送的补丁——都在被某种更大的力量缓慢地吸收进它的逻辑里,变成它的养料。但她没有时间停下来思考这件事。
因为她的手机再次震动了。
这一次,不是系统推送,不是评分更新。是河恩星从机房发来的一条短信,只有一句话:“推送模板已完成。自首按钮嵌入成功。等待姜前辈的集体自首模块上线——倒计时六分钟。”
六分钟。
她看了一眼会议室墙上的挂钟。然后抬头,与朴正桓的目光再次相遇。
“朴院长,”她说,“您说的没错。系统不会真的崩溃。它只会暂停。重启之后,谁来制定规则才是真正的战场。但您有没有想过——如果足够多的人在系统重启之前,就学会了如何不使用系统来判断一个人?”
“什么意思?”
“我弟弟在监狱里写了一份自我陈述。他没有按任何按钮。他只是把自己做过的事一件一件写下来,然后贴在公告板上。系统读到了他的陈述,给他降了5个百分点。那不是因为他格式正确,而是因为——他自己审判了自己。在天秤存在之前,人们就是这么做的。在天秤消失之后,人们也还会这么做。”
她把手机放进口袋,转身走向门口。
“您等着重启。但重启之后,也许您会发现——越来越少的人需要您的评分了。”
她走出会议室,门在她身后缓缓闭合。走廊尽头,C区服务器机房的灯比刚才更亮了。姜泰宇和河恩星并排坐在显示器前面,两个人的手同时在键盘上敲击。屏幕上,集体自首模块的进度条已经走到了97%。走廊另一头,安成哲和他的特别小组成员正在低声交谈,他们的影子被走廊的射灯拉得又长又窄,像一排沉默的刀。
而在首尔的每一栋公寓楼里,在仁川监狱的监舍里,在光林出版社的地下仓库里,在全国三千万部安装了天秤应用的手机里——系统的最新推送正在预发布缓冲区里等待。六分钟之后,它将以天秤官方的名义推送到每一个用户的锁屏界面上。它的措辞冷静、中立、不带任何威胁性。它会邀请每一个人“对自身行为进行坦诚评估”。它不会告诉任何人,如果他们同时按下按钮,评分系统就会瘫痪。
它只会安静地等待——等待这座城市、这个国家、这个世界上的所有人,用同一个瞬间的决定,告诉一套算法:审判人类的权力,从来不是代码能够定义的。


暂无评论,来抢沙发吧!