何弈收到第三條客戶跑路消息的時候,手機從手里滑了下去。
屏幕朝下扣在星巴克地板上。撿起來翻過來——蛛網裂紋從左上角輻射到整個屏幕,像一塊被踩碎的冰。LCD閃了幾下,碎成蛛網的屏幕勉強還亮著,但觸控已經不太靈了。
通話記錄、客戶合同、待辦清單、父親的電話號,全在黑掉的那塊屏幕后面。
他盯著碎屏看了五秒。然后把手機放在桌上,摘了眼鏡,用拇指和食指揉眉心。沒有嘆氣。沒有砸桌子。只是揉眉心的手比平時多停了一倍的時間。
今天上午他已經接了兩個這樣的電話。一個是做外貿的劉總,一個是做培訓的老李。話術一模一樣——"不是你們的問題,是我公司撐不住了。"何弈做企業軟件做了十年,今年是第一次連續三個客戶在同一個月流失。不是被競品搶走,是客戶的公司本身不存在了。
星巴克上午十點的人還沒滿。靠窗倒數第二個位置是他固定的工位——一臺ThinkPad、一杯美式、一疊客戶合同。美式已經涼了,杯口一圈咖啡漬。他在這個位置上坐了快兩個小時,續過一次杯,續的也涼了。
他穿了件深灰色西裝,白襯衫,沒打領帶。三十五歲,單眼皮,戴細框眼鏡,手修長,中指第一個指節有一小塊薄繭——握筆磨的。不是健身。是常年伏案。
「哥。」
聲音從吧臺方向來。何弈抬頭。
吧臺后面站著一個年輕人。二十出頭,星巴克黑色短袖制服,一米八出頭,小麥色皮膚曬得很均勻。眼睛很大很亮,雙眼皮,眼角微微上挑。他擦吧臺的時候微微俯身,頭發剪得短,發質偏硬,額角有一點碎發。
然后他抬起頭,看見何弈在看他,笑了一下。
那一下笑,整個人一下子就亮了。不是標準的服務行業微笑。嘴角先彎,然后眼睛才跟著彎,看起來像一只被太陽曬得很舒服的大型犬。
「哥。」他把手里的抹布換到左手,右手指了指何弈面前那張揉皺了的小票,「那張小票上有個調查問卷。掃碼填一下,送一杯中杯美式。」
何弈低頭看了一眼自己的杯子。美式已經涼透了。「好。」
「那我先幫您把杯子收了。」
他走過來,彎腰端杯子。手指在杯沿兩邊碰到何弈的手指。何弈的手是冰的,空調吹了兩個小時。他的指尖是熱的,剛做完一杯焦糖瑪奇朵,蒸汽還在指縫里。
那個溫差從指尖傳過來。
何弈把手收回去,面色如常。年輕人端著杯子直起身,轉身回吧臺。他叫乾杰——工牌上印著兩個字:「乾杰」。林乾杰。
何弈把注意力拉回屏幕。郵件寫到一半。收件人是成朗,他的合伙人,公司CTO。
「老張的公司關了。下周還有個客戶要談,不知道能不能拖住。」
發送。
手機亮了——又來一個。何弈看了一眼來電顯示,接了。
「喂?**。」
「何總啊。」電話那頭的聲音有點悶,「我也不想打這個電話……但我這邊實在撐不住了。下個季度的預算全部砍了,你們的系統我們暫時用不上了。」
「**,我們剛上的那版優化——」
「我知道。不是你們的問題。是我公司的問題。」那邊嘆了口氣,「今年開年到現在,訂單少了一半。我自己都養不活了,哪還有錢買系統……實在對不住。」
「沒事。您先穩住公司。系統的事以后再說。」
「行。抱歉啊何總。」
「保重。」
掛掉。何弈把手機拿在手里,握著的力道大了一點。然后手機在掌心里滑了一下——他沒接住。
摔了。
「哥——」
何弈抬頭。林乾杰站在他桌子旁邊,手里端著一杯美式。熱氣從杯口裊裊升起來。他低頭看了一眼桌上碎屏的手機,又看了一眼何弈。
「你的問卷美式。」他把杯子放在桌上。「摔了?」
「嗯。」
「數據——」
「沒備份。」何弈重新戴上眼鏡,「上周就該備的。」
林乾杰低頭看了一眼吧臺后面的掛鐘。「等我一下。」他把圍裙解下來搭在吧臺椅上,轉身推開員工通道的門。門還沒完全合上,他已經跑起來了。
何弈從靠窗的位置能看見外面的街。林乾杰從星巴克門口跑過去,步伐很大,每一步落地都很穩。腿長,步幅將近一米,手臂擺動緊湊。拐進望京西園小區的時候,他的背影被老樓的陰影一口吞掉。
六分鐘。掛鐘的分針剛過一格,員工通道的門被推開了。
林乾杰站在門口,胸口起伏得很厲害。額角的碎發貼在了太陽穴上,鼻尖掛著一層薄汗。他喘著氣,花了幾秒把氣喘勻,然后走過來,把一部手機放在何弈桌上。機身上沾了一點他掌心的汗,屏幕被他的手指抹過一道淺淺的霧氣。
「先用我的。」聲音還有點喘。
何弈看著那部手機。用了至少兩年的老機型,邊框有磕碰的痕跡,但屏幕干干凈凈,膜貼得很平整。
「……你跑回去拿的?」
「嗯。」林乾杰用手背蹭了一下鼻尖的汗,「不遠。望京西園,來回十分鐘。」
「上班時間跑出去,沒關系?」
「店長今晚不在。」他笑了一下,「而且你手機壞了。」
何弈沒說話。他心里清楚,什么"店長今晚不在",不過是找了個讓他安心的借口。真要說,一個剛上崗的咖啡師,脫崗跑個來回,店長在不在都要背責任。這小孩嘴硬,跑得上氣不接下氣,還要裝成舉手之勞。
「兩臺手機。這臺是備用的。你先拿去用。沒密碼。里面什么也沒有,就裝了幾個基本軟件。微信你自己登。」
「那你呢?」
「我還有一個。」他從口袋里掏出另一部手機,沖何弈晃了晃。手機殼是透明的,里面夾著一張CU*A的合影。
何弈沒拿手機。他看著林乾杰。「我們認識多久?」
「——兩杯美式的時間?」
「那你為什么——」
「因為你手機壞了。」林乾杰打斷他,語氣很平淡,像在說一件理所當然的事。「你手機壞了。我剛好有多的。就這么簡單。」
何弈看著他。這小孩答得太快、太理所當然,反而把那份"我就是在幫你"的急切露出來了。何弈沒拆穿,只把這一點記下了。
何弈低頭看著那部手機。然后拿起來,握在手里。機身是溫的——剛從褲兜里掏出來的。
「……謝謝。」
「不客氣。哥。」林乾杰笑了一下,下巴往杯子方向抬了抬,「趁熱喝。」
他走了,回吧臺。何弈打開那部備用機,掃碼登錄微信。消息涌進來:成朗的三條、客戶的五條、一條銀行扣款通知。他一條一條回。屏幕亮著,沒有裂紋。
回完消息,他在電腦上下了個同城閃送的單,新手機,傍晚送到星巴克。
傍晚,閃送小哥把新手機遞過來。何弈當場換了機,數據倒過去,舊機塞進公文包。他拿著那部備用機走到吧臺。
「手機還你。」他把備用機遞過去,「謝了。」
林乾杰接過來,屏幕在圍裙上蹭了一下,動作很輕。「買新的了?」
「嗯。」
「數據導過去沒?」他問得很快,像條件反射。
「導了。」
「那就行。」林乾杰點頭,把備用機往兜里一揣,動作干脆。
何弈看了眼吧臺后面的掛鐘,五點四十。「你晚上幾點下班?」
「十一點。」
「下班有空嗎?請你吃個宵夜,謝你跑這一趟。」
林乾杰沒推。他愣了一秒,然后笑出來:「哥你請客,我肯定有空。吃啥都行,我不挑。」
何弈沒有在傍晚就走。還了手機,他又坐回靠窗的位置,繼續處理郵件。新手機擺在桌上,屏幕偶爾亮一下。
林乾杰還在吧臺忙。拖地、擦桌子、洗咖啡機、倒咖啡渣,動作利索。他偶爾往何弈這邊掃一眼。掃到第三回,何弈察覺了,一抬頭,林乾杰立刻把目光收回去,低頭擦杯子,耳尖被頭頂的射燈照得有點紅。
何弈沒點破。低下頭,嘴角有一瞬間,自己都沒注意地往上牽了一下。
十一點整。林乾杰換下工服出來,灰色連帽衛衣套著牛仔外套,衛衣**翻在領子外面,洗了很多遍袖口磨白。斜挎一個小包,包上別了一個褪色的籃球鑰匙扣。
「走吧,哥。」
三月的北京晚上風冷。推開星巴克的玻璃門,一陣風灌進來,何弈下意識拉了拉西裝外套。林乾杰走在他左邊,比他高半個頭,很自然地挪到靠馬路那側,把風口擋掉一半。
「吃什么?」何弈問。
「都行,我不挑。」林乾杰眼睛亮了一下,「前面街口有家砂鍋店,開到凌晨兩點。哥你吃辣嗎?」
「不怎么吃。胃不太好。」
「那點不辣的。」他答得飛快,像是已經記下了,「他家清湯牛肉鍋,暖胃。走,帶你去。」
砂鍋店不大,塑料桌椅擦得反光,墻上貼著褪色的菜單。這個點客人不多,老板在柜臺后頭打盹。
林乾杰熟門熟路地拉開椅子:「哥你坐里面。」自己坐到靠門那側。
點菜時他幾乎沒看菜單:「清湯牛肉鍋,一份娃娃菜,一份凍豆腐。」頓了頓,「再加份手切羊肉。哥你胃不好,先喝湯再吃肉。」
何弈看了他一眼。一個剛畢業、投簡歷投到麻木的年輕人,卻記得住剛認識的人的胃。
「你常來?」何弈問。
「下夜班來。便宜,量大,老板人好。」林乾杰把餐具拆開,用開水燙了一遍,先放到何弈面前,再拆自己那份,「上個月加班到十二點,來這兒,老板多送了我一個煎蛋。」
鍋底端上來,熱氣撲面。林乾杰先給何弈盛了一碗湯,白瓷碗推過去時,手指在碗沿停了一下,怕燙到他。
「你先喝,暖和一下。」
何弈端起碗,喝了一口。湯很鮮,一路從喉嚨暖到胃里。
「哥,」林乾杰夾了一筷子肉,吹了吹,「你下午說開公司,還沒說是干嘛的。」
「企業軟件。給中小企業做系統。」
「那正好。」林乾杰眼睛一下亮了,「我學的計算機,北信科。去年畢業,還沒找到工作。」
「應屆生?」
「嗯。剛畢業的。」他的語氣平下來,筷子在碗沿頓了一下,「投了兩百多份簡歷,面了五六次,全掛了。」
何弈放下碗。「為什么?」
「面試官跟我說,你簡歷沒問題,但這個崗位我們要三年以上經驗的。」林乾杰聳了聳肩,「后來連人都見不到。AI面試,錄一段視頻,27秒給我判不合格。」
他說這些時,語氣還是輕快的,像在說別人的事。只有夾菜的手,比剛才慢了一點。
何弈看在眼里。這小孩把"投了兩百多份簡歷全掛"說得像笑話,手上的動作卻慢了下來——越是在乎,越要裝得輕描淡寫。何弈不點破,只把話接了過去。
「你知不知道,我公司的CTO,剛來的時候跟你一樣。應屆,簡歷石沉大海,面試一輪游。」
林乾杰抬頭。
「不是他能力不行,是企業要的不是培養,是能用。」何弈說,「后來我給了他一個機會寫Demo,三天寫完,比市面上所有競品都快。」
「真的?」
「所以不是你的問題,是這個系統的問題。系統不會改,你只能繞過它,去找愿意看你代碼的人,而不是看簡歷的人。」
林乾杰盯著碗里的湯,沒說話。熱氣糊在他臉上。過了幾秒,他低聲說:「哥,沒人教過我這些。」
何弈頓了頓。「你缺的從來不是能力。是沒人告訴你,這套規則該怎么繞,第一步該怎么走。」
林乾杰用力點了一下頭。
吃完,林乾杰起身要結賬,被何弈一個眼神攔下。
「說好我請。」
「那下回我請你。」林乾杰說,「哥,下回還來這家。他家清湯鍋,配你的胃。」
從砂鍋店出來,風比剛才更冷了。何弈裹緊外套,林乾杰還是走在他左邊,靠馬路那側。
「你家往哪?」何弈問。
「往北,望京西園。老小區。」
「順路。我公司在SOHO那邊,回家也走這頭。」
他們沿著望京街往北走。路燈每隔幾米投下一圈橘**的光。
林乾杰斜挎包上的籃球鑰匙扣一晃一晃。何弈多看了兩眼。
「喜歡打球?」何弈問。
「嗯。大學校隊控衛。」說到這個,林乾杰的聲音明顯高了半度,「CU*A預選賽,打到第三輪被淘汰。畢業之后半年沒碰過了。」他低頭看了眼那個褪色的鑰匙扣,「球都擱在衣柜里吃灰。」
「為什么沒碰?」
「找不著人打,也沒空。」他笑了下,語氣又輕快起來,「等我找到工作,第一件事就是周末去奧森打全場。」
何弈沒接話。路燈的光從他們臉上掠過,一明一暗。
到了望京西園小區門口。老小區,門口的路燈壞了一盞。
「我到了。」林乾杰停下來。
沉默了一小會兒。林乾杰站在原地,好像在醞釀什么。然后他抬起頭。
「哥,你剛才說……沒人教我。」
何弈看著他。
「你要是哪天有空,能不能幫我看一段代碼?一個問題,就一兩分鐘。」他說得很快,尾音往上飄,路燈把期待藏不住地寫在他臉上。
何弈看著這個年輕人。二十五歲。投了兩百多份簡歷,在星巴克擦吧臺到晚上十一點,每天在員工休息室里看代碼。跑回來給他遞備用機,幫他擋風,然后問他能不能幫看一眼參數。
「行。」何弈說。
「真的?」
「嗯。」
林乾杰笑了。眼睛彎得很徹底。在壞掉的那盞路燈下面,他的臉被遠處SOHO大樓的燈光淺淺照著。
「那,加個微信?」
何弈報了一串數字。林乾杰掏出手機低頭輸入。手指快得幾乎要打錯,輸完又抬頭,眼睛里的期待亮得藏不住。何弈一眼就看出,這小孩從送手機那會兒,就在等這句了。
「好了。哥你通過一下。我叫林乾杰。乾坤的乾,杰出的杰。」
「何弈。單立人一個可,博弈的弈。」
「何弈。」林乾杰念了一遍,聲音很輕,「好名字。」
何弈轉身要走。走了幾步,林乾杰在后面喊了一聲:「哥!」
他回頭。
林乾杰站在小區門口的光暗交接處,舉著手機沖他晃了晃。「微信通過一下。」
何弈低頭掏出手機,打開微信。一條好友申請:「林乾杰」。通過。
他抬頭。林乾杰看到他通過了,笑了一下。然后——
「哥。你不是說幫我看一眼代碼?」
「現在?」
「現在。」林乾杰把樓道門推開了一點,「就五分鐘。那個問題我真的想了好久,」他收住,「不是催你。你要是累了就改天。」
何弈看著他。跑完六百米來回之后還沒完全干透的汗,在樓道燈下面反著一點光。衛衣的**翻在外面。
「走吧。」何弈說。
四樓。沒有電梯。
林乾杰在前面走,何弈跟在后面。樓道很窄,兩個人的腳步聲在水泥樓梯上疊在一起。林乾杰每走幾步就回頭看一眼何弈,確認他跟上來了。
到四樓的時候,呼吸稍微重了一點。林乾杰注意到了,停下來等他。「哥你平時不爬樓?」
「辦公室有電梯。」
林乾杰笑了。然后掏鑰匙開門。
門開了。老式兩居室改的三間合租。客廳很小,左邊過道右邊堆著三個人的鞋架和一臺舊冰箱。冰箱嗡嗡響,門上貼著手寫紙條:「第三格是大家的,其他各管各。」
「小點聲。」林乾杰壓低了聲音,「室友睡了。」
他推開走廊盡頭那扇門。門板上貼著一張CU*A賽程表,紙邊已經卷起來了。
何弈站在門口,用了一秒看了一遍整個房間。
八平米。一張單人床靠墻,床單深藍色。床頭貼了一張打印出來的學習計劃表「大模型開發——Coursera」「Python高級——*站」。床對面書桌上擺著筆記本,屏幕亮著,代碼編輯器開了好幾個標簽頁。旁邊摞著幾本書,書上壓著一碗泡面,湯已經沒了。
墻角掛著一件**外賣服,反光條洗得褪色。
「坐。」林乾杰把椅子上堆的衣服抱起來扔進衣柜。一個籃球從衣柜里滾出來,彈了兩下停在何弈腳邊。
何弈彎腰撿起來。CU*A的logo,球皮磨得差不多了。他把球遞過去。
林乾杰接過去,籃球在他掌心里轉了一下,穩穩停住,虎口一道薄繭,指節粗長,手背的青筋隨著用力鼓起來,又慢慢平復。他轉身把球塞回衣柜,衛衣被肩背撐出一道利落的線。
何弈的視線在他肩背的線條上停了一秒,然后不動聲色地移開。
「你這體格,」何弈說,語氣很淡,「一看就是常年運動的。」
林乾杰轉過身,眼里有點藏不住的小得意:「也就剩這副身板還能看了。」
何弈在椅子上坐下。林乾杰把筆記本屏幕轉向他。
屏幕上是一段代碼。一個很關鍵的參數設定那里用紅色高亮標出來了,旁邊密密麻麻全是注釋。何弈掃了一遍。
「你現在設的是偏保守的值?」
「嗯。」林乾杰站在他旁邊,微微俯身。兩個人離得很近,何弈能聞到他衛衣上的洗衣液味道很淡,一種說不上來的干凈。「生成的內容太死板了。」
何弈側目。這小孩俯身的姿勢繃得很,肩膀不敢碰著他,怕越了界,又怕離遠了看不清屏幕,那份小心翼翼的勁兒,何弈只當沒看見。
「試過調到很高的值嗎。」
「試過。太飄了。有一回生成的東西自己給自己加了注釋,說我寫得很厲害。實際上什么都沒寫出來。」
何弈差點笑出來。他把笑壓下去,手指在觸摸板上劃了兩下。林乾杰俯身的姿勢離他更近了一點,兩個人的肩膀隔著兩層衣服,但何弈感覺到他身體散出來的溫度,剛跑完步、剛做完咖啡的那種溫熱。
「中間值。」何弈說。他清了清嗓子,聲音比剛才緊了一點,只有他自己知道。「保守了等于讓模型背答案。跳了等于讓模型寫詩。你這個場景需要準確但不要死板。中間是最好的平衡點。夠開放去想新的方案,但不會出格。這個參數,業內叫溫度——0.7,剛好。」
林乾杰盯著屏幕看了幾秒。然后彎腰,手指在鍵盤上敲下三個字符:0.7。敲完之后在旁邊加了一條注釋:「# 何弈」。兩個字在黑色**上莫名地顯眼。
「我再跑一輪試試。」他按下回車。
代碼開始跑。風扇嗡嗡轉起來。林乾杰直起身。
何弈的手機在桌上震起來。他看了一眼,沒存的座機號,沒接,按掉。隔了十幾秒,同一個號碼又打進來。
他接起來,往窗邊走了兩步,把聲音壓得很低。
「喂。」
「何總,物業這邊。」電話那頭客氣得有些公式化,「寫字樓下一季的租金,財務催了兩次了。您看這兩天方便安排一下嗎?再拖,物業那邊不好說話。」
何弈用拇指按了按眉心。「這周內。麻煩再寬限兩天。」
「行,您盡快。」
掛了電話,他回到椅子邊。林乾杰一直站在旁邊,聽見了半句,沒問,只是安靜地看著屏幕上的進度條。
「要等幾分鐘。」林乾杰說,「我去倒水。」
他出去了。何弈坐在那個凹痕里,側頭看了一眼那件**外賣服——反光條在臺燈下有一點微弱的亮。剛才林乾杰俯身的時候,他聞到的洗衣液味道還留在空氣里。很淡,但他記住了。
林乾杰端著兩杯水回來了。他把一杯放在何弈面前,自己在床邊坐下。
「你室友送外賣?」
「嗯。大哥東北人。每天晚上十一點出門跑到早上六點。」林乾杰喝了一口水,「上個月被平臺降了權重,單子少了三分之一。他說再這樣下去得回老家。」
何弈沒說話。屏幕上進度條從42%跳到61%。窗外望京的燈光透過老式窗戶的花玻璃,在墻上投下模糊的光斑。
「哥。」林乾杰看著屏幕,「找工作這件事——」
進度條走到78%。
「有時候我覺得自己,就像外賣平臺里的一個單子。」他的聲音比平時低了一點,眼睛是直的,看著屏幕。「路線被系統判定不對,就降權。降到派單都輪不到你。」
風扇在轉。冰箱在嗡。何弈端起那杯水喝了一口,放下。
「所以,」何弈說,「別停在系統給你劃的那條線上。今晚你能讓我看見你的代碼,就已經繞過去了。」
進度條走到100%。
林乾杰把目光拉回屏幕,往下翻。生成的內容逐行刷新。他把手放在觸控板上往下滑,滑到底部的時候停住了。
「有用。真的有用。」
他轉過來看何弈。臺燈的燈光剛好打在他臉上,鼻尖還是有一點紅,不知道是剛才跑的余溫,還是別的什么。
何弈站起來。「很晚了。」
「——嗯。」林乾杰站起來,送他到門口。
走廊很暗,只有冰箱指示燈亮著一點綠光。何弈穿鞋。林乾杰靠在門框上。
「哥。」
「嗯?」
「這個參數,以后還能問你嗎。」
何弈把皮鞋后跟踩進去,直起身。「可以。別自己死磕,卡住了就發我。」
林乾杰笑了一下。樓道燈滅了,只有冰箱那點綠光把他的輪廓勾出來。黑暗中他的眼睛還是亮的。
「那——晚安。」
「晚安。」
何弈下樓。樓道燈一層一層亮,一層一層滅。推開單元門的瞬間,三月的冷風灌進來。
但他嘴里還留著那杯水的味道。不是涼白開,林乾杰往里面丟了一片檸檬。
林乾杰關上門。靠在門上站了幾秒,然后從口袋里掏出那部備用機。屏幕上還有何弈登錄微信的痕跡沒有清除。他拇指在屏幕上輕輕抹了一下,又一下。然后收到一條微信。
何弈:「林乾杰。溫度0.7。」
他盯著那行字,腦子里是他下午說的那句——這個參數,業內叫溫度,0.7,剛好。
過了很久,他打了四個字,刪掉。又打,又刪掉。最后只回了一個字:「好。」
窗外望京的風很大,北京大城市的孤獨感那么重,但他靠在門上的背好像熱了。