iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
ChatGPT & Codex

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

Day 11|Conversation 與 Message:聊天紀錄應該怎麼保存?

  • 分享至 

  • xImage
  •  

Day 10 整理了 Chat API 的基本流程:

使用者輸入訊息
→ 後端接收
→ AI 產生回覆
→ 儲存對話
→ 回傳前端

但其中還有一個很重要的問題:

聊天內容到底要怎麼存?

如果只是把整段對話直接存成一大段文字,短期看起來很簡單,但後面要做 Memory、Context、搜尋紀錄或重新分析時,就會變得很難使用。

所以在 VoCare 裡,我們會把聊天資料拆成兩個主要概念:

Conversation 和 Message。


Conversation 是「一次完整的聊天」

Conversation 可以理解成一次聊天工作階段。

例如長者晚上打開 VoCare,和 AI 聊了十分鐘,這整段互動就可以視為一個 Conversation。

一筆 Conversation 可以保存:

  • Conversation ID
  • User ID
  • 開始時間
  • 結束時間
  • 建立時間

它本身不一定需要保存所有聊天文字,而是負責表示:

這些訊息屬於同一次對話。


Message 是「對話裡的每一句話」

Conversation 裡面真正的聊天內容,則會拆成一筆一筆的 Message。

例如:

長者:
我以前很常去釣魚。

AI:
那你以前最常去哪裡釣魚?

長者:
以前常跟公司的朋友一起去。

這三句話可以分別存成三筆 Message。

每一筆 Message 至少可以包含:

  • Message ID
  • Conversation ID
  • 發送者
  • 訊息內容
  • 發送時間

其中「發送者」可以用來區分:

  • User
  • Assistant

這樣系統就知道哪一句是長者說的,哪一句是 AI 回覆的。


為什麼不能直接把整段聊天存成一筆?

拆成 Conversation 和 Message,最主要的原因是:

後面的功能需要使用單一訊息。

例如未來做 Memory Extraction 時,系統可能要從某幾句話裡找出:

興趣:釣魚

或者做近期狀況分析時,要找到:

最近睡不好

如果整段聊天全部混在同一欄位裡,每次都必須重新分析整段內容。

但如果訊息是一筆一筆保存,就可以直接知道:

是哪一則 Message 產生了這筆 Memory 或 Status Event。

這也讓資料之間可以建立清楚的關係。


Conversation 和 Message 的關係

兩者的關係可以簡化成:

User
→ Conversation
→ Message

一位長者可以有很多次 Conversation。

而每一個 Conversation 裡,又會包含很多筆 Message。

例如:

User 001

→ Conversation A
 → Message 1
 → Message 2
 → Message 3

→ Conversation B
 → Message 4
 → Message 5

這樣之後不管是要查看某一天的聊天、搜尋某一句內容,或分析某一次對話,都會比較容易。


這和 Memory 有什麼關係?

Conversation 和 Message 保存的是:

原始聊天紀錄。

Memory 保存的則是:

從聊天中整理出來的長期資訊。

例如原始 Message 是:

「我以前很喜歡跟朋友去釣魚。」

系統之後可以從這句話整理出:

類型:興趣
Memory:喜歡釣魚

所以兩者不能混在一起。

可以理解成:

Message = 長者實際說過什麼

Memory = 系統從裡面整理出什麼

而 Memory 最好還能保留來源 Message ID。

這樣未來就能追蹤:

這筆記憶到底是從哪一句話產生的。


為後面的 Context 做準備

保存 Conversation 和 Message 還有另一個目的,就是建立 Context。

例如 AI 回答之前,可以取得:

  • 最近一個 Conversation
  • 最近 10 則 Message
  • 最近幾天的重要互動

再搭配長期 Memory 一起提供給 AI。

所以 Conversation / Message 不只是「聊天紀錄」。

它其實也是後面:

Memory、Context、個人化回覆與狀況分析的基礎資料。


上一篇
Day 10|Chat API:讓前端、後端與 AI 真正連起來
下一篇
Day 12|Memory Extraction:怎麼從聊天裡找出真正值得記住的資訊?
系列文
AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言