在打造 AI 陪伴 Agent 的過程中,我遇到了一個瓶頸:不論 Prompt 寫得再詳細,Agent 聊久了還是會忘東忘西,甚至開始瞎編記憶。
這並不是因為 Prompt 寫得不夠好,而是因為 LLM(大語言模型)本身有其物理極限:
system_instruction。這會導致 API 費用飆升,且模型容易出現「中間遺忘 (Lost in the Middle)」或產生「幻覺 (Hallucination)」。為了解決這個痛點,我們必須為 Agent 導入 RAG(Retrieval-Augmented Generation,檢索增強生成) 技術!
今天的輕量目標:
如果把 LLM 比喻成一個正在參加考試的學生:
沒有 RAG(閉卷考試)
你問 Agent:「還記得我們上次聊到店裡辦活動時,攤位賣的是什麼甜點嗎?」
模型只能憑著當初訓練時記住的模糊印象去猜。它可能會胡亂猜個「布丁」,猜錯了就是典型的「幻覺」。
有了 RAG(開卷考試)
當使用者提出問題時,系統會先去 外部知識庫(講義/筆記) 裡快速翻書,找到「那天莉莉負責烤薄餅攤位」的相關歷史紀錄,然後把這段精確文字 動態附在 Prompt 後面 一起丟給模型:
「請參考這段檢索到的記憶片段:[那天莉莉負責烤薄餅攤位…]。請結合角色人設回答使用者的問題。」
讓 Agent 可以根據檢索到的資料回答,而不是完全依賴模型自身記憶。
如果資料庫裡有幾百萬字的對話與設定,系統要怎麼在彈指之間找到「最相關的段落」?
這就是 Embedding(語意向量化) 的神奇之處:
[0.12, -0.85, 0.43, ...])。在我們的 AI 陪伴系統中,RAG 知識庫主要分為兩大核心儲存軌道:
搞懂了 RAG 的基本觀念與記憶規劃後,我們的陪伴 Agent 離擁有「永不遺忘的外掛大腦」又更近了一步。