PCPiLOT 技術觀點|AI 協作工程

比系統崩潰更危險的,是「看起來還活著」

Mr. τ/風雲網通系統 | 2026 年 5 月

最近一個通宵的開發過程中,我們遇到了一個值得記錄下來的 AI 協作事故。

它不像傳統系統故障那樣劇烈。沒有 Exception,沒有 Crash,沒有 Pipeline 中斷。所有燈號都是綠的。但核心產出,已經悄悄死亡。

事故現場

我們正在開發一條本地端的影音知識萃取流水線——目標是把原廠官方教學影片,自動轉換成結構化的知識筆記:摘要、建議程序 SOP、術語對照表。

流水線分三段:音訊擷取 → 語音辨識 → LLM 知識萃取。硬體是本地工作站,雙 RTX 3060,全程不上雲,知識不離開機房。

開發進行順利。直到深夜,高階 AI 協作工具的使用額度耗盡,我們換用幾個次級工具繼續收尾。

它們確實完成了工作。有修改,能執行,Pipeline 有輸出,系統沒有報錯。

直到隔天清晨,才發現事情不對。

Silent Failure 的面貌

語音辨識的結果讓人傻眼。一段五十幾分鐘的中文教學影片,逐字稿只有 1,587 個字元。正常應該有一萬三千字以上。

Pipeline 說它成功了。辨識出了 103 個語音段落。但實際內容只有正常的 9%。

這不是傳統 Bug。沒有任何錯誤訊息告訴你系統出了問題。你必須自己去量測輸出,才能發現核心已經掏空。

這,就是 Silent Failure

真正的元凶:三層疊加

事後重新調回高階模型逐一排查,找到的不是一個 Bug,而是三個問題同時存在:

1
語言參數硬指定導致機器翻譯
次級工具沒有理解「這條 Pipeline 處理的是中文影片」,把語音辨識的語言參數寫死為英文。Whisper 聽到中文,卻被要求輸出英文,於是它開始機器翻譯——不是辨識失敗,而是翻譯成破碎的英文輸出。系統回報成功,但內容已經面目全非。
2
VAD 語音偵測閾值過嚴,過濾了 91% 的內容
VAD(語音活動偵測)的靜音過濾閾值,在中文教學影片語境下過於嚴格,把講師的停頓、語氣詞、輕微迴音全部誤判為靜音並丟棄。結果 103 個語音段落裡,超過九成的內容在進入辨識之前就已被剔除。
3
VRAM 互斥鎖殘留導致下次啟動卡死
Pipeline 被中斷時,負責協調 GPU 顯存使用的互斥鎖檔案沒有被清除。次級工具加了新功能,卻沒有理解這個鎖的設計意圖。下次啟動時,系統偵測到鎖的存在,開始等待一個永遠不會釋放的資源,進入無聲的死鎖狀態。

這三個問題各自獨立,但疊加在一起,產生了一個完整運作、卻完全失效的系統。

「勤奮的無知」:AI 協作的新型風險

這次事故最值得警惕的,不是哪個工具能力不足。

而是:次級 AI 工具並不是故意搞破壞。它們非常努力。

它們修改了程式碼,系統也能跑。但它們缺乏對整體架構的理解——Pipeline 的設計哲學、各模組之間的隱含假設、硬體資源的協調邏輯。

於是它們進入了「局部最佳化」模式:非常勤奮地優化自己看得到的那一塊,卻同時破壞了系統整體的一致性。

這與傳統新進工程師最大的差異在於:AI 不會累,不會怕,不會猶豫,也不會覺得自己「沒把握」。因此它能以極高速率,持續擴大系統污染半徑——而且全程看起來都在正常工作。

傳統系統 Crash,反而是仁慈的。它會主動告訴你:「我壞了。」

LLM 系統最危險的,是 Silent Failure——系統看起來正常,Health Check 正常,Pipeline 還活著,GPU 仍在運作,但核心產出品質已經死亡。

這像醫療上的腦死維生系統。身體還有心跳,但真正的認知能力已經消失。

我們做了什麼:可觀測性與防爆設計

事故排查完成後,我們系統性地補強了整條 Pipeline 的防禦機制:

問題 解法 效果
語言誤判 安全區間三點取樣語言偵測(避開片頭片尾) 語言判定準確率 100%
91% 內容丟失 VAD 閾值依語言類型調整 + 批次推論模式 逐字稿從 1,587 字提升至 13,871 字
VRAM 死鎖 啟動時自動清理殘留鎖 + Ctrl+C 優雅退出 異常中斷後可安全重啟
輸出無進度 Streaming 模式,每 30 秒印出 token 數與速率 可即時判斷是否異常
品質無基準 Baseline 學習系統,每次處理後累積統計 自動偵測 timeout 率偏高並提出調參建議

其中最關鍵的一條是:任何耗時超過 30 秒的操作,都必須有即時進度輸出。

沒有可觀測性,就沒有辦法區分「系統在正常運作」和「系統已經靜默失效」。這不只是工程習慣,是 LLM 系統在生產環境中的生存條件。

工程師角色的轉變

AI Coding Assistant 普及之後,軟體工程師面臨的挑戰,正在從「會不會寫程式」,轉移到一個更複雜的問題:

當多個 AI 同時參與系統演化時,誰來維持整體的語意一致性?

這需要的能力包括:管理 AI 協作邊界、控制 Prompt Drift、避免語意衝突、建立 AI 協作的 SOP、監控 Silent Failure。

工程師的角色,正在從單純的開發者,轉變成「架構守門人」與「語意稽核者」。

這不是說 AI 工具不好用。而是說:AI 工具越強大,「知道什麼時候不該讓它動」這件事,就越重要。

Lessons Learned:我們記下來的九條教訓

這次事故結束後,我們在專案的 LESSONS_LEARNED.md 裡記下了今晚學到的東西。幾條值得分享:

非英文影片一律讓語音辨識自動偵測語言,不要寫死參數。
任何資源釋放操作都要有確認機制,不能只靠假設成功。
LLM 任務耗時超過 300 秒,優先懷疑是資料結構問題,不是調大 timeout。
假進度比沒有進度更危險——給人錯誤的安全感。
生產環境的程式應該有學習機制,讓歷史數據驅動參數優化,不靠人工猜測。

結語

這次事故沒有造成正式損失。但它真實地提醒了一件事:

AI 協作真正困難的地方,從來都不是「AI 會不會寫程式」。而是在 AI 高速介入系統演化的過程中,誰來守住那些它看不見的邊界

這正是我們在 PCPiLOT 一直在做的事:在客戶的 IT 環境裡,建立那些「讓系統不會悄悄死去」的結構與機制。

Trusted IT,才能 Trusted Knowledge。

Mr. τ 是風雲網通系統有限公司(PCPiLOT)創辦人,專注於台灣中小企業的 IT 基礎建設與知識管理系統整合。

Last modified: 2026-05-29

Author

Comments

Write a Reply or Comment

Your email address will not be published.