57. 閃光
雪兒很快把回覆送了出去。
她沒有說「這很危險」,也沒有問我是不是已經想清楚。那些話到了這一步,其實都沒有意義。她只是把終端上的幾個權限窗一一收起,聲音很平,也很穩:
「那我們今晚開始準備。」
這句話裡沒有鼓勵,卻比鼓勵更像陪伴。因為她知道,現在最沒用的,就是勸我不要把事情做大。事情早就已經大了,大到每一條還能勉強維持日常的線,都只是有人還在替它撐著、墊著、悄悄把裂口先按住。
我們不是今晚才開始越界。
我們只是終於不再假裝看不見,那條界線原來早就被人踩在腳下。
那夜再往後的時間,幾乎沒有真正的休息。
小粉藍、韋鳥和馬場那邊一來一往,把一些不能講得太細、卻又必須足夠明白的條件慢慢對齊。哪一個時段何婷婷家附近巡查密度最低,哪一條路口最近有新的藍羽喜鵲停過,韋鳥能做什麼,花生小馬又該怎樣在不太亮的情況下做掩護;若主線被截,哪一條次級路徑還有空隙;若空隙也沒了,訊號應該斷在哪一層,才不會一下子把整張圖都拖亮。
每一條都不完整,卻又夠用。
像所有真正活得久的地下計劃,本來就不是靠完整長命,而是靠每一塊都只知道自己該知道的那一小段。知道得太多,不會比較安全,只會比較亮。亮了,就容易被看見;被看見,就會有人想替你命名。
晚上十點四十七分,花園的燈已經轉進夜間節能模式。白光被壓低,邊緣卻反而更清楚,像整個世界都被削到只剩輪廓,連空氣裡那些原本可以藏人的灰,也被薄薄刮走了一層。回收箱旁邊那袋黑膠垃圾,看起來和其他袋子沒有分別,裡面混著鐵罐、膠樽、布料和幾件舊衣,鬆鬆垮垮地靠在牆邊,像一個剛被生活用完、準備丟棄的夜晚。
何婷婷把袋子放下時,沒有停留。
她的步伐不快,卻很穩,穩得幾乎沒有任何值得被系統單獨拎出來重看的地方。像只是順路把垃圾帶下來,再順路去便利店買點餅乾、牛奶,或者孩子明早會吃的麵包。她的影子在燈下被拉長,又很快被下一盞燈切斷,整個人像被城市一格一格收進去,沒有留下多餘的停頓,也沒有替任何一個鏡頭留出「她在等」的形狀。
她轉過街角時,黑膠袋仍然只是黑膠袋。
三十秒後,陰影裡有東西動了一下。
那動作很輕,輕得不像有人走出來,更像一塊本來便屬於黑暗的部分,暫時決定換個位置。韋鳥從花叢邊緣滑出來,鞋底擦過地面幾乎沒有聲音。他沒有直走,而是沿著光與暗的交界先繞了一圈,視線在半空與地面之間快速切換。監測點的位置、反射角度、遠處樓上的微光、樓道口玻璃門內那一下不自然的亮,全都被他在一瞬間記錄下來,又立刻捨棄。
他確認這一小段時間是空的,才靠近那袋垃圾,聲音壓得很低,像把字塞進空氣的縫隙裡,不讓任何一個字真的完整地落地。
「龜龜智力一千萬,銀鵰蠢。」
黑膠袋裡靜了一拍。
然後,一道低而穩的聲音從布料深處傳出來。沒有慌,也沒有疑問,像一個早就知道自己終究會被重新叫醒的舊存在,只是在等正確的門語。
「認證通遇。」
「可信任代理。」
韋鳥把手伸進去,沒有翻找,只是順著那一層硬殼的觸感,把聰明龜慢慢取出來。那重量很穩,穩得不像物件,更像一段被刻意留下來、不肯被刪除的時間。外殼有幾道細小刮痕,邊角也經過修補,摸上去不新,卻有一種很奇怪的完整——像不是零件完整,而是記憶完整。
他沒有多說一句話,轉身就走。
花圃在樓群之間,是一塊被制度容許存在的柔軟區。樹葉密,光被切碎,地面潮濕,氣味裡混著泥土、舊水管的冷,和植物夜裡緩慢吐出來的一點青澀。韋鳥把聰明龜放進最深的葉影裡,剛好遮住輪廓,也遮住任何會被高位鏡頭讀成「物件交換」的角度。
花生小馬已經在那裡等著。
牠沒有動,肌肉卻繃得很緊,像一條隨時會被放開的弦。鼻端有一點很淡的熱氣,噴在夜裡,立刻被濕冷的空氣吃掉。金龜子則在上方盤旋,幾乎透明,飛行軌跡刻意做得不規則,像一段被人故意養壞、因此很難被模型穩定歸類的錯誤訊號。
韋鳥半蹲下來,最後看了一眼街角外那道空路。
「出發。」他低聲說。
聰明龜沒有急著回應,只慢慢爬上花生小馬的背。牠的節奏總是慢三拍,但每一步都準,準得像牠從來不是靠快活下來,而是靠不錯。花生小馬輕輕一沉,四肢很快重新分配重量,然後穩住。
金龜子先動。
牠飛到最前面,在夜裡拉出一條幾乎不存在的路徑。韋鳥跟在側邊,不斷修正角度與節奏,花生小馬則壓低身體,一旦確認路徑乾淨,便用爆發速度切入。那一瞬間,整個隊形像不是三個點,而是一條被壓得極薄的線——前面是錯誤訊號,中間是速度,側邊是校正。
街口轉出一對雞鴨巡警,頭部同時抬起,感測器鎖定了那一瞬間異常得剛剛好的移動密度。
「目標確認。」
聲音很平,卻比警報更準,也更像結論。
它們不是「發現」你。
它們只是把你原本還沒被正式寫下來的存在,補進系統。
花生小馬已經衝出。
三條街的距離被壓縮成一段幾乎沒有呼吸的時間。韋鳥不斷切換路線,利用轉角與陰影拉開距離,金龜子在前方製造多重軌跡,讓巡警的預測模型開始出現偏差。有時候牠明明往左,反射裡卻像往右;有時候高度明明沒變,牆面投影卻故意晚半拍。那不是高明到看不出來的偽裝,而是專挑系統最討厭的那種錯——不夠大,不夠整齊,卻足以讓演算法一時沒法放心。
但距離仍在縮短。
前方,一輛懸浮巴士正要關門。
韋鳥視線一掃,沒有任何多餘考慮。
「跳。」
花生小馬全速衝刺。
最後兩步,重量開始拖慢牠的節奏。不是牠不夠快,而是快到極限之後,任何背上多出來的一點歷史,都會變成真正的重量。門幾乎要合上,牠的前蹄踏上車緣,卻差一點滑落。聰明龜身體一沉,幾乎要向後翻。
就在那一瞬間,一雙小手從車內伸出來。
一個小朋友。
他沒有猶豫,甚至不像完全知道自己在做什麼。他只是憑某種孩子才有的直覺,把花生小馬連同聰明龜一把拉進車廂。門在下一秒關上,巡警的影子被切在外面。
車廂裡很暖。
暖得近乎不合時宜。小朋友抱著牠們,眼睛發亮,像撿到一個可以帶回家的奇蹟。那種高興太直接,直接到讓整件事忽然有了一秒鐘近乎荒謬的柔軟。
「可以養嗎?」
父母皺眉,把牠們推回去。
「這些東西很骯髒。」
那句話不大聲,卻很像這城市面對所有不屬於清單的東西時,最本能的反應:先說髒,再說不能留。小朋友抱緊了一下,最後還是被迫鬆手。下一站,門一開,花生小馬落地,沒有回頭,立刻衝出車門。
「再見了,龜龜,馬仔。」
那聲音留在車廂裡,很快被門夾斷。可韋鳥後來大概會記得,那一秒鐘裡,世界原來還能有人只把牠們看成龜龜和馬仔。
他們躲進巷口角落。
一隻黑臉貓巡警守在必經之路上,尾巴輕輕擺動,眼睛穩得像整條巷子都是牠的範圍。牠沒有追,只是看。那種不動,比撲上來更麻煩。因為真正危險的捕食者,很多時候都不是靠衝,而是靠等。
韋鳥點燃雪茄,把電子煙霧拋向另一側。
煙霧不是遮蔽,更像一個小小的挑釁,一個測試——試牠到底只是守,還是會被干擾帶走。黑臉貓沒有動,甚至連看都沒有看一眼,像這種級數的干擾根本不值得浪費任何資源。
「改變目標。」聰明龜低聲說。
金龜子立刻下降,在黑臉貓視線前方做出不規則閃動。那種節奏不穩,正好踩在系統最不喜歡的區域:既不像正式威脅,也不夠像環境雜訊,讓判讀模型無法完全放心忽略。
黑臉貓終於轉頭。
牠追上去。
路開了。
他們切進後巷,半路中途,牆面忽然「長」了出來。
不是形容,而是真的。兩隻蜘蛛巡警從牆體表面剝離,像原本便是牆的一部分,只是現在決定成形。牠們的腿節貼著水泥,沒有聲音,網線卻已經在空中展開成一個預判形狀。
那不是捕捉。
是封路。
韋鳥一眼便看出來,這不是偶遇,而是補位。有人已經開始預測他們的路徑,而且不是粗略封鎖,是帶著提前量的那種。對方不需要知道他們每一步怎麼走,只要知道他們最後一定會想往哪裡逃,就夠了。
「偏左。」他低聲說。
花生小馬瞬間轉向,腳步貼地,速度沒有降,但路線被壓到極窄。金龜子在前方突然加速,故意在牆面投出三個錯位影像,試圖讓蜘蛛巡警的目標鎖定出現重疊。
第一張網線射下。
不是射,而是提前鋪開,像一張已經算好你會經過的地圖。韋鳥沒有停,直接貼牆滑過,讓網擦著肩膀過去。那一下很險,邊緣幾乎勾到外套,再慢半步,整個肩位都會被拖住。
第二張網線從上方壓下。
這一次不是封路,而是逼你往某一個方向走。韋鳥在那一秒便明白,他們不是要抓他,是要把他趕離主線。把有價值的東西和負責開路的人硬生生拆開。
他轉身。
「我引開。」
這句話很短,沒有情緒,也沒有多餘交代。像說的不是犧牲,而只是計劃裡最晚才會啟動、卻終究還是得有人去做的那一格。
他向另一條巷子衝去。
蜘蛛巡警立刻分流。一隻繼續封主路,另一隻全速追他。牠吐出的網不再是預判,而是連續鎖定,節奏越來越快。第一張,他側翻;第二張,他借牆彈開;第三張,他幾乎是貼著地面滑進陰影。
那裡光最少。
也是最容易被忽略的地方。
可第四張網沒有來自前方。
而是從側面。
一條幾乎看不見的細線,早已在那裡等著。不是追上來的,而是先放在那裡,等你自己撞進去。真正成熟的系統從來都不急著撲人。它只要比你早半拍知道你會往哪裡走,就可以把你的掙扎改寫成自投羅網。
韋鳥的腳踝被勾住。只差半拍。
他整個人向前失衡,下一秒,網線收緊,將他固定在牆面與地面之間。沒有撞擊聲,也沒有掙扎的餘地,只有一段原本還在移動的東西,被強制寫成「結束」。
他的視線仍然穩。
他看著遠處那條主線,沒有喊,也沒有再動。因為他知道,那條線如果回頭,會一起斷。到了這一步,任何出聲都不是求救,只會是定位。
而另一邊,花生小馬背著聰明龜衝刺,在寂靜的夜晚劃出一道幾乎看不見的光影。
橫巷很窄,窄到光都不願意完全進來。
前方,一隻笑面虎站著。
牠的笑沒有情緒,不是嘲諷,也不是威脅,而是一種已經預設好的表情,像系統預設的「友善界面」。可正因為太固定,才讓人知道——這不是給你看的,是給記錄看的。等將來有人回放這段,牠的臉會告訴所有人:程序一直都很平和,是你自己不合作。
後方,兩隻蜘蛛巡警已經補位。
這一次,不是追。
是收。
花生小馬停了一瞬。
不是猶豫,是身體在計算。
距離、重量、角度、爆發點。牠的呼吸變重,節奏卻反而更穩。到了真正不能亂的時候,很多生物都會安靜下來。那不是平靜,是所有不必要的東西都被身體自己關掉了。聰明龜在牠背上,沒有急著下指令,只慢慢把身體往前壓了一點,讓重心貼近。
「戴上。」牠說。
花生小馬照做。
眼罩落下,世界只剩方向與距離。太陽眼鏡壓住視線,讓那即將出現的光不至於把牠自己也吞掉。那一刻,牠不像一隻馬,反而像一件被校準到只剩任務的器械;可偏偏正是這種時候,牠身上那點不肯被完全工具化的野性才更明顯——因為真正的器械不會緊張,也不會想活。
笑面虎沒有動。
牠只是看。
像在等一個「合理結束」,等這場小小逃亡,最後順順利利被寫成系統早已預設好的收尾。
「七步。」聰明龜說。
第一步。
地面微濕,蹄聲被吃掉,只剩很悶的一下震動。
第二步。
後方網線開始收緊,空氣的阻力變了。
第三步。
笑面虎的頭微微偏了一下,像在更新目標角度。
第四步。
巷子的光被壓到最低,邊界開始模糊。
第五步。
蜘蛛巡警的網開始提前落點,不再等你進來。
第六步。
距離剛好夠。
第七步——
「現在。」
閃光蛋在空中炸開。
不是亮。
是白。
一種沒有邊界、沒有方向、甚至沒有前後的白,像整個感測系統在同一瞬間被洗掉。所有鏡頭、所有捕捉點、所有預測模型,在十秒內全部失去參考。那不是光照亮了世界,而是光把世界暫時拿走了。
笑面虎的臉第一次出現錯位。
牠的笑還在,卻已經找不到對象。
花生小馬沒有停。
第七步之後,直接起跳。
牠的身體在空中被拉長,像一條被釋放的線。重量在那一刻消失,聰明龜的殼貼著牠的背,像一個剛好對齊的點。牠越過笑面虎,落地,沒有停頓,立刻轉向衝刺。
那十秒,不是逃跑。
是消失。
當光退去,當系統重新接回視覺,當所有錯亂的數據開始回補,那條巷子裡已經什麼都沒有了。
只有一段無法對齊的空白。
四分十八秒後,一條簡報被送出。
沒有情緒,沒有修飾,只剩結論:
「聰明龜與花生小馬已安全抵達。」
「金龜子於次級降落點失聯,推定嚴重損毀。」
「韋鳥被捕,下落不明。」
畫面停在那裡,很久。
因為所有人都知道,那十秒白光並沒有真正消失。它只是暫時不在任何一個被允許的版本裡。可不被允許,不代表不存在。它只會先躺在某些人的心裡,像一道短短的、太白的傷口,等哪一天再被別的事碰亮。
而我心裡那個最不安的地方,反而一直停在另一頭。
何婷婷。
自從那晚之後,她再沒有消息。104 課室裡看不見她,聰明龜那邊除了排程,也沒有再傳回任何新的句子。她像忽然從整張圖裡退了一步,退回到那種最容易讓人誤會成「一切照常」的生活版本裡。
可我知道,事情不是這樣。
有些人不是突然消失。
而是開始等。
等門鈴,等家訪,等下一張很體面的通知,等那一扇幾乎沒有聲音便關上的門。等別人用最平和、最合規、最不帶情緒的方式,替你安排好下一步,好讓你連反應大一點,都會顯得像自己不夠穩定。
我靠在沙發背上,夜色一點一點往窗邊壓下來。屋裡那個合法主端口仍然在角落亮著一點綠光,像一顆永遠不肯睡的眼睛。我看著它,忽然很清楚地知道,接下來不會只是一隻聰明龜要被接走那麼簡單。
因為只要聰明龜一動,就表示所有人都已經默認了一件事——何婷婷那邊,快撐不住了。
而在那之後,下一個真正危險的,很可能就是阿朗夫婦。
不是因為他們現在做了什麼,而是因為他們離所有舊線都太近。馬場、改裝、熱血小馬、蘿蔔小馬、那些不該存在的中繼接口,還有現在這批百分之十七一旦也從他們那邊過手,他們便不再只是地下協力者,而會被重新寫進另一種更完整的觀察版本裡。
到那時,銀鵰要處理的,可能就不再只是某一隻非法代理。
而是整條曾經彼此替對方留過版本的舊線。