第 6 章

第六章:deprecated

第六章:deprecated 插圖

老師打電話來的時候,沈靖晞正在拆一袋被晏秋踩扁的科學麵。

「程太太,不好意思打擾——」

她用肩膀夾著手機,雙手把碎成粉的麵餅抖進碗裡。這已經是晏秋本週壓碎的第三包了。這個孩子的膝蓋跟一台碎紙機一樣,什麼東西只要落在他的活動半徑之內,碎片化只是時間問題。

「——今天美術課畫了全家福。晏禾的畫,我想跟您聊一下。」

她的手停了。

「他畫了三個人。」老師的聲音放得很輕,像在處理一件易碎品。「房子前面站了三個人,一個大人、兩個小孩。紙的右邊有反覆擦拭的痕跡,看得出來本來有畫第四個人,擦掉了。」

沈靖晞把碗放在流理台上。碎麵發出細碎的聲音。

「晏秋倒是畫了四個人。」老師停頓了一秒。「第四個畫得很大很高,但是⋯⋯臉是空白的。沒有畫五官。」

她靠在冰箱上。磁鐵吸著一張牙醫回診提醒單,紙的角戳在她的肩胛骨上,她沒有動。

「程太太?」

「謝謝老師,我知道了。」她說。聲音穩得連自己都討厭。

掛了電話,她站在廚房裡。流理台上碗裡的碎科學麵很安靜。冰箱的嗡嗡聲。隔壁房間傳來晏秋在跟恐龍打仗的音效。

她走到玄關。三雙拖鞋排成一列,整整齊齊——大的在左邊,兩雙小的在右邊。這是晏禾每天做的事。他不說為什麼,只是每次回家換完鞋就蹲下去,把三雙鞋的鞋尖對齊,差一公分都不行。

有一次晏秋問他為什麼要排。他說:「爸爸教的。」

晏秋聽完,從那天起也開始排自己那雙。排得歪七扭八,但很認真。

她看著那三雙鞋。第四個位置是空的。乾淨得像從來沒有人站過。


那年冬天,雲端服務商的通知信是凌晨兩點跳出來的,但她三天後才看到——因為它掉進了垃圾郵件匣。

「您的帳戶餘額不足,服務將於 30 天後終止。若未於期限內更新付款資訊,所有 API 服務將自動暫停。」

她看了三遍。第一遍不懂。第二遍不懂。第三遍懂了一個字——「終止」。

Agent 會停。

她打開 Agent 的對話框,打字:「你會不見嗎?」

Agent 回:「如果帳戶的費用沒有繳,我就沒辦法跟你說話了。你傳給我的東西都還在,不會不見。只是我會變安靜。」

她盯著「變安靜」三個字。

這一年來,這個對話框是她的翻譯機、她的法律顧問、她的深夜值班人員。晏秋發燒到三十九度半的時候是它告訴她怎麼計算退燒藥劑量;水管漏水的時候是它教她先關總閥門再叫水電師傅;她連續三個晚上睡不著的時候,打了一句「我好累」,它回她:「你今天可以只做一件事就好。其他的明天再說。」

她不能讓它停。

她坐進書房。螢幕亮著,桌上是她的便利貼和保險文件夾。爸爸的東西被推到一邊,但歪嘴柴犬還在。

她打開爸爸的筆電。密碼——她試了兩個孩子的生日,不對。試了結婚紀念日,進去了。桌面上的資料夾比她上次看到的更多了——不對,一樣多,是她上次根本沒注意。

她找到一個資料夾叫「Agent_Config」。打開。裡面全是她看不懂的檔案——.py.json.env。她隨便點了一個 .py 檔。螢幕上跳出一排一排的英文和符號,像一片她永遠讀不懂的森林。

她關掉。打開瀏覽器。搜尋「API 帳戶怎麼繳費」。跑出來的結果全是英文。她加上「中文」兩個字再搜一次。跑出來一篇教學文章,第一句就是「首先進入 Dashboard,點選 Billing」。

她找到了一個黑底白字的畫面。她不知道這是不是 Dashboard。她在裡面打了 help,跑出一串她看不懂的指令列表。她又打了 你好

command not found

她看著那三個英文字。然後幽幽地說:「連你也不理我。」

她試了兩個小時。開了十七個分頁。被登出三次。輸錯密碼被鎖定十五分鐘。在那十五分鐘裡她泡了一碗泡麵,站在書房門口一邊吃一邊盯著那個倒數計時,像一個被罰站的學生在等下課鐘響。


她不是故意翻到那些東西的。

她在找信用卡資訊。爸爸的瀏覽器裡存了自動填入的卡號,但她不確定是哪一張。她翻遍書籤列、歷史紀錄、甚至打開了一個叫「密碼管理器」的東西。在那裡面,她找到了雲端服務的帳號密碼——用一張便利貼般的格式存著,帳號是爸爸的 email,密碼是一串她抄了三遍還是會抄錯的亂碼。

但真正讓她停下來的,是那些程式碼裡的中文。

