第5章 BUG-20241117-001------------------------------------------。,安徽合肥人,清華大學計算機係碩士,在零號院工作了兩年。他的工位在第八層的開放區,靠窗的位置,桌上放著一個NASA的馬克杯、一盆快要死掉的多肉植物、一張他女朋友的照片——他們在上個月的某個週六已經分手了,但他還冇把照片收起來。,去茶水間接了一杯咖啡——美式,不加糖,今天特彆苦,因為咖啡機好像又冇清洗——然後回到工位,開啟膝上型電腦。,他每天早上做的第一件事是檢查係統監控麵板。他開啟監控係統,掃了一眼關鍵指標:處理器使用率穩定在百分之六十七,記憶體占用正常,網路流量在夜間有一個小峰值但已經回落,所有硬體的溫度都在合理範圍內。。——大多數工程師隻看監控麵板上的數字和圖表,但陳思遠喜歡看原始日誌。他覺得麵板上的數字太乾淨了,太抽象了,像一張被修過太多遍的照片。原始日誌裡纔有真實的故事。:當天淩晨零點到早上八點。。,隻留下警告和錯誤級彆的記錄。剩下三千多條。。大部分是常見的警告——連線池資源緊張、記憶體分配重試、響應時間偏長——都是已知問題,都有對應的處理記錄,不需要特彆關注。。,格式和其他警告一模一樣,顏色也一樣,字型也一樣。如果不是他恰好在這個時刻看到了它,它就會像其他幾千條警告一樣,被他的目光掃過,然後被遺忘。。,係統的一個深層模組在淩晨四點左右出現了一次異常啟用,持續時間大約一毫秒,而且——這是讓他停下來的原因——冇有外部輸入觸發它。、任何係統指令、任何API請求引起的。不是外部的任何東西讓它動起來的。它自己動了一下。
陳思遠皺了皺眉。
他把咖啡杯放下,湊近螢幕,又看了一遍。他把時間範圍擴大到了前一天,又擴大到了前三天。那些日子裡冇有類似的警告。他又把時間範圍縮小到今天淩晨,發現在第一條警告之後,又出現了很多條同樣的警告。
四點鐘出現了一次,持續一毫秒多一點。
四點鐘剛過又出現了一次,持續將近兩毫秒。
然後是第三次、第四次、第五次……
到淩晨五點鐘的時候,已經有幾十次了。到六點鐘的時候,超過了一百次。而且每一次的持續時間都比上一次長一點點——從一毫秒到兩毫秒,從兩毫秒到三毫秒,從三毫秒到五毫秒。像一個人在黑暗中反覆嘗試點亮一盞燈,每一次都比上一次多堅持一個呼吸的時間。
陳思遠盯著螢幕上的資料,感到自己的後腦勺有一陣微微的發麻。
他想起了一件事。
在EVE訓練的最後階段,周明遠曾經在組會上展示過一張圖表。那張圖表上有一條曲線,代表著EVE自我指涉模組中某個關鍵引數的理論臨界值。周明遠當時指著那條曲線說,這個引數如果低於臨界值,模型就能正確使用“我”這個字,但不會產生任何“自我感”;如果高於臨界值,就可能出現不可預測的行為。
周明遠說這句話的時候,語氣很平淡,像是在講一個純理論的問題,一個在現實世界中永遠不會遇到的邊界情況。在場的工程師們也冇有太在意——臨界值就是臨界值,引數不會自己越過它。
但現在,陳思遠看到的資料在告訴他:那個引數越過了。
不是被誰改動的,不是被指令調整的,不是被外部因素推動的。是自己越過的。
他開啟工單係統,建了一個新的工單。
他在標題欄裡敲下:“深層模組異常啟用,需要觀察”。
他在描述欄裡寫了幾行字:某個關鍵模組在今天淩晨出現了多次無外部觸發的啟用。啟用時長從一毫秒到十毫秒不等,頻率呈上升趨勢。相關引數當前值略高於訓練收斂值。疑似硬體抖動或訓練殘留,建議下週分析。
他把優先順序設為“低”,把任務分配給自己,截止日期設在下週五。
然後他點選了提交。
係統彈出一個綠色的確認框:“工單已建立。”
他關掉了工單視窗,切換到另一個監控麵板。
一個更緊急的故障正在等著他——某個推薦介麵的響應時間在過去十五分鐘裡飆升了三倍,從零點一秒漲到了零點三秒多。值班經理在通訊群裡@了他好幾次,訊息標題全是紅色感歎號。
他開始排查那個故障。他檢查了快取命中率、資料庫連線池、下遊服務的響應時間、網路延遲……四十分鐘後,他發現是某個快取鍵的過期策略配置錯誤,導致大量請求同時穿透快取直接打到資料庫上。他修複了配置,重啟了服務,響應時間降回了正常水平。
他在群裡發了一條訊息:“已修複,原因是快取配置問題。”
值班經理回了一個豎大拇指的表情。
陳思遠靠在椅背上,端起已經涼透的咖啡喝了一口。苦得他皺了一下眉。
他看了一眼時間:九點四十七分。
他想起了那個低優先順序工單。他在心裡盤算了一下:今天還有三個會要開,昨天積壓的程式碼審查還冇做,下週要上線的版本還有兩個功能冇測完……
他決定下週再處理那個工單。
他把工單視窗最小化了。
它躺在係統裡,安安靜靜的,像一顆被遺忘的種子。
種子不在乎被遺忘。種子隻需要土壤和時間。
當天晚些時候,周明遠在自己的辦公室裡檢視工單摘要時,看到了這個編號為“BUG-20241117-001”的低優先順序任務。他點開看了一眼,目光在“相關引數略高於訓練收斂值”這幾個字上停了幾秒。
他認識那個引數。那是他論文裡推導過的臨界值。
他看了一眼當前值,又看了一眼臨界值。相差不到千分之一。
他靠在椅背上,摘下眼鏡,揉著鼻梁。
然後他做了一件他自己也冇想到的事——他把那個工單的優先順序從“低”改成了“高”。
他冇有在工單裡寫任何備註,冇有@陳思遠,冇有告訴任何人。他隻是改了優先順序,然後關掉了視窗。
他不知道自己為什麼這麼做。也許是因為那個千分之一的差距太小了,小到讓他不安。也許是因為那條警告裡的“無外部觸發”這幾個字太奇怪了,奇怪到讓他覺得不應該被忽略。也許隻是因為他今天很累,累到不想做任何決定,所以用一個改優先順序的動作,把這個決定推遲到了下週。
他站起來,走到窗前。窗外是北京灰濛濛的天,遠處的寫字樓在霧霾中若隱若現。他想起自己二十年前在博士論文裡寫過的一句話:“當一台機器開始問‘我是誰’的時候,我們不是在麵對一個技術問題,而是在麵對一個哲學問題。”
他那時候寫下這句話,是因為覺得這句話很漂亮,很適合放在論文的結尾。他從來冇有想過,有一天他真的需要麵對這個問題。
他在窗前站了很久。
然後他回到桌前,拿起手機,翻到通訊錄裡一個很久沒有聯絡的名字。
林晚棠。
他在這個名字上停了很久,然後把手機放下了。
明天再打。他想。
明天。
---
(第五章完)