← 共識引擎

第 9 章:第 9 章

哲維用了一週修改觸發機制。

不是因為第一版有問題。是因為他需要確保一件事:觸發之後,系統產生的異常是「可見的」但不是「有害的」。

使用者的推薦排序會重複——手機首頁連續兩三天顯示一樣的商品、一樣的新聞、一樣的推薦。他們會注意到。會覺得奇怪。有些人會上網搜尋「為什麼我的推薦都一樣了」。

但他們的數據不會被洩露。他們的帳號不會被影響。他們看到排序重複,但他們自己的資料、自己的隱私,全部安全。

他把程式碼改了七次。每一次都在模擬環境裡跑一遍,確認輸出符合預期。

第八次的結果是好的。

模擬使用者的推薦排序在觸發之後的七十二小時內,固定在同一個順序。然後在九十小時之後,慢慢恢復正常——系統的安全機制會偵測到異常並自動修正。

九十小時。三天半。

三天半的時間,足夠讓使用者注意到。足夠讓足夠多的人注意到。

他把最終版的程式碼存在了加密資料夾裡。

然後他坐在螢幕前,看著那個檔案。

接下來的事情不是技術問題。技術已經做完了。接下來的問題是:什麼時候按下這個鍵。

他跟宥心確認了時間表。報導需要再十天左右完成——她需要完成技術顧問的確認、寫完初稿、請和盟回應、然後做最終修改。

十天。

他把手機拿起來,若晴傳了一則訊息:「宥心那邊的技術顧問看完你的程式碼了。他說沒問題。不破壞、不洩露。只是讓排序重複。」

「她什麼時候能完成報導?」

「她說下週五。會提前請和盟回應。」

「那我週六觸發。」

「好。」

哲維放下手機。然後他走出房間,下樓,在巷子裡走了一圈。

雜貨店今天開門了。老闆娘在裡面整理貨架。他走進去買了一罐啤酒。

「招牌修好了?」他隨口問。

「上禮拜壞的。叫師傅來修的。」老闆娘說。

「修好了就好。」

他走出雜貨店,站在巷子裡喝啤酒。啤酒很冰。六月的台北很熱,但啤酒是冰的。

他回到房間,打開筆電。

看著那個觸發程式的檔案。

他把手放在鍵盤上。

然後他把筆電蓋上。

不是現在。還要等十天。


那十天是哲維今年最長的十天。

他接了一個小案子——幫一個花店做網站。做了五天,交了,收了錢。然後他沒有再接新的案子。他不知道為什麼。也許是因為他覺得接下來會很忙。也許是因為他不知道接下來會發生什麼。

若晴每天都會傳訊息來。有時候是問他程式碼的事、有時候是跟他說宥心的進度、有時候只是說「你今天好嗎」。

他每天回「還好」。有些是真的還好。有些不是。

第八天的晚上,若晴來了。

她帶了晚餐——不是便利商店便當,是她自己做的。兩個飯糰、一盒沙拉、兩罐飲料。

「你多久沒好好吃一頓了?」她把食物放在桌上。

「昨天吃了泡麵。」

「那就是很久。」

他們坐下來吃。若晴做的飯糰比便利商店的大,裡面的料也比較多。

「你的程式碼確定沒問題?」她問。

「確定。」

「觸發之後,你會被查到嗎?」

「API key 有紀錄。他們會查到是我。」

「那你會怎樣?」

「不知道。也許被告。也許被列入黑名單。也許什麼都沒有——如果報導夠大的話,他們忙著處理輿論,沒時間處理我。」

「你在賭。」

「我在賭。」

若晴放下飯糰。「我也在賭。報導出來之後,我的名字會出現。我不會再找到科技業的工作。我可能會被告違反 NDA。我可能會——」她停了一下。「但我已經想清楚了。」

「我知道。」

「你不勸我嗎?」

「有用嗎?」

「沒有。」

他們吃完若晴做的飯糰。然後若晴留下來,坐在床邊,打開了她的筆電。

「我在找工作。」她說。

「找到了嗎?」

「投了幾個。都是非營利組織的。薪水比和盟少很多。但至少——」她沒有說完。

「但至少什麼?」

「但至少我知道我在做什麼。」

