
這是一封審核通知信引發的悲劇。
原本只需要通知總務處的一級主管,AI 卻呼叫了一個會把底下所有二級單位主管通通挖出來的函式。兩分鐘內寄出 11 封信,收件者名單精彩得像是要召開主管會報。
過程中 AI 還展現了驚人的小聰明。它看到名稱帶有 Level1 的函式,AI 就誤以為所有案件的第一次通知都要直接給一級主管。這就像搭火車看到終點站,就決定每一站都不停直接開過去一樣,流程完全大跳針。因實際業務邏輯不一定是這樣子。
問題的根源其實不在於主管是誰,而是現在到底輪到哪一位審核角色登場?
一級單位的流程很單純,承辦人送出後由一級主管審核完就結案。二級單位則是承辦人送出後先給二級主管,核准後才輪到一級主管。
把函式名稱改成專門查詢初始審核者的邏輯後,系統終於不再盲目搜尋整個部門樹。
要避免 AI 繼續改 A 壞 B,最好的做法就是把流程寫進專案文件,並在指引檔中明確列出不可以混用的規則,同時搭配驗證實際收件人的測試案例。
這次事件的真正教訓不是「AI 很笨」,而是:當短 context agent 不一定記得上一輪對話,函式名稱又長得很像時,任何 agent 都可能把正確零件裝到錯的插座上。因此最可靠的防線是三層:
- Sequence Diagram:定義業務流程
- AGENTS.md:提醒 agent 不可混用的實作規則
- Regression Tests:讓錯誤真的跑不進 production
把防線建立好,下次主管收到信的時候,才會是請您審核這一件,而不是恭喜您入選第 11 屆臨時審核委員會。