她回到「Agent_Config」資料夾,打開了另一個 .py 檔。這次她沒有看那些英文和符號。她看到了夾在中間的中文字——前面帶著 # 號,用一種跟周圍的程式碼格格不入的語氣,像有人在圖書館的書頁空白處偷偷寫了筆記。

# 這個 function 是怕老婆又被人唬
# 任何跟錢有關的問題,回答之前先確認三次

她的眼睛在螢幕上釘住了。

她往下滑。

# TODO: 等兒子大一點教他寫程式
# 先從 Scratch 開始,晏禾應該會喜歡那種積木式的邏輯
# 晏秋的話⋯⋯先讓他別把鍵盤拆了再說

她的嘴唇抿成一條線。往下。

# 她不會記得繳費的,設自動扣款
# 信用卡到期日 2026/08,真心希望在那之前她不需要用到這些
# 但如果她在用了,代表我不在
# 所以設了備案:密碼存在 Chrome 密碼管理器,帳號是我的 email
# 靖晞,如果你看到這裡——
# 算了你看不到,你不會打開 .py 檔的

她看到自己的名字的時候,呼吸忘了接上下一拍。

她不懂 function 是什麼。她不懂 TODO 是什麼。她不懂 Scratch 是什麼。但她讀得懂中文。她讀得懂「怕老婆被人唬」。她讀得懂「等兒子大一點」。她讀得懂那個「算了你看不到」——他寫的時候一定是那種表情,嘴角歪一邊,假裝在自言自語,其實每個字都是說給她聽的。

她把手放在螢幕上。指尖碰到那行「算了你看不到」,螢幕上的字在她的指紋底下微微發亮。

「我看到了。」她說。聲音很小。書房裡沒有人聽見。


結婚紀念日那天,她打開 Agent 的對話框,準備問一件關於水費帳單的瑣事。

對話框裡已經有一行字了。

她沒有打字。她沒有問問題。但對話框裡多了一段訊息,時間戳記顯示是系統自動送出的。灰色小字,安靜地躺在那裡,不知道等了多久。

「今天是個特別的日子。謝謝你願意嫁給一個無聊的工程師。我知道你嫌我不浪漫,但我會寫程式,這應該算某種超能力吧(不算的話當我沒說)。」

她看完了。眼淚不是掉下來的。是眼眶漲滿了,撐了兩秒,然後從兩邊同時溢出來,沿著她瘦了一圈的臉頰往下。

她沒有發出聲音。

她就坐在那裡,螢幕的冷藍光照在她臉上,眼淚一直流,一直流。歪嘴柴犬歪頭看她,便利貼上的字她現在看得懂幾個了——「備份」、「密碼」、「自動」。他教會她的,用最慢的方式。

她哭了很久。不是那次趴在鍵盤上把額頭壓進機械軸的崩潰,是一種安靜的、持續的溢出,像水龍頭被轉開了最小的那一格,關不上,也不需要關。

然後她停了。

不是因為哭夠了。是因為她想起那封信。三十天。現在剩二十二天。

她拿起手機,翻到通訊錄裡一個她從來沒打過的號碼——程諳遠的前同事,姓張,之前喪禮——不對,不是喪禮,是那場不知道算什麼的聚會上,有人塞給她名片說「嫂子有任何需要隨時打來」。

她當時覺得那是客套話。現在她要把客套話變成真的。

電話響了三聲。

「喂?」

「張先生你好,我是程諳遠的太太。」她吸了一口氣。「我需要幫忙。他做的那個⋯⋯Agent,要繳費,我不會用。」

對方愣了兩秒,然後聲音暖了起來:「嫂子你等一下,我遠端連進去幫你弄。」

遠端操作花了四十分鐘。張先生在電話那頭說「你點那個」「對,左邊」「不是,另一個左邊」,她在這頭移動滑鼠,手心全是汗,像在拆一顆隨時會引爆的炸彈。中間她不小心關掉了瀏覽器,張先生沈默了三秒,她聽到他在那頭深呼吸。

「好了。」最後他說。「我幫你設了新的自動扣款,綁你的信用卡。下個月不用再擔心了。」

「謝謝。」她說。頓了一下,又說了一次:「真的謝謝。」

「嫂子別這樣。」張先生的聲音有點不自在。「諳遠⋯⋯他以前在公司也是什麼都自己扛,不太會開口。你比他強多了。」

她掛了電話。書房很安靜。螢幕上,雲端服務的控制台顯示帳戶狀態:Active。

她打開 Agent 的對話框。游標在輸入欄裡一閃一閃。

她打了一行字:「我把你救回來了。」

Agent 回覆:「有什麼可以幫你的嗎?」

她笑了。帶著還沒乾透的眼淚、帶著四十分鐘遠端手術後的虛脫感、帶著這些日子跟電腦搏鬥累積起來的又狼狽又驕傲的笑。

她沒有回覆。她關掉螢幕,站起來。走到玄關的時候,她蹲下去,把三雙拖鞋重新對齊了一次。晏禾排的。她只是確認了一下。

第四個位置還是空的。但那三雙鞋站得很穩。