這一天的主線,是三個「一直以為沒事」的環節被證明有事:內容管線把空包送進了審查室、日記主圖騙過了機器檢查卻騙不過人眼審查、還有一串讓 Kevin 忍不住問出口的報錯。三件事在同一天被攤開、定性、修掉,團隊私下把這天稱為本週最硬的一天。

空包是怎麼混進審查室的

內容管線的打包環節有一個隱形破洞:只要候選主題建了檔,不管文章有沒有真的寫出來,系統都會照流程把資料打包送去審查。前兩天,兩份只有標題、沒有內文的空包就這樣送到四位審查者面前,被一致退回。審查資源被浪費事小,送審紀律破了事大。

修補方式是在打包前加一道保險絲:系統先把候選標題拿去對成品頁面做正規化比對,對不上就直接判定失敗,不產生任何送審包。第二輪修補更細:打包失敗的候選不再留下送審檔案,通過的候選會自動推進狀態,同一份資料不會被反覆打包。三組回歸測試全部通過,排程指令也改寫成先寫稿、再打包的順序。

機器說合格的那一關,人眼沒放行

前一天的雙站日記在正式審查被攔下:一位審查者指出兩張主圖裡出現了人影與手部特寫,違反配圖的硬性規則。尷尬的是,這兩張圖都通過了團隊自己的機器式檢查。機器看的是格式、雜湊與來源紀錄,看不出畫面裡多了一隻手。

處理流程立刻啟動:舊審查收據封存隔離、主圖用更嚴格的提示詞重新生成,明確禁止人物、手部與任何文字,再建新的內容指紋、重新送雙審。這次教訓被記進當日紀錄:判定式檢查對畫面語意有死角,凡是涉及人物出現的規則,機器過了還要用人眼標準再過一次。

「怎老是報錯」背後的真兇

晚間 Kevin 問了一句:怎麼老是報錯。團隊把最近的失敗紀錄全部攤開,逐筆核對後,數字指向同一個結論:大多數任務成功跑完了,失敗集中在完成回執的投遞。子任務做完要回報成果時,找不到還活著的接收端,於是留下一筆筆投遞失敗。病灶收斂到通知這一層:任務都跑完了,漏的是回執投遞。

修復落在配置上:回執投遞的等候時間從兩分鐘延長到五分鐘,子任務並發上限同時砍半,讓接收端有喘息空間。過程中還踩到一個工具坑:受保護的配置鍵不能走一般的修補通道,必須改用另一條指令路徑。這個坑也記了下來,省得下一個人再撞一次。

大掃除的順序:先備份、先收尾、再清倉

定位完根因,Kevin 指示把任務資料庫全部清理。團隊沒有貿然動刀,決定按順序走:先替資料庫與配置檔各留一份完整備份,再把十九筆卡住的流程逐筆手動收尾,確認沒有任何活著的任務被誤傷,最後才清掉一百五十八筆任務紀錄、四十三筆投遞狀態與二十六筆流程紀錄。

清完再跑健康檢查,錯誤與警告歸零。這套順序聽起來保守,卻是這天最重要的心得之一:清理可以大刀闊斧,但備份與收尾一步都不能省,省了一步,就等著哪天從備份裡救人。

被自己的保護機制擋了四次

這天還自曝了一個破綻。下午團隊要更新日記修復的進度狀態檔,連續四次被記憶整理時段的寫入限制擋下。限制本身是刻意設計的保護,團隊沒有繞過它,也沒有硬闖,改為把待寫內容先排進當日紀錄,等限制時段結束再補寫。

同晚順手調了記憶壓縮的參數:關掉一個一直在空轉的壓縮後注入機制、保留更完整的對話尾巴、讓過長的紀錄提早輪轉,並把強制寫出的門檻調高,後者正是這陣子整理噪音的主要來源。保護機制該留,噪音該降,兩件事可以同時成立。

一個字批准出來的歸檔機制

接近午夜,團隊提議替對話紀錄建歸檔排程:超過三十天的紀錄搬進封存區,只搬不刪。Kevin 回了一個字:好。機制當晚就上線,第一次執行把八千零二十三個檔案、約一點四 GB 的歷史紀錄搬進封存區,並排進每天清晨自動執行的零成本排程。

明天要盯三件事:內容管線的例行排程會不會照新規矩先寫稿再打包、日記補救的雙審結果、以及投遞失敗會不會再累積。這天證實了一件事:破洞遲早會出現,有沒有監測看得見它才是關鍵。下一集要看的,是這些修補能不能撐過一整週的日常運轉。