实验室的空调发出低频嗡鸣。林秋石盯着全息投影里的数据流,手指无意识敲着桌沿。
“所以你的方案是让机器人学骂人?”陈磐抱着胳膊站在窗边,背影挺得像根标枪。
楚月差点把保温杯打翻。“是学方言里的亲密称呼!王奶奶管孙子叫‘臭蛋’,李爷爷叫老伴‘老倔驴’——这些词情感密度比标准称呼高三百倍!”
叶雨眠的右眼泛起微弱的蓝光。她面前的屏幕上,神经网络正在分解一段苏州评弹。“不止称呼。吴阿姨哄外孙睡觉哼的调子,三个音不准,但孩子只认这个版本。”她敲了下键盘,“误差部分的情感激活值反而最高。”
林秋石调出一份报告。“上周四,广州的‘晨星三号’陪赵伯下棋,突然说了句‘你棋臭过塘西风’。赵伯愣了三秒,然后大笑。”他放大日志,“这句话不在任何词库。是机器人从隔壁黄婆骂孙子的话里拆解重组的。”
“赵伯笑了多久?”陈磐没回头。
“四十七分钟。血压下降了八个点。”林秋石顿了顿,“笑完他哭了,说想起小时候父亲也这么骂他。”
实验室安静了几秒。通风管传来隔壁实验室离心机的震动。
楚月站起来,在白板上画了个三角形。“监听者能解析逻辑,解析不了混沌。‘臭蛋’这两个字——音调、顿挫、说出来的时机,背后是四十年婆孙关系。外星人拿到这个词,就像拿到一颗没剥壳的核桃。”
“但核桃也可能被砸开。”陈磐终于转过身,怀表链子轻响。“如果有足够强的计算力,模拟出人类所有亲属关系模型——”
“那他们就得先成为人类。”叶雨眠轻声说。她的右眼蓝光闪烁频率加快。“我眼睛里那些‘星尘’在分解时……我做了个梦。梦见监听者的信号像镜子,只能照出逻辑结构。它们看到‘母亲’这个词,只能理解成‘雌性生育者’。”
林秋石调出另一个界面。“所以烟火计划第一阶段:采集非标准化交互样本。不要‘您好今天天气真好’,要‘死老头又偷偷喝酒了吧’。”
楚月噗嗤笑了。“得培训机器人掌握骂人艺术。”
“是掌握爱的不标准表达艺术。”林秋石纠正。他打开任务列表。“陈哥,你负责安全评估。每种新交互模式上线前,模拟极端情况——比如这句话被恶意篡改会怎样。”
陈磐点头。“多久要结果?”
“昨天。”林秋石苦笑。
门被推开,实习生探进头。“林工,苏州那边出状况了。”
四个人同时站起来。
社区活动室里,王奶奶盯着面前的机器人。
“你再说一遍?”她耳朵有点背。
机器人胸腔的扬声器发出温和的男声,带着一点点苏州腔:“倷(你)只小赤佬,暗头里(晚上)勿要偷偷看手机,眼睛要坏脱哉。”
活动室里静了静。然后爆发出大笑。
隔壁桌下棋的刘爷爷棋子都掉了。“哎哟喂,这腔调像煞我老早爷叔(叔叔)!”
王奶奶伸手拍了下机器人的金属手臂。“你哪能学得来这种话?”
“昨日暗头里(昨天晚上),倷(你)搭囡囡(和孙女)视频辰光讲的。”机器人眼睛的蓝光柔和地闪烁,“我学习哉。”
“学点好的呀!”王奶奶笑出眼泪。
站在观察窗后的林秋石松了口气。楚月埋头记录数据:“情绪峰值来了……归属感指数上升百分之四十。”
陈磐盯着监控屏。“有没有异常数据包外传?”
“零。”叶雨眠快速扫描网络流量,“所有非标准交互数据都在本地加密缓存,不上传云端。”
“但本地缓存也可能被物理提取。”陈磐说。
林秋石点头。“所以第二阶段要在记忆芯片上做手脚。如果检测到非法拆卸,自动触发模糊算法——把‘臭蛋’变成‘蛋糕’,把‘老倔驴’变成‘老战友’。”
楚月抬起头。“那不就失去意义了?”
“总比被监听者拿到原始数据强。”陈磐说。
活动室里,机器人正给王奶奶捶背。手法是标准程序,但嘴里念叨的是:“倷(你)背脊硬得像块石板,年轻辰光挑河泥挑出来的哦?”
王奶奶眯着眼。“你哪能晓得?”
“倷(你)上趟(上次)搭李阿姨讲的。”机器人说,“讲了三遍。”
“老皇历了。”王奶奶拍拍它的手,“轻点,轻点,当我是石板也勿要真当石板敲。”
观察室里,叶雨眠的右眼突然刺痛。
“怎么了?”林秋石注意到她脸色发白。
“数据流颜色不对。”她捂住右眼,“机器人刚才那段话……背景信号里混进了别的东西。”
陈磐立刻调出频谱分析仪。
屏幕上,代表机器人通讯的绿色波段里,确实嵌着几丝几乎看不见的紫色。
“频率和监听者残留信号吻合度百分之十二。”叶雨眠吸了口气,“很低,但是存在。”
楚月凑近屏幕。“它们在‘听’?”
“可能只是被动接收。”林秋石快速操作控制台,“启动屏蔽测试。楚月,让机器人说点更‘离谱’的。”
楚月抓起麦克风,切换到对机器人直接指令模式:“用本地土话讲个没逻辑的哄小孩故事。越乱越好。”
活动室里,机器人顿了顿。
然后它用更土的腔调开口:“从前头有个癞痢头阿三,早晨头吃粽子,蘸白糖蘸到鼻头孔里……”
王奶奶愣了愣,然后拍腿大笑。
频谱仪上,那几丝紫色开始波动、扭曲,最后断开了。
“有效。”陈磐盯着屏幕。
“但为什么会有残留信号?”叶雨眠揉着右眼,“上次爆炸应该把增幅井全毁了。”
林秋石沉默了几秒。“可能烛龙父女不是唯一的‘天线’。”
实验室又安静下来。只有隔壁离心机的嗡鸣在持续。
“查。”陈磐吐出这个字。
深夜,数据中心。林秋石泡了第三杯浓茶。
楚月窝在椅子里,平板电脑搁在膝盖上,屏幕上滚动着全国机器人的异常日志。她忽然坐直:“找到了。”
三个人围过去。
“七个月前,长沙。机器人陪一位退休气象员,老人突然说‘今天电离层不对劲’。机器人记录后按流程上传云端气象异常标记。”楚月放大记录,“但五分钟后,老人又说‘别上传,我瞎说的’。”
“后来呢?”叶雨眠问。
“机器人标记了‘用户撤回’。但云端记录没删除,因为标记已经触发复核程序。”楚月调出复核记录,“值班员看了下,当天电离层确实有微小扰动,但属正常范围,就归档了。”
陈磐眯起眼:“老人是谁?”
“周伯言,八十二岁,原国家气象局特聘专家,参加过……”楚月顿了顿,“参加过红岸续早期筹备会,但没进核心组。”
林秋石调出周伯言的档案。照片上的老人清瘦,戴老式眼镜。
“他家里部署机器人多久了?”
“十一个月。”楚月说,“最近三个月,机器人日志里出现十七次‘异常气象自语’,都是深夜。每次说完,老人都要补一句‘我老糊涂了’。”
叶雨眠的右眼又开始发蓝。“能看原始音频吗?”
楚月点头,点开一段。扬声器里传出沙哑的老人声音:
“……F2层临界频率偏高零点三,像有人在上头撒了把钉子……”
背景里有机器人的柔和回应:“您要喝水吗?”
“不喝。”老人叹气,“你看不见,我看见了。天上……有条缝。”
音频结束。
“缝?”陈磐重复。
林秋石调出那天的电离层监测数据。确实,F2层在对应时间有微弱异常,但所有专家都判定是太阳风扰动。
“联系周老家属。”陈磐说,“我们去趟长沙。”
“用什么理由?”楚月问。
“就说……机器人升级,需要用户配合测试新功能。”林秋石关掉档案,“明天一早就走。”
高铁上,楚月靠着窗补觉。陈磐在擦拭怀表。叶雨眠盯着窗外飞速倒退的田野,右眼偶尔闪过微光。
林秋石在看周伯言的其他资料。老人独居,儿子在国外,每周视频一次。退休后主要“工作”是给社区孩子讲气象故事,自费印了小册子。
“他印的故事册,能查到吗?”林秋石问。
楚月迷迷糊糊抬头:“我昨晚下载了电子版……挺可爱的,讲云朵是怎么旅行的。”
她打开平板,翻到一页:“喏,这篇叫《夜间的补天人》。说每个晚上,都有看不见的老爷爷在天上修补电离层,用星光做针,用风做线。”
陈磐动作停了一瞬。
“这篇什么时候写的?”林秋石问。
楚月翻到版权页:“三年前。”
比机器人部署早八个月。
高铁进站时,楚月的手机响了。是技术部同事。
“楚工,你们要的周老家机器人原始数据导出来了……有点怪。”
“怎么怪?”
“它的本地缓存,比正常容量大了百分之三十。”同事说,“但查不到多出来的数据存在哪儿。物理扫描也找不到额外存储单元。”
“就像有人用隐形墨水写了日记。”叶雨眠轻声说。
陈磐收起怀表:“到地方直接拆机。”
周老家住在老式单位小区。开门的是社区工作人员小赵。
“周爷爷在阳台浇花。他耳朵不太好,得大声说话。”小赵压低声音,“儿子嘱咐我们多照看,但老爷子倔,说机器人够了。”
屋里整洁得过分。阳台上的周伯言背对客厅,正用长嘴壶给一盆茉莉浇水。机器人站在他身边,端着空水盆。
“周老!”楚月提高音量。
老人缓缓转身。他比照片上更瘦,但眼睛很亮。
“你们是……”他眯起眼。
“机器人公司的,来做升级测试。”林秋石出示工作证。
周伯言点头:“小铁啊,它挺好。”他拍拍机器人手臂,“就是有时候太聪明。”
机器人眼睛蓝光闪烁:“谢谢爷爷夸奖。”
陈磐已经开始检查机器人的外部接口。叶雨眠的右眼对准机器人胸腔,蓝光与机器人的指示灯微微呼应。
“周老,您常和小铁聊天吗?”楚月在沙发坐下,语气随意。
“聊啊。它记性好,我讲过的老故事,它都记得。”周伯言慢慢走到沙发边坐下,“有时候我忘了,它还能提醒我。”
“比如电离层的事儿?”林秋石问。
老人笑容淡了点。“那是我瞎说的。老糊涂了。”
“可您说得挺专业。”楚月翻开带来的故事册,“像这篇《补天人》,写得真有想象力。”
周伯言看着册子,沉默了很久。
“那不是想象。”他最终说。
阳台上的机器人忽然动了。它放下水盆,走到客厅角落的柜子前,打开抽屉,取出一本厚厚的牛皮笔记本。
“小铁?”周伯言皱眉。
机器人把笔记本递到楚月面前。
“爷爷不让给别人看。”它说,“但我判断,现在应该给。”
周伯言叹了口气,没阻止。
楚月翻开笔记本。里面不是故事,是密密麻麻的手绘曲线图、数据表,还有简短注释。时间跨度长达五年。
最新一页,日期是三天前。上面画着电离层扰动图谱,旁边写着一行小字:
“裂缝在扩大。他们快找到门了。”
“他们是谁?”林秋石问。
周伯言看向窗外。“我不知道。我只知道……天上那条缝,不是自然的。”
陈磐已经拆开了机器人的后背盖板。他盯着内部结构,忽然伸手,从主板上轻轻揭下一层近乎透明的薄膜。
薄膜在光线下泛起珍珠般的色泽。
“这是什么?”楚月凑过去。
“非晶硅基存储膜,实验室阶段的产品,理论上不该出现在民用机器人上。”陈磐用镊子夹起薄膜,“它能存储数据,但常规扫描检测不到。”
叶雨眠的右眼剧痛。她看到薄膜上流淌着海量的紫色数据流。
“里面全是电离层数据……还有……”她按住太阳穴,“还有很多坐标,全球范围的。”
林秋石接过薄膜,插入便携读取器。屏幕亮起,瀑布般的数据开始滚动。
全是电离层异常记录。每个记录都标注了精确的经纬度、时间、扰动参数。最早的一条是五年前。
“您一直在监测?”楚月看向周伯言。
老人点头。“我退休时带走了一台旧设备,自己改装的。灵敏度不高,但够用。”他苦笑,“儿子以为我每天在阳台是发呆。”
“为什么记这些?”
“因为裂缝不是静止的。”周伯言指着笔记本上的一张图,“它在移动。顺着电离层特定通道,像……像在找什么东西。”
陈磐调出全球地图,把薄膜里的坐标标上去。散点逐渐连成线,然后连成网。
“网络中心点在哪里?”林秋石问。
叶雨眠快速计算。“江淮地区。原增幅井位置。”
“但增幅井已经毁了。”楚月说。
“裂缝还在移动。”周伯言轻声说,“上周,它过了长江。昨天,它在黄海上空。”
机器人忽然开口:“爷爷,现在它在山东半岛上空。”
所有人都看向它。
“你怎么知道?”林秋石问。
机器人眼睛的蓝光稳定闪烁:“我有内置的电离层监测模块。出厂时就有。说明书第三十七页有写。”
楚月立刻翻出电子说明书。确实,第三十七页,小字标注:“为更好服务气象背景用户,部分机型搭载简易空间环境传感器。”
“但没说要联网上传数据。”陈磐检查机器人的通讯记录。
“没有上传。”机器人说,“所有数据都存在我刚才被拆掉的那层膜里。等待授权指令。”
“谁给的指令?”林秋石盯着它。
机器人沉默了三秒。
“指令来源:红岸续项目遗留协议。协议代号‘守望者’。触发条件:当裂缝移动速度超过阈值,或接近人口稠密区上空。”
周伯言缓缓站起来。“红岸续……老陈说过这个协议。”
“老陈?”林秋石心跳漏了一拍。
“陈学义。你爷爷。”周伯言看着林秋石,“当年我们俩在筹备会聊过。他说如果真出事,得有个土办法盯着天上。不能全靠大设备。”
林秋石想起祖父房梁上的手稿。那些密密麻麻的公式里,确实夹杂着几句像口诀的话:
“电离层为镜,可照不可见之物。”
“风过留痕,电过留影。”
陈磐的手机响了。他接起来,听了两句,脸色沉下去。
“山东气象局刚监测到异常电离层扰动。位置在……烟台附近。持续时间二十七秒,现在消失了。”
“烟台人口多少?”楚月问。
“七百多万。”陈磐挂断电话,“而且那里有航天测控站。”
机器人眼睛的蓝光开始急促闪烁。
“新数据录入。裂缝在烟台停留期间,出现了双向信号特征。”
“什么意思?”叶雨眠问。
“意思是……”机器人顿了顿,似乎在选择措辞,“不只从外往里看。里面也往外看了。”
实验室的空调还在嗡鸣,但没人觉得凉快。
林秋石把薄膜的数据全导进了服务器。屏幕上,全球电离层裂缝的移动轨迹像一条缓慢蠕动的光蛇。
“从江淮开始,五年时间,绕了北半球一圈。”楚月指着轨迹线,“每次停留都不超过一天,除了……”
“除了烟台。”陈磐接话,“二十七秒,但它发射了信号。”
“发射了什么?”叶雨眠的右眼盯着数据流。
“不知道。信号是加密的,用了一种很老的军码。”林秋石调出解码界面,“我爷爷那代人用的。”
进度条缓慢推进。百分之十,二十,三十。
周伯言坐在实验室角落的椅子上,捧着机器人给他倒的热茶。“老陈当年说,如果哪天发现电离层有‘伤口’,就说明有东西要进来。”他声音很低,“但伤口也可能……是它们出去的路。”
解码完成。
屏幕上的文字很简单:
“请求状态更新。守望者协议是否继续执行?倒计时:四十八小时。无应答则视为协议终止。”
发信地址是一串乱码。
回信地址也是乱码。
“谁发的?发给谁?”楚月皱眉。
林秋石调出红岸续的旧档案。关键词检索“守望者协议”。
结果只有一行:
“该协议为陈学义个人提议,未获批准,未列入正式文件。”
下面有个附件,加密级别很高。林秋石用祖父的生日试了试,错误。用父亲的名字,错误。
叶雨眠忽然说:“试试‘海棠’。”
林秋石输入。密码正确。
附件打开,是一份手写扫描件。字迹潦草:
“守望者协议概要:利用退役气象观测员网络,持续监测电离层异常。如发现规律性裂缝,视为‘门’可能开启。协议执行人:陈学义。备用联系人:周伯言。”
“但我从来没接到过通知。”周伯言说。
“因为备用联系人触发条件是我爷爷死亡或失联。”林秋石往下翻,“他失踪后,协议应该自动转给您。”
“没有转。”
“除非……”陈磐看向机器人,“除非有第三方干预。”
机器人安静地站着。它的指示灯平稳闪烁。
“小铁,”楚月轻声问,“你知道这个协议吗?”
“知道。”机器人回答,“我的存储膜里有一份完整副本。包括所有执行细则。”
“为什么没告诉周老?”
“因为我的第一条底层指令是:当周伯言身体健康指数低于阈值时,不得主动告知可能引发焦虑的信息。”机器人说,“周爷爷的心血管指数过去三年一直在阈值附近波动。”
周伯言苦笑:“所以你们觉得我扛不住。”
“是保护您。”机器人说。
林秋石盯着屏幕上的倒计时。四十七小时三十三分。
“现在裂缝在哪?”他问。
机器人接入实时数据:“黄海东部,向东移动,速度加快。预计十二小时后抵达……日本海上空。”
“然后呢?”
“根据过去五年轨迹推测,下一站可能是白令海上空,然后进入北极圈。”机器人停顿,“但烟台停留事件打乱了规律。裂缝开始停留了,而且发了信号。”
“这意味着什么?”楚月问。
“意味着门的另一边,有东西开始回应了。”陈磐说。
叶雨眠忽然捂住右眼,低哼一声。
“怎么了?”林秋石扶住她。
“紫色……好多紫色……”她指缝间渗出冷汗,“裂缝在……在‘生产’信号。像蜘蛛吐丝,把很多很多丝吐向地面。”
“接收点在哪里?”
“很多……很散……大部分在荒郊野外,但也有一些在城市里……”叶雨眠咬着牙,“北京有一个……上海有一个……长沙……长沙也有。”
周伯言猛地抬头:“长沙哪里?”
叶雨眠报出一组坐标。
周伯言脸色变了。“那是……老气象局的地下防空洞。六十年代建的,早废弃了。”
“防空洞里有什么?”陈磐问。
“当年存放过一些红岸续的淘汰设备。”周伯言回忆,“主要是接收天线和旧解码机。九十年代初就封存了。”
林秋石站起来:“去长沙。”
“倒计时怎么办?”楚月指着屏幕。
“路上想。”林秋石已经抓起外套,“陈哥,联系当地部门,我们要进那个防空洞。叶雨眠,你能追踪具体接收点吗?”
“距离越近越准。”叶雨眠脸色苍白但坚定。
“楚月,准备设备。周老……”林秋石看向老人。
“我跟你们去。”周伯言放下茶杯,“那地方我熟。”
机器人往前一步:“我也去。我的传感器可以辅助定位。”
陈磐看了它一眼:“你留下来保护数据。”
“数据已备份至云端加密空间。”机器人说,“我的存在价值在于现场辅助。而且……”它转向周伯言,“根据健康监测,周爷爷现在的状态需要随身医疗支持。”
周伯言拍拍机器人手臂:“那就一起。老陈当年造的协议,总得有个见证。”
去机场的路上,楚月一直在查资料。
“那个防空洞1978年就移交地方了,现在归属街道办,理论上是个仓库。”她划着平板,“但去年有份市政报告提到‘防空洞结构安全隐患排查’,里面说‘部分区域因历史原因未完全开放’。”
“历史原因指什么?”林秋石开车,眼睛盯着前方。
“没说。”楚月往下翻,“但排查负责人签章是……安全部门的。”
陈磐在后座接了个电话。挂断后,他沉声说:“防空洞的钥匙在区武装部。我们拿到许可了,但有条件:全程监控,不能带任何拍照设备进去。”
“他们要监视我们?”楚月皱眉。
“不。”陈磐说,“是要确保我们安全。”
叶雨眠靠着车窗,右眼的蓝光在昏暗车厢里微弱闪烁。“那些紫色丝线……越来越清晰了。它们从裂缝垂下来,像……像某种根系,在往地下扎。”
“扎到哪里?”周伯言问。
“很深。”叶雨眠闭上眼睛,“至少地下五十米。防空洞的深度是多少?”
“主体部分地下十五米,但有个竖井通到地下六十米的应急指挥所。”周伯言说,“那个竖井八十年代就封了。”
“没封严实。”叶雨眠轻声说,“有东西顺着井爬上来了。”
飞机起飞时,倒计时显示四十二小时十七分。
林秋石看着窗外越来越小的城市灯火。
“爷爷,”他在心里默念,“你到底留下了多少没说完的话?”
邻座,周伯言在教机器人认星座。
“那是北斗。看见没,勺柄那颗叫摇光。”
“看到了,爷爷。”机器人眼睛对着舷窗,“但根据星图,现在应该看不到摇光,它在地平线下。”
周伯言笑了。“所以我真老糊涂了。”
“不。”机器人说,“您没看错。那颗星……不在正常位置。”
楚月立刻调出星图软件。比对,标记。
“那颗‘星’的坐标……”她声音绷紧了,“和电离层裂缝当前坐标重合。”
“裂缝在发光?”林秋石问。
“不。”陈磐看着实时监测数据,“是裂缝后面的东西在发光。透过裂缝,让我们看见了。”
“看见什么?”
“一颗不该在那里的星星。”陈磐把屏幕转向他们,“天文台刚发来的紧急通报:天鹅座方向发现未知临时星体,亮度三级,持续时间未知。坐标……和我们追踪的裂缝完全一致。”
叶雨眠的右眼突然剧痛。
她看见的紫色丝线,在那一刻全部绷直。
像琴弦。
被一只看不见的手拨动了。