林劫把墨影送來的那臺舊伺服拆開的時候,沈易正好推門進來。他看了一眼滿地的螺刀、跳線帽和拆下來的記憶條,把手裡兩罐咖啡放在桌上,挑了個沒被零件佔著的角落坐下來。
“伺服是給你用的,不是給你拆的。”
“不給用。”林劫頭也沒抬,手裡著一跳線,正在主機板上找什麼東西,“墨影的伺服,底層韌裡埋了三層追蹤協議。一層是墨影自己的,用來監控裝置位置。第二層是龍系統的殘留監控——這是從龍穹科技淘汰下來的舊裝置,系統沒清乾淨。第三層我不確定是誰放的,不是墨影,不是龍,加方式跟陳博士實驗室的留程式碼很像。”
沈易拉開咖啡罐的作停了一下。“你是說墨影的裝置裡被人埋了後門?”
“至這臺有。”林劫把跳線帽進一組的針腳上,主機板上的指示燈閃了一下,從紅變綠。“我把追蹤模組的供電跳線拔了。現在這臺伺服的網路功能只剩下一張網絡卡,除了收發資料包什麼都幹不了。沒法被定位,也沒法往外發訊號。”
“那還能用嗎?”
“能。就是慢點。”林劫把那組拆下來的零件掃到一邊,拿巾了手,把伺服接上電源和網線。機啟的時候風扇聲音像一架小型無人機起飛,吹得桌上的紙巾飄出去好幾張。“錨點環境需要的東西不多。算力,記憶,一個乾淨的儲存分割槽。這臺夠用了。”
“乾淨的儲存分割槽?”沈易環顧了一圈地下室。牆角堆著陳博士實驗室淘汰下來的舊碟,有幾塊標籤都掉了,不知道還能不能用。桌上的外賣盒子摞了三層,最上面那個裡面的剩飯已經長了綠。“你管這兒乾淨?”
“我說的是資料乾淨。”林劫在鍵盤上敲了幾下,螢幕上彈出一個儲存分割槽的格式化進度條。“陳博士實驗室的舊碟上全是蓬萊計劃的殘留資料。殘缺的碎片、失敗的提取記錄、被覆蓋了一半的意識殘片。那些東西不能帶進錨點環境——任何一個碎片掉進來,都會汙染想記住的東西。”
沈易沒有說話。他想起了王博士說過的那句話——“錨點救不了他。錨點只是讓他以為自己還活著。那不是救,是騙。”陳博士的錨點,是把人按在水裡,往他手裡塞一塊石頭。林劫要做的事剛好相反——是把從水裡托起來,給一塊踩得穩的礁石,然後把手鬆開。但這需要一片乾淨的水域,不能有沉船的碎片,不能有別人的影子。
格式化進度條走到百分之百。林劫開始往新分割槽裡寫資料。不是寫程式碼,不是搭環境,是先寫了一份文件。沈易從旁邊看了一眼螢幕——是一份清單,每條前面都有一個數字編號。
“1.煮麵的背影。完整度93%。環境要素:廚房,灶臺,鍋裡冒熱氣。聲音要素:水開的聲音,筷子攪面的聲音,回頭時拖鞋底蹭地面的聲音。覺要素:鍋沿的燙,水汽打在臉上的溼。標註:等待,期待,被需要。”
“2.橘子。完整度未知——的版本,不是你的。環境要素:冷櫃的涼氣,紅塑膠袋的。覺要素:橘子皮的,指甲掐進皮裡的凹陷。標註:甜,被照顧,手心有東西握著。”
“3.海邊。完整度不適用——最初是你的記憶,但在裡面站過之後,水漫過了的腳踝。水知道站在裡面。環境要素:海浪聲,鹹味的風,那雙鞋底磨歪了的拖鞋。標註:困(最初),確認(現在)。說‘不對’之後,海變了的。”
“4.回頭。完整度93%。環境要素:門開的聲音,腳步聲,或者只是水開了,習慣地回頭看一眼。標註:確認。確認門口站著的人是你。確認你在等。確認煮的面會被吃完。”
“5.橘子皮上的指甲印。完整度未知。環境要素:橘子被握著,被捂熱,被放在桌上。標註:數數。數日子?數你說過的話?數記得的事?不確定。但一直在數。”
沈易看完這五條,咖啡罐端在邊停了很久。這不是技文件,也不是修復方案——是他把的記憶從自己腦子裡挖出來,一塊一塊擺在桌上,然後退開兩步,讓自己來挑。哪一塊是認得的,哪一塊不是。
“你自己呢?”沈易問。
“什麼?”
“這五條錨點,每一條都跟有關。煮麵的背影,等的人是你。橘子,記得的味道是你剝的。回頭,確認門口站著的人是你。海邊,說了‘不對’,但沒有走。橘子皮上的指甲印,數的是什麼你不知道,但一直在數。”沈易把咖啡罐放在桌上,罐底在桌面磕出一聲響,“這些錨點不只是的記憶,也是你的。你把它們寫下來,放進錨點環境裡——你也會被拉進去。”
林劫的手指停在鍵盤上。螢幕上那五條錨點安靜地排一列,像五塊從退的沙灘上撿起來的石頭。“我知道。錨點不是單向的。能抓住,我也能。抓住會浮上來,我抓住——”他沉默了幾秒,“我抓住會留在裡面。”
“留在夠得到的地方。”沈易補完了他沒說完的那半句。
林劫沒有回答。他把清單文件最小化,開啟錨點環境的構建介面。墨影這臺舊伺服的架構很老,跑的是蓬萊計劃早期的基礎框架。好是這套框架跟陳博士的加方式同源——不是往上相容的那種同源,是骨子裡長在一起的同源。壞是慢。記憶只有128G,理是幾年前的型號,跑一個基礎錨點環境的渲染就要佔掉將近一半的算力。
他把第一條錨點的環境要素一個一個填進去。灶臺不難——他在給林雪搭建海邊的時候做過一遍,那段程式碼他還記得,稍微改改就能用。鍋裡的水要冒熱氣——理渲染引擎太吃算力,他用了一個取巧的辦法:把熱氣的畫做迴圈播放的影片圖,解析度不高,但距離拉遠幾寸就看不出來了。聲音最難。不是水開的聲音,不是筷子攪面的聲音,是拖鞋底蹭地面的聲音。
那個聲音太輕了,輕到他從來沒有刻意去記過,但它就在那裡,在記憶的最底層,像一塊被沙子埋了太久的石頭。林雪每次從灶臺前面轉過來,右腳會先,拖鞋底蹭一下地面,然後整個轉過來,臉上有一點熱出來的紅。那個聲音很短,不到零點三秒。他反覆錄了幾遍都不對。太響,太悶,太脆,太假。怎麼聽都不像。
沈易看他折騰了快半個小時,站起來走了出去。過了大概一刻鐘,他拿著一雙舊拖鞋回來了。那是從隔壁廢品站撿的,鞋底磨得幾乎明,有一塊還缺了個角。林劫接過來,翻過去看鞋底紋路——和林雪從前那雙很像,是那種廉價泡沫底的,穿久了會在水泥地上磨出一種很特別的響。
他把手機放在地上,用拖鞋底蹭過去。錄了三遍,挑了一段最接近的,放大波形,微調了一下頻率。然後放進錨點環境裡。灶臺上鍋冒著熱氣,水在翻湧。他把那段聲音檔案拖進時間軸的時候,手指停了一下。就一下。然後他鬆開了鼠。那個聲音被放在第一幀和第三幀之間——從灶臺前面轉過來的那一瞬間。拖鞋底蹭過地面,不到零點三秒,很輕,輕到如果不仔細聽就會被水開的聲音蓋過去。
活著的時候,這個聲音每天都會響起。早上煮粥,晚上煮麵,半夜給他熱剩飯。他從沒注意過。現在他把它找回來放進了一個虛擬的廚房裡,等來踩。
。說易沈”。的到聽會“
。走在雲,吹在風,在浪的裡畫但,畫的上牆在掛幅一像,去出看戶窗房廚從。吸呼己自會但,憶記的是不,次一新更自時小六每,的來出算換料資汐時即的來取擷裡料資象氣共公的統系龍從他是,的寫他是不數引的海片這。紅變再灰變藍從間時隨會的空天,化變速風據會度高的花浪,的實真是汐——海的變會片一是,海的午下在停遠永片那裡憶記他是不。水海片一了放外戶窗的房廚在是而,海片那建重有沒他。邊海,條三第。握來等。上桌小的邊旁臺灶在放。節細何任有沒,的濛濛灰,樣一的給前之和——白空片一是,子橘的了幹都皮隻那裡憶記他是不。子橘。去進了放也點錨條二第把他。頭抬有沒劫林
。著白空直一會裡那,了得記不都麼什果如。聲步腳有會就裡那,聲步腳得記果如。音聲有會就裡那,音聲的開門得記果如。方地的充填己自要是那。的灰是都理紋板地連,有沒也麼什。白空塊小一了留口門房廚在是只,面畫放有沒,音聲放有沒他。頭回,條四第
。子印道幾掐面上在要定決己自讓,子橘的灰個一了留邊手在只他以所。道知不他?事的得記數?話的過說他數?子日數——麼什數能。麼什放該道知不是,了忘是不。放有沒也他。印甲指的上皮子橘,條五第
。來沒還人但。來進門推人等就,了好擺都西東,子屋的完拾收剛間一像。了頭過點有得靜安。靜安很。灰塊一有口門,退漲外窗在海,氣熱著冒鍋。房廚的靜安個那上幕螢著看,上背椅在靠劫林。完放部全點錨條五
”。趟一影墨回我。著等兒這在你“。桶圾垃進扔罐啡咖空把來起站易沈
。向方的己自有都花浪波一每。的他是不,海的是外窗。漲在正水。海片那上幕螢看在他。答回有沒劫林








