AI 功能的錯誤處理:使用者該看到什麼
模型會失敗,這是設計前提。失敗時的體驗決定了產品的可信度。
把技術錯誤原封不動丟給使用者,是最常見也最傷信任的做法。「JSONDecodeError at line 1」對使用者毫無意義。
錯誤要分成使用者看得懂的幾類
- 暫時性問題:「系統忙碌,請稍後再試」,並提供重試按鈕。
- 輸入問題:「檔案超過 20MB,請壓縮後再上傳」,明確說怎麼修。
- 能力邊界:「這個問題超出我能處理的範圍」,並提供替代路徑。
- 內容限制:中性說明,不要指責使用者。
部分成功也要處理
批次處理一百個檔案,八十個成功、二十個失敗,不該整批標為失敗。呈現成功的部分,並清楚列出失敗項目與原因,讓使用者能只重跑那二十個。
{
"status": "partial",
"succeeded": 80,
"failed": [
{"file": "a12.pdf", "reason": "檔案損毀,無法讀取"},
{"file": "b07.pdf", "reason": "頁數超過上限(120/100)"}
],
"retry_token": "…"
}不要假裝成功
最糟的處理是模型失敗時回一個編造的結果。寧可明確失敗,也不要給出一個看起來正常但錯誤的答案——後者會在下游造成更大的問題,而且很難被發現。
給使用者回報的管道
每個 AI 產出旁邊放一個簡單的回饋按鈕。這既是體驗,也是你最重要的評測資料來源。
錯誤訊息裡帶上一個簡短的追蹤碼。使用者回報時提供這串碼,你就能立刻撈出完整軌跡。