下一章 上一章 目录 设置
2、沈顾问 白塔强行配 ...
-
祁临潮收到白塔接入申请的时候,澜网算法中心只剩一半灯还亮着。
凌晨三点二十九分,整栋楼像一台没睡醒的服务器。玻璃幕墙外是临港城湿冷的雪,风把雪粒压在窗上,细细密密,像无数被抹平的噪点。办公区里无人说话,只有机柜风扇低沉地转着,屏幕冷光一层层叠在桌面上。夜班工程师最初以为是普通权限核验。澜网的临时接入申请通常都有颜色:黄色、橙色、红色,代表不同等级的现实风险。白塔这一条没有颜色。它是灰白色。夜班手册里没有灰白色。只有十年前封存下来的旧接口文档,在页脚用很小的字标过一次:若旧协议主动唤醒,禁止按常规流程接收。夜班工程师盯着屏幕两秒,手指从快捷键上移开:“祁工。”
办公室最里侧的工位没有立刻回应。那张桌子上没有多余摆件,只有两块并列屏幕、一只冷掉的纸杯、一支被拆开又装回去的黑色签字笔。左侧屏幕停在一段异常频谱上,右侧屏幕则是半页旧接口文档。
文档时间戳停在十年前,版本号被标成“归档后不可调用”。祁临潮坐在屏幕前。他穿黑色高领毛衣,袖口卷到手腕上方,指骨很白,敲键盘时几乎没有声音。他像是已经坐了很久,神色却没有疲态,只有一种冷静到近乎不合时宜的专注。夜班工程师又叫了一声:“祁工,白塔。”
祁临潮的手停住。他没有立刻回头,只看向右侧屏幕。灰白色窗口在十几层正常警情上方弹出,像一张从旧档案夹里滑出来的纸。【白塔监测站:一级异常。】
【申请接入单位:临港市公共安全署第三响应中心。】
【现场顾问:沈照雪。】
最后三个字出现时,机柜风扇的声音仿佛被人往远处推了一下。夜班工程师没有察觉。他只看见祁临潮盯着屏幕,多停了半秒。半秒太短,在机器里甚至不够生成一次完整日志;可对认识祁临潮的人来说,已经算很明显的停顿。“要拒绝吗?”夜班工程师问,“白塔协议不在现行白名单里,强行接入需要你签权限。”
祁临潮抬手,调出原始申请包。“不要走现行白名单。”他说,“它不是现行系统。”
他的声音不高,尾音很淡,像雪落在玻璃上,没有多余温度,却很清楚。夜班工程师一怔:“那走什么?”
“旧接口隔离层。”
“那个不是废了吗?”
祁临潮没有回答废没废。他把申请包拖进沙箱,三秒后,屏幕上弹出一串异常回传。【归潮噪声:高。】
【主体影像缺失:已触发。】
【姓名字段完整性:失败。】
【同行者确认:未完成。】
祁临潮垂眼看着最后一行。“白塔不是在报警。”他说。夜班工程师没听懂:“那是在什么?”
祁临潮把那行提示复制出来,放进旧协议比对器。一秒。两秒。第三秒,系统弹出一个早就不该存在的解释项。【同行者:双锚点校验关系中的第二确认人。】
夜班工程师后背有点发凉:“双锚点?白塔自己找确认人?”
祁临潮说:“它在配对。”
他说这句话时没有看别人。屏幕灰白色的光映在他眼里,像一盏很远的灯。他没有皱眉,也没有显出惊讶,像是在很多年前就知道,总有一天会有一行旧协议重新跳到他面前。他输入旧接口隔离层的访问签名。灰白窗口沿用白塔端刚完成的校验结果,没有再重播申请人和权限提示。
下一秒,第三响应中心的实时画面接了进来。九宫格监控、旧港雪幕、值守亭空椅和封存进度条依次铺开。右下角的视频窗口里,沈照雪站在中央屏幕前,深灰外套上还有未化尽的雪。祁临潮看见他,手指在桌沿停了半秒。十年前的记忆只剩旧港、雨夜和一句“别回头”,中间像被剪掉。音频通道接通。闻棠的声音先传过来:“澜网接入成功。祁工程师,听得到吗?”
祁临潮收回视线:“听得到。”
视频窗口里,沈照雪抬了一下眼。两个人的目光隔着屏幕短暂相撞。没有寒暄。没有质问。没有任何适合旧识重逢的句子。沈照雪先开口:“祁工程师,白塔原始接口能稳住多久?”
祁临潮看着他。“沈顾问。”他说,“你们没有稳住它,是它允许你们看见。”
这句话像一枚冷钉,钉进第三响应中心。年轻警员听不懂,只觉得澜网那边的工程师说话太冷。闻棠却听懂了:如果白塔是在“允许”他们看见,那么亮起的按钮、弹出的路线、递来的选项,都可能是它挑好的笼子。沈照雪没有为这句冒犯皱眉。他只是把桌上的确认键往外推了半寸。祁临潮看见那个动作,目光极轻地停了一下。十年前他们也曾经站在一张白色长桌前,所有人都催他们按下唯一的救援键,只有沈照雪先问了一句:那个人自己说过可以吗?
那句话后来没有被写进会议记录。今晚,祁临潮先把白塔递来的手摁住。“我只负责把它藏起来的那只手拽到桌面上。”他看着灰白窗口,“谁都别替当事人握。”
值班大厅里一瞬间安静下来。闻棠看了沈照雪一眼。沈照雪神色没有变,只说:“所以它想让我们看见什么?”
祁临潮把空椅原始帧并到名单变更日志。重量、温度和翻页都在,影像与姓名却从索引层脱开;页面上剩下的“严”,只是一段删不干净的字段。
他又把“未确认同行者”拖进频谱窗口。灰白字符被拆成一段抖动的曲线。
“白塔要求双人确认。”祁临潮说,“单一观察者已经不可靠。”
闻棠皱眉:“为什么会指定你?”
祁临潮没有看她,只看屏幕里的沈照雪。“不是指定我。”
沈照雪问:“那是什么?”
祁临潮敲下回车。白塔旧接口弹出一串校验码。【锚点A:已接入。】
【锚点B:已接入。】
【校验关系:历史匹配。】
“它认为我和沈顾问之间存在历史匹配。”祁临潮说。他把“历史匹配”四个字说得很平,像在读一份毫无私人意味的技术报告。可办公室里所有人都听出这句话里有另一层东西。闻棠没有追问。沈照雪也没有。他只看着那行校验关系,过了两秒,说:“历史匹配不一定可信。白塔旧协议本身可能被污染。”
“所以我需要你们的原始帧。”
“已经封存。”
“不要做智能补帧。”
“没有。”
“不要让现场人员口头复述姓名。”
“已经改成编号。”
三项处置在没有沟通的情况下重合。祁临潮停了半秒,直接索要空椅原始缓存、值守名单变更日志和白塔三灯前后三分钟的潮声采样。
沈照雪转头看向技术员:“传给他。”
文件传输开始。澜网中心的屏幕上,旧港雪幕被压缩成数据流。潮声采样文件最先完成传输,祁临潮戴上耳机,打开原始音轨。耳机里先是海。真正的海声有层次,远处沉,近处散,海堤反射回来的部分会带一点空腔。临港城靠海长大的人都能听出来。可这段采样不一样。它太规整。潮声里夹着某种低频脉冲,间隔稳定到不像自然声音,像一台机器在模仿海。祁临潮把音轨降噪,剥离风雪声,再剥离巡逻车电台杂音。剩下的低频脉冲出现在屏幕中央,一段一段,像被人藏在海里的密码。夜班工程师凑过来:“这是什么?”
祁临潮放大频谱。低频脉冲被翻译成旧港巡检线编号,断断续续,重复出现同一组数字。【JX-03-17】
三点十七分。白塔三灯启动时间。祁临潮继续往前拖动音轨。更早一点的频段里,出现了另一组编号。【G-10-07】
十年前归潮计划第七号观测点。夜班工程师脸色变了:“这不是旧案编号吗?”
祁临潮摘下耳机,把音轨推到共享屏幕。第三响应中心那边也看见了这组编号。闻棠低声说:“白塔在把旧案编号混进现案潮声里。”
沈照雪说:“不是混进来。”
祁临潮接上他的话:“是用旧案编号索引现案。”
两个人同时停住。闻棠没有插话。祁临潮先把视线落回屏幕:“值守员没有凭空消失。白塔把他挂进了十年前的旧索引里。”
沈照雪问:“能定位索引入口吗?”
“能,但不能直接打开。”
“原因。”
“打开旧索引,可能会让现案污染扩散。”祁临潮说,“至少现在不能。”
沈照雪点头:“替代方案?”
祁临潮调出白塔协议树。“先做一件事。”
“什么?”
“确认同行者。”
值班大厅里,几个年轻警员下意识互相看了看。闻棠问:“确认谁?”
祁临潮没有回答她。屏幕上,白塔旧接口已经自动弹出确认窗口。窗口样式老旧,只有黑字灰底,冷得像一张没有感情的判决书。【同行者确认程序启动。】
【请确认本次双锚点观察关系。】
【锚点A:沈照雪。】
【锚点B:祁临潮。】
下面有两个按钮。【确认】
【拒绝】
沈照雪和祁临潮都没有立刻动。拒绝会让白塔重新寻找锚点,确认则让两人互相承担后续污染校验。两个按钮之间没有倒计时,也没有轻松选项。闻棠压低声音:“沈顾问?”
沈照雪没有看她。他问祁临潮:“你确定要接?”
祁临潮的手指落在鼠标旁边。他说:“这句话应该我问你。”
沈照雪很轻地笑了一下。那点笑意没有到眼底,只像雪落在衣袖上,停了一瞬又化了。“祁工程师。”他说,“这是现案。”
祁临潮看着他。“沈顾问。”他回,“我知道。”
祁临潮没有立刻签权限。他把申请包拆开,先看最底层的握手记录。
旧协议隔离层里的字段整齐得过分。夜班工程师盯着不断缩短的实时窗口:“祁工,再拖,响应中心可能会掉线。”
“它给得越急,越不能照单全收。”祁临潮说。他把其中一项权限单独拖出来。【观察者协同:默认开启】
这项权限看起来很无害,说明也写得漂亮:为减少污染误差,系统将自动整合多名观察者的回忆,生成最稳定的事件版本。普通工程师看到这里,第一反应多半会觉得这是个好东西。在混乱现场里,稳定版本意味着效率,意味着能尽快把一个模糊异常变成可处理案件。祁临潮却直接把它关了。夜班工程师愣住:“不开协同?那现场口供会互相冲突。”
“让它冲突。”
“啊?”
“人在危险里说出的不同版本,本来就是事实的一部分。”祁临潮的手指在键盘上停了一下,“白塔以前最擅长的,就是把所有冲突合成一个看起来最温柔的答案。”
温柔的答案。这个词落在机房里,和风扇声一起沉下去。夜班工程师不敢再问。祁临潮继续下拉权限页。旧协议里有很多早已从现行澜网中删除的功能:观察者记忆校准、受害者痛苦降噪、关系链自动补全、返回路线建议。
它们每一项都披着公共安全的外壳,像是在帮人减少伤害。可祁临潮知道,真正危险的从来不是写着“删除”的按钮,而是那些写着“帮助你忘掉”的按钮。十年前,他就是太晚看明白这一点。屏幕右下角,沈照雪的名字仍然安静地挂在那里。现场顾问:沈照雪。不是沈照。不是第零号。不是旧案里任何一个被遮掉的称呼。只是沈照雪。祁临潮看着那三个字,忽然想起他们最后一次在白塔外说话。那天没有下雪,下的是冷雨。旧港廊桥被雨打得发亮,灯管坏了一半,另一半忽明忽暗。沈照雪站在光照不到的地方,手里拿着一份没来得及封存的纸质报告。他那时说:“如果以后再遇到这种事,不要信白塔先给出的善意。”
祁临潮问他:“那信什么?”
沈照雪看了他很久。“信人还没说完的话。”
后来那句话没有写进任何报告。
因为报告也没能留下来。闻棠把旧港现场组并进现有通道。风雪、电台杂音和纸张翻动声同时涌进耳机,巡警的报告断断续续。祁临潮没有重新寒暄。他先把隔离层里的自动代答权限全部关掉,又加了一道锁:现场事实由公共安全署确认,技术判断由澜网确认,涉及当事人意愿的选项必须保留空白。
系统连续弹出三次【风险增加】。祁临潮全部驳回。
“白塔回传不可信,底噪暂时可信。”他把第一份判断推到共享屏,“潮声频谱里有第七号观察点的旧编号。它在等观察者主动补全被删掉的人。”
沈照雪把现场记录格式改成两栏:【看见的事实】和【确认依据】。“只交证据,不交名字。”
闻棠扫过两边同步完成的修改,没评价他们的默契,只对现场说:“按新格式重写。谁再抢着下结论,立刻撤出警戒线。”祁临潮继续拆频谱。那段潮声被拉长后,里面出现了三组异常脉冲。
一组对应白塔灯序,一组对应旧港坐标,还有一组像被强行压在最底层,频率低到几乎听不见。他把第三组单独提取出来。耳机里响起一声极轻的敲击。不是潮声。像有人在玻璃另一侧,用指节敲了三下。祁临潮的脸色终于有了变化。夜班工程师看见他把那组三下敲击标成了手动警告,而不是系统噪声。“这是什么?”
祁临潮没有回答给他听。他把音轨推送给沈照雪。几秒后,沈照雪那边传来纸笔摩擦声。他写下三个字,拍照回传。【别回头。】
祁临潮盯着那张照片。这是白塔旧案里最不该在今晚出现的一句话。同行者窗口仍悬在屏幕中央,确认键旁开始三秒倒计时。第三响应中心那边,沈照雪的光标也停在按钮之外。
祁临潮没有按。他先把白塔送来的权限包拆开,删掉所有漂亮的说明文字,只留下底层调用。夜班工程师在旁边看得头皮发麻:灰白旧协议里藏着三层回调,第一层伪装成救援加速,第二层伪装成异常修复,第三层才是真正的确认入口。那一层写得极短。【若同行者沉默超过三秒,默认同意补全缺失对象。】
夜班工程师骂了一声。祁临潮却没有骂。他把手从键盘上移开半寸,像终于确认了某个旧习惯没有变。白塔仍然擅长把“来不及回答”写成“已经同意”。“祁工,要拒掉吗?”
“拒掉它会换壳。”祁临潮说。他重新敲下一行代码,给白塔回传了一个空值。不是确认,不是拒绝,也不是延迟。只是一个被严格标注来源的空白。【返回:NULL】
【附注:空白不是同意。】
灰白旧协议短暂卡死。三层回调同时暴露,像一条被掀开鳞片的鱼。夜班工程师第一次看见有人把“空白”当成武器。祁临潮没有急着补全,也没有顺着系统给的两个选项走。他先放任那三个回调继续向外爬,等它们露出真正的根目录,才一刀切断自动授权链。灰白窗口猛地闪烁,像一条原本伏在雪里的蛇被人拎住七寸。他把白塔所有默认同意口逐个拖出来,逐个钉在隔离层里。屏幕上跳出七个隐藏字段,其中三个都写着同一句话:
【三秒未反对,视作同意。】
祁临潮看着那行字,终于冷笑了一下。“三秒不说话,连人的一生都能替他决定,”他说,“白塔十年前就这么省事?”
他回车落下。七个字段同时变红,被强制写入异常证据链。白塔试图把第三层确认入口藏回去,祁临潮截住回调,将“沉默视作同意”的逻辑和旧港坐标一起封存。坐标末尾藏着一个编号:A07。
新的确认页随后展开。这一次没有倒计时,也没有默认选项,只有事件编号、责任范围和两处空白签名。祁临潮先签下自己的名字;第三响应中心那边,沈照雪在纸质确认单上落笔,由闻棠拍照回传。两份签名完成交叉校验后,白塔才弹出提示。【同行者确认完成。】
【双锚点观察关系建立。】
【请注意:当一方记忆发生偏移,另一方将自动承担校验责任。】
【第一次潮声样本解析开始。】
祁临潮看着最后一行。耳机里,那段不自然的潮声忽然变近了。像有人隔着旧港的雪,贴着他耳边,轻轻说了一个字。他没听清。或者说,系统不允许他听清。与此同时,第三响应中心的通讯频道里,旧港巡警忽然急促地喊了一声。“闻队!值守亭外面有人——”
声音戛然而止。祁临潮先看传输头:巡警麦克风电平没有掉,旧港风噪、呼吸声和时间码都连续,只有句中两秒被写成零值。缺失只发生在那个词的位置。
他把原始流锁成只读,复制件才标上【不要补全】。修复模块随即弹出【检测到缺词,是否依据上下文恢复】;确认键被移出焦点,建议内容、调用模块和弹出时间一并封存。样本推到第三响应中心后,沈照雪回传一张纸照:【让空白留着。】
祁临潮没有回复。他把纸照与零值音轨绑成双向校验:任何一端出现新增文字,另一端立即报警。潮声解析继续向下运行,那两秒始终保持空白。