小酒店的房間不大,床鋪占了大半空間,窗戶朝北,正對一條窄巷。
牆面上有幾道細長的裂紋,從天花板一直延伸到踢腳線附近,像是被反覆修補過,但始終沒有完全處理乾淨。
窗戶的鎖扣不太牢固,林楓檢查了一遍,確認它只能擋住風,擋不住任何稍微用力一點的外力。
他把窗簾拉上,金屬滑軌發出沙啞的聲響,在安靜的房間裡顯得格外刺耳。
電視開著,靜音模式,屏幕上正在播放一檔深夜綜藝節目,幾個嘉賓張大嘴笑著,畫面里的掌聲和歡呼聲被徹底隔絕在揚聲器之外,像是一場發生在真空里的狂歡。
林楓把外套掛在椅背上,在床沿坐下。
床墊偏軟,坐下去的時候整個人微微下陷了一點。
他拿出那部碎屏手機,放在膝蓋上,沒有解鎖屏幕,只是低頭看著裂紋深處映出的微弱反光。
屏幕邊緣有幾道細碎的玻璃碴子,指尖碰到的時候會發出極輕微的摩擦聲。
約莫半分鐘後,星曈從通風口的百葉窗縫隙中貼著牆面無聲地滑落下來,身形在半空中劃出一道幾乎看不見的弧線,在手機屏幕上方懸停了兩秒,然後輕輕落在他肩上。
它的重量幾乎可以忽略不計,落在肩膀上的觸感像是一片被風吹過來的樹葉。
「主人,我該從哪裡查起?」星曈的聲音壓得很低,雖然房間裡只有他們兩個,但它的習慣一直是這樣,在任何可能被監聽到的環境裡都會自動把音量降到只夠林楓一個人聽見的程度。
林楓從手機上調出一張地圖,是高架橋和武館之間的那片區域。
他用指尖在地圖上畫了一個不規則的圈,把張三次郎說的那條路線——從武館出來,沿著荒川岸邊走,到遇見那個穿皮套的人的位置——全部囊括進去,然後把沿途的監控點位一個一個標註出來。
他的標註方式很簡潔,每個點位只點一下,不寫注釋,不畫箭頭,像是已經在腦子裡把這些點位之間的空間關係排好了順序。
「這條路線上的公共攝像頭應該不少。你去把所有能調到的錄像都過一遍,從張三次郎說的那個時間段開始找。」
星曈靠近屏幕,兩隻眼睛裡亮起微弱的光,像是在掃描。
他把所有標註點位的坐標、編號和覆蓋範圍一一收入內部儲存,然後從林楓肩上躍起,落在床頭柜上那台老舊的電視櫃旁邊。
它通過酒店的網絡接入系統,先連上Wi-Fi,再通過幾個加密跳板進入東京都公共監控系統的後台。
這套流程它已經做過無數次,速度很快,從接入到獲取權限只用了不到二十秒。
屏幕上開始出現監控畫面的縮略圖,一排排按時間序列排列。
星曈的運算核心在後台高速運轉,同時調取那個區域內六個關鍵點位的錄像,以四倍速播放,面部識別模塊全程開啟。
畫面在屏幕上快速閃過,路燈下的巷口偶爾有行人經過,大多是剛從居酒屋出來的上班族,領帶松著,步伐散漫,有的三三兩兩扶著肩膀唱歌,有的獨自低頭看手機。
畫面播放到第十一分鐘的時候,一個穿著深色緊身連體衣的人出現在鏡頭邊緣。
星曈立刻把播放速度降到正常,將那一幀畫面鎖定,放大。
那個人身形比周圍的行人略高一些,體型偏瘦,但看不出具體的肌肉輪廓,因為那層深色材質緊緊貼在身體表面,把所有本該顯現的骨骼和肌肉線條都模糊成了一道光滑的弧面。
頭部被完全覆蓋,一直到下頜的位置都是那種材質,沒有眼睛的位置,沒有嘴巴的位置,沒有鼻孔的位置,整個頭部看起來像是一顆被打磨光滑的深色鵝卵石。
它在畫面中停留了大約三到四秒,沒有抬頭看攝像頭,沒有側身躲避,沒有任何一個多餘的動作,像是完全不擔心會被拍到,又像是在它的認知里,被拍到和被一塊石頭看到沒有區別。
然後它朝巷口的方向走去,步伐均勻,速度恆定,消失在鏡頭的覆蓋範圍之外。
星曈把那段畫面截取下來,將那個身影從背景中摳出,放大局部,用算法補全了部分因像素不足而模糊的邊緣。
但面部區域始終沒有顯露出任何可辨認的五官特徵。
不是模糊——模糊是數據不夠導致的細節丟失,可以通過算法推演來部分還原。
但畫面中那張「臉」的缺失不是數據層面的問題,而是材質本身就在吸收或散射光線,所有射到它表面的光都沒有按照正常的方式反射回來。
星曈嘗試了三種不同的圖像增強算法,結果都一樣——那片區域依然是一片光滑的深色,沒有任何特徵點可以抓取。
它把這組特徵數據與公共監控系統的資料庫進行了比對,沒有找到匹配項。
又擴展到出入境管理系統,同樣沒有。
「主人,找到了。」星曈把畫面傳回林楓的手機屏幕上,「事發當晚十一點三十四分,張三次郎描述的那個位置。和他說的一樣,穿深色連體衣,表面沒有接縫,沒有面部特徵。」
林楓拿起手機,盯著畫面上那個深色的輪廓看了幾秒。
他沒有放大,也沒有反覆回放,只是把那幾秒鐘的影像從頭看到尾,然後在那個身影消失的那一幀上按了暫停。
「繼續。」他說,語氣平靜,像是在下一道他已經知道答案但還需要確認的指令,「既然它沒有刻意避開攝像頭,就說明它不認為會被認出來,或者它知道這裡的設備拍不到它的臉。沿著它離開的方向,把周邊的監控全部拉出來,街道、地鐵站口、便利店門口、交通卡口,任何可能拍到它的地方都不要漏。找到一個方向,就順著它的路線往下推,直到推不動為止。」
星曈沒有多問。它重新接入系統,運算速度在後台拉滿,開始以那個巷口為原點,向外擴展搜索範圍。
她在同一時間處理十二條監控線路的數據流,畫面以八倍速在屏幕上滾過,一些街道的監控畫面被截取和放大的頻率越來越高。
江東區的街道監控、荒川兩岸的交通卡口、地鐵東西線的站台錄像、JR總武線的換乘通道——一條一條拉出來,逐幀比對。
那個身影第二次出現在大島四丁目的一個便利店門口。
監控畫面顯示它從人行道上走過,經過便利店門口時沒有停下來,沒有往裡面看一眼,步行的速度依然保持均勻。
便利店的自動門感應到有人經過,滑開了一條縫,然後又關上。
店裡的收銀員抬了一下頭,但那個身影已經走過去了。
第三次出現在龜戶站附近的一個路口。
它在紅燈亮起的時候停在人行道邊上,和其他幾個等紅燈的行人站在一起,距離最近的那個人離它不到兩米。
那個人正在低頭看手機,完全沒有注意到身邊站著一個沒有臉的東西。
綠燈亮起,它繼續往前走,穿過路口,拐進了一條支路。
第四次出現是在那棟公寓樓前。
公寓樓位於江東區北砂五丁目,樓齡偏老,外牆是米黃色的塗料,在監控畫面的夜間模式下呈現出一種褪色的灰白。
那個身影走到公寓樓門口,抬手推開門,走進去,門在它身後自動關上。然後它就再也沒有出現在後續任何一段公開監控畫面中。
星曈把公寓樓的位置標記下來,與地圖數據、房產登記信息和市政檔案進行了交叉比對。
樓里一共有十二戶,其中八戶有長期居住記錄,三戶空置,一戶的登記信息模糊不清——登記的住戶名字是一個已經過世三年的人。
那套房間在三樓,朝北,窗戶正對停車場。
星曈把目標鎖定在那套房間上,然後把所有截取到的畫面和相關數據壓縮打包,發送回林楓的手機。
「主人,最後消失的位置是這棟公寓樓,江東區北砂五丁目。登記信息有問題,三樓那間房的戶主在三年前已經死亡,但最近一個月有水電使用記錄。它應該就在那裡。」
林楓靠在椅背上,把手機屏幕上的坐標看了一遍,然後把手機扣在膝蓋上,仰頭靠住床頭板。
天花板上有一塊水漬,形狀不規則,邊緣發黃,像是樓上某個管道漏過水,修好之後痕跡就一直留在那裡。
他盯著那塊水漬看了很久,沒有動,也沒有說話。
他想起張三次郎描述中提到的「不是皮套」,想起那條警告信息里措辭清晰但來源無跡的文字,也想起濟州島那片顏色異常的海水,首爾的地震波,長白山上被抹去的整個生態系統。
這幾件事之間隔著幾層不同的維度,彼此之間看起來沒有直接關聯,但它們像是屬於同一條正在緩慢成型的線索。
他第一次感覺到手邊的可選項不如以往那麼多。
不是因為他的能力不夠,也不是因為信息太少,而是因為對方不在他熟悉的認知範圍內。
面對趙銘、陸氏三兄弟,他可以預判對方的每一步棋,因為他們的思維邏輯建立在同一套規則之上。
面對清道夫,他雖然一度陷入被動,但清道夫說到底還是人類——強大,訓練有素,擁有先進裝備,但仍然是人類。
可操作。可理解。可擊敗。
而這一次,他要面對的是一個完全未知的東西。
他不知道它們如何獲取能量,如何感知環境,如何思考,如何做出決策。
他不知道它們的身體結構是什麼樣子的,那層「長在上面」的材質是外骨骼還是人工裝備,是生物體還是機械體。
他甚至不知道「外星人」這個標籤本身是否準確——它們是來自另一顆星球,還是來自另一個維度、另一個時間線、另一個完全超出他認知框架的存在形態。
這種未知不是恐懼。
林楓已經很長時間沒有感受到恐懼這種情緒了,醫療艙對身體和神經系統的多次優化在很大程度上削弱了恐懼所依賴的生理基礎。
但他能感覺到另一種東西,一種類似於面對一道從未見過的題型時的緊張感,不是害怕做錯,而是意識到自己目前掌握的所有解題工具可能都不適用於這道題。
這種緊張感在胸腔里形成一種細微但持續的壓力,提醒他還需要更多的信息,更多的時間,更多的準備。
而他現在最缺的就是時間。
他起身走到窗邊,一隻手扶著窗台,指尖搭在窗沿邊緣,感受到窗台表面細微的溫度變化。
窗外的東京夜晚依然繁華,遠處的高架橋上車輛川流不息,尾燈拖成一道道紅色的光帶,沿街的便利店和居酒屋門口亮著暖黃色的燈光,偶爾有行人穿過斑馬線,影子被路燈拉長又縮短。
一切看起來都和平時一樣,平穩、有序、可預測。但他知道在這層平穩的表象之下,有些東西已經不一樣了。