林小姐在一家小網店工作,請 AI 助理幫一位老客戶安排寄件。AI 從過去的對話裡找出這位客戶的地址,格式完整,語氣自然,省掉重新輸入的時間。問題是,客戶這一次在訂單上填的是新家的地址,AI 用的是半年前聊天時提到的舊公司地址。

如果只問「AI 記得的地址看起來合理嗎」,答案很可能是合理的。真正該問的是:這一箱要寄去哪裡,是由什麼決定的?答案是這一筆訂單的收件欄,不是 AI 的記憶。所以,要拿來行動的資料,例如地址、金額、預約時段,AI 記憶只能提醒「這裡需要一個地址」,值本身要在行動前,從負責更新它的正本重新讀取;兩邊不一致,就停下來。

記得,不等於現在還對

記憶功能讓 AI 少問了很多問題,很容易讓人覺得它記住的東西是可靠的。但記憶只能證明某個資訊曾經出現在對話裡,不能證明它現在仍然適用。地址會搬、聯絡人會換、預算會重新核准,記憶裡的值不會自動跟著更新。

只在對話裡追問「你確定地址沒錯嗎」也沒有用。AI 會從同一份記憶找答案,等於讓記憶替自己作證。有效的確認,必須換一條路,回到由別人負責維護的那份資料。

先替每一種資料找到正本

同樣是「請記住」,背後可能是四種保存需求,該放的地方不同:

  • 回答偏好,例如喜歡條列、食譜不放香菜。可以留在記憶裡,只用來調整內容,做錯了也容易改。
  • 這一次交易的值,例如收件地址、付款金額、預約時段。放在這一筆訂單、請款單或預約紀錄裡。做哪一筆,就讀哪一筆。
  • 會持續變動的業務資料,例如客戶聯絡人、庫存、期限、核准的預算。回到客戶管理系統、庫存系統、行事曆或核准紀錄,並記下誰負責更新、上次什麼時候更新。
  • 敏感或涉及第三人的資料,例如健康資訊、他人的聯絡方式、同意紀錄。只放在用途、權限和保存期限都已經定好的系統裡;沒有這樣的地方,就當次向有權的人確認,不另存進 AI 記憶。

一份資料能不能當正本,看的是它是否負責這個欄位、這個對象、這個時間點。這一筆訂單比客服的舊對話更能決定收件地址;已經確認的行事曆,比聊天裡的「那天應該可以」更能決定會議時間。

廣告

行動之前,從正本重新讀一次

以寄件為例,正確的順序是:AI 從記憶知道「這個流程需要收件地址」;接著用唯讀的方式,依訂單編號讀出這一筆訂單的收件地址;在預覽畫面上同時顯示這個地址、它來自哪裡、什麼時候讀取的;人確認之後,寄件才執行。負責寄件的那一段程式,應該拒絕任何直接來自記憶的地址。

同樣的做法可以套到其他動作上:預約前讀現在的行事曆,付款前讀已經核准的請款單,寄通知前讀這個案子的聯絡名單。

讀取的結果也要有停止條件。找不到紀錄、權限不足、資料版本太舊、記憶裡的值和正本不一致,或正本本身還標示「待確認」,這些情況都只能產生草稿和待確認的問題。AI 不應該自己猜哪一個比較新,也不應該把使用者這一次的回答,默默存成永久的預設值。

這和兩個技術文件的提醒一致。Anthropic 為開發者提供的記憶工具,把資料存在哪裡、怎麼存取交給應用程式自己控制,並要求開發者處理敏感資料、定期刪除久未使用的記憶。專注於應用程式安全的開放社群 OWASP,它的 AI agent 安全指南則要求高影響動作的批准要綁定具體的工具、目標和參數。記憶是需要被管理的資料,不會因為模型很有把握就自動保持正確。

正本不存在的時候

每次行動前都回正本讀一次,前提是正本存在而且讀得到。很多小團隊的客戶資料散在試算表、信件和聊天紀錄裡,沒有一個明確的正本。這時第一步要做的事和 AI 無關:先替最常用的幾個欄位,例如收件地址,指定一個負責更新的地方。

修正錯誤資料時,順序也很重要:先改正本,再清記憶。林小姐發現地址錯了,應該先修正這一筆訂單;如果客戶資料裡的預設地址也過時,再由有權限的人更新;最後才處理 AI 的記憶和舊對話。只刪記憶不改正本,下一次 AI 還是可能從別的地方讀到舊地址。

先挑一個每天真的會發生的寄件、預約或通知流程,替其中會被拿去行動的每個欄位寫下:正本在哪裡、用什麼查、誰負責更新。說不清楚的欄位,流程就先停在草稿。如果 AI 記住的不是資料,而是你過去的看法,要擔心的是另一個問題,參考〈AI 記住你的看法之後,會更容易順著你說〉。替常用資料指定正本的做法,也可以參考〈讓 AI 查公司數字,準不準取決於有沒有人維護定義〉。

AI 整理卡

我想檢查一個會寄送、預約、付款或通知的 AI 流程,是否會直接用 AI 記憶裡的舊資料去行動。
判斷方法來自這篇文章:https://boosterminiclass.com/posts/ai-memory-verify-before-action/
文章的看法是:要拿來行動的資料(地址、金額、預約時段、聯絡人),AI 記憶只能提醒「這裡需要什麼」,值本身要在行動前,從負責更新它的正本(例如這一筆訂單)重新讀取;找不到正本、權限不足或兩邊不一致,就停在預覽。

請先問我 3 個問題:
1. 是哪一個流程,最後會做出什麼動作(寄送、預約、付款或通知);
2. 流程裡有哪些欄位會被拿去執行這個動作,目前 AI 是從哪裡取得它們;
3. 這些資料平常存在哪個系統,誰負責更新。

根據我的回答,請輸出:
- 每個欄位一行:目前的取得方式/應該讀取的正本/查詢依據(例如訂單編號)/負責更新的人;不知道的寫「待確認」;
- AI 在執行前應該怎麼重新讀取並比對,以及預覽畫面該顯示哪些資訊;
- 哪些情況要停在草稿:找不到正本、權限不足、版本過舊、兩邊不一致;
- 資料有錯時的修正順序:先改哪裡、再清哪裡。
只做檢查和建議,不要替我修改任何資料或記憶;是否執行由負責這個流程的人決定。
廣告

Share

分享這篇微課

如果這篇剛好解開一個工作卡點,可以分享給也在判斷 AI 怎麼用的人。

參考來源