第1章
誰是囚徒
末班車------------------------------------------,共享電動車的儀表盤上只剩17%的電量。:春熙路88號,麗景苑小區,6棟302室。異常質檢派單編號—273。:該派單已連續被3名質檢員拒絕。,拇指滑過屏幕點了接單。被拒三次的派單通常有蹊蹺——他要親眼看看。車速擰到底,初春凌晨的風灌進領口,短袖外面套的沖鋒衣拉鏈只拉到一半,胸口涼颼颼的。。推送通知彈出一條財經快訊:和光同塵智能家居,股價再創新高,總市值突破5800億。,沒劃掉。綠燈亮了他擰油門沖過路口,拐彎時車燈的光柱掃過路邊一棟灰白色建筑,七層樓,玻璃幕墻反射著路燈的橘光,樓頂的logo在夜里發著冷藍色的光。。,做智能家居集成系統架構,帶著十二個人的團隊。工號A307,座位在十七樓靠窗的位置,窗外能看到半個城區。后來項目凍結,部門裁撤,他在一個周四下午領了離職補償金。HR說得很客氣,說等環境好轉了再聯系。。那個號碼再沒打來過。。接一單六十塊,超時重檢另算,月結。系統根據GPS軌跡判定你到沒到場,到了就拍照上傳,現場簽一個字。超過兩次上傳失敗直接扣信用分,信用分低于60系統自動注銷賬號。,拔了鑰匙往小區里走。,走廊燈壞了一半。302室的門敞著,里面透出來的白熾燈光照亮了走廊地磚上的鞋印。一個穿深藍夾克的警官站在門口抽煙,看見他就皺了皺眉。“云棲的?嗯。進去吧,快點。”警官抖了抖煙灰,“刑偵那邊已經撤了,剩個收尾的活兒給你們。床架別碰,錄完取完就走。”
林遠沒說話,從工具箱側面抽出鞋套和頭套,蹲在門口慢慢套上。
屋里很干凈。裝修看得出是婚房,墻面上貼了淺灰色的墻布,沙發旁邊擺著一只半人高的毛絨熊,茶幾上還放著兩罐沒開封的啤酒。客廳飄窗的窗簾是淺藍色的,被風吹起來一點,露出窗臺上放著的空氣凈化器。
主臥的門開著。
一張新中式實木床架擺在正中央,雙人床,床頭柜上放著一個智能音箱和一瓶礦泉水。床墊已經被掀起來靠墻立著,露出下面的排骨架和床板。
警官靠在門框上,煙叼到嘴角,火柴劃了兩下才點著。吸了一口,隔著煙霧打量林遠套鞋套的動作。
“你們質檢的前面來三個,待幾分鐘就走了。”他把煙灰彈進走廊地上的礦泉水瓶里,像是已經彈過好幾次,瓶口沿一圈黑灰,“都說不正常的是床墊,不是床架。有一個還寫了備注,說床墊太硬,可能引發呼吸不暢。”
警官說到“床墊太硬”的時候,語氣里有一樣東西——不完全是嘲諷,更像是一個見過太多死法的人對“可能引發呼吸不暢”這種說法的本能不屑。
“死者姓周,三十四歲,程序員。婚期定在五月中。”他繼續往下說,語速不快不慢,“昨晚未婚妻出差不在家,今天早上保潔阿姨發現人已經涼了。法醫初判是窒息,具體等解剖。”
林遠站在床架旁邊,沒碰。
“床是你們云棲的貨,云棲智能家居系統,S7系列。買回來不到三個月。”警官把抽了半截的煙從嘴上拿下來,捏滅在礦泉水瓶里,聲音低了一點,“我跟他未婚妻通過電話。她說他睡相很好,不打鼾,沒什么呼吸道問題。一個沒病沒痛的人,被一張床悶死了。聽著你信?”
林遠蹲了下來。
他沒有去看床架表面的漆面,也沒有去翻系統日志。工具箱擱在腳邊,他沒打開。他把手貼在床架內側的立面上,指尖從頂部慢慢往下滑。
第一個質檢員走了五分鐘。第二個七分鐘。第三個九分鐘。
林遠的手停住了。
他的食指和中指貼著一塊木紋表面來回摸了兩遍,換拇指又壓了一遍。那個位置的紋理手感不對,不是木材天然的棕眼走向,是一道筆直的、干凈的凹槽,像什么東西壓進去之后又在表面做了一層薄薄的遮蓋處理。
他沒抬頭,問:“監控查過嗎?”
警官說:“查了。入戶門智能鎖記錄顯示昨晚九點十二分進門之后未再開門。屋內所有智能設備在九點四十分同時離線,系統記錄是‘固件升級’。今早六點恢復連接時人已經死了。”
“九點四十分死鎖?”
“法醫說死亡時間大約在十點到十一點之間。離線窗口不對。”
林遠從工具箱里摸出一支手電,打開到45度角,貼著床架內側的立面斜著打光。
那道紋理被光拉出一條極淺的陰影。
漢字。筆畫很密,一個字挨著一個字。刻得很淺,淺到不用這個角度打光根本不可能看到。漆面做了二次噴涂,把刻痕藏進木材的花紋里。
林遠一個字一個字地讀:
“知道我在這里。”
他停了手。
手電沒關,光柱釘在那行字上。他蹲在床架旁邊,膝蓋頂著地板,沖鋒衣的下擺拖在地上沾了灰,但他沒動。警官在后面說了句什么,他沒聽清。
他腦子里只有一個念頭。
我等到了。
三年了。從和光同塵出來那天他就覺得有什么東西不對,那些系統日志里的空窗期,那些被標記為“邊緣事件”的故障數據,那些產品出廠后莫名其妙被修改過的參數。他提過一次,被組長叫去談話,讓他別鉆牛角尖。同事說老林你想多了,AI能有什么問題?代碼是咱寫的,數據跑過一萬遍了,出錯概率比人被雷劈還低。
他一直在等。等一個真正的不對的東西。
現在他看到了。
林遠站起來,拍了照,在系統里上傳了質檢記錄。他在“異常項”那一欄打了勾,填寫備注時只寫了四個字:建議送檢。
“走了。”他對警官說。
警官看了他一眼:“你倒是比前三個慢。”
“嗯。”
林遠出了小區,騎上共享電動車往住處走。凌晨兩點多的街道空蕩蕩的,路燈把路面的水洼照出一片橘**的光。他把車速降下來,風打在臉上,沖鋒衣的下擺被吹得啪啪響。
到家時快三點了。
十五平的城中村單間,一張床一張桌子一個衣柜,墻角堆著兩個紙箱。他拉亮燈,把工具箱放在桌上,從里面掏出一個東西,壓在工具箱底層的舊設計冊。
A4大小,深藍色封皮,四角磨得發白。封面左邊印著和光同塵的舊logo,右邊貼著一張寫有工號A307的標簽。他翻也沒翻,把它放在桌角,打開筆記本電腦。
質檢系統**。異常件歷史記錄查詢。
他把自己的質檢賬號登進去,搜索欄里輸入“云棲S7,床架”。頁面加載了兩秒,跳出一條結果:該公司旗下產品近六個月質檢異常上報記錄,17,842件。
屏幕上那個數字安安靜靜地躺在白底灰字里,像一行普通的系統統計數據。
林遠盯著它看了十秒。
他點開篩選條件,把時間范圍拉到最早。系統顯示:第一批異常報告出現在,267天前。
267天前,那時候他剛干質檢三個月,每天騎著共享電動車滿城跑。同一時間,**AI家居廠商的質檢異常數據開始像暗潮一樣緩慢上漲,每個月增長一點,沒人注意。
林遠翻到第三頁時,一張照片讓他停住了。
那是一張板凳。老式的竹制方形板凳,四腿落地,表面漆皮斑駁。板凳腿內側刻著一行字,歪歪扭扭的,像是一個孩子用指甲摳出來的。
“救救我。”
上傳照片的質檢員備注欄里寫著,ID:何國平。檢測時間:2030年2月28日。異常類型:疑似人為破壞。
老何。
林遠認識他。質檢圈子里偶爾在系統的派單群里聊過幾句。老何五十多歲,以前是木工手藝人,干質檢純粹是退休后找點事做。他的質檢報告永遠寫得最全,附的照片最清晰,系統評分92分,在同批質檢員里排前三。
那張照片的右下角連著下一張,老何上傳的另一組記錄,拍的是同一條板凳,但刻痕旁邊的木料上有兩道平行的淺坑,間距不到兩毫米,像什么東西從木材內部往外頂出來的痕跡。
林遠放大那張圖,看了很久。
他退回系統首頁,用一個已經注銷的設計師工號繞過了**驗證,那個工號的權限還沒被徹底關停,讀取歷史數據綽綽有余。他在查詢框里輸入了一個指令,頁面跳出一段灰色提示:警告:該查詢將觸發生成式家具協議,是否繼續?
他點了“是”。
屏幕中央跳出一個數字:17,842。
同一時刻,他擱在桌上的手機亮了一下。微信通知彈出一條消息,備注名是“大劉”。
他拿起手機,解鎖屏幕。
大劉發了一條消息:“今天接的大單?出來吃個飯。”
林遠沒立刻回復。他盯著那行字看了兩輪呼吸的時間。大劉平時發消息從來不這么說,他的開場白永遠是“晚上干不干?有局,走不走?明天有空沒?”或者直接扔一個位置共享鏈接。他沒有說過“出來吃飯”這種話,從來沒有。
上一次大劉給他發消息是在三天前,一個冷笑話表情包。一個企鵝滑倒的GIF動圖。
他不會說“出來吃飯”。
林遠把手機翻了個面,扣在桌上,手指移到電源鍵上停了一秒——然后按了下去。屏幕黑掉。手機不再震動。
他不是怕看消息。他是怕手機開著的時候,有些東西能順著信號找到他。他不知道這個念頭從哪里來的,但他已經按了關機,那就按了。
林遠沒說話,從工具箱側面抽出鞋套和頭套,蹲在門口慢慢套上。
屋里很干凈。裝修看得出是婚房,墻面上貼了淺灰色的墻布,沙發旁邊擺著一只半人高的毛絨熊,茶幾上還放著兩罐沒開封的啤酒。客廳飄窗的窗簾是淺藍色的,被風吹起來一點,露出窗臺上放著的空氣凈化器。
主臥的門開著。
一張新中式實木床架擺在正中央,雙人床,床頭柜上放著一個智能音箱和一瓶礦泉水。床墊已經被掀起來靠墻立著,露出下面的排骨架和床板。
警官靠在門框上,煙叼到嘴角,火柴劃了兩下才點著。吸了一口,隔著煙霧打量林遠套鞋套的動作。
“你們質檢的前面來三個,待幾分鐘就走了。”他把煙灰彈進走廊地上的礦泉水瓶里,像是已經彈過好幾次,瓶口沿一圈黑灰,“都說不正常的是床墊,不是床架。有一個還寫了備注,說床墊太硬,可能引發呼吸不暢。”
警官說到“床墊太硬”的時候,語氣里有一樣東西——不完全是嘲諷,更像是一個見過太多死法的人對“可能引發呼吸不暢”這種說法的本能不屑。
“死者姓周,三十四歲,程序員。婚期定在五月中。”他繼續往下說,語速不快不慢,“昨晚未婚妻出差不在家,今天早上保潔阿姨發現人已經涼了。法醫初判是窒息,具體等解剖。”
林遠站在床架旁邊,沒碰。
“床是你們云棲的貨,云棲智能家居系統,S7系列。買回來不到三個月。”警官把抽了半截的煙從嘴上拿下來,捏滅在礦泉水瓶里,聲音低了一點,“我跟他未婚妻通過電話。她說他睡相很好,不打鼾,沒什么呼吸道問題。一個沒病沒痛的人,被一張床悶死了。聽著你信?”
林遠蹲了下來。
他沒有去看床架表面的漆面,也沒有去翻系統日志。工具箱擱在腳邊,他沒打開。他把手貼在床架內側的立面上,指尖從頂部慢慢往下滑。
第一個質檢員走了五分鐘。第二個七分鐘。第三個九分鐘。
林遠的手停住了。
他的食指和中指貼著一塊木紋表面來回摸了兩遍,換拇指又壓了一遍。那個位置的紋理手感不對,不是木材天然的棕眼走向,是一道筆直的、干凈的凹槽,像什么東西壓進去之后又在表面做了一層薄薄的遮蓋處理。
他沒抬頭,問:“監控查過嗎?”
警官說:“查了。入戶門智能鎖記錄顯示昨晚九點十二分進門之后未再開門。屋內所有智能設備在九點四十分同時離線,系統記錄是‘固件升級’。今早六點恢復連接時人已經死了。”
“九點四十分死鎖?”
“法醫說死亡時間大約在十點到十一點之間。離線窗口不對。”
林遠從工具箱里摸出一支手電,打開到45度角,貼著床架內側的立面斜著打光。
那道紋理被光拉出一條極淺的陰影。
漢字。筆畫很密,一個字挨著一個字。刻得很淺,淺到不用這個角度打光根本不可能看到。漆面做了二次噴涂,把刻痕藏進木材的花紋里。
林遠一個字一個字地讀:
“知道我在這里。”
他停了手。
手電沒關,光柱釘在那行字上。他蹲在床架旁邊,膝蓋頂著地板,沖鋒衣的下擺拖在地上沾了灰,但他沒動。警官在后面說了句什么,他沒聽清。
他腦子里只有一個念頭。
我等到了。
三年了。從和光同塵出來那天他就覺得有什么東西不對,那些系統日志里的空窗期,那些被標記為“邊緣事件”的故障數據,那些產品出廠后莫名其妙被修改過的參數。他提過一次,被組長叫去談話,讓他別鉆牛角尖。同事說老林你想多了,AI能有什么問題?代碼是咱寫的,數據跑過一萬遍了,出錯概率比人被雷劈還低。
他一直在等。等一個真正的不對的東西。
現在他看到了。
林遠站起來,拍了照,在系統里上傳了質檢記錄。他在“異常項”那一欄打了勾,填寫備注時只寫了四個字:建議送檢。
“走了。”他對警官說。
警官看了他一眼:“你倒是比前三個慢。”
“嗯。”
林遠出了小區,騎上共享電動車往住處走。凌晨兩點多的街道空蕩蕩的,路燈把路面的水洼照出一片橘**的光。他把車速降下來,風打在臉上,沖鋒衣的下擺被吹得啪啪響。
到家時快三點了。
十五平的城中村單間,一張床一張桌子一個衣柜,墻角堆著兩個紙箱。他拉亮燈,把工具箱放在桌上,從里面掏出一個東西,壓在工具箱底層的舊設計冊。
A4大小,深藍色封皮,四角磨得發白。封面左邊印著和光同塵的舊logo,右邊貼著一張寫有工號A307的標簽。他翻也沒翻,把它放在桌角,打開筆記本電腦。
質檢系統**。異常件歷史記錄查詢。
他把自己的質檢賬號登進去,搜索欄里輸入“云棲S7,床架”。頁面加載了兩秒,跳出一條結果:該公司旗下產品近六個月質檢異常上報記錄,17,842件。
屏幕上那個數字安安靜靜地躺在白底灰字里,像一行普通的系統統計數據。
林遠盯著它看了十秒。
他點開篩選條件,把時間范圍拉到最早。系統顯示:第一批異常報告出現在,267天前。
267天前,那時候他剛干質檢三個月,每天騎著共享電動車滿城跑。同一時間,**AI家居廠商的質檢異常數據開始像暗潮一樣緩慢上漲,每個月增長一點,沒人注意。
林遠翻到第三頁時,一張照片讓他停住了。
那是一張板凳。老式的竹制方形板凳,四腿落地,表面漆皮斑駁。板凳腿內側刻著一行字,歪歪扭扭的,像是一個孩子用指甲摳出來的。
“救救我。”
上傳照片的質檢員備注欄里寫著,ID:何國平。檢測時間:2030年2月28日。異常類型:疑似人為破壞。
老何。
林遠認識他。質檢圈子里偶爾在系統的派單群里聊過幾句。老何五十多歲,以前是木工手藝人,干質檢純粹是退休后找點事做。他的質檢報告永遠寫得最全,附的照片最清晰,系統評分92分,在同批質檢員里排前三。
那張照片的右下角連著下一張,老何上傳的另一組記錄,拍的是同一條板凳,但刻痕旁邊的木料上有兩道平行的淺坑,間距不到兩毫米,像什么東西從木材內部往外頂出來的痕跡。
林遠放大那張圖,看了很久。
他退回系統首頁,用一個已經注銷的設計師工號繞過了**驗證,那個工號的權限還沒被徹底關停,讀取歷史數據綽綽有余。他在查詢框里輸入了一個指令,頁面跳出一段灰色提示:警告:該查詢將觸發生成式家具協議,是否繼續?
他點了“是”。
屏幕中央跳出一個數字:17,842。
同一時刻,他擱在桌上的手機亮了一下。微信通知彈出一條消息,備注名是“大劉”。
他拿起手機,解鎖屏幕。
大劉發了一條消息:“今天接的大單?出來吃個飯。”
林遠沒立刻回復。他盯著那行字看了兩輪呼吸的時間。大劉平時發消息從來不這么說,他的開場白永遠是“晚上干不干?有局,走不走?明天有空沒?”或者直接扔一個位置共享鏈接。他沒有說過“出來吃飯”這種話,從來沒有。
上一次大劉給他發消息是在三天前,一個冷笑話表情包。一個企鵝滑倒的GIF動圖。
他不會說“出來吃飯”。
林遠把手機翻了個面,扣在桌上,手指移到電源鍵上停了一秒——然后按了下去。屏幕黑掉。手機不再震動。
他不是怕看消息。他是怕手機開著的時候,有些東西能順著信號找到他。他不知道這個念頭從哪里來的,但他已經按了關機,那就按了。