恐怖片里的驚嚇早已散去,只剩下心動(dòng)的余溫,在夜色里慢慢發(fā)酵。第五章 代碼里的溫柔暗號(hào)
?
蘇晚的生日在六月,正是梔子花開的季節(jié)。距離生日還有一周時(shí),林辰就開始坐立難安,連王哥都看出了端倪:“小林,你最近寫代碼總走神,是不是有什么事?”
?
林辰含糊其辭:“在優(yōu)化一個(gè)……重要項(xiàng)目?!?/p>
?
這個(gè)“重要項(xiàng)目”,就是給蘇晚準(zhǔn)備生日禮物。他翻遍了“興趣模型”里的所有數(shù)據(jù),從“喜歡手工制品”到“對(duì)電子設(shè)備接受度高”,來(lái)來(lái)回回篩選了十幾個(gè)方案,卻總覺(jué)得差點(diǎn)意思。
?
他請(qǐng)教技術(shù)部唯一的女同事張姐:“女生生日,送什么禮物好?”
?
張姐正在涂指甲油,聞言抬頭:“送花啊、香水啊、首飾啊,都行。關(guān)鍵是浪漫,懂嗎?別總搞你那些數(shù)據(jù)算法?!?/p>
?
“浪漫……”林辰又陷入了那個(gè)終極難題,“怎么量化?”
?
張姐翻了個(gè)白眼:“跟你說(shuō)不清,反正別送帶說(shuō)明書的東西。”
?
林辰把“帶說(shuō)明書的禮物”列為禁忌項(xiàng),最終決定用自己最擅長(zhǎng)的方式——寫一個(gè)程序。
?
他花了整整一周時(shí)間,把和蘇晚有關(guān)的所有數(shù)據(jù)都扒拉出來(lái):第一次在包間見面的日期(2023年3月15日),在茶水間“偶遇”的43次記錄,一起看過(guò)的2場(chǎng)電影(1場(chǎng)恐怖片+1場(chǎng)被蘇晚吐槽“太悶”的紀(jì)錄片),甚至包括蘇晚無(wú)意中提過(guò)的“喜歡吃街角那家店的抹茶蛋糕”。
?
他把這些碎片化的記憶,變成了一行行代碼。
?
生日當(dāng)天,林辰提前半小時(shí)在公司樓下等蘇晚。他沒(méi)像往常一樣拿著數(shù)據(jù)報(bào)表,手里只捏著一個(gè)黑色的U盤,外殼是磨砂材質(zhì),上面用激光刻了個(gè)小小的“W”——蘇晚名字的首字母。
?
“下班有空嗎?”林辰的聲音有點(diǎn)抖,“給你帶了生日禮物。”
?
蘇晚看著他手里的U盤,有點(diǎn)好奇:“這是什么?新出的算法模型?”
?
“不是,”林辰趕緊搖頭,“是……專屬程序?!?/p>
?
兩人找了家安靜的咖啡館,林辰把U盤插進(jìn)筆記本電腦。屏幕亮起,彈出一個(gè)簡(jiǎn)約的登錄界面,背景是淡藍(lán)色的,上面飄著幾個(gè)像素風(fēng)格的小云朵。
?
“解壓密碼是你的生日。”林辰說(shuō)。
?
蘇晚輸入“0618”,界面跳轉(zhuǎn),出現(xiàn)一行加粗的藝術(shù)字:“蘇晚的專屬數(shù)據(jù)庫(kù),版本號(hào):2023.06.18”。
?
她笑著看向林辰:“林工程師,你這是把我歸檔了?”
?
“算是……情感備份?!绷殖降亩浼t了。
?
蘇晚移動(dòng)鼠標(biāo),點(diǎn)開第一個(gè)文件夾“相遇時(shí)間軸”。屏幕上出現(xiàn)一條動(dòng)態(tài)的時(shí)間線,從3月15日開始,每個(gè)重要節(jié)點(diǎn)都標(biāo)注著日期和一句話:
?
“3.15,第一次見你,你穿鵝黃色連衣裙,笑起來(lái)有梨渦。我的心跳頻率120次/分,超過(guò)靜息狀態(tài)50%?!?/p>
“4.2,茶水間第7次偶遇,你說(shuō)我的杯子太‘技術(shù)’,我當(dāng)晚就網(wǎng)購(gòu)了3個(gè)新杯子(未成功送出)?!?/p>
“5.12,暴雨天送你回家,繞路2.3公里,被你指尖碰到的瞬間,代碼運(yùn)行錯(cuò)誤0.5秒。”
?
蘇晚的手指頓在鼠標(biāo)上,看著那些帶著溫度的文字,眼眶有點(diǎn)發(fā)熱。她以為林辰記不住這些細(xì)節(jié),沒(méi)想到他連“買了3個(gè)新杯子”這種小事都記在心里。
?
第二個(gè)文件夾是“聊天關(guān)鍵詞云”。屏幕上跳出一個(gè)彩色的詞云圖,“數(shù)據(jù)”“電影”“設(shè)計(jì)”“麻辣香鍋”幾個(gè)詞特別大,角落里藏著“害怕”“晚安”“喜歡”等小字號(hào)的詞。
?
“這是用我們的聊天記錄做的,”林辰解釋,“用了TF-IDF算法提取關(guān)鍵詞,‘?dāng)?shù)據(jù)’出現(xiàn)頻率最高,占比27%……”
?
“我看到了‘喜歡’。”蘇晚打斷他,指著那個(gè)小小的詞,眼里閃著光。
?
林辰的臉?biāo)查g紅透,像被系統(tǒng)高溫預(yù)警。他低下頭,假裝調(diào)試界面:“那、那個(gè)是誤差……”
?
蘇晚沒(méi)拆穿他,點(diǎn)開第三個(gè)文件夾“推薦系統(tǒng)”。里面是一張交互式地圖,標(biāo)注著幾家餐廳和美術(shù)館,每個(gè)地點(diǎn)旁邊都有“匹配度”:
?
“街角抹茶蛋糕店:匹配度98%(你說(shuō)過(guò)三次‘好吃’)”
“市美術(shù)館印象派特展:匹配度92%(符合你‘喜歡光影感’的描述)”
“那家川菜館:匹配度85%(你吃了兩碗米飯)”
?
最后一個(gè)文件夾,名字很簡(jiǎn)單——“終極結(jié)論”。
?
蘇晚深吸一口氣,點(diǎn)開它。屏幕上沒(méi)有數(shù)據(jù),沒(méi)有圖表,只有一個(gè)用代碼畫的簡(jiǎn)筆畫:漆黑的夜里,一個(gè)舉著傘的男生(明顯能看出是林辰的沖鋒衣),旁邊站著一個(gè)笑出梨渦的女生,頭頂是漫天閃爍的星星,每顆星星都是一個(gè)小小的愛心。
?
畫的下面,有一行緩緩浮現(xiàn)的白色文字,像有人在鍵盤上一個(gè)字一個(gè)字敲出來(lái):
?
“根據(jù)所有數(shù)據(jù)綜合分析(包括但不限于心跳頻率、聊天記錄、偶遇次數(shù)、恐怖片抓握力度),結(jié)論是:我喜歡你?!?/p>
?
蘇晚看著那行字,眼淚突然掉了下來(lái),砸在鍵盤上,暈開一小片水漬。
?
“你怎么了?”林辰慌了,趕緊抽紙巾,“是不是代碼有BUG?我可以改……”
?
“沒(méi)有BUG,”蘇晚抹了把眼淚,抬頭看他,眼睛亮晶晶的,“是最優(yōu)解?!?/p>
?
她拿起手機(jī),打開微信,給林辰發(fā)了條消息。林辰的手機(jī)“叮咚”一聲響,他低頭看去,屏幕上只有一行字:
?
“算法有誤差嗎?”
?
林辰幾乎是秒回:“誤差率0.0001%,可以忽略不計(jì)?!?/p>
?
蘇晚看著他緊張又認(rèn)真的樣子,笑著打出回復(fù):“那這個(gè)結(jié)論,我接受了?!?/p>
?
林辰猛地抬頭,眼里像是有星星炸開。他張了張嘴,半天沒(méi)說(shuō)出話,最后突然站起來(lái),椅子腿在地上劃出刺耳的聲響,引得周圍人側(cè)目。
?
“我、我去買杯咖啡!”他像逃兵一樣沖向吧臺(tái),后背的襯衫都被汗浸濕了。
?
蘇晚看著他的背影,捂著嘴笑了起來(lái)??Х瑞^里放著輕柔的音樂(lè),窗外的梔子花開得正好,空氣里都是甜甜的味道。她低頭看著屏幕上那個(gè)簡(jiǎn)筆畫,手指輕輕撫摸過(guò)那個(gè)舉著傘的小人,心里像被什么東西填滿了,暖暖的。
?
林辰端著兩杯咖啡回來(lái)時(shí),臉上還帶著紅暈。他把拿鐵放在蘇晚面前:“你喜歡的半糖。”
?
“謝謝。”蘇晚接過(guò)咖啡,指尖碰到杯壁的溫度,突然想起什么,“對(duì)了,你那個(gè)‘聊天關(guān)鍵詞云’,是不是少了個(gè)詞?”
?
林辰一愣:“什么詞?”
?
“‘男朋友’?!碧K晚看著他的眼睛,笑得狡黠。
?
林辰的臉“騰”地一下又紅了,嘴里的咖啡差點(diǎn)噴出來(lái)。他咳嗽兩聲,結(jié)結(jié)巴巴地說(shuō):“可、可以……新增關(guān)鍵詞嗎?”
?
“可以啊,”蘇晚伸出手,放在桌子中間,“林工程師,現(xiàn)在開始錄入?”
?
林辰看著她白皙的手掌,猶豫了兩秒,小心翼翼地握了上去。她的手很軟,帶著咖啡的溫度,比他寫過(guò)的任何代碼都要令人心動(dòng)。
?
“錄入成功。”蘇晚笑得眉眼彎彎。
?
那天晚上,林辰躺在床上,失眠了。但這次不是因?yàn)榻箲],而是因?yàn)榕d奮。他打開“蘇晚相關(guān)數(shù)據(jù)”文件夾,新建了一個(gè)子文件夾,命名為“戀愛進(jìn)程”。里面只有一個(gè)文檔,第一行寫著:
?
“初始狀態(tài):成功?!?/p>
?
他對(duì)著這行字看了很久,突然覺(jué)得,原來(lái)愛情比任何算法都要奇妙。它不需要精準(zhǔn)的參數(shù),不需要優(yōu)化的模型,只需要兩顆靠近的心,和一份藏在代碼里的、笨拙又真誠(chéng)的溫柔。