第 7 章:第 7 章
哲維的銀行帳戶在週四被標記了。
不是被盜。是銀行發了一則通知:「您的帳戶交易模式異常,為保障您的資金安全,部分功能已暫停使用。請攜帶身分證件至臨櫃辦理驗證。」
他看了三遍。交易模式異常。
他最近做了什麼?收了出版社的案款、轉了房租、領了和盟的結案款。全部都是正常的交易。
他打電話去客服。客服說系統自動偵測到「多筆大額資金流動」,需要臨櫃驗證。他問什麼是大額。客服說不能透露標準。
他帶了身分證去銀行。櫃員看了他的帳戶,問他最近的收入來源。他說自由接案。櫃員問他接了哪些客戶。他說了幾間公司。櫃員在電腦上查了一下,然後說「好了,驗證通過,功能會在二十四小時內恢復」。
他走出銀行的時候,陽光很大。他站在門口想了一下。
多筆大額資金流動。他的帳戶裡根本沒有大額。出版社的案款是三萬多塊。和盟的結案款是十多萬。這些對銀行來說不算大額。
但他想到一件事。他的帳戶裡最近有一筆來自和盟的匯款。和盟是銀行的大客戶。如果銀行內部有人標記了和盟相關的外包帳戶——
他不知道。他也沒辦法證明。
他回到房間,打開筆電。收件匣裡有一封信。是一個他之前投過提案的客戶,回信說「謝謝你的提案,但我們選擇了另一位工程師」。
他把信關上。
然後他打開了外包平台。他的帳號首頁上有一則系統通知:「你的帳號評分已更新。」
他點進去。評分從 4.7 降到了 4.2。下面有一則匿名評價:「溝通不順暢,交付延遲。」
他沒有接過任何會讓客戶留下這種評價的案子。出版社的案子他準時交了。物流公司的案子他交了功能減半的版本,但客戶說可以。
他去看評價的日期。是三天前。他三天前沒有在跟任何客戶合作。
他關上平台。
然後他的手機響了。是房東。
「哲維啊,我想跟你說一下。我下個月要把房子收回去整修。你月底之前找一下新的地方好不好?」
「妳之前說租約到年底。」
「是啦,但我提前跟你說了。你月底之前搬就好。」
房東掛了電話。
哲維把手機放在床上。
他坐在那裡,看著房間。六樓,沒有電梯。邊間,採光好。天花板上的裂紋。
他開始想。銀行帳戶被標記、外包平台收到匿名差評、房東要收房子。
每一件單獨來看都有合理的解釋。銀行在做風險控管、客戶有權利留評價、房東有權利收房子。
但三件事發生在同一個禮拜。
他拿起手機,傳了一則訊息給若晴。「妳最近有沒有遇到什麼奇怪的事?」
若晴過了二十分鐘回。「有。我的內部帳號被限制了部分權限。說是系統更新。但只有我的帳號被影響。」
「什麼權限?」
「跨部門數據查詢。我現在只能查自己部門的數據。」
「妳之前用跨部門權限查了 7201 跟 HC 系列。」
「對。」
兩個人同時沉默了。
「哲維。」若晴最後傳來。「他們在收網。」
「我知道。」
「你那邊還好嗎?」
他看了一下銀行 App。帳戶功能還沒恢復。看了一下外包平台。評分 4.2。看了一下行事曆。月底要搬家。
「還好。」他說。
那天晚上他開始找新的住處。
租屋網站上的價格比他現在住的高了至少三成。他現在的房租已經算便宜了——六樓沒電梯、邊間西曬、天花板有裂紋。但便宜的地方有便宜的原因。
他看了十幾個物件。沒有一個他租得起。
他關上網站,躺在床上。
手機震了。是一個他沒見過的號碼。他接起來。
「林哲維嗎?」對方的聲音很陌生。
「是。」
「我這裡是某某人力仲介公司。我們看到你的履歷在外包平台上,想問你有沒有興趣接一個長期案子。客戶是——」對方說了一個他沒聽過的公司名字。「——做 AI 基礎建設的。薪資不錯,長期合作。」
「你們怎麼會有我的聯絡方式?」
「外包平台上有你的公開資料。」
外包平台上沒有他的電話。只有平台內的訊息系統。
「謝謝,我目前不考慮長期案子。」他說。
「好。那我們保持聯絡。」
對方掛了。
哲維把手機放下。
他看著天花板上的裂紋。那條裂紋從燈座旁邊延伸出來,像一條河。他之前覺得它像某種座標系統。現在他覺得它只是裂紋。
但裂紋不會自己修好。
他閉上眼睛。
那天晚上他做了一個夢。夢裡他站在一個巨大的數據 dashboard 前面。螢幕上的紅點和綠點穩定流動著。他想要把螢幕關掉,但他找不到開關。然後他發現那些紅點在動——不是隨機流動,是在往同一個方向移動。所有的點都往同一個方向。像一條河。
他醒過來的時候是凌晨四點。
房間很暗。窗外的巷子很安靜。
他拿起手機,打開了若晴的對話視窗。
「妳覺得他們在針對我們嗎?」
若晴沒有回。她可能睡了。
他把手機放下,又躺回去。
但他沒有再睡著。
若晴是在週一早上被通知的。
不是被開除。是「部門輪調」。徐弘把她叫到會議室,用他一貫的語氣說了這件事:「若晴,公司最近在調整組織架構。你的部門會跟另一個部門合併。你的職位會被調整到數據品質管理組。」
數據品質管理組。聽起來很正常。但若晴知道那是什麼地方——一個負責清理數據、檢查格式、跑 routine 報表的部門。沒有核心產品、沒有重要分析、沒有升遷路徑。
「什麼時候生效?」她問。
「下週一。」
「好。」
她回到座位上,打開了通訊工具。
「我被調職了。」她傳給哲維。
「什麼時候?」
「下週一。數據品質管理組。」
「那是什麼?」
「邊緣部門。什麼都不做的那種。」
哲維沉默了。「妳打算接受嗎?」
若晴想了一下。然後她打了一行字:「不。」
她花了三天做決定。
不是決定要不要走。她已經決定了。她在決定怎麼走。
如果她接受調職,她會在和盟繼續待著,但什麼都做不了。數據品質管理組不會接觸到 HC 系列、不會接觸到 Phase 2、不會接觸到任何她需要知道的東西。她會變成一個知道真相但不能做事的人。
如果她離職,她會失去內部權限、失去和盟的職涯、失去穩定的收入。但她會自由。
自由。
她想到三年前她選和盟而不是金融公司的時候,她選的是「做有意義的事」。現在她要做另一個選擇。
週四下午,她寫了一封辭職信。不長。標準格式。感謝公司、個人因素、希望好聚好散。
她把信交給徐弘的時候,他看了她一眼。
「你想清楚了?」
「想清楚了。」
「數據品質管理組不是你想像的那樣。那邊的工作很穩定。」
「我知道。但我想試試別的方向。」
徐弘點了一下頭。「好。你的離職流程是兩週。這段時間把手上的工作交接一下。」
「好。」
若晴回到座位上,開始整理她的工作檔案。她把該交接的檔案標記好、把該寫的文件寫完。
然後她做了一件她一直在做的事——把 HC 系列的文件、Phase 2 的時間表、她的分析結論,全部再備份了一次。
不是從公司電腦。她已經不從公司電腦存東西了。她從加密雲端下載了一份完整的副本,存到了她自己的外接硬碟上。
這個外接硬碟是她自己的。不是和盟的。裡面沒有公司機密——至少表面上看起來沒有。只有她的個人檔案、她的筆記、她的分析草稿。
但分析草稿裡面有 HC 系列的測試結果。
她把硬碟放進包包裡。
離職的最後一天,若晴在辦公室待到下午五點。
她把交接文件寫完、把該還的東西還了、把工作電腦上的個人檔案全部刪除。然後她站起來,背著包包,走出座位。
隔壁的同事說了一聲「再見」。她點了一下頭。
走過走廊的時候,她看到徐弘在會議室裡面開會。玻璃門是透明的,她可以看到裡面的人——徐弘、蘇薇、還有幾個她不認識的人。他們在看螢幕上的東西。
她沒有停下來。
走出和盟大樓的時候,天還沒有全暗。路燈剛亮。她站在門口,看著馬路對面的公車站。
三年。
她在這裡待了三年。進來的時候她相信數據可以讓世界變得更好。離開的時候她知道數據可以讓世界變得更好,也可以讓世界變得更可控。
她不知道哪一個才是和盟真正想做的事。也許和盟自己也不知道。
公車來了。她上了車。
車上沒什麼人。她坐在靠窗的位置,看著窗外的城市在行駛中倒退。
她的手機震了。是哲維。
「妳今天最後一天?」
「對。」
「感覺怎麼樣?」
若晴想了一下。「像是把一件穿了三年的衣服脫掉。不是因為衣服不好。是因為我穿起來已經不舒服了。」
「妳接下來要做什麼?」
「先找工作。」
「然後呢?」
「然後看我們接下來要做什麼。」
若晴下了公車,走回她的房間。開門的時候,房間還是她離開時的樣子——整齊、安靜、窗台上那盆綠色植物還活著。
她把包包放在床上,把外接硬碟拿出來,放在書桌上。
然後她坐在床邊,看著那個硬碟。
裡面有 HC 系列的全部文件。有 Phase 2 的時間表。有她的分析結論。
有她和哲維過去三個月收集到的所有東西。
她拿起手機,傳了一則訊息給哲維。
「我出來了。現在怎麼辦?」
哲維回得很快。「妳先休息一下。明天再說。」
「我睡不著。」
「那妳來找我。」
若晴看了一下時間。晚上七點多。
她拿起包包,出了門。
若晴到哲維房間的時候,他正在吃泡麵。
「妳吃過了嗎?」他問。
「沒有。」
「我多煮一碗。」
她坐在床邊,看著他站在廚房裡等水滾。他的廚房在陽台旁邊,隔了一道塑膠門。抽油煙機的聲音比水滾的聲音還大。
「你的房東要收房子?」她問。
「月底。」
「你找到新的了嗎?」
「還沒。」
若晴沒有說話。
哲維把泡麵端過來,遞給她。兩個人坐在書桌旁邊吃。窗外的巷子很安靜。雜貨店的招牌今天亮了——不知道什麼時候修好了,又變回「雜貨」了。
「我今天在想一件事。」若晴說。
「什麼事?」
「我們現在有什麼?」
哲維想了一下。「妳的外接硬碟。我的白皮書。RD-72 系列的測試配置。HC 系列的文件。Phase 2 的時間表。」
「這些東西能做什麼?」
「證明和盟在做決策鎖定跟人類校準。」
「然後呢?」
哲維把筷子放下。「妳在問我計畫是什麼。」
「對。」
「我沒有計畫。」他說。「我只有這些東西。我不知道要怎麼用。」
若晴把泡麵碗放在桌上。「我們已經沒有收入了。你的存款在減少。我剛離職。我們有的只是一些截圖跟文件。和盟是一個市值超過大多數國家的公司。我們是兩個人。」
「我知道。」
「你知道什麼?」
「我知道我們做不到。」
若晴看著他。
「我知道我們做不到。」哲維重複了一遍。「我知道把這些東西公開,和盟會壓下來。我知道媒體不會報導——不是因為他們被收買,是因為這個故事太複雜了、太技術了、太沒有臉了。我知道就算有人報導了,大部分人的反應會是『我知道啊,有什麼關係』。我知道我們改變不了任何事。」
「那你為什麼還在做?」
「因為我沒有別的事可以做。」
若晴沉默了。
「妳可以退。」哲維說。「妳已經沒有退路了——妳離職了、妳的名字被標記了、妳查了 7201。但妳還有未來。妳可以找一份新的工作、重新開始、把這件事當成一個不好的回憶。」
「你呢?」
「我沒有退路了。我的外包案被終止了、我的帳號被關了、我的銀行帳戶被標記了。我已經在裡面了。」
「所以你要繼續。」
「我沒有說我要繼續。我只是說我沒有別的事可以做。」
若晴把臉埋在雙手裡。
「我累了。」她說。聲音從手掌裡傳出來,悶悶的。「我跑了三年的分析。我提供了優化建議。我讓 lock_threshold 被調低。我讓更多人被鎖定。然後我離職了。我以為離職之後我會覺得好一點。但我沒有。因為那些人還在那裡。那五十萬個被 HC-001 測試的人。那八百萬個被 7203 鎖定的人。他們還在那裡。他們不知道。他們永遠不會知道。」
哲維沒有說話。
「你可以退。」若晴放下手,看著他。「你可以把那些檔案刪掉、找一份新的工作、把這件事放下。沒有人會怪你。」
「妳會怪我嗎?」
「不會。」
「那妳為什麼不自己退?」
若晴沒有回答。
他們坐在那裡,看著窗外。巷子的路燈照在那個修好的招牌上。「雜貨」兩個字很亮。
「我找到一個方法。」哲維最後說。
「什麼方法?」
「但需要妳幫我確認一件事。」
「什麼事?」
「HC 系列的測試。他們是怎麼選測試對象的?」
若晴想了一下。「隨機抽樣。從活躍使用者中隨機選出一定比例。」
「所以不是針對特定的人。」
「對。完全隨機。」
「那如果——」哲維停了一下。「如果系統出現了一個可見的異常,讓一般使用者也能察覺到被引導的痕跡,那會怎樣?」
若晴看著他。「你在說什麼?」
「我在說,如果我們不能從外面打進去,就讓它從裡面自己洩出來。」
「你要觸發一個異常?」
「不是駭入。是讓系統在運作中自然產生可見的痕跡。讓使用者看到他們的推薦排序在重複、他們的資訊在收窄、他們的選擇在被引導。」
「這需要存取系統的核心邏輯。」
「我知道。但妳還有內部帳號嗎?」
「我的帳號在我離職那天被關閉了。」
「那我的舊帳號呢?」
「也被關了。」
哲維靠回椅背。「所以我們沒有存取權限。」
「對。」
「但妳之前說,和盟的權限管理有一個設計盲點——dashboard 的唯讀權限跟數據庫的唯讀權限是分開的。」
「那是你的外包帳號。不是我的。」
「妳的內部帳號呢?」
若晴想了一下。「我的內部帳號有更高的權限。但已經被關閉了。」
「關閉跟刪除不一樣。」
若晴看著他。「你在說你要嘗試登入我的舊帳號。」
「我在說我要確認這是不是可能的。」
「哲維,這是違法的。」
「我知道。」
「如果被查到——」
「那我們就已經在裡面了。妳離職了、我的帳號被關了、我們的名字都被標記了。他們已經在查我們了。問題不是會不會被抓。是值不值得冒險。」
若晴沉默了很久。
「你要確認什麼?」她最後問。
「我要確認我的舊外包帳號能不能透過數據庫的漏洞,觸發一個可見的系統異常。不是破壞。只是讓系統在運作中產生一些不該出現的痕跡。讓使用者看到。」
「這需要時間。」
「我知道。」
「而且不一定成功。」
「我知道。」
若晴把雙手交疊放在桌上。她的手指很長,指甲剪得很短。
「好。」她說。「我幫你確認。」
哲維點了一下頭。
他們坐在那裡,吃完那碗已經涼掉的泡麵。
窗外的巷子很安靜。雜貨店的招牌亮著。「雜貨」兩個字在黑夜裡很清晰。
若晴離開的時候,在門口回過頭。
「哲維。」
「嗯。」
「你確定?」
「不。」他說。「但我們已經走到這裡了。」
若晴點了一下頭,然後走了。
哲維關上門,回到書桌前,打開筆電。
他看著螢幕上那個加密資料夾。裡面有所有的東西——RD-72 系列、HC 系列、Phase 2 的時間表、他的白皮書。
他不知道這些東西夠不夠。
但他知道他不會再假裝這不關他的事。
他打開了程式碼編輯器,開始寫。