一個關於知識萃取、Kafka 消費者重平衡,以及當一家公司發現他們的 AI Skill 只懂過去、卻不懂現在時會發生什麼事的故事。
內容改編自社群成員投稿。如果你也有類似的故事,或有什麼話想說但一直悶在心裡——歡迎聯絡我。下一篇也許就是你的故事。


你的公司有沒有曾經把你的經驗抽取到一個系統裡,然後又覺得沒你也夠用?

你有沒有看過一個 AI Skill 正確處理了 312 個情境,並開始擔心第 313 個出現時你人還在不在?

這就是那個故事。


第一幕 · 知識萃取

會議室沒有窗戶。三個月了。

每週一到週四,我都坐在那張塑膠椅上——錄音筆、筆電、桌上的馬克杯。對面坐著一位名叫 Caleb 的工程師。他的工作就是問我問題。

「為什麼選 PostgreSQL,不選 MongoDB?」

「為什麼重試間隔是 450 毫秒?」

「你怎麼算出那個告警閾值的?」

我回答。他記下來。錄音筆上的紅燈一直亮著。

他們把這稱作是「知識移轉計畫」。CTO 的全員信寫得很漂亮:我們正在保存數十年的組織知識,傳承給下一代工程師。

講白一點:你的經驗太貴了。我們要把它包裝成一個 Skill。

一開始我沒太當回事。每家公司都有知識管理。直到第三個月,Caleb 不再問問題了。他開始做驗證。

他調出一個我去年排查過的事件——一次正式環境故障。他要我重現診斷過程。然後他讓系統自己跑。

系統說:偵測到訊息中介層延遲飆高。450 毫秒的重試邏輯在佇列背壓下會加劇問題。建議採用自適應退避。

我讀了三遍。沒錯。那就是我的推理鏈——只是它說得比我還快。

CTO 站在我旁邊微笑。我在矽谷看過太多次那種笑容。那不是開心。那是拍板。

第二幕 · 「96.8% 準確率」

我確定事情不對勁,是驗證報告出來的那天。

一整排人坐在桌子對面——CTO、HRBP、工程副總裁,還有一位我不認識的女士,西裝外套上有顧問公司的標誌。

投影幕上只有一個數字:知識保留率:96.8%

Caleb 匯報了結果。「經過三輪驗證,這個 AI Skill 在 312 個歷史故障情境中達到 96.8% 的診斷準確率。剩餘的 3.2% 偏差是因為上下文不足而導致的次佳建議——可透過指導修正。」

掌聲響起。CEO 轉頭對我說了一句我永遠忘不了的話。

「Mark,你打造了自己的替代品。」

大家都笑了。我也笑了。還能怎麼辦?

會後我在停車場坐了很久。咖啡已經涼了。車窗外,那片一成不變的加州藍——一直都是那個顏色。手機震動了一下。是我太太傳來的訊息:你幾點回家?

我打了「快了。」又刪掉了。

我不知道該怎麼跟她說,我花了三個月把自己變成一本說明書。而一旦你把說明書寫好了,就不需要原件了。

第三幕 · 資遣

隔週一,CTO 關上辦公室門,跟我進行一對一會談。

「Mark,我不跟你繞圈子了。你的職位已經因組織重整而被裁撤。」

他把一個信封推到桌子對面。

N+3。三個月資遣費。典型矽谷式的「我們不是在解僱你,我們是在幫你轉職」。

我沒停下來就簽了。不是因為不在乎——而是因為我在走進來之前,早就把結局演練過一遍了。

我最後一天是星期五。清空桌面只花了不到四十分鐘。一個背包、一個螢幕支架、三個筆蓋——我到現在都不知道為什麼抽屜裡會有三個筆蓋。

我坐在車裡,用手機查了三件事:

  • LLC 登記(加州,單一成員,70 美元,15 分鐘)
  • 專業責任險(顧問業標準,約 1,200 美元/年)
  • 資深基礎架構顧問的市場行情(中位數:215 美元/小時)

那天晚上,我註冊了一家公司。Mark Johnson Consulting LLC。沒有辦公室,沒有員工,沒有 VC 簡報。只寫了一條很清楚的條款:只接專案制。交付鏈不得使用 AI。

第四幕 · AI Skill 上線

第一個完整季度,這套系統成了展示品。

AI Skill 吸收了 70% 的二級維運工單。新工程師從要六個月才能上手,縮短到三週。CEO 在全員會上用了一張很俐落的投影片:

以前:Mark 花了 12 年累積的經驗都鎖在腦中。
之後:Mark 12 年的經驗可以直接用 prompt 取得。

沒有人提到 Mark 本人。他們不需要。因為他已經被包裝好了。

我太太比我更早察覺。離職後的那個週末,她在廚房看著我,說了一句我沒料到的話。

「你看起來不一樣了。」

「哪裡不一樣?」

「你坐在電腦前又不說話的時候,那種緊繃感不見了。你以前是在等事情出包,現在你是在等客戶。」

她說得對。我是在等。

我在 LinkedIn 上看到他們找了一位新的平台主管。那人做的第一件事就是重建監控堆疊。至於那個 Skill?他們在遷移到 Kafka 之後,沒有人重新跑一次驗證。為什麼要跑?打造它的人已經不在了。

