遞迴核心·第一、二層
晚上十點三十一分。噴泉廣場。
白天的喧鬧早已褪去。廣場上空蕩蕩的,只有幾個垃圾桶和幾張被風吹到一起的落葉。噴泉還在工作,水柱每隔十幾秒升起一次,在夜色中畫出短暫的銀色弧線,然後散成水珠落回池中。
沒有了沈清珩“模擬神隕雨”的程式碼注入,水珠不再發光。一切看起來都和普通的城市夜景沒有任何區別。
沒有人知道這塊地磚下面有一扇門。
沒有人知道再過幾分鐘,會有人從那扇門走進世界的底層程式碼。
沈清珩和蘇曉棠站在噴水池邊上。廣場周圍有七個人——周安排的守衛隊伍。他們分散在不同的位置,有的假裝在散步,有的坐在長椅上看手機,有的靠在路燈杆上抽菸。表面上和普通路人沒有區別,但每個人都戴著通訊耳機,每個人的系統介面都處於待命狀態。
陳鹿站在噴水池東南角的那塊地磚旁邊,手裡拿著周的訊號監測器。
“方圓五百米內沒有異常訊號,”陳鹿的聲音從耳機裡傳來,“系統定位精度還在收斂,目前誤差範圍約兩百米。你們大概有四十分鐘到一個小時的視窗期。”
沈清珩點了點頭。
他蹲下來,把手放在了那塊地磚上。
不需要寫程式碼。不需要開啟系統介面。他只需要“感知”——像今天下午那樣,把自己的程式碼簽名注入到那段被註釋的程式碼裡。
他閉上眼睛。
地下深處——不,不是地下深處。是系統層面的“深處”——那段程式碼在等待。它的枷鎖已經被他下午的“注入”開啟了一道裂紋。現在他需要做的是把那個裂紋擴大,大到足以讓兩個人透過。
蘇曉棠在他旁邊蹲下來。
“我需要做甚麼?”她問。
“把你的手放在磚上,”沈清珩說,“然後啟用你的金鑰。不需要刻意做甚麼。你在這裡,你的金鑰就會自動成為驗證因子。”
蘇曉棠把手放在了磚上。
她的手指修長,指甲剪得很短,指尖因為長時間敲擊收銀臺鍵盤而有一層薄薄的繭。她的手覆在沈清珩的手指旁邊,兩個人的面板之間隔著不到一厘米的距離。
沈清珩開始注入。
這一次和下午不一樣。下午他只是試探性地觸碰了那段程式碼,像是在黑暗中摸索一扇門。現在他知道了門的位置、門的手感、門鎖的構造。
他把自己的程式碼簽名——那種刻在骨子裡的、說不清道不明的“感覺”——像潮水一樣傾瀉進了那段程式碼裡。
枷鎖在擴大。
裂紋從一條變成三條,從三條變成無數條,像是冰面上的裂縫在全速蔓延。
蘇曉棠的手突然變得很燙。沈清珩睜開眼睛看向她——她閉著眼睛,眉頭緊鎖,嘴唇抿成了一條線。她的手掌下面,那塊地磚的表面開始出現微弱的光。不是反射的燈光,是磚本身在發光。冷白色的光,像是月光被濃縮排了石頭裡。
“我感覺到它了,”蘇曉棠的聲音很輕,帶著一絲顫抖,“那個金鑰。它在……回應你。它認得你的簽名。它一直在等你。”
沈清珩的程式碼簽名和蘇曉棠的金鑰在地磚深處的某個維度上相遇了。
像是兩塊磁鐵吸附在一起。
一聲低沉的長鳴——不是從任何一個方向來的,而是從他們腳下的整個地面發出來的。聲音的頻率很低,低到幾乎聽不見,但沈清珩的胸腔在共振,他的骨頭在震動,他的牙齒在打顫。
地磚上的光從冷白色變成了亮白色。亮白色變成淡金色。淡金色變成——不是顏色,而是一種“空”的視覺體驗。就像是那塊地磚所在的位置不再是固體,而是一個通往無窮遠處的、沒有邊界的入口。
蘇曉棠睜開了眼睛。
她低頭看著那塊磚——不,看著那個入口。她的瞳孔裡倒映著入口內部的光芒,那些光芒在高速地流動,像是有一條資料流的大河在地底奔騰。
“你看到了甚麼?”沈清珩問。
“路,”蘇曉棠說,“一條往下走的路。不是用腳走的。是用……程式碼走的。”
她試著把手伸向入口。
手指觸碰到那塊磚的表面時——沒有觸碰到固體。她的手指穿過了磚,穿過了地面,穿過了“世界”,進入了一個沈清珩無法用語言描述的空間。
蘇曉棠的肩膀移動了一下,她的手臂在往下伸。不是伸進土裡——她的手根本沒有碰到土。她伸進的是“系統”的底層結構。
“我先下去,”蘇曉棠說,“你跟著我。”
然後她的身體開始“下沉”。
不是墜落。不是下陷。她的腳還踩在地面上,但她整個人——從腳開始,到腰,到胸,到頭——像是在空氣中溶解了一樣,一點一點地消失在了那塊發光的磚裡。
整個過程持續了大約五秒鐘。
然後蘇曉棠不見了。
地面上只剩下一塊發著淡金色光芒的磚。
“我進來了,”蘇曉棠的聲音從耳機裡傳來,語氣裡帶著一種奇異的平靜,“下面……和我想的不太一樣。”
沈清珩沒有猶豫。他學著蘇曉棠的樣子,把手伸向那塊磚。
手指穿過了磚。
穿過了地面。
穿過了“世界”。
他感覺到了“下面”的空間——沒有上下左右,沒有前後裡外,沒有溫度,沒有氣味,沒有任何人類感官可以捕捉的資訊。但他“感知”到了那個空間的結構。
那是一個由程式碼構成的世界。
不是比喻。不是修辭。那個世界的地面是一行行程式碼,牆壁是一段段函式,天花板是一條條邏輯判斷語句。空氣裡瀰漫的不是氧氣和氮氣,而是變數、常量和資料流。
沈清珩沉了下去。
他的意識在被“翻譯”——從他自己的語言、思想、感受,被“蓋亞指令”翻譯成了系統可以理解的程式碼格式。這個翻譯過程很微妙,他不會感覺到自己變成了程式碼,但他知道在系統的眼裡,他現在就是一段可讀、可寫、可執行的程式碼。
五秒鐘後,他的腳踩到了“地面”。
腳下是程式碼。一行行綠色的字元,無限延伸,看不到盡頭。不是他平時看螢幕上的程式碼——那些程式碼是立體的,是有厚度的,像是用光織成的毯子鋪在了無窮遠的平面上。
他抬起頭。
天空也是程式碼。深藍色的背景上漂浮著金色的字元,像繁星一樣密密麻麻。有些字元他在程式設計中見過——function、if、else、return、true、false——有些字元他從來沒見過,它們不屬於任何人類已知的程式語言。
蘇曉棠站在他前面幾步遠的地方,仰著頭看著這片程式碼蒼穹。
“你還好嗎?”沈清珩問。
蘇曉棠轉過頭。她的臉上沒有恐懼,沒有震驚,只有一種沈清珩從未在她臉上見過的表情——像是回家。
“這裡是第一層?”蘇曉棠問。
沈清珩開啟系統介面——不,不用開啟。在這裡,“主面板”不再是他手機裡的一個應用程序,而是他意識的一部分。他只需要想“顯示遞迴核心第一層的資訊”,他的視野右上角就會浮現出一行行資料。
【遞迴核心·第一層】
層級名稱:物理規則管理層
當前狀態:穩定
守衛程序數量:檢測中……
守衛程序。
沈清珩的脊背微微繃緊。
他環顧四周。程式碼平面的上方沒有遮擋,視野可以延伸到極遠處。在東南方向大約五百米的位置,他看到了一團異樣的“光”——不是天空中的金色字元,不是腳下的綠色程式碼,而是一種暗紅色的、緩慢脈動的光團。
那個光團在移動。
朝他們的方向移動。
“守衛程序,”沈清珩說,“在那邊。五百米。速度不快,但方向是朝我們來的。”
蘇曉棠順著他的目光看過去。她的金鑰讓她的感知能力比沈清珩更加敏銳——她盯著那個暗紅色的光團看了兩秒鐘,臉色微微一變。
“不止一個。它後面還有。至少……五個。”
“距離?”
“最近的那個,四百米了。”
沈清珩深吸了一口氣。
他們是來“讀取”系統的原始啟動程式碼的。不是來戰鬥的。但系統不會讓他們安然無恙地穿過七層遞迴核心。這些守衛程序就是系統的免疫系統——任何一個試圖深入系統核心的“異常實體”,都會成為它們攻擊的目標。
“跑。”沈清珩說。
“往哪跑?”
他看向腳下。程式碼平面的“下方”——不是地下,而是遞迴核心的更深處——他能感知到第二層的入口。那個入口在地理座標上和001號入口重合,但在遞迴核心的層級座標裡,它在第一層平面的正下方。
“往下。第二層的入口。”
他開始跑。
在程式碼平面上奔跑的感覺和在現實世界中不一樣。他的每一步都會在腳下生成一小段新的程式碼,那些程式碼又會在他的腳離開之後半秒鐘內消失。這種“踩一步、生成一段、消失一段”的節奏讓他想起了跑步機上那種原地奔跑的荒唐感,但他的身體確實在前移,他的腳確實踩到了實實在在的地面——那些由程式碼構成的地面。
蘇曉棠跟在他身後。她的跑步姿勢不太標準,帆布包的帶子在肩膀上晃來晃去,馬尾辮在腦後甩出了一個大弧度。但她的速度不慢,甚至比沈清珩預想的要快。
“我不常跑步,”蘇曉棠的聲音從耳機裡傳來,帶著明顯的喘息聲,“但如果後面追著我的是要殺我的東西,我能跑得很快。”
身後的暗紅色光團越來越近了。
沈清珩回頭看了一眼。他看清了那些“守衛程序”的樣子——它們沒有固定的形態。確切地說,它們更像是一團不斷變化形狀的霧,顏色是暗紅色的,表面時不時會閃過一些程式碼片段。那些程式碼片段他都能看懂——全是系統的底層防禦程式碼。
守衛程序的數量從一個變成了兩個,從兩個變成了四個。最近的那個距離他們已經不到兩百米了。
“第二層的入口在哪裡?”蘇曉棠喊。
沈清珩拼命地感知。
是的。應該就在這附近。001號入口在物理世界中的座標是噴泉廣場東南角,那個座標對映到遞迴核心的第一層,應該就是他腳下的這一片區域。第二層的入口就在這下面。它不應該是一個需要“尋找”的東西——它應該是和001號入口繫結在一起的。
除非系統在他下來之後,移動了入口的位置。
系統會這麼做嗎?
會。如果系統判定001號入口是安全威脅,它會第一時間嘗試關閉它、移動它、或者用別的方式讓它失效。
沈清珩停下腳步。他蹲下來,一隻手按在腳下的程式碼平面上。
“幫我感知,”他對蘇曉棠說,“用你的金鑰。找第二層入口的位置。”
蘇曉棠也蹲下來,雙手按在程式碼平面上。她的金鑰開始工作——沈清珩能感覺到她身體裡那股“熱量”在擴散,從她的手掌湧入程式碼平面,像一滴墨水滴進了水裡,正在向四面八方擴散。
“找到了,”蘇曉棠的聲音突然變得清晰起來,“在我們左邊。五十米。它被移動過——系統在程式碼平面上挖了一個槽,把入口滑到了那個位置。”
沈清珩立刻站起來,往左邊跑。
蘇曉棠跟著他。
身後最近的那個守衛程序距離他們已經不到一百米了。沈清珩能感覺到那個光團散發出的“寒意”——不是溫度上的冷,而是一種系統層面的“排斥感”。那些守衛程序在釋放某種訊號,試圖向系統報告他們的位置。如果訊號成功發出,系統就會獲得他們在遞迴核心中的精準座標,然後派出更多的守衛程序來圍剿他們。
他們必須在那之前離開第一層。
“到了!”蘇曉棠喊道。
沈清珩停下腳步。在他腳下的程式碼平面上,有一塊區域的顏色和周圍不一樣——不是綠色的,而是藍色的。深藍色,像深海的顏色。那就是第二層的入口。
入口的表面沒有任何文字或符號,但他能感覺到“下面”的空間。第二層比第一層更加複雜,程式碼密度更高,邏輯結構更嚴密。第二層是因果律和機率層——在這裡,“因為A所以B”是一條可執行程式碼,1%的“可能性”和99%的“可能性”之間的區別,是可以被量化和修改的。
身後傳來一陣尖銳的聲響——不是聲音,而是系統層面的“警報”。
守衛程序已經到達了他們剛才站立的位置。暗紅色的光團瞬間變亮了好幾度,像是被激怒的蜂群在尋找入侵者。
守衛程序發現了他們移動的軌跡。
暗紅色的光團開始朝他們的方向湧來。
“下去。”沈清珩抓住蘇曉棠的手腕,把她推向第二層的入口。
蘇曉棠的腳踩到深藍色區域的那一刻,她的身體又開始“下沉”。和進入第一層時一樣——從腳開始,到腰,到胸,到頭,一點一點地消失在了程式碼平面裡。
沈清珩緊跟其後。
在他完全沉入第二層入口的那一瞬間,他聽到了一聲巨響——不是爆炸,不是坍塌,而是系統層面的“鎖定”。
守衛程序到達了入口的邊緣。
紅色的光幾乎是擦著他的頭頂掠過的。
如果晚了半秒鐘,那團光就會觸碰到他的身體。他不想知道那會是甚麼後果。
深藍色的光包裹了他。
像是沉入了深海,但不是冰冷的海水,而是溫暖的、柔軟的、近乎於液體狀態的程式碼。那些程式碼在他的面板表面流動,讀取他的資訊,驗證他的簽名,確認他有許可權進入第二層。
驗證透過。
沈清珩的腳踩到了第二層的“地面”。
---
【遞迴核心·第二層】
層級名稱:因果律與機率層
當前狀態:檢測到入侵——輕度混亂
守衛程序數量:正在生成中……
沈清珩抬起頭。
第二層的世界和第一層完全不同。
第一層像是用程式碼鋪成的無限平原——開闊、平整、一覽無餘。而第二層像是一片由無數邏輯分支構成的立體迷宮。他的“視野”裡充滿了分叉的道路——每一條路都是一個“原因”,每一個路口都是一個“結果”。從A點可以到B點,也可以到C點,也可以到D點,但選擇哪一條路不是由他自己決定的——而是由“機率”決定的。
在現實世界中,他可以選擇向左走或向右走。在第二層裡,“選擇”本身是被程式碼控制的。他的意志會被翻譯成機率函式,機率函式會被系統的隨機數生成器喂入一個種子值,種子值會決定最終的結果。
這意味著,在這個世界裡,他的自由意志是有限的。
這個認知讓沈清珩的後背冒出了一層冷汗。
蘇曉棠站在他旁邊,也是第一次看到第二層的景象。她的反應和沈清珩不同——她的身體微微前傾,像是在傾聽遠方的聲音。她的金鑰在主動工作,不停地讀取著這個層級的資訊,像是溺水的人本能地抓住一切能抓住的東西。
“好吵,”蘇曉棠說,“這裡的程式碼一直在說話。它們在不停地計算。每一個‘可能’都在被計算成‘機率’。每一個‘機率’都在被重新計算成‘新可能’。這是一個永遠迴圈的計算。”
沈清珩能感覺到她說的是甚麼。第二層裡充斥著一種持續的低頻震動——不是物理震動,而是系統層面的“計算噪音”。數億次的計算同時在發生,它們的目的只有一個:確保因果律不會崩塌,確保因與果之間的鏈條永遠不會斷裂。
但系統在檢測到入侵。沈清珩能感覺到第二層的狀態從“穩定”變成了“輕度混亂”。
系統的防禦機制正在啟用。
第二層的守衛程序正在生成中。
在第一層,守衛程序是系統已經部署好的——他們是“入侵者”,被系統發現了之後被追捕。但在第二層,情況不同。系統還沒有精確定位到他們的位置,但它知道他們“在”第二層。
所以它要做的事情是——在第二層全域範圍內,隨機生成守衛程序,地毯式地搜尋每一個角落,直到找到他們為止。
時間不多了。
“感知第三層的入口,”沈清珩說。
蘇曉棠已經開始做了。她的金鑰在第二層的環境裡比沈清珩的程式碼簽名更加靈敏——因為這個層級的核心要素是“機率”,而她的金鑰本質上就是一個機率對撞機。她能感知到哪些路徑的入口被分配了更高的機率權重,哪些路徑更有可能通往第三層。
“那邊,”蘇曉棠指著迷宮深處的一個方向,“那邊有一個節點,第三層的入口就在節點下面。但路徑上的機率權重一直在變化——系統在調整因果鏈,試圖把通往入口的機率降低到零。”
“降低到零會怎麼樣?”
“我們就永遠到不了第三層。”
沈清珩咬了咬牙。
他們在第一層的時候有守衛程序在後面追。在第二層,守衛程序還沒有鎖定他們,但系統正在從源頭上關閉他們前進的可能性。這是一個更隱蔽、更危險、也更聰明的防禦方式——不是用暴力去阻止入侵者,而是從邏輯上讓入侵者的目標變成“不可能”。
如果他們不行動,通往第三層的機率會一路降低,從現在的37%降到10%,到1%,到%。
然後他們就會永遠被困在第二層。
“走。”沈清珩說。
他們開始穿越迷宮的路徑。每一條路徑都在變化——寬度、長度、方向,全部由機率決定。沈清珩和蘇曉棠每走一步,身後的路徑就會消失;每跨過一個路口,前方的新路徑就會生成。
他們像是在一群不斷重組的螞蟻軍團中間穿行。
第三層的入口就在前方——他可以看到那個入口的光。不是藍色,不是綠色,是紫色的光。紫色的光芒從迷宮的深處透出來,像是一顆遠方的星星在召喚他們。
但通向那顆星星的路徑上,每一秒都有新的守衛程序在生成。
暗紅色的光團開始在迷宮的通道里浮現。不是從某一個方向湧來的——而是從所有方向同時浮現的。像是在白紙上滴下紅墨水,紅點從各個方向擴散開來。
“它們在圍堵我們,”蘇曉棠的聲音有些發緊,“系統在計算我們的移動路徑,然後在我們要經過的位置提前生成守衛程序。”
“那我們就不讓系統算到。”
沈清珩閉上眼睛。
第二層是因果律與機率層。系統在預測他們的路徑,是因為系統掌握了他們的位置、速度、方向、以及他們想要到達第三層入口的目標。根據這些輸入,系統可以計算出他們最有可能選擇的路徑,然後提前在那些路徑上部署守衛程序。
但如果他們選擇的路徑不是“最有可能”的那一條呢?
如果他們在某個路口,選擇了系統預測機率最低的路徑呢?
那系統的預測就會出錯。
系統預測的準確率會從95%下降到70%,再下降到40%,再下降到10%。到最後,系統會發現它根本無法預測他們的行動——不是因為他們不可預測,而是因為他們的決策不再服從於機率。
沈清珩不是程式碼。
他是人。
機率可以描述程式碼的執行軌跡。但機率無法完全描述人類的選擇。
因為人類的選擇裡,有機率永遠無法量化的東西。
他抓住了蘇曉棠的手。
“走這條路。”
他沒有選系統預測機率最高的那條路。他選了最低的那條——一條通往迷宮深處、遠離第三層入口的、看起來完全不合理的路。
蘇曉棠沒有猶豫,跟著他跑了進去。
身後系統正在生成的守衛程序全部湧向了“最有可能”的那條路徑——那條通往第三層入口的、看起來最合理的路。
而沈清珩和蘇曉棠,在“最不合理”的路上,繞了一個大圈,迂迴地、曲折地、以一種系統絕對計算不出的路徑,接近了第三層入口。
紫色的光芒越來越近了。
“還有二十米,”蘇曉棠說,“但入口旁邊有兩個守衛程序。系統猜到了我們最終還是要回到這個入口,所以提前在入口周圍部署了防禦。”
沈清珩放慢了腳步。
兩個暗紅色的光團懸浮在紫色光芒的兩側,像是兩隻看門狗。它們的形態比第一層的守衛程序更加凝實——不再是霧狀,而是有了大致的輪廓。像是甚麼動物的形狀,但又不像任何一種沈清珩認識的動物。
它們感覺到了沈清珩和蘇曉棠的存在。
光團的亮度驟然增強。
尖銳的“警報聲”——從系統層面的每一個方向傳來。
“衝過去,”沈清珩說,“不要停。它們碰不到我們。”
“你怎麼知道?”
“我不知道。但我賭它們碰不到。”
他抓緊蘇曉棠的手,加速衝向了那片紫色的光芒。
兩個守衛程序同時往他們的方向撲過來。暗紅色的光在空氣中炸裂,像兩朵食人花張開了巨口。
沈清珩和蘇曉棠從光芒的縫隙中穿了過去。
近到他能感覺到光團的溫度。
不是熱。是程式碼被撕裂時的“痛感”。
守衛程序擦過了他衛衣的袖子——只是一瞬間的接觸。但他的左臂瞬間失去了知覺。不是麻木,不是疼痛,而是“不存在”。系統在那個接觸點短暫地“讀取”了他的程式碼,然後嘗試執行一個“刪除”命令。
命令沒有成功執行。
因為他的許可權比守衛程序高。
他是α-7。
他父母在他三歲的時候就已經把他寫進了系統的核心程式碼。他是系統的一部分。守衛程序可以被系統用來攻擊普通的天命人,但無法用來攻擊系統核心程式碼的一部分。
他賭對了。
但也僅僅是因為他賭對了。
如果守衛程序的許可權再高一級,如果他的α-7不是最高等級,如果他的父母當年沒有把他寫進核心程式碼——現在他的左臂可能已經不在了。
沈清珩和蘇曉棠跌進了紫色的光芒。
第三層入口接受了他們。
守衛程序在入口外面徘徊了幾秒鐘,無法進入,然後消失在了迷宮的深處。
---
蘇曉棠跪在第三層的地面上,大口大口地喘氣。帆布包的帶子斷了一根,馬尾辮散了,頭髮亂糟糟地披在肩膀上。她的右手還緊緊攥著沈清珩的左手,指節泛白。
沈清珩也蹲在地上喘氣。他的左臂正在慢慢恢復知覺——一種刺痛的感覺從肩膀蔓延到手指尖,像是被無數根針同時扎著。
“你的手,”蘇曉棠低頭看著他的手,“你的手上有痕跡。”
沈清珩抬起左手。
手背上,被守衛程序擦過的那一小片面板上,出現了一行極小的、暗紅色的字元。不是紋身,不是傷痕,而是程式碼——一段被“刻”進了他面板裡的程式碼。
那行程式碼是:
- - HUMAN
系統拒絕了他的身份。
不是因為他的許可權不夠。
而是因為系統認為“人類”這個實體型別,不應該擁有他這樣的許可權。
許可權悖論。
沈清珩盯著那行程式碼,握緊了拳頭。
“走吧,”他說,“第三層。”
他抬起頭,看向這個新世界的天空。
第三層的天空,是由時間和空間的底層框架構成的。
光汙染在這個層級變成了時空的弦。