第二十六章 编码室的回响(上)
“很好。”张伟说,声音里听不出情绪,“什么时候开始?”
“现在。”林永哲站起身,“陆明会带你去熟悉环境,周医生会在两小时后进行首次评估会谈。我建议你先休息四小时,你的脑电波显示你已经连续清醒了32小时,这种状态下写出的代码会有隐患。”
张伟也站起来。他感到疲惫像潮水一样涌上来,但同时又异常清醒,清醒到能感知空气中每个分子的振动,能听见自己血液流动的声音,能感觉到地下三百米处岩石承受的巨大压力。
“最后一个问题。”他说,“如果我在六十天内失败了,会怎样?”
林永哲看着他,眼镜后的眼睛像深井。
“那我们就启动B计划。”教授平静地说,“而B计划,张伟,会让所有人怀念A计划的温柔。”
陆明领着张伟走向编码室。门滑开时,里面飘出新鲜咖啡的味道——机器已经提前准备好了。张伟走进房间,门在他身后无声关闭。
他站在房间中央,环顾四周。屏幕亮着欢迎界面,显示着他的名字和“萤火虫协议项目首席架构师”的头衔。咖啡机冒着热气,椅子调节到了最佳高度,甚至连室温都精准控制在22摄氏度,最适宜长时间工作的温度。
一切都完美。
一切都令人窒息。
张伟走到主屏幕前,唤醒电脑。桌面很干净,只有一个图标——一个发光的萤火虫,下面是项目文件夹。他点开,里面是成千上万个代码文件,文档,测试数据。最顶层是一个README文件,打开后只有一行字:
“黑暗不永恒,除非我们选择不发光。”
他盯着那句话看了很久。然后坐下,双手放在键盘上。手指悬在按键上方,没有落下。
门外,透过单向玻璃,陆明和周医生站在观察区,看着室内的张伟。林永哲也走了过来,手里拿着平板,上面显示着张伟的实时生理数据:心率偏高,皮质醇水平上升,脑电波呈现焦虑与专注的混合模式。
“他能行吗?”周医生轻声问。
“他必须行。”林永哲说,“我们已经没有更好的选择了。”
“如果影子那边……”
“影子有她的任务,我们有我们的。”林永哲的目光没有离开屏幕,“这场游戏的关键是让每个人都相信自己在掌控局面,直到最后揭晓谁才是真正的棋手。”
室内,张伟的手指终于落下。键盘发出清脆的敲击声,第一行代码出现在屏幕上:
import hope from darkness
语法错误,没有这样的库。他删掉,重新输入:
def first_light():
这一次,代码通过了语法检查。光标在冒号后面闪烁,等待着他写下这个函数的内部逻辑,等待着他定义什么是“第一缕光”,以及在绝对的黑暗里,光该如何诞生。
张伟深吸一口气,开始写。他知道外面有人在看,知道芯片在记录,知道时间在流逝,知道整个星球、整个文明的重量正压在他的手指上。
但他还是在写。
因为有些事,你必须去做,不是因为有希望,而是因为如果不去做,就连假装有希望的资格都会失去。
地下三百米,萤火虫准备发光。
第七天,张伟发现了房间的第一个秘密。
那时是凌晨三点四十七分,他刚完成“萤火虫协议”中信号同步算法的一个关键模块。连续工作十八小时后,他的视线开始模糊,代码在屏幕上像水流一样波动。他决定小憩十分钟,便趴在了桌上。
闭上眼,耳朵却异常灵敏。
首先是通风系统的声音——那种低频的白噪音他早已习惯。但今晚,在风声的间隙里,他捕捉到了别的东西:极其轻微的、有节奏的嘀嗒声,大约每三点五秒一次。声音来自天花板左上角,通风口附近。
张伟睁开眼,没有抬头。他用余光观察那个位置。通风口栅栏看起来很正常,但他记得昨天那里有个几乎看不见的灰尘斑点,现在斑点消失了,栅栏边缘有一道新鲜摩擦留下的细微划痕。
有人动过通风口。
他维持着趴着的姿势,右手悄悄移动到键盘上,输入一行命令——这是陆明三天前教他的系统诊断工具。屏幕上快速滚过一串数据,显示房间所有传感器的状态。运动传感器:正常。温度传感器:正常。声音采集器:离线。
声音采集器离线。
这意味着房间里发生的对话不会被记录。但这和通风口上的痕迹有什么关系?除非……除非有人要通过那个口子放什么东西进来,或者取什么东西出去,而他们不想让音频记录留下证据。
张伟保持着呼吸节奏,大脑飞速运转。通风系统是独立的,理论上只能从外部进入。如果有人能神不知鬼不觉地打开通风口,说明基地的安全系统有漏洞,或者更可能的是,有人拥有高级权限。
影子?林永哲?还是别的什么人?
嘀嗒声停了。几秒后,通风系统恢复正常的白噪音。
张伟慢慢坐直身体,揉了揉眼睛,像刚睡醒一样。他站起身,伸了个懒腰,走到咖啡机旁接了一杯新的咖啡。在这个过程中,他的目光扫过整个房间:屏幕,桌子,椅子,绿植,墙壁,天花板。
绿植。
虎尾兰的土壤表面,有一粒非常小的银色物体,大约芝麻大小,反射着屏幕的光。昨天还没有。
张伟端着咖啡回到座位,看似无意地将咖啡杯放在桌角,刚好挡住那个银色物体的视线角度。然后他调出代码编辑器,开始写一段看似是协议测试,实则是探测程序的东西。
他命名为“room_sensor_diagnostic”,伪装成系统工具,实际上会扫描房间内所有无线信号源。程序运行后,屏幕上列出了七个信号源:他的电脑,加密手机,咖啡机,座椅的健康监测模块,门禁系统,还有两个未识别设备。
一个在通风口附近,信号微弱,类型是低频脉冲发射器。
另一个在绿植土壤里,信号较强,类型是生物特征采集器。
张伟盯着列表,感到后颈发凉。有人在监视他,而且是两种不同方式的监视——一个在采集环境数据,一个在采集生物数据。他的心跳,体温,甚至可能散落在空气中的皮屑和DNA。
他删除了探测程序,清除了日志。然后做了三件事:
第一,他写了一个后台脚本,每十分钟自动扫描一次信号源,发现新设备立即警报。
第二,他调整了座椅的位置,让身体尽量远离绿植。
第三,也是最重要的一步,他在“萤火虫协议”的核心代码里,埋下了一个只有自己能识别的标记——一段看似随机的注释,实际上是摩斯码,翻译过来是“我在被监视”。
做完这些,天已经亮了。编码室没有窗户,但灯光系统模拟日出,渐渐从暖黄变为冷白。门禁系统发出轻微的嗡鸣,表示新的一天开始。
八点整,门滑开,陆明走了进来。她今天换了件灰色连帽衫,头发扎成马尾,手里拿着两个数据板。
“早。”她把一个数据板放在桌上,“昨晚的进度报告显示你在信号同步算法上突破了瓶颈。怎么做到的?”
她的语气直接,没有任何寒暄。张伟已经习惯这种方式。
“调整了时间戳的压缩算法。”他调出相关代码,“原来的方案会产生累积误差,我改用分层校验,牺牲了百分之五的带宽,但把误差率降低了两个数量级。”
陆明俯身看屏幕,她的眼镜反射着代码的光。张伟注意到她的左手手腕上有一道新鲜的擦伤,边缘整齐,像是被什么仪器夹伤。
“这个思路可以。”她看了几分钟后说,“但分层校验会增加计算负载。你需要优化循环结构,否则在低端设备上会跑不动。”
“低端设备?”
“萤火虫协议需要在全球范围部署,从超级计算机到老旧的个人电脑,甚至可能是改装过的手机。”陆明直起身,“你不能假设所有人都有顶级算力。实际上,大多数抵抗节点都在用十年以上的设备。”
张伟愣住了。他从未从这个角度思考过问题。他的整个设计都基于最优硬件环境,考虑的是效率、优雅、可扩展性,却忽略了最现实的限制——贫穷。
“给我设备清单。”他说,“最低配置的那批。”
陆明在数据板上操作几下,调出一份表格。张伟看着那些配置:单核处理器,2GB内存,机械硬盘,有些甚至没有独立显卡。这些设备运行现代操作系统都吃力,更别说他的复杂算法。
“为什么不用更好的设备?”他问。
“因为更好的设备会被监控。”陆明说,“智子锁死了尖端科技的发展,但对老旧技术的监控较弱。我们选择用低科技对抗高科技,就像用弓箭对抗导弹——看上去可笑,但弓箭不会触发导弹防御系统。”
张伟盯着表格,突然感到一阵羞愧。他以为自己理解了这场战争的本质,但实际上,他还在用科技公司的思维模式解决问题。他没有真正理解“抵抗”的含义——那不仅是技术对抗,更是资源、智慧和生存意志的全方位较量。
“我需要重新设计架构。”他深吸一口气,“给我三天时间。”
“两天。”陆明说,“林教授那边压力很大。联合国秘密会议提前了,现在只剩四十三天。”
“为什么提前?”
“因为三体舰队又加速了。”陆明的表情没有任何变化,但她的手指在数据板上收紧了一点,“最新观测数据,航程修正为三百八十五年。而且有迹象表明,他们可能发射了第二波探测器,类型未知,到达时间未知。”
