影像、音訊與事件節點沿著時間線追蹤同一個背包,並以目前狀態與衝突提醒呈現多模態長期記憶

多模態 Agent 長期記憶:追蹤實體與事件的時間演化

多模態 Agent 的長期記憶,不只是把影片、圖片、語音和文字存進向量資料庫。真正困難的是時間:同一個人、物件或任務會改變位置、狀態與關係;若系統只保留一段摘要或最近一次描述,很容易把「曾經發生」當成「現在仍然如此」。要追蹤時間演化的實體與事件,記憶必須同時保存事件、狀態、時間、來源證據與不確定性。

關鍵觀念:不是所有既有方法都「無法」處理時間,而是單純摘要、單一 embedding 或只取最新片段的做法,常無法可靠地回答「什麼時候改變?」「上一次看到在哪?」「這筆狀態是否已過期?」。把記憶設計成可驗證的時間事件系統,才比較能處理這些問題。

為什麼多模態長期記憶特別容易失真?

文字對話的記憶已經會遇到遺忘與矛盾;加入影像、影片、音訊與感測資料後,問題更多了一層「觀察」與「事實」的區別。例如鏡頭在下午看到杯子在桌上,不等於杯子目前仍在桌上;語音辨識到「我把門關了」也不必然能證明門真的關好。若沒有時間窗、來源片段與信心程度,系統很容易以流暢的敘述取代可檢查的證據。

Ego4D 的 episodic memory benchmark 正好說明這類任務:使用者可以用文字問題找出過去影像中答案出現的時間窗、用一張物體圖片找最後一次看見的位置,或查詢某個活動發生的所有時段。這些都不是單純的「相似度最高摘要」,而是實體、事件與時間定位的組合問題。

把「事件」和「目前狀態」分開儲存

實作時最常見的錯誤,是直接覆寫一個實體的描述。較可靠的設計是保留不可變的事件紀錄,另外用可重建的 current-state view 表示「目前最有根據的狀態」。例如:

  • 事件:14:02 看見鑰匙放進玄關抽屜;14:17 看見使用者取出鑰匙。
  • 狀態推論:14:02–14:17 鑰匙可能在抽屜;14:17 之後位置未知,不能繼續宣稱它還在抽屜。
  • 證據:對應的影片時間窗、畫面 crop、語音片段、感測資料或使用者確認。

這種設計讓系統可以回答「最後一次看到在哪裡?」與「現在在哪裡?」這兩個不同的問題,也能在後續證據出現時修正狀態,而不是抹掉歷史。

一筆可追溯的多模態記憶至少要有什麼?

不必一開始就建造複雜知識圖譜,但每筆重要事件至少應保存以下欄位:

  • 實體識別:穩定 entity ID、別名、類型與必要的跨模態對應資訊;不要只把「藍色杯子」當永久身分。
  • 事件類型:看見、移動、放入、取出、說明、確認、否認、系統動作或使用者修正。
  • 兩個時間:事件發生時間與系統寫入/觀察時間。離線上傳影片、延遲感測資料與使用者事後補述時,兩者可能不同。
  • 有效區間:狀態何時開始可信、何時被新事件取代,或何時轉為未知。
  • 來源與證據指標:檔案、時間窗、畫面區域、語音片段、內容雜湊或可權限控管的 reference。
  • 信心與可見性:模型信心、是否經使用者確認、可被哪些帳號/Agent 使用、何時應刪除或過期。

第 5510 篇已整理摘要層、視覺證據層與按需檢索的分層策略;若你的問題是「什麼證據該被取回」,可搭配閱讀〈多模態 Agent 長期記憶:文字摘要與視覺證據怎麼兼顧〉。本篇補上時間與狀態轉換的資料模型。

寫入流程:先記錄候選事件,再更新狀態

1. 建立或連結實體

模型偵測到物件、人或工作項目時,先把它視為候選實體,依時間、空間、視覺特徵、名稱與上下文嘗試連結既有 entity。若信心不足,保留候選而非強迫合併;把兩個不同物件誤認為同一個,往往比多出一個待確認實體更難修正。

2. 寫入帶來源的事件

事件應描述「系統觀察到什麼」,而非把推測寫成事實。例如「畫面時間 14:02 偵測到疑似鑰匙被放入抽屜,信心 0.78」比「鑰匙在抽屜」更誠實,也讓日後的人工確認、模型修正或資料刪除有明確對象。

3. 由規則或審核更新 current state

根據事件順序更新目前狀態:新的「取出」事件可讓位置轉為未知或待觀察;相互矛盾的事件不應任意覆蓋,而應留下衝突、比較來源品質與必要時請使用者確認。這一步可由 deterministic rule、工作流或人工審核處理,不能只靠模型的一次自然語言判斷。

檢索流程:先理解時間問題,再拿回證據

「鑰匙在哪裡?」、「昨天最後一次看到鑰匙在哪?」和「鑰匙是什麼時候離開抽屜?」需要不同檢索策略。Agent 應先判斷問題是要 current state、最後一次觀察、特定時間窗、還是所有相關事件,再用 entity ID 與時間條件篩選。回答前若狀態已過期、證據不足或存在衝突,應清楚說明「最後可確認的證據是什麼」而不是補成肯定語氣。

VideoAgent 等研究採用結構化記憶保存時間事件與物件追蹤狀態;近期的多模態記憶研究也朝實體中心、可更新的 episodic/semantic memory 前進。這些方向共同提醒我們:對長影片、機器人或持續運作的 Agent,純粹增加 context window 不會自動解決時間定位與狀態更新。

如何測試「記憶真的追得上變化」?

不要只測最後一題答對率。請建立有狀態變化的測試軌跡,例如物件被移動兩次、同名實體出現、語音與影像相互矛盾、資料延遲上傳、使用者更正舊紀錄。再量測:

  • 是否能正確找回事件的時間窗與來源證據。
  • 是否把已過期的狀態誤當成目前狀態。
  • 是否把不同實體錯誤合併,或把同一實體過度拆分。
  • 發生衝突時是否保留不確定性,而不是編造唯一答案。
  • 刪除/撤回來源後,衍生摘要、向量索引和 current state 是否同步更新。

若系統涉及家庭、工作場所、穿戴式鏡頭或機器人,還要另外驗證資料最小化、可見性、保留期限、使用者更正權與跨帳號隔離。長期記憶的能力越強,錯誤記憶與不當保留的影響也越久。

結論

多模態長期記憶的難點不是把更多資料存下來,而是讓系統知道哪些是觀察、哪些是狀態、何時已經過期,以及能否指出證據。以實體 ID、事件時間、有效區間、來源證據與衝突處理為核心,再搭配分層摘要與按需檢索,才能讓 Agent 對時間演化的實體與事件做出比較可靠、可稽核的回答。

資料來源

Similar Posts