到目前為止,我們做的小幫手大多是「一次性對話」,也就是說問一句,它就答一句,過去的訊息完全不記得。這樣雖然能用,但對話感覺就很「機器」,不像真的在聊天。那麼,怎麼讓 AI 變得更有「記憶力」呢?
最常見的方式就是上下文管理(Context Management)。我們只要在送給模型的時候,除了現在的問題,再把過去的對話一起傳進去,AI 就能「回想」之前說過的事。例如:
messages = [
{"role": "system", "content": "你是一個貼心小幫手"},
{"role": "user", "content": "嗨,我叫小明"},
{"role": "assistant", "content": "嗨小明,很高興認識你!"},
{"role": "user", "content": "記得我叫什麼嗎?"}
]
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages
)
這樣 AI 就能回答「你叫小明」,因為我們把之前的對話歷史都帶進來。
不過要注意,模型不是「真的有腦袋」,它只是透過我們給的訊息來「假裝有記憶」。這叫做短期記憶。如果訊息太長超過 Token 限制,它就會「失憶」。
所以,真正的上下文管理常常要搭配資料庫或向量檢索(例如存歷史對話,必要時再丟給模型),才能做到比較長期的記憶。但今天先掌握這個基本的概念,就能讓你的 AI 小幫手更有「對話感」,不會每次都像初次見面。