
黎明前的天空,那種深邃到讓人有點發毛的藍色調,街燈孤零零地杵在那,像個失戀的機器人。公寓樓下那輛鬼祟的黑色轎車?早溜了,只在濕漉漉的路面上留下幾滴油漬,反著微光,彷彿在嘲笑誰的粗心大意。
曉陽揉著發痠的眼睛,螢幕上的代碼和指令跳著詭異的華爾滋,糊成一團綠光。凌晨四點三十七分,真會挑時間。過去七個小時,他總算撈回了若涵那堆設計稿的一小部分。嗯,一小部分,離「搞定」還差著十萬八千里呢。
連日奮戰讓他臉色慘白得像張忘了充電的顯示屏,眼底的青黑簡直是熬夜冠軍的勳章。他拿起杯子,裡頭的咖啡早就蒸發得一乾二淨,只剩一圈褐色的污漬,像某種他懶得解讀的神秘符號。他輕輕放下杯子,一點聲音都沒有。不能吵醒她,絕對不能讓她看到他這副德性。
「根據合約,這已經超出我的義務範圍了。」白天,他就是這麼跟若涵說的,語氣冷得像剛出廠的伺服器。他看著她眼裡的星光變成失望,再變成惱火,最後變成那種「好吧我懂了你就是個沒感情的混蛋」的心碎表情。她咬著下唇點頭,一句話都沒多說。
那一刻,他差點就破功了,想解釋他其實有計畫,只是不想給她虛假的希望,萬一失敗了呢?但最後還是選擇了閉嘴。從邏輯上講,不給希望才是最優解——失敗了,傷害最小;成功了,驚喜最大化。多麼完美的計算,對吧?
然而,當鍵盤在他指尖下噼啪作響,這套冷冰冰的計算在他心裡,變得越來越像一堆亂碼。
---
「曉陽?」若涵的聲音隔著門板傳來,伴隨著輕輕的敲門聲,像試探性的 ping 指令。
曉陽手忙腳亂地關掉那個顯示檔案恢復進度的視窗,秒切到一個看起來很無辜的程式碼頁面。「進來。」
若涵推門進來,手裡捧著個馬克杯。頭髮亂得像被靜電炸過,穿著件寬鬆的灰色T恤,眼睛因為睡眠不足而微微浮腫。這是她苦苦掙扎,試圖從廢墟裡重建她那些寶貝設計稿的第三天。可憐兮兮的。
「煮了茶,」她把杯子放在曉陽桌邊,「你連續工作多久了?三十個小時?」
「二十七小時四十三分鐘,」曉陽條件反射般精確報時,隨即補充,「但我每隔四十五分鐘會強制休眠五分鐘,以維持最佳運算效率。」看,多麼敬業的機器。
若涵翻了個大大的白眼,那表情好像在說「我怎麼會擔心你這種人形計算機」:「真不敢相信,我居然會擔心你這個走火入魔的傢伙。」
曉陽瞥了一眼茶杯,他平常用的那個——白色瓷杯,旁邊印著一行矯情的小字:「代碼即詩」。呵,詩意。他嘴角不自覺地抽動了一下,但在若涵注意到之前迅速恢復了面無表情的狀態。「謝了。」
「看你那雙兔子眼,我都懷疑你是不是把血管裡的血全換成濃縮咖啡了,」若涵靠在他的書桌邊緣,語氣帶著點無奈,「別把自己搞掛了,公司那些破事再重要也沒你的小命重要。」
曉陽微微點頭,沒去糾正她的誤解。事實上,他這幾天根本沒鳥公司那些事,所有時間和算力都耗在怎麼把若涵那些被刪掉的檔案從數據墳墓裡挖出來,順便追查那個不長眼的網路攻擊者的老巢。
「我的設計稿重建得七七八八了,」若涵繼續說,語氣裡那份刻意的輕鬆簡直要溢出來,「雖然跟之前的版本比還是差了點意思,但至少能趕在死線前交差。」
「恭喜。」曉陽說,努力讓自己的聲音聽起來不那麼像合成語音。他知道她在扯淡,他剛才監控到的數據顯示她大概只完成了35%的工作量。離比賽截止只剩三天,按照這個龜速,根本是癡人說夢。
若涵輕輕嘆了口氣,那口氣沉重得像伺服器過載。眼神掃過他的螢幕,但很識趣地沒有多問。「不打擾你了,好好休息,別真的把自己變成一堆廢銅爛鐵。」說完,她轉身離開,輕輕帶上了門,像怕驚擾了正在運算的CPU。
門一關上,曉陽立刻切回那個檔案恢復程序。進度條慢吞吞地爬到了67%,但最核心的部分——若涵那些寶貝3D模型和材質貼圖,依然下落不明,像躲在加密區裡不肯出來。他揉了揉太陽穴,試圖把渙散的注意力重新聚焦。這是一場跟時間賽跑的蠢遊戲,而他偏偏不想輸。
---
午夜的公寓安靜得能聽到隔壁路由器的散熱風扇在嗡嗡叫。
若涵坐在電腦前,死死瞪著螢幕上那個只畫了一半的設計稿,一種前所未有的絕望感像病毒一樣侵蝕著她的CPU。距離死線只剩下不到六十個小時,她甚至懷疑自己能不能在時間結束前把最基本的框架搭出來。
那個自稱「系統管理員」的傢伙恢復的部分檔案確實是雪中送炭,但最核心的3D模型和材質設計都嗝屁了。沒有這些,她的作品就像少了靈魂的空殼代碼。
她用手蓋住微腫的眼睛,深深吸了口氣,又沉重地吐出來。也許…該放棄了?她已經連續三天沒好好休息,精力條見底,創意緩存也清空了。
就在這時,一聲輕微的「叮」——郵件提示音,在這死寂的空間裡格外突兀。
凌晨兩點?誰這麼沒公德心發郵件?大概又是垃圾廣告吧,她心不在焉地點開了郵箱。
螢幕上,一封未讀郵件靜靜地躺在收件匣最上方,寄件人是那個熟悉的、裝神弄鬼的名字:「系統管理員」,主題是:「恢復檔案第二批(含3D模型)」。
若涵的心臟猛地漏跳了一拍,手指帶著點神經質的顫抖點開了郵件。
「附件中包含從系統緩存中恢復的3D模型檔案和材質貼圖。恢復度約85%,可能存在細節缺失,請自行評估是否可用。」
這段簡短、毫無感情色彩、像機器自動生成的郵件,在若涵眼中卻如同天降甘霖,或者說…伺服器重啟成功?她迅速下載並解壓縮了附件,眼眶因為過度興奮和某種難以言喻的情緒而濕潤。
令人難以置信的是,這些恢復的檔案幾乎完美無缺——甚至包含了她之前幾個不同版本的設計思路和修改過程!這些東西,照理說早就被刪得連渣都不剩了,怎麼可能被找回來?
難道真是雲端服務商大發慈悲恢復了數據?但如果是這樣,為什麼只給她一個人發?還用這種半匿名、欲蓋彌彰的方式?
一個念頭像電流一樣竄過她的腦海——該不會是…曉陽?
若涵放下檔案,像個幽靈一樣悄悄飄向客廳。曉陽的房門依然緊閉,但門縫底下那條固執的光線暴露了他還醒著的事實。這個夜貓子。
她猶豫著要不要敲門,但最終決定先當個偷窺者。她躡手躡腳地靠近門邊,卻意外地聽到了曉陽那幾乎聽不見的自言自語,像程式碼註解一樣低沉。
「再試一次…趙宇那傢伙的IP位址已經鎖定了,但他背後肯定還有鬼…訊息加密方式太專業了…不對,這不是普通菜鳥能搞出來的…」
若涵趕緊摀住嘴,生怕自己發出任何聲音暴露行蹤。曉陽不但在查趙宇,還懷疑幕後有黑手?而且他自言自語時提到的IP位址和加密方式,讓若涵百分之百確信了一件事——曉陽就是那個故弄玄虛的「系統管理員」。
「必須盡快找回剩下的設計稿…她的比賽截止日期…只剩兩天半了…」
曉陽的聲音聽起來疲憊得像跑了一萬次循環,透著一絲極其罕見的焦慮,完全不像他平時那個冷靜到令人髮指的樣子。若涵心頭湧起一股複雜的暖流——他在為她熬夜,為她爆肝,儘管白天裝得一副「干我屁事」的死樣子。
這個發現讓她愣在原地,有點不知所措。曉陽幹嘛要瞞著她?幹嘛要扮演那個冷漠、拒絕伸出援手的討厭鬼角色?
突然,一聲什麼東西掉在地上的輕響從曉陽房間傳來,隨即是一聲壓抑的低罵。若涵條件反射地後退幾步,像做了虧心事一樣,悄無聲息地溜回自己房間,心跳快得像超頻的處理器。
曉陽不只在幫她,還在調查整件事的真相。而他選擇把這一切都藏起來,不讓她知道——是怕她又一次失望?還是有其他更無聊的原因?
無論如何,這個深夜的意外發現讓若涵重新燃起了希望的小火苗。她回到電腦前,開始檢查那些被奇蹟般「復活」的檔案,嘴角不自覺地上揚。管他曉陽為什麼要裝神弄鬼,至少現在她知道了:她不是一個人在跟這該死的爛攤子戰鬥。
---
曉陽揉了揉快要斷掉的脖子,螢幕上的數據流已經開始重影,像劣質的顯示效果。他剛才不小心碰倒了咖啡杯,幸好裡面早就空了,只發出了輕微的碰撞聲,沒釀成什麼大禍。
他瞥了一眼時間:凌晨2:37,不多不少,正好是若涵的檔案被徹底刪除的那個時間點。這種巧合,絕對不是隨機事件。
經過幾天的地毯式搜索,他已經掌握了足夠的數位證據,證明趙宇那個蠢貨確實雇了駭客攻擊若涵的帳號。他還順手在各大平台把趙宇和那些水軍的帳號都舉報了一遍,引發了平台一輪不大不小的清理行動。
但有些事情,還是像程式碼裡的bug一樣,解釋不通。
趙宇的行為模式,確實符合一個心胸狹窄、報復心強的前男友設定,但這次攻擊的手法太專業了,而且時機抓得太準——正好在若涵那個重要的比賽截稿前夕。這需要對若涵的日常安排有相當程度的了解,而趙宇,作為一個已經被踢出局的前男友,按理說不可能掌握這麼精確的情報。
除非,有人在背後給他遞刀子。
曉陽點開一個加密文件,裡面是他收集到的所有異常數據。包括那輛黑色轎車的出沒時間,趙宇在社交媒體上的詭異活動,甚至若涵帳號的登入紀錄。所有這些碎片拼湊起來,指向一個讓人不太舒服的可能性——趙宇背後,可能有一個更有組織、更有目的的黑手。
但為什麼?若涵不過是個普通的設計師,他們也不過是兩個粉絲不算太多的小網紅,誰會這麼閒得蛋疼,花這麼大力氣來對付他們?
除非…目標不是若涵,而是衝著他自己來的?
曉陽皺起眉頭,想起家族企業那些狗屁倒灶的變故,以及那些突然冒出來、像病毒一樣擴散的競爭對手。還有那輛一直在他們周圍陰魂不散的黑色轎車…這一切,真的只是巧合那麼簡單?
他搖搖頭,強制把發散的思緒拉回到眼前的任務。不管背後藏著什麼見不得人的陰謀,當務之急是確保若涵能順利完成她的比賽作品。這是讓她重新找回自信,或者說…讓她別再煩他的關鍵一步。
他繼續敲打鍵盤,執行更深層次的數據恢復程序。系統發出輕微的嗡鳴聲,像一台老舊的機器在努力運轉,試圖從數據的犄角旮旯裡,找出那些被刻意隱藏、抹除的資訊碎片。
---
若涵像打了雞血一樣瘋狂工作了整整兩天,眼睛盯著螢幕盯到乾澀發痛,但精神卻亢奮得像磕了藥。那些被神秘「系統管理員」恢復的檔案,讓她的設計作品幾乎起死回生,甚至在某些細節上,比原版還要好那麼一點點。
比賽截止日期前的最後一個晚上,她終於搞定了所有修改,準備提交那個凝聚了她血淚(可能還有曉陽的?)的作品。這幾天,「系統管理員」持續不斷地發來不同批次的恢復檔案,但始終像個害羞的網友一樣,不肯透露真實身份。
而曉陽呢,則繼續扮演著那個疏離冷淡的角色。白天,他像個幽靈一樣很少出現在公共區域;夜裡,他房間門縫下總是透出那該死的光亮,伴隨著規律的鍵盤敲擊聲,一直持續到天快亮。真懷疑他是不是需要充電。
若涵心裡跟明鏡似的,知道他在幹嘛,但選擇尊重他那點可憐的彆扭,沒有去揭穿。
「喂,」這天晚上,若涵敲響了曉陽的房門,「有空沒?」口氣隨意得像問他要不要一起打遊戲。
「進來,」曉陽的聲音聽起來有點虛,但依然努力維持著慣常的冷靜語調。
推開門,若涵看到他迅速切換了螢幕畫面,但她假裝什麼都沒看見。「我的作品搞定了,剛才已經提交給比賽官方了。」
「恭喜,」曉陽點點頭,表情平淡得像在說「今天天氣不錯」,「我相信評審會被你的才華閃瞎眼。」
若涵走到他的書桌旁,注意到他眼下的黑眼圈已經可以媲美熊貓了,頭髮也亂得像個鳥窩,整個人看起來像是連續幾天沒關機重啟。「謝謝你。」
「我…只是表達了基本的祝賀,」曉陽似乎有點困惑,調整了一下那副厚重的眼鏡,「並沒有做任何值得你感謝的事情。」這傢伙,裝傻充愣的本事一流。
若涵微微一笑,沒打算戳破他那層薄薄的偽裝。「不管怎樣,我想請你吃頓飯,慶祝一下。你知道,能在死線前完成作品,本身就是個奇蹟了,值得好好犒勞一下自己。」
曉陽看起來有點猶豫,視線飄向螢幕,好像那上面有什麼宇宙終極答案,然後又慢吞吞地回到若涵臉上。「我現在正在處理一些…個人事務。」
「就當是幫我個忙嘛,」若涵堅持道,使出裝可憐的技能,「我不想一個人孤零零地慶祝。」
曉陽沉默了片刻,似乎在進行激烈的內心掙扎,像程式碼在debug一樣,最終不情不願地點了點頭:「好吧,給我五分鐘。」
若涵露出一個勝利的微笑,轉身離開前,眼角餘光掃了一眼他的螢幕。那上面一閃而過的數據流和程式碼風格,跟她收到的那些「系統管理員」郵件,簡直是一個模子刻出來的。哼,小樣。
---
城市的夜景在餐廳的落地窗外閃爍著五光十色,霓虹燈的光影在若涵臉上跳躍,像劣質的螢幕保護程式。這家餐廳不算頂級奢華,但氣氛溫馨舒適,是她覬覦已久的地方。
「敬創作的痛苦與喜悅,」若涵舉起酒杯,杯中的液體晃盪著光芒,「以及…意外的援助之手。」她特意在最後幾個字上加重了語氣,眼神像掃描器一樣鎖定著曉陽。
曉陽輕輕抿了一口紅酒,像在品嚐數據一樣,沒有回應那個明顯到不能再明顯的暗示。「你的設計作品,最終版本和你心目中的理想型,差距有多少個百分點?」
「說實話,」若涵放下酒杯,決定實話實說,「比我預期的好太多了。那些像變魔術一樣恢復的檔案幫了大忙,尤其是那個3D模型部分,簡直像是…有人黑進了我的大腦,把我腦子裡的想法直接複製貼上出來一樣。」
曉陽的表情依然平靜得像一潭死水,但若涵眼尖地注意到他的手指輕微抖動了一下,幅度小到幾乎可以忽略不計。裝,接著裝。
「你知道嗎,」若涵決定乘勝追擊,試探到底,「那個『系統管理員』,似乎對我的工作方式和設計思路瞭若指掌。他恢復的不僅僅是檔案本身,還包括了我的修改過程和設計邏輯。你不覺得這很…神奇嗎?」
「也許是雲端服務的自動恢復功能吧,」曉陽避重就輕地回答,試圖把鍋甩給虛無縹緲的大公司,「大公司的數據恢復能力,往往超出普通用戶的認知範圍。」
若涵笑了,笑得像個抓住了小偷的偵探:「是嗎?那你怎麼解釋,他每次發送郵件的時間,都恰好是你通宵爆肝之後的清晨?」
曉陽端著杯子的手頓了一下,然後很不優雅地碰翻了餐桌上的水杯。水灑在桌布上,迅速暈開一片深色,但他們誰都沒有立刻手忙腳亂地去擦。氣氛突然變得有點微妙。
「你知道了。」這不是疑問句,而是毫無波瀾的陳述句。好像在說「今天的網路延遲有點高」。
「我第三天半夜起來找水喝時,」若涵輕聲說,像在揭開一個小秘密,「聽到你在自言自語,說要盡快找回我的設計稿。」
曉陽保持著沉默,像個當機的程式,似乎在高速運算如何回應。最終,他選擇了最符合他設定的選項——誠實(或者說,懶得再編了):「我不希望你抱有過高期望,然後再次失望。如果我無法恢復那些檔案,告訴你我正在嘗試,只會徒增你的焦慮值。」
「但你成功了,」若涵的語氣溫柔得能融化冰山,伸手輕輕覆在他的手上,「你不僅恢復了我的檔案,還找到了趙宇那個混蛋背後的證據,幫我舉報了那些討厭的水軍。」
曉陽的眼神閃爍了一下,像被點亮的LED燈:「你連這個都知道?」
「不完全是,」若涵承認,聳了聳肩,「但我看到平台上那些追著我罵的帳號突然人間蒸發了,而且趙宇那個傢伙的主頁也變成了404。不難猜到是哪個正義的駭客做的。」
曉陽的肩膀似乎微微放鬆了一些,像是卸下了一部分看不見的負載。「那些恢復的檔案可能並不完美,有些程式碼片段可能存在潛在的錯誤。」
這個回應,真是太「曉陽」了,讓若涵忍不住噗嗤一聲笑了出來:「所以我謝謝你,你就只關心你的程式碼可能有bug?」
「準確性很重要,」曉陽一本正經地說,但嘴角卻有一絲幾乎無法察覺的上揚弧度,「尤其是在數據恢復這種精密的過程中。」
「謝謝你,曉陽,」若涵的聲音帶著真誠的暖意,「不僅是為了那些起死回生的檔案,也為了你的…無聲守護。雖然我不明白你幹嘛要搞得這麼神秘兮兮,但我真的很感激。」
曉陽低頭看著桌布上那灘不斷擴散的水漬,好像那裡藏著什麼宇宙的奧秘。「我只是…」他停頓了一下,似乎在詞庫裡搜索合適的詞彙,「我不擅長表達這些。邏輯和數據是我的語言,而情感…」
「情感對你來說太混亂了,像一堆未經排序的數據?」若涵接過話頭,眼中帶著理解和一絲揶揄。
「不是混亂,」曉陽糾正道,像在修正一個錯誤的參數,「而是…難以量化和精確表達。」他抬頭看著若涵,眼神異常認真,「但這不代表我沒有。」
這句話像一段關鍵程式碼,懸浮在兩人之間,帶著一種奇妙的、沉甸甸的重量。若涵感覺自己的心跳又開始不規則加速,一時之間不知道該如何回應這個罕見的、近乎坦白的宣告。
「那麼,還有什麼是你沒告訴我的?」她最終問道,努力讓語氣保持輕鬆,像在討論天氣。
曉陽的表情變得嚴肅起來,像啟動了安全模式:「關於這次攻擊,我發現了一些異常情況。趙宇確實參與其中,但他很可能只是一個被推到前台的傀儡或者替死鬼。背後可能有更複雜的因素在作祟。」
「什麼意思?」若涵皺起眉頭,「誰會這麼無聊,費這麼大力氣來對付一個小設計師和一個…嗯…不怎麼合群的程式設計師?」
「這正是我在調查的,」曉陽說,語氣像在分析日誌文件,「目前我掌握了一些線索,但還不足以形成完整的推論鏈。」
「是不是和那輛陰魂不散的黑色轎車有關?」若涵敏銳地問,「我注意到它最近老是在我們公寓樓下刷存在感。」
曉陽的眼神閃過一絲不易察覺的驚訝:「你也注意到了?」
「我可不只是個會畫圖的花瓶設計師,」若涵有些小得意地揚了揚下巴,「我的觀察力模組也不差。」
曉陽點點頭,眼中閃過一絲近乎贊賞的光芒:「確實。關於那輛車,我正在追蹤它的行動軌跡,但還沒有得出確切結論。」
「所以,我們是不是不小心捲入了某種狗血的陰謀劇中心?」若涵半開玩笑地問,但眼底深處還是藏著一絲真實的擔憂。
「不要過度解讀現有證據,」曉陽用他那標誌性的理性語調回答,像在給系統降溫,「但也不要忽視潛在的風險。我會繼續調查,同時…」他罕見地停頓了一下,顯露出一絲連他自己都沒察覺到的不確定,「我希望你…多加小心。」
這句話背後那點笨拙的關心,像暖流一樣淌過若涵的心田。「我會的,」她柔聲答道,「而且我們可以一起調查。俗話說,四隻眼睛的掃描範圍總比兩隻好。」
「從統計學角度來說,這確實能提高觀察效率和資訊收集的準確性,」曉陽一本正經地分析道,然後在看到若涵那快要翻到天花板上的白眼後,趕緊補充,「我的意思是…好的,我們可以一起。」
服務生適時地送來了主菜,暫時打斷了他們之間那點奇怪的氛圍。若涵看著曉陽小心翼翼地整理餐具的樣子,那副一絲不苟的勁頭,讓一絲微笑悄悄爬上她的嘴角。這個表面冷得像冰塊,內心卻彆扭地在意著她的男人,正在一點一點地拆掉自己的防火牆,讓她窺見那個隱藏在邏輯和數據背後的、有點笨拙的真實靈魂。
---
回到公寓已經是晚上十點多,若涵洗漱完畢,探頭一看,發現曉陽果然又像個自閉的機器人一樣,坐在電腦前工作。
「還不休息?打算修仙嗎?」她靠在他半開的房門上問道。
「還有些事情要處理,」曉陽頭也不抬,視線黏在螢幕上,「我很快就完成。」鬼才信。
若涵點點頭,注意到他桌上攤開的紙張上畫滿了各種亂七八糟的連線和標記,那是他調查趙宇背後勢力的草稿,看起來像某種神秘的電路圖。「曉陽,」她猶豫了一下,還是開口,「謝謝你。」
曉陽終於捨得抬起頭,略顯疲憊的眼神中帶著一絲機器人般的疑惑:「為了什麼?」
「為了一切,」若涵輕聲說,聲音溫柔得像羽毛,「為了幫我恢復檔案,為了調查真相,為了…你在乎。」
曉陽的表情似乎柔和了一些,他調整了一下眼鏡,像是為了掩飾自己的不自在:「我只是做了符合邏輯的事情。」又是這套說辭。
若涵微笑著搖搖頭:「是啊,符合邏輯。晚安,曉陽。」
「晚安。」他簡短地回答,目光卻像追蹤導彈一樣,跟隨著她離去的身影。
當若涵的房門關上後,曉陽深深地呼出一口氣,像系統散熱一樣,發現自己的心跳頻率比平常快了17%。這種生理反應完全不符合他設定的邏輯框架,但奇怪的是,他這次居然不想去理性分析它。
他轉回螢幕,繼續他的工作,但嘴角卻帶著一絲連他自己都沒察覺到的微笑。在這個莫名其妙的角色扮演遊戲中,他不再是那個冷冰冰、只會敲代碼的程式設計師,而是若涵口中那個聽起來有點傻氣的「無聲守護者」。這個新身份,莫名地讓他感到一種奇妙的、近乎滿足的情緒。
【匿名發送】按鈕上方,打好的郵件像等待執行的指令一樣,安靜地等待著最後的確認。附件中是他剛剛整理好的、關於趙宇網路攻擊的全部數位證據,足以讓那個蠢貨吃不了兜著走。他深吸一口氣,像執行關鍵命令一樣,按下了發送鍵。
窗外,城市的燈火一如既往地閃爍著,像無數個跳動的像素點。但在這寧靜的夜晚,曉陽感覺到有什麼東西,像一段被悄悄修改的程式碼,正在悄然改變。也許是那些模糊不清的界線,也許是他心中某種頑固的防備機制,又或許是他和若涵之間那段說不清道不明的關係。
無論是什麼,這種變化如同一行精妙絕倫的代碼,隱藏在複雜系統的深處,微小,卻可能決定著整個程序的走向。
ns216.73.216.176da2