iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
ChatGPT & Codex

AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統系列 第 13 篇

Day 13|Memory Retrieval:AI 要怎麼找到現在真正需要的記憶?

  • 分享至 

  • xImage
  •  

Day 12 整理了 Memory Extraction,也就是從聊天中找出值得長期保存的資訊。

但把 Memory 存進資料庫之後,還有另一個問題:

當長者再次聊天時,系統要怎麼找到現在真正需要的記憶?

這就是 Memory Retrieval。


什麼是 Memory Retrieval?

Memory Retrieval 的功能,就是:

根據目前的聊天內容,從過去的 Memory 中找出最相關的資訊。

例如系統已經記得:

  • 喜歡釣魚
  • 以前在工廠工作
  • 平常喜歡早上散步

如果長者今天說:

「最近比較少出去走走。」

系統應該優先找到:

平常喜歡早上散步

再把這筆資訊提供給 AI。

所以基本流程是:

目前訊息 → 搜尋相關 Memory → 提供給 AI → 產生回應


為什麼不能把所有 Memory 都丟給 AI?

剛開始 Memory 很少時,也許可以全部放進 Prompt。

但使用時間越長,Memory 可能累積到幾十甚至幾百筆。

如果每一次聊天都全部丟給 AI,不只會讓 Prompt 越來越長,也會加入很多和目前對話完全無關的資訊。

所以真正需要的不是:

讓 AI 看見所有 Memory。

而是:

只找出目前最相關的幾筆。


Memory 要怎麼搜尋?

最基本可以先利用 類型和關鍵字 搜尋。

例如現在正在聊散步,就優先找活動或生活習慣相關的 Memory。

但只靠關鍵字會有一個問題。

例如:

Memory:平常喜歡早上去公園散步

長者今天說:

最近都懶得出去走。

雖然兩句話沒有相同文字,但意思其實很接近。

所以之後可以進一步使用 語意搜尋,讓系統比較「意思是否相關」,而不只是文字是否相同。


找到之後還需要排序

搜尋 Memory 後,可能一次找到很多筆資料。

所以還需要根據:

  • 與目前對話的相關程度
  • Memory 類型
  • 重要程度
  • 最近是否使用過

進行排序。

最後只取出最相關的幾筆交給 AI。


Memory Retrieval 怎麼進入聊天流程?

加入 Retrieval 之後,聊天流程就會變成:

長者輸入訊息
→ 搜尋相關 Memory
→ 取得近期 Context
→ AI 產生回應

例如長者說:

最近比較少出去走。

系統找到:

平常喜歡早上去公園散步。

AI 就能延續過去的資訊,而不是把這件事情當成第一次聽到。


Retrieval 不代表一定要使用

找到 Memory 之後,也不代表 AI 每次都要直接說:

「你之前有提過……」

Memory 更重要的作用,是提供 AI 背景資訊。

有些時候可以直接延續過去的話題,有些時候只需要讓 AI 知道背景,不一定要刻意說出來。

這樣聊天才會比較自然。


Memory Extraction 和 Retrieval 的差別

前一天的 Memory Extraction 負責:

從聊天中找出什麼值得記住。

今天的 Memory Retrieval 則負責:

在需要的時候,把相關記憶找回來。

所以整體可以整理成:

Message
→ Memory Extraction
→ Memory 儲存
→ Memory Retrieval
→ AI Response


上一篇
Day 12|Memory Extraction:怎麼從聊天裡找出真正值得記住的資訊?
下一篇
Day 14|Context:除了記得以前,AI 還要知道最近發生什麼
系列文
AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言