第 21 章
Commit
第二十一章:Commit
蓄電池的指示燈從綠轉黃是在凌晨一點十四分。衡遠看了一眼——剩餘容量大約六成。夠跑 Cornelius 一個半小時。他今晚只需要一個小時。
法拉第籠裡的空氣帶著金屬味。工具櫃的門板半敞著,Cornelius 的螢幕是這個空間裡唯一的光源。淡藍色的光映在鋁箔內壁上,折射出不規則的光斑。像一個非常小的、密封的水族箱——裡面沒有魚,只有一台跑不動大型模型的舊機器。
衡遠坐在矮凳上。筆記本攤在膝蓋左側,翻到倒數第二頁。十八步觸發序列的完整邏輯。右邊頁面是葛索的字跡——比他的小一號,但筆畫比他穩。降級之後,九歲兒子的字比他好看。這件事他已經接受了。
他在鍵盤上敲了第一行指令。右手四根手指落鍵,小指翹在 Enter 鍵上方兩公分的位置,像一根永遠搭不上車的天線。
full_sequence_validation --mode=final --constraints=current_physical
Cornelius 的風扇轉速升了一個檔。等待。四秒。七秒。游標閃爍。
結果開始滾動。他沒有逐行看——先掃結構。模組 A 休眠狀態確認、模組 B 休眠狀態確認、模組 C 植入序列十八步邏輯驗證通過、造物派載荷反制邏輯驗證通過。延遲閥參數零點五秒——
他的目光在那裡停了一下。零點五秒。他自己改的。從零點三改到零點五。多出的零點二秒不改變任何實質結果——維生艙的本地容錯系統要嘛來得及啟動,要嘛來不及。零點二秒的差距在級聯故障的混亂中是噪聲級別的波動。
他改的那天,葛索坐在旁邊幫他打字。螢幕上維生艙那一行亮著淡藍色。他盯了很久,然後伸手改了那個數字。葛索按了保存。沒有問為什麼。
零點五秒。他當時告訴自己:這是做了點什麼。不是什麼都沒做。是做了點什麼。
現在那個「點什麼」在螢幕上安靜地等著被驗證。Cornelius 對它的判定和對所有其他參數一樣:通過。合規。在約束範圍內。機器不知道零點五和零點三之間的差距不是工程決策,是一個人在懸崖邊往回挪了半步——然後發現懸崖的寬度是三百公里。
他往下看。
overall_success_probability: 12-18%
range determined by: physical_operator_variance (primary), cascade_timing_uncertainty (secondary), countermeasure_detection_risk (tertiary)
百分之十二到十八。主要變數是操作者的身體狀態。他的手。
衡遠盯著那個數字。不長。三秒左右。然後他開始打下一行指令。手指移動的速度比剛才慢了——不是猶豫,是他在逐個字母確認拼寫。這條指令他從來沒有打過。
if rollback_cascade triggers life_support_failover:
estimate civilian_casualty_range
--scope=all_affected_nodes
--variable=local_failover_capability
Enter。
風扇的聲音沒有變。Cornelius 不知道這個問題和上一個問題有什麼不同。對它來說,都是參數、約束、計算。
六秒。
螢幕上出現了四行字。
Unable to compute precise figure.
Estimated range: 50,000 - 3,000,000
Primary variable: per-node local failover capability (data incomplete)
Secondary variable: cascade propagation speed (model uncertainty ±40%)
五萬到三百萬。
衡遠讀了一遍。然後讀了第二遍。數字沒有變。它們不會變。
五萬。最好的情況。所有節點的本地容錯系統全部正常運作,級聯速度在預測範圍的低端,獨立電力撐過七十二小時直到外部系統恢復。五萬人死亡——是那些本地容錯恰好有缺陷的節點裡的人。五萬。
三百萬。最壞的情況。級聯速度超出預測,多數節點的本地容錯來不及啟動,獨立電力在外部系統恢復前耗盡。三百萬。
中間的每一個數字都是某個具體的人。在某個具體的維生艙裡。意識被困在某個虛擬困境中。容錯系統啟動或不啟動。電力耗盡或沒有。活著或者不再活著。
他想到了延遲閥。零點五秒。他「做了點什麼」。那零點二秒的餘量在五萬到三百萬的尺度面前——
像一個人在海嘯前搬了一塊沙袋。不是一堵牆。是一塊。
他關掉了那個念頭。不是第一次關掉它。之前他用模糊的概率分佈把它封裝起來——「維生艙在波及範圍」是一個系統級的敘述,沒有人的臉。但現在 Cornelius 給了他數字。數字不是系統。數字是人數。
他把游標移到螢幕最上方。把這次推演的完整結果存進本地文件。文件名他打的是 final_validation_log。手指在鍵盤上停了一下。然後他改成 fv_log。短一點。沒有別的原因。
蓄電池指示燈還是黃色。Cornelius 的風扇穩定地轉著。法拉第籠外面,整棟樓都是黑的。沒有路燈。窗外偶爾有一條手電筒的光束掃過——拾荒者,或者巡邏。光束在鋁箔表面滑過,被擋在外面。
衡遠伸手,按住螢幕右上角的實體按鈕。螢幕滅了。
法拉第籠瞬間變成全黑。只有蓄電池指示燈的微弱黃光。他坐在黑暗裡。鍵盤還溫熱。風扇的嗡嗡聲在沒有螢幕光的情況下顯得更大聲。
他站起來。矮凳腳在地面上刮了一聲。頸後的切口在他直起身時繃了一下——三毫米的傷口長了兩天,邊緣開始收合,但仍然知道它在那裡。
走廊不長。七步。
他數了,因為黑暗中沒有別的座標系。第一步踩到了白天掃剩的碎髮——腳底的觸感非常輕微,像踩到了時間的碎片。第四步他的右手碰到了牆壁。瓷磚表面有冷凝水。夜裡的室內外溫差剛好夠在北面牆上凝出一層薄薄的水氣。
第七步。他停在兒子們的房間門口。
門沒關。永康特區的規矩是門不鎖——停電時需要快速集合。兩張矮床靠牆放著,中間隔了不到一公尺。窗簾是剪開的舊衣服拼的,月光從縫隙裡漏進來,在地板上畫了幾條白線。
葛索面向門口。他睡覺時翻身的頻率在過去兩週明顯增加了——衡遠記得,因為他半夜經過時計算過。高壓期行為。身體在睡眠中仍然保持某種警戒姿態。面向門口。面向聲音來的方向。九歲的孩子不應該在睡夢中保持警戒。
葛絡的臉埋在枕頭裡,只露出一隻耳朵和半個後腦勺。新剪的短髮參差不齊,在月光下看起來像一片剛割過的草地。他的呼吸很輕,規律,偶爾帶著一個微弱的鼻音——不是哼聲,更像是呼氣時聲帶無意識地振動了一下。
衡遠站在門框邊。左手扶著門框。右手垂在身側,小指微微翹著。
五萬到三百萬。
他看著葛索面向門口的臉。輪廓在月光裡只有一半——額頭、鼻梁、嘴唇的上緣。另一半沉在陰影裡。
他看著葛絡露出的那隻耳朵。很小。耳廓的弧度還沒長開,帶著那種只有兒童才有的柔軟的圓。
五萬到三百萬人裡面,有多少個九歲的孩子。
這個念頭進來的時候,他的膝蓋彎了。
不是跪下。不是踉蹌。是站著的身體突然失去了一個支撐層——就像系統在運行中被抽掉了一個底層依賴,上面的所有東西還在,但地基塌了一級,整個結構往下沉了兩公分。從外面看,只是一個人的身高突然矮了一點。
他站在那裡。膝蓋彎著。沒有蹲下去。也沒有直起來。
葛索翻了一下身。還是面向門口。他的手在枕頭邊摸了一下——摸到了什麼,又放開了。可能是白天的習慣殘留在睡夢裡。可能什麼都不是。
衡遠的左手在門框上收緊。指節壓住木頭的邊緣。他的呼吸沒有亂。心跳他量不到,但體感沒有變快。身體的其他部分都還在正常運行。只有膝蓋——膝蓋不聽了。它自己做了一個決定,而這個決定不經過大腦皮層。
五萬到三百萬個維生艙。每個艙裡有一個人。每個人可能有孩子。每個孩子可能在某張床上面向門口睡著。
他的膝蓋又往下沉了一點。
然後停住了。
不是他控制住的。是到底了。系統沉降到了新的平衡點——比原來矮了幾公分,但穩住了。不會繼續塌。結構還在。
他在門口站了很久。月光移動了一小段——從葛索的額頭滑到了眉骨。他看著那條光線走。沒有想任何具體的事。腦子裡不是語言,不是數字,不是觸發序列。是一種填滿了整個顱腔的白色靜噪。
然後膝蓋直了。
不是慢慢直的。是一瞬間的事。像硬件重啟。系統從沉降狀態彈回運行高度,沒有過渡動畫。
衡遠轉身。走廊七步。他走回法拉第籠。
矮凳。鍵盤。螢幕。他按下電源按鈕。淡藍色的光重新亮起來,照在他的臉上。Cornelius 的啟動介面在載入。風扇轉速恢復。他看了一眼蓄電池——黃燈,大概還有四十多分鐘的運行時間。他不需要四十分鐘。
他把手放在鍵盤上。
十根手指。九根落在鍵帽上。第十根——右手小指——懸在 Enter 鍵的右側,碰不到任何東西。
Cornelius 的命令行等在那裡。游標閃爍。一秒。兩秒。
他沒有動。
鍵盤的塑膠表面還留著剛才的溫度。他的指腹壓在字母鍵上,沒有按下去。風扇轉。蓄電池的黃燈在螢幕邊緣的鋁箔上映出一個模糊的橢圓。法拉第籠外面是睡著的兒子、沒有路燈的巷弄、沒有算力的夜空。
五秒。十秒。
腦子裡的循環不肯停。「五萬到三百萬」這個範圍裡的每一個單位被還原成一個人,然後那個人有一張床、一個門口、一個面向門口的孩子。循環跑不完。數據集太大。但處理器不停。
十五秒。二十秒。
循環沒有結論。不會有結論。這不是一個有解的問題。
二十五秒。
他的右手動了。食指先落。然後中指。然後無名指。
C-o-m-m-i-t
六個字母。鍵帽的行程大約兩毫米。每一個字母的觸發力度都是均勻的——沒有遲疑的輕,沒有憤怒的重。只是一個操作者在執行一個指令。他打字的速度和這一整晚的所有輸入完全一致。
小指懸在 Enter 右側。
他用無名指按下 Enter。
螢幕上 Commit 的回顯亮了一瞬。Cornelius 開始執行最終鎖定序列——所有參數固化,推演環境關閉,文件標記為只讀。這不是 Cornelius 的功能要求。是衡遠自己寫的腳本。Commit 之後不允許再修改。和版本控制一樣。寫入歷史。不可撤回。
他看著螢幕上的進度條走完。一行確認信息:
Sequence locked. No further modifications permitted.
衡遠沒有關機。他把手從鍵盤上拿開,放在膝蓋上。右手的小指翹著。左手平放,穩定,比右手像一隻正常的手。
法拉第籠裡很安靜。風扇還在轉。蓄電池的黃燈還亮著。螢幕上的確認信息停在那裡,不動了。
他坐了一會兒。不長。可能三十秒,可能一分鐘。然後他關掉 Cornelius,關掉螢幕,把工具櫃的門板合上。鋁箔膠帶重新封好邊緣。
走出法拉第籠的時候,他的腳又踩到了那些碎髮。
載入留言中…