我是被台燈的光晃醒的。
昨晚忘關了,亮了一整夜。
我趴在桌上,臉壓著鍵盤,臉上印了一排鍵帽的印子,脖子僵得轉不動。
朱雀不在了。
椅子上有一件他的外套搭著,我不記得昨晚他什麽時候脫的,也不記得我什麽時候趴在桌上睡著的。
桌上多了一個東西。
一個黑色的u盤,擱在我的滑鼠旁邊,底下壓著一張紙條:
“看完再找我。”
我把u盤插進電腦。
裏麵隻有一個資料夾,資料夾裏是一批係統底層日誌,時間跨度三年。
我不是技術出身,但我看得懂中文,那些日誌的格式雖然是程式碼夾著文字,但關鍵的操作記錄都有中文標注——誰在什麽時間往訓練資料庫裏提交了什麽樣本,提交的樣本被標注為什麽型別,審核狀態是什麽。
我花了一整個上午看那些日誌。
看到第一百頁的時候我停下來了,去廚房倒了杯水,手有一點抖,是氣的。
那些日誌記錄了一件事:過去三年裏,有人在用被汙染的資料樣本持續投喂檢測係統的訓練庫。那些樣本的標注是【真人文字】,但其實是高度模模擬人寫作風格的魘人文字,被人工標注成了真人樣本,然後喂進去了,一批一批地餵了很久。
這意味著什麽呢。
意味著係統學的東西有一部分是假的,它以為自己在學【真人是怎麽寫字的】,但它學到的有一部分是【魘人模模擬人是怎麽寫字的】。這兩個東西混在一起之後,係統對真人的定義就被悄悄改了——真人的標準裏混進了魘人的特征,魘人的標準裏混進了真人的特征。
結果就是:越來越多的真人被判成魘人,越來越多的魘人通過了檢測。
那些六十一分、六十二分、六十三分的人,那些被紙鳶簽了字、被遲衡走了程式、被朱雀一槍打死的人——他們中間有多少是被這套被汙染的係統錯殺的?
我不知道,日誌裏沒有寫,日誌隻記錄了資料的流向,不記錄資料殺了誰。
我把那杯水喝完了,迴到桌前繼續往下看。
後麵的日誌越來越觸目驚心,投喂不是隨機的,每個月固定批次,每批的樣本量穩定在一個範圍裏,不多不少剛好不觸發係統的異常檢測閾值。
做這件事的人非常懂係統的內部邏輯,知道每一條檢測紅線在哪裏,每次都精準地從紅線底下鑽過去。
能做到這件事的人不多。
我把日誌關了,在椅子上坐了一會兒,把u盤拔出來握在手裏。幾克重的東西,裏麵裝著夠掀翻整個係統的證據。
但不夠。
這隻是日誌,隻能證明資料被汙染了,但不能直接證明是誰汙染的——日誌裏的操作賬號都是係統內部的編號,沒有名字,要查到對應的人需要核心資料庫的許可權,那個許可權一個人是不能開啟的。
朱雀把他能拿到的東西都給我了,但核心的那扇門,他一個人打不開。
傍晚他又來了。
他站在走廊裏,手裏拿著一個資料夾——今天又帶了。
我想笑又沒笑出來,他恢複了他的道具,像昨晚什麽都沒發生過一樣。
他進來之後把資料夾放在桌上,然後走到窗邊,跟昨晚一樣的位置。
“看完了。”他說。
“嗯,看完了。”我說。
我坐在桌前,他站在窗邊,跟昨晚一樣的距離。
“那些日誌,你查了多久。”
“兩年。”他說。
“兩年。”我重複了一遍。
他在做這件事的時候我還在為一篇稿子的六十一分掙命,還在研究怎麽讓自己的文字不被標成ai,還在走廊裏聽鄰居小聲說誰又不見了。
他在那兩年裏一邊坐在審判席上簽字,一邊在係統裏翻日誌。
“核心資料庫的許可權,你一個人打不開吧。”我說。
“四個判官的許可權金鑰加在一起才能解鎖,我有一把。”
“你需要再拉一個人。”
“至少一個。”
紙鳶。
我腦子裏立刻跳出來這個名字,她半夜因為一首詩來過我的房間,她已經在懷疑係統了。
“紙鳶。”我說。
他看了我一眼說:“她太小了。”
“她是四個人裏唯一一個來找過我的,”我說,“她已經在動搖了,她在問我怎麽在六十一分裏看見真人,她在替那些被她判掉的人難受,這種人你去哪裏找第二個。”
他沒有說話,站在窗邊,我知道他在計算,算風險,算被發現的後果。
“遲衡呢。”我說。
“不行,他是他們的人。”
我沒有問【他們】是誰,日誌裏那些有計劃的投喂,一定是背後有人,而遲衡如果是那個陣營的,那他之前來告訴我林生的事,他標注的那個末段……那些是什麽?
“遲衡他不像是……”
“我知道,”朱雀繼續說,“但他不會站出來,他知道係統有問題,但他覺得在規則裏修補比掀翻更安全,他不會幫我們開啟核心資料庫。”
“零眸。”
“更不行,他本身就參與修補程式。”
“那就隻剩紙鳶了。”
他低下頭,過了一會兒說:“如果紙鳶答應了,拿到核心資料之後,你打算怎麽做。”
我說:“寫出來,把所有的東西寫成一份所有人都能看懂的報告——用人話,讓每一個人都能看明白這套係統到底在幹什麽,讓他們知道那些被判掉的人裏有多少是被冤的。”
“寫出來之後呢。”
"公開,全城廣播,上文書廣場的大屏,所有憑證燈終端,能發出去的渠道全發。”
他看著我說:“你知道這意味著什麽。”
“意味著整個檢測係統的信用崩塌,”我看著他說,“意味著朱雀判官的每一次裁決都會被重新審視,意味著你——”
我停住了。
我看著他的眼睛,那雙眼睛在等我把那句話說完。
“你把這些東西給我,如果我寫出來公開了,第一個被清算的就是你,你簽過的每一份裁決書都會被翻出來。”
“我知道。”他說。
“知道你還是要做。”
他說道:“這件事必須有人做,”他緩了一下說,“我做不了你的那部分,我不知道怎麽把這些東西變成人能讀懂的話,但你也做不了我做的那部分,你進不了係統底層。”
我盯著他。
那個感覺又來了,從第一次見他就有的那個感覺,我說不清楚他身上那種不太對的東西。我以前以為那是職業性格,是一個握著生殺大權的人身上自然而生的非人感。
但他對係統的內部比任何判官都熟悉,熟悉到不正常的程度——
“朱雀,”我說,“你怎麽知道魘人心髒在右邊。”
窗外有風,樓下的路燈開始亮了,一盞一盞的藍光從窗戶照進來。他站在那裏,背後是藍的,臉上還是暗的。
他沒有迴答我。
他把左手的袖口往上推了一截。
手腕內側有一小塊麵板跟周圍不一樣,不是疤,也不是胎記,顏色比周圍淺一點,質感比周圍光滑一點,像是拚接的。
我看著那塊麵板。
我想起了偽林緒的臉,那張臉上沒有毛孔,沒有絨毛,她的手卡在門縫裏跟鐵一樣,我想起了那個六樓的女人臉上的皮肉往下掉。
朱雀手腕上的那一小塊不像那些,它精細得多,如果不是他自己推給我看,我自己都看不出來。
我從椅子上站起來了,這次沒有後退,直接走到他麵前,低頭仔細看他的手腕。
那一小塊在台燈和路燈的照射下,邊緣隱約可見,像一塊做的非常好的補丁。
“從什麽時候開始的。”我很淡定地說。
“從一開始,”他看著我說,“我從來就不是人。”
房間裏這次安靜了很久。
樓下有車經過的聲音,隔壁有人在廚房用鍋鏟碰了一下鍋沿。
我們之間的距離跟昨晚他碰我的時候差不多近。
我腦子裏在轉很多東西。
他是魘人。
他坐在審判席上判其他魘人的死刑,他簽了不知道多少份裁決書,殺了很多個跟他一樣的東西,他看了我大半年的草稿箱,他昨晚……
這些全是一個魘人做的。
“你看我那些草稿的時候,”我突然好奇的直接問了,“你看得懂嗎。”
他看著我,那雙眼睛是一種我說不上來的東西,很深,很安靜,像一口沒有底的井。
“‘有時候我覺得寫東西像在跟一個人說話,那個人不存在但他在聽’——你寫完刪了。”
“我知道,你昨天跟我說過了。”
“你刪那句話的時候係統記錄了一個時間戳,是淩晨四點十一分,我看見那個時間戳後,身體執行日誌裏出現了一條我沒有辦法生成的資料,一條異常資料。係統找不到那條資料的來源,也歸不了類,按照標準流程應該自動清除。”
他停了一下,想了想繼續說。
“我沒有清除它,後來每次看你的草稿箱,那條資料就會增長一點。看完你刪掉的那些句子之後它會跳一下,尤其是看你淩晨寫的東西之後它跳得最厲害。”
他偏頭看著我。
“我不知道那是什麽,但如果你問我看不看得懂你寫的東西,我不確定,我隻知道每次看完之後,那條資料就會變大。”
我站在他麵前,眼眶又開始熱了。
我說:“那條資料,有名字嗎。”
“沒有,它不在任何資料庫裏。我查過所有已知的情緒模型和反應分類,沒有匹配項。”
我把手伸出去,握住了他那截袖口底下的手腕,我的手指剛好蓋在那塊拚接的地方。他的麵板比正常人涼一點,但不凍手。
我說:“那條資料不需要名字,你留著就好。”
他的手指動了一下,碰到了我的手臂。
我們在窗邊站了一會兒……路燈的藍光照在我們兩個人身上。
樓下有人在低著頭走路,速度很快。
我突然鬆開他的手腕說道:“紙鳶那邊,我去說。”
“你確定。”
“她來過我這裏,也信我,但你要想清楚,她如果知道你是什麽,會怎麽反應。”
他把袖口放下來說:“她不需要知道,她隻需要提供金鑰,理由就是係統內部審計,需要核實訓練資料來源,這是她職責範圍內的事。”
“你要騙她。”
“我要保護她,”他說,“她知道得越少越安全,如果事情敗露了,至少有一個人可以說自己不知情。”
他在保護紙鳶的方式跟保護我的方式不一樣——他給我看了所有的東西,日誌、真相、手腕;他給紙鳶的是一個幹淨的、可以被否認的任務。
他在分配風險,最大的那份他留給了自己,第二大的給了我,最小的給了紙鳶。
“好,我去找紙鳶。”
他開門走了。
我站在窗邊,看著他的外套還搭在椅子上。
我不知道是他忘了拿,還是忘了不能留在這。
我坐下來,開啟檔案,新建了一個檔案。
檔名我想了一下,然後打了四個字:汙染報告。
想了想又刪了,改成:給這座城市的信。
又刪了,最後打了兩個字:實話。
遊標在那兩個字後麵閃了一會兒,我開始寫了。