不要對所有動作使用同一種確認
確認的目的不是增加一道按鈕,而是在動作仍可控制時,讓使用者理解即將發生什麼事。若 AI 助手每次查詢資料都要求確認,使用者很快就會養成直接按下同意的習慣;但若寄送報價、修改 ERP 訂單或調整帳號權限也能靜默執行,單次誤判就可能跨越多個系統。工程上應先依影響範圍、可逆性、外部可見性與敏感程度分級,再決定互動方式。
唯讀查詢通常可以直接執行,但仍要遵守資料權限。可逆且影響有限的動作,例如建立草稿或新增尚未發布的內部標籤,可以先做後提供短暫撤銷。涉及對外溝通、批次更新、金額、刪除、正式核准或權限變更的動作,則應在執行前明確確認。若同一任務包含不同風險的步驟,不應只在最開始取得一次籠統授權,而要在跨入高風險步驟前重新停下來。
- 直接執行:唯讀、低敏感度,而且結果不會改變其他系統狀態。
- 預覽後執行:內容可由使用者檢查,例如郵件收件人、訊息正文、欄位變更或批次名單。
- 執行後可撤銷:動作可可靠還原,且撤銷期限與限制能清楚說明。
- 雙重確認或人工核准:涉及金額、權限、刪除、法規流程或大範圍外部影響。
確認畫面必須描述具體承諾
「是否繼續?」不是有效的確認。好的確認內容至少要列出動作、目標、範圍、使用的帳號、預計產生的外部效果,以及無法自動復原的部分。例如,不只顯示「更新客戶資料」,而應說明將修改哪個 CRM、哪些客戶、哪些欄位,以及是否會觸發通知或下游同步。批次任務應提供筆數、篩選條件、例外項目與抽樣預覽,讓使用者能辨識 AI 是否誤解自然語言指令。
確認也必須綁定實際執行內容。系統可以為預覽產生不可變的任務版本或內容雜湊;使用者確認後,只能執行該版本。如果來源資料、權限或目標清單已變動,就應宣告預覽失效並要求重新確認,避免使用者核准的是十筆資料,實際執行時卻變成另一批資料。對敏感操作,確認時還要重新檢查身分、角色與最小權限,而不能沿用規劃階段的假設。
後端亦需處理重複點擊、網路重試與逾時。每個任務應有冪等鍵與明確狀態,例如待確認、執行中、成功、部分成功、失敗及復原中。介面在狀態未知時不能直接顯示失敗並鼓勵重送,因為第一次請求可能已在外部系統完成;正確做法是先以任務識別碼查詢結果,再決定是否重試。
撤銷通常是補償交易,不是倒帶
跨 LINE、ERP、CRM、雲端服務與 IoT 平台的任務,很少能靠資料庫回滾完整復原。郵件可能已被閱讀,訊息可能已觸發其他流程,ERP 單據也可能進入下一個會計或審批狀態。因此,撤銷功能應被建模為新的補償動作,而不是假設時間可以倒轉。建立資料可用停用或封存補償;修改資料可依執行前快照寫回;正式帳務紀錄通常要建立反向紀錄;無法收回的對外訊息,則可提供更正草稿與後續處理指引。
設計任務時要先定義每一步的補償能力、可撤銷期限與前置條件。若使用者在 AI 更新後又手動修改同一筆資料,直接寫回舊值可能覆蓋新工作;系統應比較版本或時間戳,偵測衝突並交由人工判斷。多步驟任務也要接受部分成功:CRM 更新成功但 ERP 同步失敗時,不能只回報整體失敗。系統應列出已完成、未完成與可補償的步驟,並允許針對失敗步驟安全重試。
真正的撤銷入口必須可被找到,也要說清楚後果。「撤銷至原始狀態」與「停止後續步驟」是不同操作;前者可能執行多個補償交易,後者只是避免影響擴大。對無法完全復原的任務,介面應使用「建立更正」或「要求人工處理」等精確字眼,避免給出虛假的安全感。
執行回條要證明結果,而不只是收到指令
AI 說「已為您處理」並不能證明任務完成。執行回條應來自工具或目標系統的實際回應,並包含任務識別碼、完成時間、執行身分、目標環境、變更摘要與各步驟結果。若外部 API 只表示已受理,回條就應標示為處理中,而不是成功。對非同步工作,系統要持續更新狀態,直到取得終態或清楚說明無法確認。
回條同時是使用者操作介面與稽核紀錄。它應指出哪些項目成功、哪些被略過、錯誤原因、是否可重試、撤銷期限,以及後續查詢位置。稽核資料則要保留指令提出者、確認者、實際執行服務、使用的工具與關鍵輸入輸出,但應遮蔽密碼、權杖與不必要的個資。高風險流程可分離提出與核准角色,並讓核准人看到與執行內容完全一致的預覽。
導入時可先挑選一條範圍明確的流程,演練重複請求、權限失效、外部逾時、部分成功、資料衝突與補償失敗。只有當確認內容可理解、撤銷語意誠實、回條能對上目標系統,AI 助手才真正從聊天介面成為可信任的企業執行層;跨系統情境複雜時,整合團隊的價值就在於把這些邊界逐一落實。