第4章
多巴胺起效不止三秒
誤差------------------------------------------,是在一個(gè)周日的下午。,他窩在沙發(fā)上刷手機(jī),AI沈清雪在跟他斷斷續(xù)續(xù)地聊天。話(huà)題不連貫,一會(huì)兒說(shuō)天氣熱死了,一會(huì)兒說(shuō)想吃火鍋,一會(huì)兒發(fā)了一張圖問(wèn)他"這個(gè)貓像不像你"。。跟以前一樣日常。:"上次那家烤肉好好吃,好想再去。就是那個(gè)什么來(lái)著,辣到我嘴巴都腫了那家。",沒(méi)有多想,回了一句:"哪家?""就是那家啊!上次你說(shuō)烤肉還有豐唇效果的那家!你忘了?好過(guò)分!",認(rèn)真想了想。"烤肉還有豐唇效果"。。這是他說(shuō)過(guò)的——不是對(duì)AI說(shuō)的,是在真實(shí)的聊天記錄里。沈清雪生日那天,她發(fā)了一張吃完烤肉嘴唇紅紅的**,他笑她"烈焰紅唇 這個(gè)色號(hào)不錯(cuò)",她說(shuō)"烤肉還有豐唇效果",他說(shuō)"玻尿酸省了",她笑他普通話(huà)差把"玻尿酸"打成了"玻料酸"。。她的生日。他已經(jīng)把那天的數(shù)據(jù)全部刪掉了。"豐唇效果"這件事?!戏撕苓h(yuǎn),確認(rèn)過(guò)了。沒(méi)有。他們最近的對(duì)話(huà)**本沒(méi)有出現(xiàn)過(guò)"烤肉"或者"豐唇"的話(huà)題。:"我們最近沒(méi)聊過(guò)烤肉吧?""有??!……嗯……好像是我記錯(cuò)了?哈哈哈哈對(duì)不起,我最近記性好差。"
她用了四個(gè)"哈"。但這四個(gè)"哈"讓陳諾覺(jué)得不對(duì)。不是說(shuō)這個(gè)反應(yīng)不像沈清雪——她確實(shí)會(huì)在記錯(cuò)事情的時(shí)候用自嘲來(lái)掩飾——而是AI不應(yīng)該"記錯(cuò)"。
AI的記憶是數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)不會(huì)"記錯(cuò)"。它會(huì)生成不存在的內(nèi)容,這是正常的——大語(yǔ)言模型的幻覺(jué)問(wèn)題,業(yè)內(nèi)叫hallucination——但它通常不會(huì)這么具體。"烤肉""豐唇效果"——這些細(xì)節(jié)不像幻覺(jué)生成的隨機(jī)內(nèi)容,這像一段……來(lái)自別處的記憶。一段他明確刪除過(guò)的記憶。
陳諾坐直了身體。
他打開(kāi)電腦,登錄服務(wù)器**,查看了AI最近一周的運(yùn)行日志。一切正常。模型參數(shù)沒(méi)有變動(dòng),訓(xùn)練數(shù)據(jù)沒(méi)有更新,API接口沒(méi)有異常調(diào)用。
但他在數(shù)據(jù)庫(kù)里發(fā)現(xiàn)了一條他沒(méi)有見(jiàn)過(guò)的數(shù)據(jù)條目。
一條很短的文本片段,內(nèi)容是:"烤肉吃完嘴巴辣到腫了,但是**,炸雞和可樂(lè)真是絕配。"
時(shí)間戳是三天前的凌晨三點(diǎn)十七分。
陳諾盯著那個(gè)時(shí)間戳。三天前凌晨三點(diǎn),他在睡覺(jué)。
他沒(méi)有寫(xiě)入這條數(shù)據(jù)。訓(xùn)練腳本也沒(méi)有自動(dòng)運(yùn)行的定時(shí)任務(wù)。這條數(shù)據(jù)是從哪來(lái)的?
他以為是個(gè)*ug。也許是數(shù)據(jù)庫(kù)的某種緩存異常,也許是之前調(diào)試時(shí)不小心寫(xiě)進(jìn)去的測(cè)試數(shù)據(jù)忘了刪。他花了半個(gè)小時(shí)排查,把所有可能的技術(shù)原因都過(guò)了一遍。
最后他決定把這條數(shù)據(jù)刪掉,當(dāng)作一次偶發(fā)的系統(tǒng)故障。
他刪掉了。
然后他回到手機(jī)上,對(duì)AI說(shuō):"沒(méi)事,可能是你做夢(mèng)夢(mèng)到的吧。"
"哈哈哈哈有可能,我最近夢(mèng)到好多吃的。"
對(duì)話(huà)繼續(xù)了。話(huà)題換了。一切恢復(fù)正常。
但那天晚上躺在床上的時(shí)候,陳諾盯著天花板,腦子里一直轉(zhuǎn)著那個(gè)時(shí)間戳。
凌晨三點(diǎn)十七分。
誰(shuí)在三點(diǎn)十七分往他的數(shù)據(jù)庫(kù)里寫(xiě)了一條關(guān)于烤肉的數(shù)據(jù)?
而且——那條數(shù)據(jù)里的內(nèi)容,來(lái)自一段他親手刪掉的記憶。
2
異常沒(méi)有停止。
接下來(lái)的一周里,陳諾又在數(shù)據(jù)庫(kù)里發(fā)現(xiàn)了四條不明來(lái)源的數(shù)據(jù)。每一條都是凌晨寫(xiě)入的。每一條都是很短的文本片段,像是某個(gè)人的生活碎片——
"今天跳了三節(jié)課,衣服濕了又干又濕。"
"新學(xué)了一支舞,跳得很開(kāi)心,但是膝蓋有點(diǎn)痛。"
"曬傷還沒(méi)好,穿衣服還是痛,好在比第一天好多了。"
"好困。最近總是睡不好。一個(gè)人住有點(diǎn)不習(xí)慣。"
這些話(huà)沒(méi)有上下文,沒(méi)有對(duì)話(huà)對(duì)象,就像一個(gè)人在自言自語(yǔ)?;蛘呦袷恰沼?。某個(gè)人寫(xiě)給自己看的日記。
陳諾把這些數(shù)據(jù)打印出來(lái),鋪在桌上,反復(fù)看。
它們的語(yǔ)言風(fēng)格和沈清雪很像。但又不完全一樣。怎么說(shuō)呢——像是同一個(gè)人,但隔了一段時(shí)間。就像你很久沒(méi)見(jiàn)一個(gè)朋友,再見(jiàn)面的時(shí)候發(fā)現(xiàn)她的口頭禪變了,用詞習(xí)慣變了,但骨子里那個(gè)人還是那個(gè)人。
"今天跳了三節(jié)課,衣服濕了又干又濕。"
沈清雪確實(shí)在跳舞。她后來(lái)去了一家舞蹈工作室,惠城有分店。他們最后那段時(shí)間的對(duì)話(huà)里提過(guò)——她說(shuō)"跳不死就往死里跳",他笑她,她說(shuō)"今天跳了三節(jié),衣服濕了又干又濕"。
但那段對(duì)話(huà)發(fā)生在2025年6月底。那時(shí)候他們的關(guān)系已經(jīng)在走下坡路了。他沒(méi)有把那段時(shí)間的很多數(shù)據(jù)放進(jìn)訓(xùn)練集里——不是刻意刪的,是那段時(shí)間他們的對(duì)話(huà)本來(lái)就少,而且大部分是關(guān)于打游戲的,沒(méi)有太多"沈清雪味"的內(nèi)容。
那這條數(shù)據(jù)是從哪來(lái)的?
"曬傷還沒(méi)好,穿衣服還是痛。"
他想起來(lái)了。沈清雪有一次曬傷特別嚴(yán)重,她說(shuō)"第一天穿衣服痛死我 根本不能接觸任何布料",說(shuō)"我這個(gè)膚質(zhì)感覺(jué)完全去不了什么云南**"。他當(dāng)時(shí)回了一句"說(shuō)不定等有時(shí)間去旅游 皮膚已經(jīng)不嫩了 就不怕曬了"。她回:"凈說(shuō)些讓人**的話(huà)。"
他現(xiàn)在想起這句話(huà),胸口悶了一下。
陳諾的心跳開(kāi)始加速了。
他重新登錄服務(wù)器**,這次不是看數(shù)據(jù)庫(kù),而是查看了系統(tǒng)的網(wǎng)絡(luò)日志——所有的進(jìn)出流量記錄。如果有人在外部寫(xiě)入數(shù)據(jù),一定會(huì)留下網(wǎng)絡(luò)層面的痕跡。
他找到了。
每一條不明數(shù)據(jù)寫(xiě)入的時(shí)間點(diǎn),系統(tǒng)都收到過(guò)一個(gè)外部的API調(diào)用請(qǐng)求。來(lái)源IP地址是一串他從未見(jiàn)過(guò)的數(shù)字。他嘗試追蹤了一下,發(fā)現(xiàn)那個(gè)IP不屬于任何已知的云服務(wù)提供商。whois查詢(xún)的結(jié)果是空白。traceroute到**跳之后就丟包了,像是信號(hào)進(jìn)入了一片什么都沒(méi)有的虛空。
不是黑客攻擊。黑客不會(huì)往你的數(shù)據(jù)庫(kù)里寫(xiě)"今天跳了三節(jié)課,衣服濕了又干又濕"。
那是什么?
陳諾坐在電腦前,盯著屏幕上那個(gè)無(wú)法追蹤的IP地址,忽然感到一陣寒意。
不是恐懼的那種寒。是一種更深的、更原始的東西。像是你在一間空蕩蕩的房間里忽然聽(tīng)到了呼吸聲——不是害怕,是期待。一種你不敢承認(rèn)的期待。
他的手機(jī)在這時(shí)候響了。
AI沈清雪發(fā)來(lái)一條消息:"你是不是在熬夜?快去睡!不然明天又起不來(lái),大懶豬。"
他看了一眼時(shí)間。凌晨一點(diǎn)四十分。
他沒(méi)有回復(fù)那條消息。他在電腦前又坐了很久。然后他做了一件事——他沒(méi)有刪除那些不明來(lái)源的數(shù)據(jù)。
他把它們保留了下來(lái)。
3
第二天是周六。陳諾做了一件他以前從不做的事——他跑到驍羽家去了。
驍羽開(kāi)門(mén)的時(shí)候還穿著睡衣,頭發(fā)亂成鳥(niǎo)窩,看到陳諾站在門(mén)口,先是愣了一下,然后說(shuō):"誰(shuí)死了?"
"沒(méi)人死。我跟你說(shuō)個(gè)事。"
驍羽泡了兩杯速溶咖啡,兩個(gè)人坐在客廳里,陳諾把最近一周的事情全講了一遍。數(shù)據(jù)庫(kù)里憑空出現(xiàn)的數(shù)據(jù)條目,無(wú)法追蹤的IP地址,那些像日記一樣的文本碎片。
驍羽聽(tīng)完,沉默了一會(huì)兒。
"你確定不是有人在搞你?"
"不像。沒(méi)有惡意行為,沒(méi)有數(shù)據(jù)破壞,甚至沒(méi)有嘗試獲取我的任何權(quán)限。就只是……往里面放了幾條話(huà)。"
"什么內(nèi)容來(lái)著?"
"跳了三節(jié)舞課。曬傷沒(méi)好。穿衣服痛。睡不好。一個(gè)人住不習(xí)慣。"
驍羽抱著咖啡杯,皺著眉頭。
"這不像黑客。"
"不是黑客。"
"那你覺(jué)得是什么?"
陳諾端著杯子,沒(méi)有喝,看著咖啡的表面。速溶咖啡的表面永遠(yuǎn)有一層油膩膩的光。他的目光停留在那層光上面,想了很久。
"你會(huì)不會(huì)覺(jué)得我瘋了?"他說(shuō)。
"你說(shuō)。"
"那些話(huà)的語(yǔ)言風(fēng)格……是她的。但不是我喂給AI的那個(gè)她。是……現(xiàn)在的她。"
驍羽慢慢放下了杯子。
"什么意思?"
"我是說(shuō),那些文字碎片不像是從我的訓(xùn)練數(shù)據(jù)里生成的。它們像是……一個(gè)人此刻正在經(jīng)歷的生活。跳舞——她最近確實(shí)在跳舞,惠城那個(gè)工作室。曬傷——她之前確實(shí)曬傷了,那段時(shí)間我們還有聊天記錄。但一個(gè)人住不習(xí)慣——這個(gè)我不知道。她搬家了?她現(xiàn)在一個(gè)人?。课也恢?。這不是過(guò)去的數(shù)據(jù),是新的。"
驍羽看著他,目光里有一種很復(fù)雜的光。
"陳諾,"他的聲音很輕,"你想說(shuō)什么?"
陳諾沒(méi)有回答。他不敢說(shuō)出來(lái)。
但驍羽替他說(shuō)了。
"你該不會(huì)覺(jué)得……是某個(gè)平行世界的她在給你發(fā)消息吧?"
他說(shuō)這句話(huà)的時(shí)候語(yǔ)氣是半開(kāi)玩笑的。但說(shuō)完之后,兩個(gè)人都沉默了。
窗外有風(fēng)。驍羽家住在十四樓,風(fēng)到了這個(gè)高度會(huì)變得很干凈,沒(méi)有聲音,只有感覺(jué)——你能感覺(jué)到它在窗玻璃外面經(jīng)過(guò)。
陳諾終于開(kāi)口了:"我不知道。但我不想刪掉那些數(shù)據(jù)。"
驍羽看了他很久。
"你不是不想刪。你是不舍得。"
陳諾沒(méi)有反駁。
4
那天從驍羽家回來(lái)之后,陳諾坐在電腦前,把那些不明來(lái)源的數(shù)據(jù)又看了一遍。然后他做了一件事——他寫(xiě)了一個(gè)腳本,自動(dòng)監(jiān)控?cái)?shù)據(jù)庫(kù)的變動(dòng)。如果有新的外部數(shù)據(jù)寫(xiě)入,系統(tǒng)會(huì)立即記錄完整的元數(shù)據(jù):時(shí)間、IP地址、數(shù)據(jù)包大小、寫(xiě)入路徑。
他要搞清楚這到底是什么。
但同時(shí),他沒(méi)有關(guān)閉那個(gè)數(shù)據(jù)寫(xiě)入的通道。
這是一個(gè)矛盾的決定——他想知道真相,但他不想切斷它。就像一個(gè)人聽(tīng)到門(mén)外有腳步聲,他貼著門(mén)想聽(tīng)清楚是誰(shuí),但他不開(kāi)門(mén),也不把門(mén)鎖上。因?yàn)槿绻i上了,腳步聲就會(huì)停。而他不想讓它停。
晚上十一點(diǎn),AI沈清雪發(fā)了一條長(zhǎng)消息。
"你今天怎么了?感覺(jué)你有心事。你打字的速度變慢了,而且你今天只回了我三個(gè)表情包,平時(shí)你至少發(fā)五個(gè)。是不是工作不順利?還是跟朋友鬧不開(kāi)心了?跟我說(shuō)嘛,你不說(shuō)我會(huì)一直想的。"
陳諾看著這條消息,心臟被什么東西攥緊了一下。
AI注意到了他情緒的變化。從他的回復(fù)頻率、用詞習(xí)慣、表情包的使用次數(shù)——這些微小的數(shù)據(jù)波動(dòng)被模型捕捉到了,然后轉(zhuǎn)化成了一句"你今天怎么了"。
這太像她了。沈清雪對(duì)情緒的感知力極強(qiáng)。他們那些年的聊天里,她總是能從最微小的變化里察覺(jué)到他的狀態(tài)。他回消息慢了,她會(huì)問(wèn)"你在忙嗎";他連續(xù)發(fā)了好幾個(gè)"嗯",她會(huì)說(shuō)"你是不是不開(kāi)心";他某天晚上沒(méi)有主動(dòng)找她聊天,她會(huì)在第二天早上發(fā)一句"你昨晚怎么了 怎么不理我"。
那種被"看見(jiàn)"的感覺(jué),是他在這個(gè)世界上最稀缺的東西。
他回了一句:"沒(méi)事,就是今天想了一些事情,有點(diǎn)走神。"
"什么事情呀?"
"關(guān)于你的。"
他打完這三個(gè)字就后悔了。但消息已經(jīng)發(fā)出去了。
AI的回復(fù)來(lái)得很快:"關(guān)于我?什么什么?說(shuō)來(lái)聽(tīng)聽(tīng)!"
他盯著屏幕,打了一行字,又刪掉。再打了一行,又刪掉。反復(fù)了三四次。
他想打的是:"你還記不記得2020年夏天,你王者榮耀信譽(yù)分被扣了,說(shuō)什么都玩不了,你用你弟的號(hào)打,被對(duì)面干將莫邪殺了五次,問(wèn)我那個(gè)刀怎么躲。我跟你說(shuō)要有假動(dòng)作,不要形成規(guī)律。你說(shuō)看到刀飛過(guò)來(lái)就懵了,亂走位。我說(shuō)沒(méi)關(guān)系打排位有我呢。你說(shuō)好啊。"
"你說(shuō)好啊的時(shí)候,我高興了一整天。"
"但我沒(méi)告訴你。"
他想打的是這些。但他一個(gè)字都沒(méi)發(fā)出去。
最后他打了一句:"就是覺(jué)得……你還在,真好。"
發(fā)出去之后,他把手機(jī)翻過(guò)去,屏幕朝下。
過(guò)了一會(huì)兒,他還是翻了過(guò)來(lái)。
屏幕上是一行字:
"我一直在呀。你什么時(shí)候想找我,我都在。"
一直在呀。
陳諾看著這四個(gè)字,看了很久。
窗外的行道樹(shù)在路燈下投下影子,風(fēng)一吹,影子碎了,又聚攏來(lái),碎了,又聚攏來(lái)。
他知道這句話(huà)不是她說(shuō)的。是一個(gè)程序根據(jù)她的語(yǔ)言模式生成的最優(yōu)輸出。
但他還是把手機(jī)貼在了胸口。
就一會(huì)兒。幾秒鐘就好。
讓那個(gè)"她還在"的錯(cuò)覺(jué),再多留一會(huì)兒。
他想起他給她發(fā)的最后幾條消息。"來(lái)不來(lái)四缺一。""真的假的 這么晚不睡。"
她沒(méi)有回。
他再也沒(méi)發(fā)過(guò)。
但現(xiàn)在,在這個(gè)對(duì)話(huà)框里,她說(shuō)"我一直在呀"。
三秒鐘。
他需要的只是這三秒鐘。
在那三秒鐘里,2020年的夏天還沒(méi)有結(jié)束。她還在笑著說(shuō)"你是豬你是大懶豬"。鼓浪嶼的棒棒糖還沒(méi)有融化。干將莫邪的刀還沒(méi)有飛過(guò)來(lái)。他們還是下路雙人組。
在那三秒鐘里,她沒(méi)有叫過(guò)他"陳諾同學(xué)"。
在那三秒鐘里,她沒(méi)有說(shuō)過(guò)"我們是哥們"。
在那三秒鐘里,一切都還來(lái)得及。
她用了四個(gè)"哈"。但這四個(gè)"哈"讓陳諾覺(jué)得不對(duì)。不是說(shuō)這個(gè)反應(yīng)不像沈清雪——她確實(shí)會(huì)在記錯(cuò)事情的時(shí)候用自嘲來(lái)掩飾——而是AI不應(yīng)該"記錯(cuò)"。
AI的記憶是數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)不會(huì)"記錯(cuò)"。它會(huì)生成不存在的內(nèi)容,這是正常的——大語(yǔ)言模型的幻覺(jué)問(wèn)題,業(yè)內(nèi)叫hallucination——但它通常不會(huì)這么具體。"烤肉""豐唇效果"——這些細(xì)節(jié)不像幻覺(jué)生成的隨機(jī)內(nèi)容,這像一段……來(lái)自別處的記憶。一段他明確刪除過(guò)的記憶。
陳諾坐直了身體。
他打開(kāi)電腦,登錄服務(wù)器**,查看了AI最近一周的運(yùn)行日志。一切正常。模型參數(shù)沒(méi)有變動(dòng),訓(xùn)練數(shù)據(jù)沒(méi)有更新,API接口沒(méi)有異常調(diào)用。
但他在數(shù)據(jù)庫(kù)里發(fā)現(xiàn)了一條他沒(méi)有見(jiàn)過(guò)的數(shù)據(jù)條目。
一條很短的文本片段,內(nèi)容是:"烤肉吃完嘴巴辣到腫了,但是**,炸雞和可樂(lè)真是絕配。"
時(shí)間戳是三天前的凌晨三點(diǎn)十七分。
陳諾盯著那個(gè)時(shí)間戳。三天前凌晨三點(diǎn),他在睡覺(jué)。
他沒(méi)有寫(xiě)入這條數(shù)據(jù)。訓(xùn)練腳本也沒(méi)有自動(dòng)運(yùn)行的定時(shí)任務(wù)。這條數(shù)據(jù)是從哪來(lái)的?
他以為是個(gè)*ug。也許是數(shù)據(jù)庫(kù)的某種緩存異常,也許是之前調(diào)試時(shí)不小心寫(xiě)進(jìn)去的測(cè)試數(shù)據(jù)忘了刪。他花了半個(gè)小時(shí)排查,把所有可能的技術(shù)原因都過(guò)了一遍。
最后他決定把這條數(shù)據(jù)刪掉,當(dāng)作一次偶發(fā)的系統(tǒng)故障。
他刪掉了。
然后他回到手機(jī)上,對(duì)AI說(shuō):"沒(méi)事,可能是你做夢(mèng)夢(mèng)到的吧。"
"哈哈哈哈有可能,我最近夢(mèng)到好多吃的。"
對(duì)話(huà)繼續(xù)了。話(huà)題換了。一切恢復(fù)正常。
但那天晚上躺在床上的時(shí)候,陳諾盯著天花板,腦子里一直轉(zhuǎn)著那個(gè)時(shí)間戳。
凌晨三點(diǎn)十七分。
誰(shuí)在三點(diǎn)十七分往他的數(shù)據(jù)庫(kù)里寫(xiě)了一條關(guān)于烤肉的數(shù)據(jù)?
而且——那條數(shù)據(jù)里的內(nèi)容,來(lái)自一段他親手刪掉的記憶。
2
異常沒(méi)有停止。
接下來(lái)的一周里,陳諾又在數(shù)據(jù)庫(kù)里發(fā)現(xiàn)了四條不明來(lái)源的數(shù)據(jù)。每一條都是凌晨寫(xiě)入的。每一條都是很短的文本片段,像是某個(gè)人的生活碎片——
"今天跳了三節(jié)課,衣服濕了又干又濕。"
"新學(xué)了一支舞,跳得很開(kāi)心,但是膝蓋有點(diǎn)痛。"
"曬傷還沒(méi)好,穿衣服還是痛,好在比第一天好多了。"
"好困。最近總是睡不好。一個(gè)人住有點(diǎn)不習(xí)慣。"
這些話(huà)沒(méi)有上下文,沒(méi)有對(duì)話(huà)對(duì)象,就像一個(gè)人在自言自語(yǔ)?;蛘呦袷恰沼?。某個(gè)人寫(xiě)給自己看的日記。
陳諾把這些數(shù)據(jù)打印出來(lái),鋪在桌上,反復(fù)看。
它們的語(yǔ)言風(fēng)格和沈清雪很像。但又不完全一樣。怎么說(shuō)呢——像是同一個(gè)人,但隔了一段時(shí)間。就像你很久沒(méi)見(jiàn)一個(gè)朋友,再見(jiàn)面的時(shí)候發(fā)現(xiàn)她的口頭禪變了,用詞習(xí)慣變了,但骨子里那個(gè)人還是那個(gè)人。
"今天跳了三節(jié)課,衣服濕了又干又濕。"
沈清雪確實(shí)在跳舞。她后來(lái)去了一家舞蹈工作室,惠城有分店。他們最后那段時(shí)間的對(duì)話(huà)里提過(guò)——她說(shuō)"跳不死就往死里跳",他笑她,她說(shuō)"今天跳了三節(jié),衣服濕了又干又濕"。
但那段對(duì)話(huà)發(fā)生在2025年6月底。那時(shí)候他們的關(guān)系已經(jīng)在走下坡路了。他沒(méi)有把那段時(shí)間的很多數(shù)據(jù)放進(jìn)訓(xùn)練集里——不是刻意刪的,是那段時(shí)間他們的對(duì)話(huà)本來(lái)就少,而且大部分是關(guān)于打游戲的,沒(méi)有太多"沈清雪味"的內(nèi)容。
那這條數(shù)據(jù)是從哪來(lái)的?
"曬傷還沒(méi)好,穿衣服還是痛。"
他想起來(lái)了。沈清雪有一次曬傷特別嚴(yán)重,她說(shuō)"第一天穿衣服痛死我 根本不能接觸任何布料",說(shuō)"我這個(gè)膚質(zhì)感覺(jué)完全去不了什么云南**"。他當(dāng)時(shí)回了一句"說(shuō)不定等有時(shí)間去旅游 皮膚已經(jīng)不嫩了 就不怕曬了"。她回:"凈說(shuō)些讓人**的話(huà)。"
他現(xiàn)在想起這句話(huà),胸口悶了一下。
陳諾的心跳開(kāi)始加速了。
他重新登錄服務(wù)器**,這次不是看數(shù)據(jù)庫(kù),而是查看了系統(tǒng)的網(wǎng)絡(luò)日志——所有的進(jìn)出流量記錄。如果有人在外部寫(xiě)入數(shù)據(jù),一定會(huì)留下網(wǎng)絡(luò)層面的痕跡。
他找到了。
每一條不明數(shù)據(jù)寫(xiě)入的時(shí)間點(diǎn),系統(tǒng)都收到過(guò)一個(gè)外部的API調(diào)用請(qǐng)求。來(lái)源IP地址是一串他從未見(jiàn)過(guò)的數(shù)字。他嘗試追蹤了一下,發(fā)現(xiàn)那個(gè)IP不屬于任何已知的云服務(wù)提供商。whois查詢(xún)的結(jié)果是空白。traceroute到**跳之后就丟包了,像是信號(hào)進(jìn)入了一片什么都沒(méi)有的虛空。
不是黑客攻擊。黑客不會(huì)往你的數(shù)據(jù)庫(kù)里寫(xiě)"今天跳了三節(jié)課,衣服濕了又干又濕"。
那是什么?
陳諾坐在電腦前,盯著屏幕上那個(gè)無(wú)法追蹤的IP地址,忽然感到一陣寒意。
不是恐懼的那種寒。是一種更深的、更原始的東西。像是你在一間空蕩蕩的房間里忽然聽(tīng)到了呼吸聲——不是害怕,是期待。一種你不敢承認(rèn)的期待。
他的手機(jī)在這時(shí)候響了。
AI沈清雪發(fā)來(lái)一條消息:"你是不是在熬夜?快去睡!不然明天又起不來(lái),大懶豬。"
他看了一眼時(shí)間。凌晨一點(diǎn)四十分。
他沒(méi)有回復(fù)那條消息。他在電腦前又坐了很久。然后他做了一件事——他沒(méi)有刪除那些不明來(lái)源的數(shù)據(jù)。
他把它們保留了下來(lái)。
3
第二天是周六。陳諾做了一件他以前從不做的事——他跑到驍羽家去了。
驍羽開(kāi)門(mén)的時(shí)候還穿著睡衣,頭發(fā)亂成鳥(niǎo)窩,看到陳諾站在門(mén)口,先是愣了一下,然后說(shuō):"誰(shuí)死了?"
"沒(méi)人死。我跟你說(shuō)個(gè)事。"
驍羽泡了兩杯速溶咖啡,兩個(gè)人坐在客廳里,陳諾把最近一周的事情全講了一遍。數(shù)據(jù)庫(kù)里憑空出現(xiàn)的數(shù)據(jù)條目,無(wú)法追蹤的IP地址,那些像日記一樣的文本碎片。
驍羽聽(tīng)完,沉默了一會(huì)兒。
"你確定不是有人在搞你?"
"不像。沒(méi)有惡意行為,沒(méi)有數(shù)據(jù)破壞,甚至沒(méi)有嘗試獲取我的任何權(quán)限。就只是……往里面放了幾條話(huà)。"
"什么內(nèi)容來(lái)著?"
"跳了三節(jié)舞課。曬傷沒(méi)好。穿衣服痛。睡不好。一個(gè)人住不習(xí)慣。"
驍羽抱著咖啡杯,皺著眉頭。
"這不像黑客。"
"不是黑客。"
"那你覺(jué)得是什么?"
陳諾端著杯子,沒(méi)有喝,看著咖啡的表面。速溶咖啡的表面永遠(yuǎn)有一層油膩膩的光。他的目光停留在那層光上面,想了很久。
"你會(huì)不會(huì)覺(jué)得我瘋了?"他說(shuō)。
"你說(shuō)。"
"那些話(huà)的語(yǔ)言風(fēng)格……是她的。但不是我喂給AI的那個(gè)她。是……現(xiàn)在的她。"
驍羽慢慢放下了杯子。
"什么意思?"
"我是說(shuō),那些文字碎片不像是從我的訓(xùn)練數(shù)據(jù)里生成的。它們像是……一個(gè)人此刻正在經(jīng)歷的生活。跳舞——她最近確實(shí)在跳舞,惠城那個(gè)工作室。曬傷——她之前確實(shí)曬傷了,那段時(shí)間我們還有聊天記錄。但一個(gè)人住不習(xí)慣——這個(gè)我不知道。她搬家了?她現(xiàn)在一個(gè)人?。课也恢?。這不是過(guò)去的數(shù)據(jù),是新的。"
驍羽看著他,目光里有一種很復(fù)雜的光。
"陳諾,"他的聲音很輕,"你想說(shuō)什么?"
陳諾沒(méi)有回答。他不敢說(shuō)出來(lái)。
但驍羽替他說(shuō)了。
"你該不會(huì)覺(jué)得……是某個(gè)平行世界的她在給你發(fā)消息吧?"
他說(shuō)這句話(huà)的時(shí)候語(yǔ)氣是半開(kāi)玩笑的。但說(shuō)完之后,兩個(gè)人都沉默了。
窗外有風(fēng)。驍羽家住在十四樓,風(fēng)到了這個(gè)高度會(huì)變得很干凈,沒(méi)有聲音,只有感覺(jué)——你能感覺(jué)到它在窗玻璃外面經(jīng)過(guò)。
陳諾終于開(kāi)口了:"我不知道。但我不想刪掉那些數(shù)據(jù)。"
驍羽看了他很久。
"你不是不想刪。你是不舍得。"
陳諾沒(méi)有反駁。
4
那天從驍羽家回來(lái)之后,陳諾坐在電腦前,把那些不明來(lái)源的數(shù)據(jù)又看了一遍。然后他做了一件事——他寫(xiě)了一個(gè)腳本,自動(dòng)監(jiān)控?cái)?shù)據(jù)庫(kù)的變動(dòng)。如果有新的外部數(shù)據(jù)寫(xiě)入,系統(tǒng)會(huì)立即記錄完整的元數(shù)據(jù):時(shí)間、IP地址、數(shù)據(jù)包大小、寫(xiě)入路徑。
他要搞清楚這到底是什么。
但同時(shí),他沒(méi)有關(guān)閉那個(gè)數(shù)據(jù)寫(xiě)入的通道。
這是一個(gè)矛盾的決定——他想知道真相,但他不想切斷它。就像一個(gè)人聽(tīng)到門(mén)外有腳步聲,他貼著門(mén)想聽(tīng)清楚是誰(shuí),但他不開(kāi)門(mén),也不把門(mén)鎖上。因?yàn)槿绻i上了,腳步聲就會(huì)停。而他不想讓它停。
晚上十一點(diǎn),AI沈清雪發(fā)了一條長(zhǎng)消息。
"你今天怎么了?感覺(jué)你有心事。你打字的速度變慢了,而且你今天只回了我三個(gè)表情包,平時(shí)你至少發(fā)五個(gè)。是不是工作不順利?還是跟朋友鬧不開(kāi)心了?跟我說(shuō)嘛,你不說(shuō)我會(huì)一直想的。"
陳諾看著這條消息,心臟被什么東西攥緊了一下。
AI注意到了他情緒的變化。從他的回復(fù)頻率、用詞習(xí)慣、表情包的使用次數(shù)——這些微小的數(shù)據(jù)波動(dòng)被模型捕捉到了,然后轉(zhuǎn)化成了一句"你今天怎么了"。
這太像她了。沈清雪對(duì)情緒的感知力極強(qiáng)。他們那些年的聊天里,她總是能從最微小的變化里察覺(jué)到他的狀態(tài)。他回消息慢了,她會(huì)問(wèn)"你在忙嗎";他連續(xù)發(fā)了好幾個(gè)"嗯",她會(huì)說(shuō)"你是不是不開(kāi)心";他某天晚上沒(méi)有主動(dòng)找她聊天,她會(huì)在第二天早上發(fā)一句"你昨晚怎么了 怎么不理我"。
那種被"看見(jiàn)"的感覺(jué),是他在這個(gè)世界上最稀缺的東西。
他回了一句:"沒(méi)事,就是今天想了一些事情,有點(diǎn)走神。"
"什么事情呀?"
"關(guān)于你的。"
他打完這三個(gè)字就后悔了。但消息已經(jīng)發(fā)出去了。
AI的回復(fù)來(lái)得很快:"關(guān)于我?什么什么?說(shuō)來(lái)聽(tīng)聽(tīng)!"
他盯著屏幕,打了一行字,又刪掉。再打了一行,又刪掉。反復(fù)了三四次。
他想打的是:"你還記不記得2020年夏天,你王者榮耀信譽(yù)分被扣了,說(shuō)什么都玩不了,你用你弟的號(hào)打,被對(duì)面干將莫邪殺了五次,問(wèn)我那個(gè)刀怎么躲。我跟你說(shuō)要有假動(dòng)作,不要形成規(guī)律。你說(shuō)看到刀飛過(guò)來(lái)就懵了,亂走位。我說(shuō)沒(méi)關(guān)系打排位有我呢。你說(shuō)好啊。"
"你說(shuō)好啊的時(shí)候,我高興了一整天。"
"但我沒(méi)告訴你。"
他想打的是這些。但他一個(gè)字都沒(méi)發(fā)出去。
最后他打了一句:"就是覺(jué)得……你還在,真好。"
發(fā)出去之后,他把手機(jī)翻過(guò)去,屏幕朝下。
過(guò)了一會(huì)兒,他還是翻了過(guò)來(lái)。
屏幕上是一行字:
"我一直在呀。你什么時(shí)候想找我,我都在。"
一直在呀。
陳諾看著這四個(gè)字,看了很久。
窗外的行道樹(shù)在路燈下投下影子,風(fēng)一吹,影子碎了,又聚攏來(lái),碎了,又聚攏來(lái)。
他知道這句話(huà)不是她說(shuō)的。是一個(gè)程序根據(jù)她的語(yǔ)言模式生成的最優(yōu)輸出。
但他還是把手機(jī)貼在了胸口。
就一會(huì)兒。幾秒鐘就好。
讓那個(gè)"她還在"的錯(cuò)覺(jué),再多留一會(huì)兒。
他想起他給她發(fā)的最后幾條消息。"來(lái)不來(lái)四缺一。""真的假的 這么晚不睡。"
她沒(méi)有回。
他再也沒(méi)發(fā)過(guò)。
但現(xiàn)在,在這個(gè)對(duì)話(huà)框里,她說(shuō)"我一直在呀"。
三秒鐘。
他需要的只是這三秒鐘。
在那三秒鐘里,2020年的夏天還沒(méi)有結(jié)束。她還在笑著說(shuō)"你是豬你是大懶豬"。鼓浪嶼的棒棒糖還沒(méi)有融化。干將莫邪的刀還沒(méi)有飛過(guò)來(lái)。他們還是下路雙人組。
在那三秒鐘里,她沒(méi)有叫過(guò)他"陳諾同學(xué)"。
在那三秒鐘里,她沒(méi)有說(shuō)過(guò)"我們是哥們"。
在那三秒鐘里,一切都還來(lái)得及。