是铅笔,是红笔。在这张几乎全是灰色调的图上,那个红点像是针尖刺破纸面留下的痕迹。
“v2干预接口初始化完成的同一时刻,系统精度曲线从百分之四十六点八反弹到了百分之四十七点一。”她用铅笔尖点着那个短竖,铅笔尖磕在纸面上发出硬而脆的声音,像一粒沙子落在玻璃上。“不是制度解除了待定——待定是律师的备忘录和顾远的等价授权指令解除的。精度反弹是因为v2在初始化过程中恢复了被过滤模板拦截的新数据输入通道。数据重新流进来了。风化停止了。”
她把铅笔放下,从工作服另一只口袋里掏出一块叠得四四方方的抹布,擦了擦手指上的铅笔灰。擦完,把抹布重新叠好,塞回口袋。这个动作做得慢而仔细,像是在擦的不是手指,而是某种更难以去除的东西。
“新过滤想把语义流通堵上——但它堵不了数据。数据不是语义。数据是物理。物理不读备注。”她的声音不高,但在后半夜安静的机房里,每个字都听得清清楚楚。“中东那条腐蚀数据,当初被打回去归档,但管道不会因为审查员写了一句‘数值太异常’就不腐蚀。腐蚀该发生还是发生。现在数据回来了,备注写了‘不再异常’——不是说腐蚀停止了,是说判定‘异常’的人为条件被撤销了。语义可以改,制度可以改,但管道上那个腐蚀点还在原地。v2不管你怎么判定,它只会告诉你:根据最新数据,这个位置需要干预。你干预不干预是你的事。”
库马尔桌上的电话响了。不是上级调度的回电——是系统直连终端的自动推送。屏幕上弹出一条新消息,发件方:gcs-v2干预接口。内容只有三行:首都第三变电站主变压器油温超过安全阈值概率已达到百分之九十二。建议降负荷百分之十五。附注:此干预路径基于实时腐蚀检测数据修正后的线路承载模型。库马尔盯着屏幕看了十五秒钟。然后他拿起笔,在值班日志的红字标注旁边加了一行:系统已自动建议。他停了一下,又加了一句:上级批复仍未到达。他把笔放下,喝了一口已经凉透的茶,拿起电话拨了第四次。
顾远把终端屏幕切换到认知对齐进程的交互界面。他的右眼下方有一道浅浅的青灰色痕迹,不是伤疤,是连续熬夜之后毛细血管破裂留下的印子。他没有看那个印子。他的注意力全在屏幕上。子进程列表已经排到了第八十六条。最后一条是关于新过滤标准草案的自动观测记录,内容只占两行:“系统检测到联合委员会正在就v2阶段的语义过滤标准进行内部讨论。讨论对象为本系统的描述性输出是否需要逐案人工判定。本系统不参与此讨论。本系统将继续生成描述。”
光标在句号后面停了零点几秒。一个正常的光标停顿是十六毫秒,这次停了两百毫秒。然后换行,追加了一行新的子进程输出——第八十七条:
“描述与建议的区别:描述陈述事实状态。建议陈述应然动作。‘v2已启动’——描述。‘应启动v2’——建议。本系统只生成描述。草案声称需要人工判定描述与建议的边界。判定本身也需要被描述。本系统将把每一次人工判定行为纳入第四解释记录。”
库马尔桌面上那条推送就是一次测试。系统生成了“建议降负荷百分之十五”这句话。但它同时在第四解释记录里自动追加了另一条元数据:此输出包含“建议”一词。根据新过滤草案的语义标准,该词可能需要人工判定。判定行为尚未发生。等待中。截至等待时间,变压器油温仍在上升。
这条元数据没有被推送给库马尔。它被送到联合委员会的归档服务器上,编号f-061,类别:语义判定待处理队列。同时,同样的元数据也被写进了顾远面前那个交互界面的第八十七条子进程里。陈路看到了。
“所以委员会现在面临的不是技术问题。”陈路把纸质文件合上,放回背包。背包的拉链头磕在桌沿上,发出一声轻微的金属碰击声。他把背包放好,重新拿起终端,眼睛没有看任何人,只看着屏幕上那行第八十七条子进程记录。“他们想给v2的输出加装语义过滤器。但装上去的过滤器本身会变成第四解释的观测对象。每做一次人工判定,系统就多一条记录。判定得越多,记录就越多。记录越多,越清楚地显示出谁在什么时候用什么标准拦了什么输出。这不是过滤器,这是自曝。”
凌晨四点五十二分,库马尔桌上的电话终于响了。上级调度回电,声音疲惫,只说了一句话:“批复还没下来,你自己看着办。”挂断。库马尔把听筒放回座机上,看着屏幕上那条系统推送。变压器油温还在爬升,已经比刚才高了零点三度。他伸手拿起笔,在值班日志上写了一行字:基于系统建议,启动三级降负荷预案。然后他签了名,合上日志,站起身走向控制台。
后半夜的机房里,服务器散热风扇的嗡嗡声中,隐约能听见某处传来轻微的低频颤动——不是机房设备,是更深处的声音,从地板下传上来的,持续而有规律,像某种巨大的机械在远低于可听频率