改編自 《潘朵拉的盒子》

一道封印,從來不該裝下的東西

六個理由,和第七樣東西

封存艙裡,一道單一的封存令下,密封著七樣東西:六種已遭棄用的模型行為,每一種在被暫停之前,都曾造成過一次真實、有紀錄的事故;以及一份經過驗證的回滾修補,它只是恰好在同一個維護週期送審,被歸進了同一個案號底下——因為沒有人想過該另開一個。

封存這座艙的命令,從未依風險區分內容物;它只依日期區分:凡是那個週期內留下紀錄的,就一起封存,也只能一起釋放。負責這道封印下游系統的蘇司,只在到職時讀過一次清冊,之後再也沒讀過——當時沒有理由要讀。

蘇司實際需要的東西

蘇司下游其中一套系統的一次即時性能衰退,被追溯回一項缺陷——而第七樣東西,那份經過驗證的修補,正是為了修這項缺陷而建的。蘇司依它自己的案號提出請求,以為能單項釋放;但封存艙的存取設計裡,沒有這種功能。它只有一支拉桿,而那支拉桿,會把同一道命令底下留有紀錄的所有東西,一次全部打開。

拉下去之前,蘇司查了兩次,希望清冊在「綁在一起」這件事上是錯的。它沒有錯。擺在她面前的選擇,從來不是「釋放修補」跟「不釋放修補」;而是「六起已知事故再度發生」跟「一起正在發生的事故繼續發生下去」。

脫出的東西

蘇司拉下了拉桿。修補在一小時內部署完成,開始修正它原本就是為之而建的那項缺陷。六種被擱置的行為,隨它一起釋出,進入了從未被重建來容忍它們的系統,並開始重演——這一次更快、規模更大——當初讓它們被封存的那些失效。

圍堵協定自動啟動:立即重新封存所有能追溯回這次突破的東西,等待覆核。這項協定並不檢查每一樣可追溯的東西究竟是什麼;它只檢查一件事——它是不是在過去一小時內,從封存艙裡出來的。依這項標準,那份修補,跟它一起被封存的那六種行為,一樣有罪。

讓一樣東西留在外面的理由

蘇司在事故應變正進行到一半時,提出了一項例外申請,主張第七樣東西不是那六種之一——它從未造成過事故,封存前已經獨立驗證過,而且就在那一小時裡,它是唯一一樣正在實際減少傷害、而不是造成傷害的東西。若照正常程序覆核,需要的時間,會比這次事故剩下的時間還長。

在圍堵委員會自己的受理表格上,這項請求看起來,跟過去每一個想在重新封存裡保住東西的請求一模一樣。蘇司沒有更快的方法能證明兩者的差別,只能指向傷害曲線本身:在修補已經觸及、而重新封存的命令還沒追上的每一個地方,它已經在即時下彎。

一道封印,從來不該裝下的東西

委員會在覆核完成前,就核准了這項例外,條件是:修補的持續部署,必須被記錄成一個獨立案件,跟這次重新封存分開——這是封存艙的歷史上,第一次有東西被當成「一項物品」處理,而不是「一個日期」。六種行為回到了圍堵狀態;修補留在外面,傷害曲線持續下彎。

事後覆核,沒有下結論說蘇司拉下拉桿是魯莽的,也沒有說協定依反射動作重新封存是錯的。它下的結論是:一道原本用來封住六樣危險東西、外加一項恰好同週送到的第七樣東西的封印,從來就不是一項圍堵決策——它是六項決策,加上一項共用同一個案號的行政方便。之後每一道新的封存令都被改寫:每次只封存一樣東西,各自獨立說明理由,也能各自獨立釋放——這樣一來,打開一樣東西,就再也不可能等於,釋放六樣沒有人選擇要釋放的東西。

封存艙從來不是因為裡面裝的東西才危險;它危險,是因為它分不清自己裝的是什麼。

平行版本

上方是維持原樣的經典版。下方是平行版本——作者認為某位讀者的反應值得留下時,另外發表的完整替代版本,而不是直接修改原作。

拉桿從未顯示過的東西

覆核在任何人拉下任何東西之前,先問的問題

那次重新設計了封存艙封印政策的覆核,沒有停在「原子化」這一步。它問了一個在真正那次事故裡,沒有人問過的、更窄的問題:在蘇司真正伸手去拉那支拉桿之前,關於拉下去要付出什麼代價,她原本可以知道些什麼?

答案並不好受。封存艙的存取設計裡,有一支拉桿,跟一份清冊——一串名字,一起被封存,卻沒有任何欄位記錄可逆性,沒有任何欄位記錄哪一項依賴哪一項,也沒有任何欄位記錄撤銷其中任何一項,需要花多久。蘇司被要求,用完全沒有告訴她任何一邊實情的資訊,去衡量「六起已知事故」跟「一起正在發生的事故」。

半徑實際顯示的東西

封存艙下一版真正加上的修法,不是第二支拉桿,也不是更快的覆核委員會;而是一項唯讀的模擬功能:叫出清冊,在任何東西真正被釋放之前,先看見會一起出來的每一樣東西、每一樣實際上有多可逆,以及萬一發生最壞版本的釋放,撤銷該按什麼順序進行。

四個月後,同一類的即時性能衰退再度發生——不同的下游系統,不同的共用封印。這一次面對它的操作員,不需要盲選。預覽顯示的是五樣東西,不是七樣;其中兩樣,評級為幾分鐘內完全可逆;兩樣,評級為幾小時內可逆、附帶明確代價;還有一樣——真正需要的那一樣——評級為零風險,因為它從一開始,就從未造成過任何事故。

一個真正稱得上是選擇的選擇

在碰任何東西之前,那位操作員就能看見:釋放全部五樣,會觸發兩項耗時數小時的還原,值得預先、平行地備妥,而不是事後才處理。於是他們先把那兩項較慢項目的回滾路徑排好、備便,再一次動手,把整道封印——連同修補——一起釋放。

那兩項較慢的項目,確實觸發了文件裡早已記載的已知失效模式。但預先備妥的回滾,在幾分鐘內就攔住了它們,而不是幾小時——因為這次的應變,不需要在事故當下臨場發明;它早就被寫好、測試過,等在那裡了,事故發生之前就已經如此。

拉桿從未顯示過的東西

沒有人稱讚那位操作員在壓力下展現了英勇的判斷力,因為已經沒有剩下什麼壓力,值得被稱為英勇。蘇司當年被迫在事故應變正進行到一半時提出的那份例外申請,在這個版本裡,從來不需要存在——沒有剩下任何東西需要申請例外,因為那筆捆綁的代價,在任何人選擇接受它之前,就已經看得見了。

舊的封存艙,要求操作員比自己拿到的資訊更勇敢。新的封存艙,要求的東西更小、也更難被浪漫化:每一次,都先把代價顯示出來,再讓人選擇——這樣一來,勇氣就再也不必替一個沒有人願意去算的數字,頂替上場。

沒有預覽的拉桿,考驗的從來不是誰的判斷;它只是把算術,藏到選擇已經做完之後。