「交給人工」不是完整的例外策略

假設訂閱服務收到一筆退款申請。系統找到兩筆金額相同的付款紀錄,一筆已確認入帳,另一筆仍是 unknown。退款規則說明申請期限,卻沒有說明付款狀態互相矛盾時該做什麼。

如果程式把每筆符合期限的事件都當成已收款並分別執行退款,可能對尚未入帳的交易也要求退款;如果一律轉交客服,客服也未必有查詢金流狀態或改變政策的權限。把狀態改成 manual_review 只能證明系統停止了,還沒有說誰要提供缺少的事實、誰能判斷政策,以及何時要完成。

亞里斯多德談的是如何在具體情況中作出好的行動

《尼各馬科倫理學》第六卷把實踐智慧(phronēsis)和純理論知識、製作技藝區分開來。第六卷第五章描述它為關於人類善惡、能引導行動的理性能力;第八章強調,實踐判斷不只涉及一般原則,也需要辨認當下的具體情況。《尼各馬科倫理學》VI.5、VI.8,1140b–1141b,Ross 英譯本

這不等於「規則都不可靠」或「人類直覺一定較好」。Stanford Encyclopedia of Philosophy 指出,亞里斯多德不認為規則能完整列盡所有實際情況,但也沒有因此主張任何規則都不可能成立;實踐智慧仍需要能說明理由的審慎思考,不是無法檢視的靈光一閃。Aristotle’s Ethics,§§5.2–5.3

亞里斯多德討論的是倫理與政治生活中的實踐理性,不是自動化設計。他的概念不能直接推出哪個退款政策才正確。本文的工程推論較窄:例外流程應先分清楚缺的是事實、規則,還是需要對具體處境作出價值判斷;三種缺口要由不同的責任路徑處理。

先辨認例外究竟是哪一種不確定

同一筆退款可以遇到三種不同情況,不能都丟進同一個人工佇列。

規則已經足夠,結果可以自動驗證

若兩筆付款都由權威來源確認為成功入帳,系統又能以唯一交易識別碼證明是重複扣款,而政策明確要求退回多收款項,這就是條件清楚的案例。程式可以自動執行退款,但仍要使用冪等識別碼,並保留原付款與退款的關聯紀錄。

缺的是事實,不是人的判斷

若一筆付款仍為 unknown,下一步應是向金流來源查詢、等待回呼,或進入有期限的對帳狀態。客服不能靠個人經驗把未知改成成功或失敗;在事實確認前,系統應避免執行不可逆的退款動作,並顯示下一次檢查時間與負責隊列。

政策沒有決定如何取捨

若付款事實已經確認,但使用者部分使用服務、合約只寫「可退款」而未定義如何計算,系統遇到的就不是資料缺漏。它遇到的是政策尚未說明的取捨。這類案件應交給有權解釋或調整政策的人,而不是任意一位客服,也不應讓模型從零散案例自行推導新規則。

把人工判斷設計成可交代的工作

從上例可以整理出三條處理路徑:

  • 條件明確、結果可驗證: 依既有規則自動完成,記錄輸入證據、規則版本與動作識別碼。
  • 關鍵事實缺失或衝突: 暫停有副作用的動作,進入對帳或查證狀態,指定負責隊列及下次檢查期限。
  • 規則未涵蓋的價值取捨: 建立具名負責人的判斷案件,提供可查證事實、適用政策、影響範圍與允許選項,並要求記錄決定理由。

因此,一筆需要判斷的例外紀錄至少應回答:正在決定什麼、哪些資料仍不確定、目前適用哪條政策、誰有權決定、選擇的理由,以及何時需要重新檢視。若不同職能各自掌握一部分資訊,案件還要指明由誰彙整證據並對結果負責。

有了決策紀錄,團隊才有辦法檢查自動化是否合理:規則明確的案例是否被一致處理?未知狀態是否被錯當成否定或肯定?人工決定是否反覆遇到相同的政策缺口?若一類案件逐漸穩定,應由政策負責人決定是否把條件寫成新規則,再補上測試與回溯案例;不要直接把一次人工結果變成全域自動決策。

自動化停點也要驗收

可以把最低驗收條件寫進退款工作流:

  1. 規則和權威證據都明確的案例,才會進入自動副作用;重送相同事件不會重複退款。
  2. unknown 或互相矛盾的狀態不會觸發退款,系統會留下對帳狀態、下一次檢查時間與負責隊列。
  3. 規則無法判定的案例會分派給有權責的角色,並帶上案件所需證據;沒有 owner 的例外不能被標為「已交人工處理」。
  4. 人員決定會保存理由和政策依據,重複出現的缺口會進入政策審查,而非默默累積成不同的個人慣例。

自動化品質不能只用「少了幾件人工案件」衡量。還要看錯誤退款、重複處理、人工改判、案件等待時間與使用者申訴;否則系統可能只是更快地把原本未解決的政策問題藏起來。

實踐智慧不能取代政策、證據與責任制度

把人放進流程不會自動產生好的判斷。審查者可能缺乏資料、權限或時間,也可能受到偏見影響;若例外案件從不被檢查,人工介入反而會成為不可觀測的第二套規則。相反地,固定規則也有價值:條件明確且一致的案例不必每次重新裁量。

亞里斯多德的概念無法替團隊決定可接受的退款政策,也不能替代法規、權利保障、稽核要求或產品目標。它提供的是一個提醒:涉及行動的規則必須能面對具體情況,決策者也要對理由與結果負責。這一層工程設計仍要由有權責的產品、營運與風險角色共同完成。

下次新增一個 manual_review 分支前,先標出這個例外究竟缺少權威事實、缺少明確規則,還是需要對目標作出取捨。為每一種情況指定不同的狀態、owner、期限與驗收條件,再決定哪些部分可以安全地自動化。

系列前篇:系統邊界不是地圖外框:模型會先決定誰看得見、故障會讓系統關係浮現:從海德格的器具分析到可驗證的復原路徑,以及事故調查別讓警報替你下定義:用杜威探究法更新故障假設。

延伸閱讀