Day 13 整理了 Memory Retrieval,讓 AI 可以從長期記憶中找出和目前對話相關的資訊。
但只有 Memory 還不夠。
因為:
「這位長者是誰」和「這位長者最近發生什麼」其實是兩種不同的資訊。
所以今天要整理的概念是 Context。
Context 可以理解成:
AI 在目前這段對話中,需要知道的近期背景資訊。
例如 Memory 裡可能記得:
平常喜歡早上去公園散步。
但最近幾天的 Context 可能是:
最近三天都沒有出去散步。
這兩筆資訊都很重要,但用途不同。
Memory 比較偏長期。
Context 比較偏近期。
在 VoCare 裡,Context 不需要保存所有近期資料,而是整理目前聊天真正需要的內容。
例如:
例如最近幾天長者多次提到睡不好,那「近期睡眠狀況」就可以成為這次聊天的 Context。
Context 和 Memory 還有一個很重要的差別:
Context 通常具有時效性。
例如:
最近三天睡不好。
這個資訊現在很重要,但一個月後可能已經沒有參考價值。
所以 Context 可以設定一個時間範圍,例如:
超過一定時間後,就不再優先提供給 AI。
這樣可以避免舊的近期資訊一直影響後面的聊天。
加入 Context 之後,完整的聊天流程可以整理成:
長者輸入訊息
→ 搜尋相關 Memory
→ 整理近期 Context
→ 一起提供給 AI
→ 產生回應
例如長者說:
最近比較不想出門。
系統可以取得:
Memory: 平常喜歡早上去公園散步
Context: 最近幾天活動次數下降
AI 就能同時知道長者原本的習慣,以及最近的變化。
兩個概念可以簡單整理成:
Memory:這位長者是誰?
例如:
喜歡釣魚、以前是老師、平常喜歡散步。
Context:這位長者最近怎麼樣?
例如:
最近睡不好、這星期比較少出門、昨天提到心情不好。
所以 VoCare 的個人化對話,不會只依賴其中一個。
而是:
Memory + Context + Current Message → AI Response