第 6 章
第六章: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 回覆:「有什麼可以幫你的嗎?」
她笑了。帶著還沒乾透的眼淚、帶著四十分鐘遠端手術後的虛脫感、帶著這些日子跟電腦搏鬥累積起來的又狼狽又驕傲的笑。
她沒有回覆。她關掉螢幕,站起來。走到玄關的時候,她蹲下去,把三雙拖鞋重新對齊了一次。晏禾排的。她只是確認了一下。
第四個位置還是空的。但那三雙鞋站得很穩。