哲維坐在她旁邊,兩個人各自看著自己的螢幕。房間裡很安靜。只有鍵盤的聲音跟冰箱的嗡嗡聲。

「哲維。」若晴在半夜的時候說。

「怎麼了?」

「如果這件事什麼都沒有改變——你會後悔嗎?」

他想了很久。

「不會。」他說。「因為改變本來就不是靠一次揭露完成的。」

「這是你說的。」

「妳之前說的。我只是重複。」

若晴笑了一下。很小的笑。然後她繼續看螢幕。

隔天她走了。哲維把她送到門口。

「週六。」她說。

「週六。」他說。

她轉身走了。

哲維回到房間,打開筆電。

五天。

他把觸發程式的檔案打開,檢查了一遍。第八版。模擬測試通過。九十小時之後自動恢復。不會有數據洩露。不會有隱私問題。

然後他把筆電蓋上。

把手機拿起來,看了一下日期。

五天。

他躺在床上,看著天花板上的裂紋。

那條裂紋在下午的陽光裡很清楚。從燈座旁邊延伸出來,像一條河。但他已經看過它太多次了。它不再是隱喻。它只是裂紋。

五天。

他閉上眼睛。

這一次他很快就睡著了。

宥心的技術顧問是一個叫做阿昌的自由接案工程師。他在看過哲維的程式碼之後,寫了一份五百字的評估:「該程式碼的功能為觸發推薦排序的固定輸出,不涉及數據讀取、修改或洩露。影響範圍可控,預計在九十小時後被系統安全機制自動修正。無結構性風險。」

宥心把這份評估附在了報導裡。

然後她花了三天寫初稿。報導的結構是這樣的:

第一段:一個使用者的故事。東南亞、二十多歲、過去兩個月推薦內容完全重複。她去論壇問了,發現不是只有她。

第二段:介紹共識引擎。怎麼運作、多普及、多少人用。

第三段:RD-72 系列測試。决策锁定。lock_threshold。附上若晴提供的內部文件。

第四段:HC 系列。Human Calibration。決策校準。附上 HC-001 的測試報告。

第五段:HC-Phase 三。自動化部署計畫。附上備忘錄。

第六段:若晴的陳述。具名。三年數據分析師。她提供了什麼、她看到了什麼、她為什麼決定站出來。

第七段:哲維的技術分析。不具名。「一位參與過共識引擎開發的外包工程師」。

第八段:和盟的回應。

她把初稿寄給和盟的公關部門,請他們在四十八小時內回應。

和盟的公關在二十四小時內回了。回覆很長、很專業、很冷靜。核心內容是:

「和盟集團始終將使用者隱私和自主權放在首位。我們的推薦系統旨在提升使用者體驗,所有測試均經過內部倫理審查委員會核准。我們注意到近期有未經授權的內部文件被洩露,我們正在調查來源。對於任何未經證實的指控,我們保留法律追訴權。」

沒有承認、沒有否認。只有「正在調查」和「保留法律追訴權」。

宥心把這段回應放進了報導裡。然後她做了最終修改。

她把報導完成的訊息傳給了若晴和哲維。「報導明天上線。和盟的回應已經放進去了。你們準備好了嗎?」

若晴看了三遍。「準備好了。」

哲維回:「明天幾點?」

「早上九點。網站上線。社群媒體同步。」

「那我週六凌晨觸發。」

「好。我會在報導裡提到系統異常正在發生中。」

哲維放下手機。

週六凌晨。還有三十六小時。


那天晚上若晴沒有回去。

她坐在哲維的房間裡,兩個人各自安靜地做著自己的事。若晴在修改她的履歷——把和盟的經歷留下,但準備好被問到離職原因時的說法。哲維在最後檢查一次觸發程式碼。

「你在想什麼?」若晴問。

「在想按下那個鍵之後會怎樣。」

「你想過了嗎?」

「想過了。最好的情況:報導跟異常同時爆發,和盟來不及反應,輿論壓力迫使他們公開說明。然後——」他停了一下。「然後我不知道。也許他們會承認、也許他們會否認、也許他們會做一些表面上的改變。」

「最壞的情況呢?」

「報導被壓下來。異常被修掉。和盟發聲明說這是前員工的惡意攻擊。我們兩個被列入黑名單。然後什麼都沒有改變。」

