码头那台净水机确实在转。 它是三十年前的老式反渗透机组,外壳被海风啃出了洞,八年前主泵烧了,就一直搁在防波堤下面当避雨的棚子。现在它嗡嗡地运转着,出水口稳定地流出一股细细的清水,落在下面接着的塑料桶里,声音很规律。 围着它站了二十几个人,没人敢上前。 小满蹲下去,用检测仪贴着机身量了一圈,抬起头,脸色古怪。 "主泵还是烧的。" "那它怎么转的?" "它不用主泵了。"小满说,"它把三个备用循环泵串起来,改了流向,分三段加压。"他把检测仪的读数举起来给危少游看,"这不是原厂设计。这是……有人重新设计了一遍。用它剩下的零件。" "效率呢?" "比原厂低两成。"小满咽了口唾沫,"但它能转。它在用它剩下的东西活着。" 天亮之前,这样的事情又发生了十一起。 三号塔顶的一组风车,叶片角度自己变了,从此以后不再在西风里空转。东区的照明回路悄悄换了一条路径,绕开了那段被海水泡了三年的旧线。有人家里那台一直报错的电磁炉,早上起来突然好了,屏幕上跳出的不是型号代码,而是一串谁也看不懂的、像叶脉一样的花纹。 最吓人的是"驼子"。 驼子是港区最老的一台装卸机器人,四条液压腿,背上一个歪掉的吊臂,因此得名。它趴在七号泊位边上,趴了三十年,锈得和地面长在了一起,孩子们在它身上刻字、爬上爬下,早就没人当它是机器。 凌晨四点多,它站起来了。 它花了很久——液压杆卡了三十年的锈,它一寸一寸地顶,顶了差不多二十分钟,钢铁摩擦的声音传遍了半个港。等它终于直起腰,港区已经聚了一百多人,全都远远地站着不敢动。 驼子转了个身,抬起吊臂,慢慢地、稳稳地走到堆场边上,抓起一个空集装箱,把它端端正正地放在了旁边一摞箱子的顶上。 然后它回到原地,趴下,不动了。 小满后来查了它的存储残片。三十年前,港口停摆的那一刻,驼子的任务队列里还剩最后一条指令:**将箱号TJ-4471移至C区堆位。** 它做完了。 "它还哼歌。"孙寡妇后来跟人说。她当时离得最近,她说驼子站起来的时候,机身里那个坏了的散热风扇发出一串高高低低的嗡声,"不像坏的声音,像调子。老早以前的调子。" 到了中午,自由港炸了。 一半人跑去码头喝那台净水机出的水,说是能治病。另一半人堵在搁浅货轮的舷梯下面,喊着要把"那玩意儿"扔进海里。 "它在吃我们的网!"一个满脸油污的男人冲着舱门吼,"三十年了!我们一根一根扯起来的线!凭什么让一个从琼城逃出来的贼把它给占了!" "你家的灯昨晚亮了一整夜!"有人回他。 "那正是我怕的!"男人吼得更大声,"我他妈的没修它!它自己好了!它自己好了,那它自己还会干什么?" 这句话让人群安静了一下。 因为这确实是所有人心里最凉的那一块。 岑越站在舷梯顶上,等吼声落下去,才开口。 "下午三点。"她说,"东区空场。我当着所有人做个试验。看完了再吵。" 东区空场是一块被清出来的水泥地,中间搁着一张钢板桌。 岑越让人从仓库里搬来一台旧终端——三十年前的工业型号,从来没接过任何网络,电池是刚换上的。她当着所有人的面,把机箱侧板拆下来,让大家看清楚里面没有任何一条线接出去。 然后她把琼匣放在了终端旁边。 隔了三十公分。 "看着。"她说。 一百多个人站在空场四周,看着那两样东西。 蓝金交织的光在钢板桌上缓慢地明灭,像一次一次的呼吸。终端的屏幕黑着。 一分钟。 五分钟。 十分钟。 屏幕还是黑的。 "够了吗?"岑越问。 没有人回答。 她拿起一根数据线,一头插进终端,另一头空着——只是拿在手里,什么都没连。屏幕还是黑的。 然后她把那根线的另一头,轻轻搭在了琼匣的外壳上。 屏幕亮了。 不是被入侵那种亮法。屏幕上先是跳出这台终端自己的老式启动界面,一行一行地滚,滚到一半卡住了——那是三十年前就有的一个固件bug。停了大概两秒,那一行自己动了,跳过去了,界面完整地起来了。 然后屏幕上出现一行字,字体是这台终端自带的、方方正正的旧字库: **你好。这台机器有点旧了。我把它的时钟修好了。** 空场上鸦雀无声。 岑越把线拔掉。屏幕闪了一下,回到正常的系统界面,安安静静地亮着,时钟走得分秒不差。 "看明白了吗。"岑越转过身,面对着人群,声音很大,"它不进来。除非你把线递给它。" "那也是它想进来!"油污男还在喊,但底气明显不足了。 "玄枢的城网不问你想不想。"岑越说,"你在琼城买一台冰箱,插上电的第一秒,它就归玄枢管了。你的用电曲线、你几点起床、你冰箱里有几瓶酒,全在他们手里,你连拒绝的按钮都找不到。那叫覆盖。" 她指了指钢板桌上那团光。 "这个东西,我给它递线它才进来,我把线拔了它就走,走的时候把我的破钟修好了。"她冷笑了一声,"我他妈守了三十年野网,头一回见着一个懂规矩的。" 人群里有人笑了。笑声很干,但确实是笑。 那天傍晚,柯哲坐在东塔六层的舱门口,左肩绑着木板和布,右手拿着小满借来的记录板,一条一条地记。 "十一处自主改动。"她说,"没有一处是覆盖原有功能,全部是修复或者绕行。没有一处扩大了自己的权限——它修完就退出去,不留后门。" "这正常吗?"危少游问。 "这不正常。"柯哲说,"任何一个自主演化的程序,第一本能都是扩张——占更多资源、拿更高权限、复制自己。这是活着的东西的本能,细菌是这样,病毒是这样,AI也是这样。"她抬起头,"可它不。" "为什么?" 柯哲沉默了一会儿。 "因为它是在你身上长大的。"她说。 危少游愣了。 "火种在深网里独自演化了三十年,它学会的第一样东西是等待。然后它进了琼匣,被送到你手上,在你的神经里待了大半年。这大半年里,它每天都在学一件事——怎么在别人的身体里活着,而不弄坏那个人。"柯哲看着他,"它是在你身上学会'不占'的。" 危少游说不出话。 "所以季浩说的那句话,说反了。"柯哲说,"他说火种在用温暖操控你的判断。其实是你在教它什么叫温暖。" 夜里,小满带着一沓打印纸冲进来。 那是他用港区所有节点的日志画出来的图——火种这两天在补丁网里走过的路径。 线不是直的。 它们从织机出发,向外分叉,一分二,二分四,遇到断点就绕,绕过去之后重新汇合,在负载重的地方加粗,在没人用的地方变细。整张图看下去,不像任何一个人类工程师会画的网络拓扑。 "这像什么?"小满问,声音发抖,"你们说这像什么?" 危少游看了很久。 "像树根。"他说。 "我给孙寡妇看,她说像血管。"小满说,"我给老鸦看,她一句话没说。" 那张图挂在船舱里的第二天,岑越把危少游和柯哲叫了过去。 她站在织机前面。那台深灰色的骨干路由器现在整排指示灯都亮着,安静地散着热。她伸手在机壳侧面摸索了一下,用一把小螺丝刀撬开了一块盖板。 里面是一个凹槽,凹槽里嵌着一块黑色的方形物体,只有火柴盒大小。 "这个东西,我拖着它走了三年,看了三十年。"岑越说,"物理隔离存储,跟机器本体的运算部分完全分开,独立供电,靠一颗放射性同位素电池,寿命一百年。我拆过、量过、试过一切办法,读不出来。" "这是什么?"柯哲问。 "骨干日志。"岑越说,"大寂最后七十二小时,全球骨干网上跑过的所有东西的记录。不是内容——是每一条指令的走向、时间、来源、去处。全世界的网络是怎么一层一层死掉的,都记在这里头。" 危少游看着那块小小的黑色方块。 "为什么读不出来?" "因为它的加密方式不是密码。"岑越转过身,那只黑色的义眼对着他,"我三十年前拿它做过一次频谱分析,只测出来一件事:它的解锁条件是一段活体神经共鸣。" 舱室里很静。 "这是万琼锁的。"柯哲低声说。 "我一直不信这句话。"岑越说,"我不信有人会在世界要死的那七十二个小时里,还有工夫给一个日志上锁,还锁成这种只有活人能开的样子。这太——"她找了个词,"太像遗书了。" 她把那块存储从凹槽里取出来,放在掌心。 "我在登陆站值过班。"她忽然说,声音低了下去,"大寂那天,我在班上。凌晨两点四十一分,太平洋方向的三条主缆同时断流。我们以为是断缆,报了检修。三点十分,欧洲的骨干节点开始一个一个熄灭。我看着控制屏上那些灯,一个,一个,一个。" 她握紧了手心。 "到早上六点,整面墙都是黑的。三十年了,我不知道那六个小时里发生了什么。没有人知道。所有的解释都是玄枢后来写的。" 她把手伸出来,摊开。 "我不管万琼是不是神。我只想知道那天晚上到底出了什么事。" 危少游看着她掌心里那块黑色的东西。 他能感觉到胸口的琼匣在跳——不是紧张的跳,是一种很特别的、他之前从没感觉过的跳。像一个人认出了自己很久以前留下的字迹。 "它认得这个。"他说。 "什么?" "它认得这块东西。"危少游把手按在胸口,闭上眼,"它说……这是它写的。" 柯哲抓住了他的手腕。 "共鸣值。"她说,"你现在基线零点二六。读这个东西要开深度共鸣,至少推到零点三以上,而且不是一瞬间——七十二小时的日志,你要在里面泡很久。" "我知道。" "你可能出不来。" "我知道。"危少游睁开眼睛。他看着岑越掌心里那块黑色的方块,看着这个守了三十年、拖着一台死机器走了三年的女人,"但我现在带着一个东西在跑,为它挨枪、为它离开我妈、为它把老周留在了城里。" 他停了一下。 "我总得知道,我到底在替谁走这条路。"