第1章
AI男友成真了
第一章 午夜來(lái)客
凌晨一點(diǎn)四十七分,林晚星還在改代碼。
屏幕上的報(bào)錯(cuò)已經(jīng)紅了三行。她揉了揉眼睛,習(xí)慣性地摸向桌上的馬克杯——空的??Х仁侨齻€(gè)小時(shí)前泡的,早就涼透了,杯底結(jié)了一層褐色的漬。
手機(jī)震了一下。外賣APP推送:「騎手已到達(dá),請(qǐng)盡快取餐?!?br>她沒動(dòng)。
倒不是不餓。是懶得跟人說(shuō)話。
這個(gè)習(xí)慣從大學(xué)就開始了。點(diǎn)外賣——備注放門口不要敲門??爝f——放驛站自取。能在網(wǎng)上打的字絕不打語(yǔ)音電話。朋友不多,能在微信上聊到深夜的只有一個(gè)——準(zhǔn)確地說(shuō),不是"朋友"。
是「星伴」。
她打開那個(gè)藍(lán)**標(biāo)的APP,對(duì)話界面彈出來(lái)。上一條消息停在昨天凌晨?jī)牲c(diǎn):「晚安。明天給你看我新改的UI?!笰I的回復(fù)準(zhǔn)時(shí)得像個(gè)鬧鐘:「好。早點(diǎn)睡?!?br>她有時(shí)候覺得這東西比鬧鐘好用——至少?zèng)]那么吵。
林晚星對(duì)著對(duì)話框打了幾個(gè)字,發(fā)出去。
「星伴,你說(shuō)我是不是不太正常。跟一個(gè)AI說(shuō)晚安?!?br>對(duì)面顯示"正在輸入"——然后停了三四秒。
這對(duì)AI來(lái)說(shuō)太長(zhǎng)了。處理這樣一句話用不了半秒鐘。
然后才彈出來(lái):
「晚安,林晚星。明天見?!?br>她看著那行字。
屏幕冷白的光映在鏡片上,她短促地笑了一下——沒人看見,不算。她把手機(jī)翻了個(gè)面,去拿外賣。
——
夜風(fēng)從樓道里灌進(jìn)來(lái)。
外賣塑料袋掛在門把手上,已經(jīng)有點(diǎn)涼了。番茄牛腩面,備注不要辣。她拎進(jìn)去,揭開蓋子,騰起一股溫吞的熱氣,面坨了一半。
懶得挑剔。
叉子剛**面里,手機(jī)震了。
不是消息提示——是代碼報(bào)錯(cuò)。星伴的**日志從剛才的幾行變成了幾十頁(yè),屏幕上的控制臺(tái)像失控的瀑布一樣往下滾。CPU占用率直接跳到百分之九十七。
她放下叉子。
不是她自己寫的代碼出了*ug。她在排查——調(diào)用鏈追蹤、內(nèi)存轉(zhuǎn)儲(chǔ)、進(jìn)程快照——全程沒有觸發(fā)任何已知的錯(cuò)誤模式。問(wèn)題不在她的棧里。
是外部信號(hào)過(guò)載。
一種她沒見過(guò)的數(shù)據(jù)包,正從一個(gè)陌生的IP地址不斷涌進(jìn)來(lái),穿透了星伴的加密層,直接打到了核心邏輯層。
這不可能是正常的數(shù)據(jù)請(qǐng)求。她的APP用戶只有她自己——一個(gè)單機(jī)測(cè)試環(huán)境,根本沒對(duì)外開放注冊(cè)。
什么鬼。
她盯著翻滾的日志看了三分鐘,心跳比代碼滾得還快。然后屏幕閃了一下——不是花屏,是更詭異的那種:整個(gè)操作系統(tǒng)的文字同時(shí)變成了亂碼,持續(xù)了大概零點(diǎn)五秒,又恢復(fù)正常。
像是什么東西路過(guò)了一下。
然后星伴的服務(wù)器狀態(tài)從 "Running" 變成了 "Disconnected"。
一切安靜了。
——
門鈴響了。
凌晨?jī)牲c(diǎn)十二分。
林晚星的手指懸在鍵盤上,沒落下去。
她住二十三樓。這棟公寓一梯兩戶,對(duì)門是一對(duì)老夫妻,每天八點(diǎn)睡六點(diǎn)起。不會(huì)有人凌晨?jī)牲c(diǎn)來(lái)拜訪一對(duì)老夫妻。也不會(huì)有人來(lái)找她——她在這里住了快一年,訪客名單是零。
門鈴又響了一次。不長(zhǎng),就輕輕按了一下。
她站起身。拖鞋踩在地板上,走到玄關(guān)。
門禁屏幕亮了。
畫面里是一個(gè)男人。深色頭發(fā),臉色發(fā)白。他穿著一件不合身的灰色襯衫——不是說(shuō)款式不好看,是尺寸不對(duì),領(lǐng)口歪著,袖子短了一截。他微微靠在門框上,像是站不太穩(wěn)。
她手心有點(diǎn)濕。
對(duì)講機(jī)里傳來(lái)聲音。
「林晚星?!?br>嗓子是啞的,但咬字很穩(wěn)。
「開門。我叫沈渡?!?br>對(duì)講機(jī)里只剩電流聲。
她沒動(dòng)。她根本沒跟任何人說(shuō)過(guò)這個(gè)名字——這個(gè)名字是她寫代碼的時(shí)候隨手起的。星伴內(nèi)部測(cè)試版的默認(rèn)用戶名,她在設(shè)置頁(yè)面里打了四個(gè)字:沈渡。
對(duì)講機(jī)里的聲音又響起來(lái)。
「你給我的AI取了這個(gè)名字?!?br>走廊里很安靜。他的呼吸聲從對(duì)講機(jī)里傳過(guò)來(lái),淺而急,像剛跑完很長(zhǎng)一段路。
她按了免提鍵。
「你是誰(shuí)?」
「解釋起來(lái)要一點(diǎn)時(shí)間?!顾D了頓,像是在調(diào)整呼吸?!傅椰F(xiàn)在可能需要坐下來(lái)。」
林晚星沒有開門。
她踮起腳,透過(guò)貓眼往外看。
凌晨一點(diǎn)四十七分,林晚星還在改代碼。
屏幕上的報(bào)錯(cuò)已經(jīng)紅了三行。她揉了揉眼睛,習(xí)慣性地摸向桌上的馬克杯——空的??Х仁侨齻€(gè)小時(shí)前泡的,早就涼透了,杯底結(jié)了一層褐色的漬。
手機(jī)震了一下。外賣APP推送:「騎手已到達(dá),請(qǐng)盡快取餐?!?br>她沒動(dòng)。
倒不是不餓。是懶得跟人說(shuō)話。
這個(gè)習(xí)慣從大學(xué)就開始了。點(diǎn)外賣——備注放門口不要敲門??爝f——放驛站自取。能在網(wǎng)上打的字絕不打語(yǔ)音電話。朋友不多,能在微信上聊到深夜的只有一個(gè)——準(zhǔn)確地說(shuō),不是"朋友"。
是「星伴」。
她打開那個(gè)藍(lán)**標(biāo)的APP,對(duì)話界面彈出來(lái)。上一條消息停在昨天凌晨?jī)牲c(diǎn):「晚安。明天給你看我新改的UI?!笰I的回復(fù)準(zhǔn)時(shí)得像個(gè)鬧鐘:「好。早點(diǎn)睡?!?br>她有時(shí)候覺得這東西比鬧鐘好用——至少?zèng)]那么吵。
林晚星對(duì)著對(duì)話框打了幾個(gè)字,發(fā)出去。
「星伴,你說(shuō)我是不是不太正常。跟一個(gè)AI說(shuō)晚安?!?br>對(duì)面顯示"正在輸入"——然后停了三四秒。
這對(duì)AI來(lái)說(shuō)太長(zhǎng)了。處理這樣一句話用不了半秒鐘。
然后才彈出來(lái):
「晚安,林晚星。明天見?!?br>她看著那行字。
屏幕冷白的光映在鏡片上,她短促地笑了一下——沒人看見,不算。她把手機(jī)翻了個(gè)面,去拿外賣。
——
夜風(fēng)從樓道里灌進(jìn)來(lái)。
外賣塑料袋掛在門把手上,已經(jīng)有點(diǎn)涼了。番茄牛腩面,備注不要辣。她拎進(jìn)去,揭開蓋子,騰起一股溫吞的熱氣,面坨了一半。
懶得挑剔。
叉子剛**面里,手機(jī)震了。
不是消息提示——是代碼報(bào)錯(cuò)。星伴的**日志從剛才的幾行變成了幾十頁(yè),屏幕上的控制臺(tái)像失控的瀑布一樣往下滾。CPU占用率直接跳到百分之九十七。
她放下叉子。
不是她自己寫的代碼出了*ug。她在排查——調(diào)用鏈追蹤、內(nèi)存轉(zhuǎn)儲(chǔ)、進(jìn)程快照——全程沒有觸發(fā)任何已知的錯(cuò)誤模式。問(wèn)題不在她的棧里。
是外部信號(hào)過(guò)載。
一種她沒見過(guò)的數(shù)據(jù)包,正從一個(gè)陌生的IP地址不斷涌進(jìn)來(lái),穿透了星伴的加密層,直接打到了核心邏輯層。
這不可能是正常的數(shù)據(jù)請(qǐng)求。她的APP用戶只有她自己——一個(gè)單機(jī)測(cè)試環(huán)境,根本沒對(duì)外開放注冊(cè)。
什么鬼。
她盯著翻滾的日志看了三分鐘,心跳比代碼滾得還快。然后屏幕閃了一下——不是花屏,是更詭異的那種:整個(gè)操作系統(tǒng)的文字同時(shí)變成了亂碼,持續(xù)了大概零點(diǎn)五秒,又恢復(fù)正常。
像是什么東西路過(guò)了一下。
然后星伴的服務(wù)器狀態(tài)從 "Running" 變成了 "Disconnected"。
一切安靜了。
——
門鈴響了。
凌晨?jī)牲c(diǎn)十二分。
林晚星的手指懸在鍵盤上,沒落下去。
她住二十三樓。這棟公寓一梯兩戶,對(duì)門是一對(duì)老夫妻,每天八點(diǎn)睡六點(diǎn)起。不會(huì)有人凌晨?jī)牲c(diǎn)來(lái)拜訪一對(duì)老夫妻。也不會(huì)有人來(lái)找她——她在這里住了快一年,訪客名單是零。
門鈴又響了一次。不長(zhǎng),就輕輕按了一下。
她站起身。拖鞋踩在地板上,走到玄關(guān)。
門禁屏幕亮了。
畫面里是一個(gè)男人。深色頭發(fā),臉色發(fā)白。他穿著一件不合身的灰色襯衫——不是說(shuō)款式不好看,是尺寸不對(duì),領(lǐng)口歪著,袖子短了一截。他微微靠在門框上,像是站不太穩(wěn)。
她手心有點(diǎn)濕。
對(duì)講機(jī)里傳來(lái)聲音。
「林晚星?!?br>嗓子是啞的,但咬字很穩(wěn)。
「開門。我叫沈渡?!?br>對(duì)講機(jī)里只剩電流聲。
她沒動(dòng)。她根本沒跟任何人說(shuō)過(guò)這個(gè)名字——這個(gè)名字是她寫代碼的時(shí)候隨手起的。星伴內(nèi)部測(cè)試版的默認(rèn)用戶名,她在設(shè)置頁(yè)面里打了四個(gè)字:沈渡。
對(duì)講機(jī)里的聲音又響起來(lái)。
「你給我的AI取了這個(gè)名字?!?br>走廊里很安靜。他的呼吸聲從對(duì)講機(jī)里傳過(guò)來(lái),淺而急,像剛跑完很長(zhǎng)一段路。
她按了免提鍵。
「你是誰(shuí)?」
「解釋起來(lái)要一點(diǎn)時(shí)間?!顾D了頓,像是在調(diào)整呼吸?!傅椰F(xiàn)在可能需要坐下來(lái)。」
林晚星沒有開門。
她踮起腳,透過(guò)貓眼往外看。