「你覺得哪一個比較可能?」

「最壞的那個。」

若晴沒有反駁。

「但你還是要按。」她說。

「對。」

「為什麼?」

哲維想了一下。「因為如果我不按,就什麼都不會發生。至少按了,會有一些人看到。也許不多。但有一些。」

若晴點了一下頭。

他們繼續各自安靜地做著自己的事。

凌晨兩點的時候,若晴放下筆電。「我睡不著。」

「我也是。」

「你要不要出去走一走?」

他們下了樓,在巷子裡走。深夜的巷子很安靜。雜貨店的招牌暗了。路燈照在柏油路上,影子很長。

「你記得我們第一次約會去哪裡嗎?」若晴問。

「妳說的那家拉麵店。」

「你點了大碗的。」

「我餓。」

「你每次都餓。」

他們走到巷子的盡頭,又走回來。經過雜貨店的時候,若晴停下來,透過玻璃窗往裡面看。貨架上的東西排得很整齊。

「我以前覺得世界是可以被理解的。」她說。「你拿到數據、你分析它、你找到規律、你理解它。然後你可以讓它變得更好。」

「現在呢?」

「現在我知道數據可以被用來理解人,也可以被用來控制人。而且兩種用途看起來一模一樣。」

哲維沒有說話。

「走吧。」若晴說。「回去。」

他們回到房間。若晴躺在哲維的床上,哲維坐在椅子上。

「哲維。」她在黑暗中說。

「嗯。」

「謝謝你。」

「謝什麼?」

「謝你寄了那封信。如果你沒有寄那封信,我現在還在和盟跑我的分析報告。我會繼續假裝不知道。」

「妳遲早會知道。」

「也許不會。也許我會繼續跑報告、繼續優化指標、繼續讓系統變得更強。然後有一天我會變成蘇薇——真心相信自己在做對的事,因為她從來沒有被強迫去問那個問題。」

哲維在黑暗中看著天花板。那條裂紋看不清楚。

「晚安。」他說。

「晚安。」

那天晚上他們都睡著了。

週六凌晨四點,哲維醒過來。

不是被鬧鐘叫醒的。是他自己的身體知道今天不一樣。他睜開眼睛,房間很暗。若晴在床上睡著了,呼吸很輕。

他坐起來,打開筆電。

觸發程式的檔案還開著。第八版。模擬測試通過。九十小時自動恢復。

他看了一眼時間。凌晨四點十二分。

報導在早上九點上線。他計畫在報導上線前一個小時觸發——八點。這樣當人們打開新聞的時候,他們的同時也在出現異常。

三個小時。

他去廚房倒了一杯水。站在陽台旁邊喝的時候,看了一眼巷子。很暗。雜貨店的招牌暗了。路燈照在空無一人的巷子上。

他回到房間,坐在椅子上,看著螢幕。

然後他打開了跟若晴的對話視窗。最後一則訊息停在昨天晚上。她說晚安。他說晚安。

他打了一行字:「今天了。」

然後他刪掉了。她還在睡。讓她多睡一下。


七點半的時候若晴醒了。

她坐起來,看到哲維坐在椅子上,螢幕的光照著他的臉。

「你沒睡?」

「睡了幾個小時。」

「現在幾點?」

「七點四十。」

若晴下床,走到他旁邊,看著螢幕。觸發程式的終端機開著。

「你準備好了?」

「程式碼準備好了。我還沒有按。」

「你在等什麼?」

「等八點。」

若晴在他旁邊坐下來。兩個人看著螢幕上的終端機。提示符閃著。

「你怕嗎?」她問。

「怕。」

「我也是。」

他們沉默地坐著。

七點五十五分。

哲維把手放在鍵盤上。

「若晴。」他說。

「嗯。」

「不管接下來發生什麼——」

「我知道。」她說。「你不需要說。」

他點了一下頭。

七點五十八分。

他打開了觸發程式的執行指令。游標在終端機裡閃著。

八點整。

他按下了 Enter。

終端機跳出了一行字:「Connection established. Trigger signal sent. Estimated propagation time: 15-30 minutes.」

連接已建立。觸發訊號已發送。預計傳播時間:十五到三十分鐘。

哲維把鍵盤推開。

