昨天我們打造的 AI 研究助理很酷,但它有個致命缺陷:它是個金魚腦。
每次跟它說話,都是一次全新的對話。
比如:
我問:「@AI助理 幫我查一下 n8n 是什麼?」
它回答:「n8n 是一個開源的自動化工具...」
我接著問:「@AI助理 那它跟 Zapier 有什麼不同?」
它(很可能)會回答:「『它』是什麼?請提供更明確的資訊。」
它完全忘了我們上一秒才剛聊過 n8n。
今天我們想要升級 AI 的大腦,使用 n8n 中專為「連續對話」設計的節點,並啟用它內建的 Memory 功能。這會讓我們的 Slack 機器人能夠記得上下文,理解代名詞(例如「它」、「那個」),進行真正的、有來有回的對話。
你在加入 AI Agent 節點的時候,可能就看到底下除了 Chat Model,還有 Memory,這個就是 AI Agent 的短期記憶功能,讓 AI 助理至少可以知道之前聊過什麼內容,不會變成金魚腦。
我們可以通過一個透過之前做過的主題練習Memory:
第一步:建立一個能「連續對話」的工作流
我們以之前打造的 @mention 機器人為基礎來改造。
觸發器: 使用 Slack 觸發器,並設定 Trigger On 為 Bot / App Mention。
解析指令: 接上一個 Set 節點,用我們學過的 replace 運算式,把 @機器人ID 去掉,得到乾淨的用戶提問 query_text。
到這裡,都還是我們熟悉的流程。
第二步:更換一顆具備「記憶功能」的大腦 (AI Agent 節點)
在 Set 節點後,加上 AI Agent 節點。
Chat Model 一樣選擇 ChatGPT 或者 Gemini
Input: 它的「輸入」,就是我們解析後的用戶提問:{{ $json.query_text }}。
第三步:植入「短期記憶」
這是今天最關鍵的設定。
在 AI Agent 節點的設定中,找到 Memory 區塊,點擊 Add Memory。
Memory Type: 選擇 Simple Memory
你可以把它想像成一個「只能記住最近幾句話」的記憶體,這足以應付大多數的連續對話。
Session ID: 這是實現記憶的靈魂。Session ID 就像是每一場對話的「房間號碼」。
只要 n8n 發現傳來的 Session ID 是一樣的,它就會把這次的對話,跟同一個房間號碼的歷史紀錄串連起來。
如果是一個新的 Session ID,它就會開一個新房間,開始一段全新的對話。
那問題來了,我們要怎麼設定 Session ID?
我們需要一個在同一個對話中「不變」,但在不同對話中「唯一」的值。
對於 Slack 來說,channel_id (頻道ID) 就是一個完美的選擇!這能讓機器人在同一個頻道中,持續地記得對話。
我們決定要用 Slack channel_id 作為 Session ID,那下一步就要在 Slack 和 AI Agent 節點之間加上一個 Set 節點:
這樣,你的 AI Agent 已經擁有了在每個頻道中獨立記住對話的能力!
你學會了 n8n 中實現「連續對話」的關鍵技術——對話記憶 (Conversational Memory),並理解了它與「長期記憶」的根本區別。
我們的 AI Agent 現在能聽、會上網、會思考,還會「短期記憶」。它已經越來越像一個真正的助理了。
接下來,我們將把之前學過的所有能力進行一次終極整合,打造一個能解決更複雜任務的完整 AI Agent 應用。