第五幕 · 崩潰

事情發生在星期三凌晨 3:47。

分散式追蹤系統亮了起來。核心支付鏈路的 P99 延遲從 80 毫秒飆到 12 秒。三分鐘後,第一筆交易逾時並回滾。十分鐘後,支付佇列開始堆積。二十三分鐘後,回滾觸發連鎖反應——兩個下游服務開始拒絕請求。

值班工程師打開了 AI Skill。它掃描日誌、辨識模式,然後回傳一個診斷。

偵測到訊息中介層延遲。套用已知緩解方式:啟動帶 450 毫秒退避的重試佇列。

這個診斷在 312 個歷史情境裡,312 次都對。

這次是第 313 次。

450 毫秒的重試視窗,是我五年前為 RabbitMQ 寫的一個相容性補丁。那個數字不是隨便來的——我曾在 RabbitMQ 叢集上做了兩週壓力測試,才找出剛好能避開它的 Erlang VM GC 週期的那個間隔。

但那是 RabbitMQ。三年前就退役了。他們現在跑的是 Kafka。

Kafka 的 consumer group 使用的是基於 poll 的協定——每個 consumer 都必須依照設定間隔持續向 coordinator 進行輪詢,否則 coordinator 會把它判定為死亡並觸發重平衡。我的重試工作器是同步式的——一次處理一個訊息,再拉下一個。每輪 450 毫秒,幾十筆訊息一疊上去,poll 視窗就會被拉長好幾倍。

# Skill 的做法(450 毫秒重試視窗)
def handle_queue():
    while queue_not_empty():
        msg = fetch_one_message()          # 一次只取一筆
        retry_with_backoff(450ms)          # ⏱ 每筆 450ms
        process(msg)                       
        poll_consumer()                    # 「還活著嗎?」→ 越拖越慢

# 當有 60 筆佇列訊息時會發生什麼
poll_timeout = 5000                        # coordinator 判定死亡前的 5 秒
time_per_round = 60 * 450                  # 60 筆 × 450ms = 27,000ms
# 27,000ms > 5,000ms → 錯過 poll timeout → 觸發重平衡

一旦重平衡啟動,整個群組就開始震盪。新的 consumer 搶走 partition。舊訊息被重送。延遲又往上爬。原本棘手的問題,瞬間變成滾雪球。

這個 AI 執行了一個在舊架構上 100% 正確的策略。但在現在的架構上,它是在火上加油。

AI 不是因為錯了才失敗。它是因為對昨天太對了——而昨天早就沒有在跑了。

第六幕 · 來電

我的電話在凌晨 4:12 響了。

一個我好幾個月沒撥過的名字——我前任 CTO。

他的聲音很平靜。太平靜了。當工程師在凌晨四點打電話來,而且語氣還這麼穩時,就表示有東西在燒。

「Mark。我需要問你一件事。」

「問吧。」

他用三句話把事故說完。我原本以為他會問回滾策略、損害控管。但他沒有。

「你在 RabbitMQ 遷移文件裡留了一條註記。當時沒人看懂。我們以為只是過時的設定註解。我想我現在懂了。」

我往床頭一靠。房間裡唯一的光是手機螢幕。我太太在旁邊翻了個身。沒醒。

那條註記寫的是:450ms 對應 RabbitMQ 的 GC 視窗。不可在此情境外重用。

電話那頭沉默了大約四秒。

「我知道,」他說。「我沒時間了,Mark。回來吧。」

「我不是在問你要不要回來。」他的語氣變了。「我是請你回來。這個月剩下的時間我全部暫停。你來決定。你開價。」

第七幕 · 價碼

「我原本薪水的五倍。」

我聽到他倒抽一口氣。

「……成交。但我需要你到現場兩週。簽約制。自己帶設備。不得讓任何 AI 接觸你的交付鏈。」

「沒問題。把合約寄給我律師。」

我其實沒有律師。我的意思是:這件事要照我的節奏來。

掛掉電話後,我滑到一個快一年沒聯絡的名字——Mike,大學室友,法學院畢業。傳了一則訊息。

接到一份合約。方便幫我看一下嗎?

他沒回。凌晨四點,除了 IT 圈的人,還有誰醒著?

我等了一下。然後又打了五個字。這次我傳給他,其實也是傳給我自己。

這次由我來定價。


你也遇過這種事嗎?你的知識被萃取、打包成一個 Skill,變成你不再被需要的理由。然後當那個 Skill 遇到它看不懂的東西時,他們又回頭找你。難道真的沒有比「不」更好的答案嗎?


這個 Skill 記得每一個過去的情境。它只是看不見基礎架構已經改變了。

公司省下了六位數的人力成本。他們只是忘了:驗證只有在撰寫驗證的人還在時,才能重新執行。

系統當掉的時候——他們打給了誰?


追蹤我,閱讀更多關於 AI 萃取、隱性知識,以及當公司發現他們的 Skill 只記得過去時會發生什麼事的故事。


我沒辦法教 AI Skill 理解上下文。但故事還會繼續。 請我喝杯咖啡


原文出處:https://dev.to/xulingfeng/my-company-packaged-12-years-of-my-experience-into-an-ai-skill-then-laid-me-off-when-it-crashed-4b3e


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝6   💬2  
342
🥈
我愛JS
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登