然後他靠回椅背,看著天花板。

那條裂紋在晨光裡很清楚。從燈座旁邊延伸出來,像一條河。

「按了?」若晴問。

「按了。」

「然後呢?」

「然後等。」

若晴拿起手機,打開了宥心的網站。報導還沒有上線。倒數計時顯示「57分鐘後發佈」。

「我們還有五十七分鐘。」她說。

「對。」

他們坐在那裡,看著螢幕上的終端機。提示符還閃著。

然後若晴的手機震了。一則通知。不是宥心。是一個她不認識的號碼。

她打開來看。

「若晴,我是蘇薇。我知道你在做什麼。請在報導上線之前跟我談談。」

若晴把手機給哲維看。

哲維看完,把手機還給她。「妳要回嗎?」

「不回。」

「她可能想談條件。」

「我知道。但談條件代表她已經在防守了。這代表我們做對了。」

若晴把那則訊息刪掉。

然後她繼續看著手機上的倒數計時。

五十五分鐘。


那五十五分鐘是哲維人生中最長的五十五分鐘。

他跟若晴坐在房間裡,偶爾說一句話、大部分時間沉默。若晴在刷新宥心的網站。哲維在終端機前面等觸發訊號的傳播確認。

八點二十分,終端機跳出了新的一行:「Propagation confirmed. Anomaly active. Estimated duration: 90 hours.」

異常已啟動。預計持續時間:九十小時。

哲維把終端機關上。

「開始了。」他說。

若晴點了一下頭。

他們繼續等。

八點五十五分。若晴的手機震了。宥心傳來訊息:「五分鐘後上線。你們準備好了嗎?」

若晴回:「準備好了。」

哲維看著螢幕。他打開了幾個社群媒體網站。Twitter、Facebook、PTT。搜尋「和盟」「推薦」「異常」。

目前什麼都沒有。

八點五十九分。

若晴握著手機。哲維看著螢幕。

九點整。

宥心的報導上線了。

標題寫著:「你的選擇不是你的選擇——和盟集團如何用演算法操控全球七十億人的決策」。

若晴把報導從頭讀了一遍。哲維在她旁邊一起讀。

兩千字。結構清楚、數據完整、引述了若晴的陳述、附上了內部文件截圖、附上了阿昌的技術評估。最後一段是和盟的回應:「正在調查來源,保留法律追訴權。」

若晴讀完之後,把手機放下。

「然後呢?」她說。

「然後看世界怎麼反應。」哲維說。

他打開了 Twitter。搜尋「和盟」。

前十分鐘,什麼都沒有。

然後,開始有人轉發宥心的報導。

一個、兩個、五個、二十個。

哲維看著數字在跳。

然後他打開了 PTT。報導已經被轉發到科技版了。留言開始出現。

「早就知道了。」

「這有什麼,推薦系統不都是這樣?」

「和盟的倫理委員會是自己審自己?笑死。」

「那個前分析師是怎樣,離職之後才出來爆料?」

「數據看起來是真的。但就算是真的,然後呢?」

哲維把筆電轉給若晴看。

她看完留言,把筆電推回來。

「我就知道。」她說。「我就知道會這樣。」

「什麼樣?」

「有人相信、有人不在乎、有人攻擊來源。然後三天之後,新的新聞出來,這件事就被蓋過去了。」

哲維沒有說話。

他的手機響了。是一個他沒見過的號碼。

他接起來。

「林哲維嗎?」對方的聲音很陌生。

「是。」

「我這裡是某某媒體。我們看到了一篇關於和盟的報導,裡面提到一位參與過共識引擎開發的外包工程師。請問你願意接受訪問嗎?」

哲維把電話掛了。

然後他關上了手機。

「記者。」他跟若晴說。

「你怎麼說?」

「我掛了。」

若晴點了一下頭。

他們坐在那裡,看著螢幕上的數字在跳。轉發數、留言數、點閱數。

數字在增加。但哲維知道,增加不代表改變。

他想到一件事。他打開了終端機,最後看了一次觸發狀態。

「Anomaly active. 89:47:32 remaining.」

八十九小時四十七分三十二秒。

三天半。

然後系統會自動恢復。然後一切回到正常。

然後看世界要不要記得這件事。

5756 字 •