iT邦幫忙

2026 iThome 鐵人賽

DAY 26
0
AI 自動化

30 天打造我的 AI 自動化工作流系列 第 26 篇

Day 26|AI Agent 也會忘記?加入 Memory,讓 Agent 記得前面的對話

  • 分享至 

  • xImage
  •  

昨天我們讓 AI Agent 接上 Google Sheets Tool。

當我輸入:

「幫我記錄:姓名 Student,主題 AI Automation,狀態 Learning。」

Agent 不只是回答我,而是真的可以透過 Google Sheets Tool 去執行資料新增。

做到這裡,Agent 已經開始有:

理解需求 → 選擇 Tool → 執行任務

的感覺。

但今天我發現另一個問題。

假設我先跟 Agent 說:

「我的專案名稱叫 AI Automation。」

接著下一句只說:

「幫我把剛剛那個專案記錄下來。」

它真的知道:

「剛剛那個專案」是什麼嗎?

這就要開始認識 AI Agent 的另一個重要功能:

Memory


今天要完成什麼?

今天先不增加新的外部服務。

而是希望讓 Agent 可以記住前面的對話內容。

原本:

使用者
   ↓
AI Agent
   ↓
Chat Model

今天則加入:

              Chat Model
                  │
使用者 → AI Agent
                  │
                Memory

如果再把前面的 Tools 保留下來,就會變成:

                 Chat Model
                     │
                 AI Agent
              ↙      ↓      ↘
          Memory   Tools   Google Sheets

https://ithelp.ithome.com.tw/upload/images/20261006/20178835ZpJ6RyH11g.png

圖 1 AI Agent 加入 Memory 後的 Workflow


Step 1:先看看「沒有 Memory」會怎樣

加入 Memory 之前,可以先做一個簡單測試。

第一句輸入:

「我的專案名稱叫 AI Automation。」

接著再輸入:

「我的專案叫什麼?」

如果目前的對話設定沒有保留前面的聊天內容,Agent 就可能無法知道第二句的「我的專案」是在指什麼。

這讓我發現:

AI 可以理解一句話,不代表它一定會自動記住前面的所有對話。

所以如果想打造真正可以連續聊天的 Agent,就需要處理「對話上下文」。


Step 2:加入 Memory

接著在 AI Agent 加入 Memory。

n8n 的版本與 AI 功能設定可能會不同,所以實際看到的 Memory 類型可能不完全一樣。

今天先選擇適合簡單測試的對話記憶方式即可。

概念上變成:

使用者輸入
    ↓
 AI Agent
  ↙     ↘
Model  Memory

Memory 負責保留需要的對話資訊,讓 Agent 處理下一個訊息時可以取得相關的歷史內容。

https://ithelp.ithome.com.tw/upload/images/20261006/20178835M8D82ghcYJ.png

圖 2 替 AI Agent 加入 Memory


Step 3:重新測試兩句對話

設定完成後,再重新測試。

第一句:

「我的專案名稱叫 AI Automation。」

Agent 可能回答:

「好的,你的專案名稱是 AI Automation。」

接著不要重新開一個完全不同的對話 Session,在同一段測試對話中輸入:

「我的專案叫什麼?」

如果 Memory 正常運作,Agent 就可以利用前面的對話內容回答:

「你的專案名稱是 AI Automation。」

流程可以理解成:

第一句
↓
我的專案名稱叫 AI Automation
↓
Memory 保存相關對話
↓
第二句
↓
我的專案叫什麼?
↓
Agent 取得前面的對話
↓
AI Automation

https://ithelp.ithome.com.tw/upload/images/20261006/20178835sp46JNJOIa.png

圖 3 加入 Memory 後,AI Agent 可以根據前面的對話回答


Step 4:測試「剛剛那個」

接下來可以測試更接近日常聊天的方式。

先說:

「我正在做一個 AI Automation 專案。」

接著說:

「幫我用一句話介紹剛剛那個專案。」

這次我們沒有再次輸入:

AI Automation

而是只說:

「剛剛那個專案」

如果 Agent 能夠理解,就代表它正在利用前面的對話內容處理目前的問題。

這比每次都重新把完整資訊輸入一次自然很多。


Step 5:Memory + Google Sheets

今天最有趣的地方,是可以把昨天的 Google Sheets Tool 再拿回來。

例如先輸入:

「姓名是 Student,主題是 AI Automation,狀態是 Learning。」

接著再說:

「幫我把剛剛的資料記錄下來。」

如果 Agent 可以利用 Memory 取得前面的資訊,再使用 Google Sheets Tool,整個流程就可能變成:

使用者
↓
提供資料
↓
Memory
↓
使用者:幫我記錄剛剛的資料
↓
AI Agent
↓
取得前面的對話內容
↓
Google Sheets Tool
↓
新增資料

https://ithelp.ithome.com.tw/upload/images/20261006/20178835PhLsAINtfQ.png

圖 4 AI Agent 使用前面的對話資料呼叫 Google Sheets

這次比昨天又更自然了一點。

昨天必須一次講完整:

「幫我記錄姓名 Student、主題 AI Automation、狀態 Learning。」

今天則可以分成兩句:

「姓名 Student,主題 AI Automation,狀態 Learning。」

然後:

「幫我記錄剛剛那筆。」

實際測試時,我先提供姓名、主題與狀態,接著只輸入「幫我把剛剛那筆資料記錄下來」。AI Agent 透過 Memory 取得前面的對話內容,並成功呼叫 Google Sheets Tool,將 Student、AI Automation 與 Learning 寫入表格。這次不只看到 Agent 回覆完成,Google Sheets Tool 本身也顯示成功執行,因此可以確認資料確實有被新增。

Session 為什麼很重要?

做到這裡還有一個很重要的概念:

Session

可以先把 Session 理解成「同一段對話」。

例如:

Session A

使用者:我的專案叫 AI Automation
Agent:好的

使用者:我的專案叫什麼?
Agent:AI Automation

這兩句是在同一段對話裡,所以 Memory 才知道它們彼此有關。

但如果換成完全不同的 Session,就不一定會共用相同的對話記憶。

概念上:

Session A
↓
自己的 Memory

Session B
↓
自己的 Memory

這其實很合理。

如果有兩個不同使用者:

使用者 A:我叫 Alex

使用者 B:我叫 Kevin

Memory 如果全部混在一起,Agent 就可能搞不清楚:

到底現在正在跟誰聊天?

所以建立聊天 Agent 時,Session 的區分很重要。


Memory 不等於「永遠記得」

一開始看到 Memory,我很容易把它理解成:

「AI 從此什麼都記得。」

但其實沒有這麼簡單。

不同 Memory 的保存方式、容量、持續時間和 Session 設定都可能不同。

所以比較準確的理解是:

Memory 讓 Agent 在適當的設定下,可以使用先前的對話資訊。

而不是:

「只要講過一次,AI 永遠都會記得。」

這個差別我覺得很重要。


Memory 跟 Google Sheets 有什麼不同?

這時候可能會覺得:

「既然 Memory 可以記東西,那為什麼還需要 Google Sheets?」

其實兩個用途不太一樣。

Memory 比較適合:

保留聊天上下文

理解「剛剛那個」

讓連續對話更自然

Google Sheets 比較適合:

正式保存資料

之後查看紀錄

整理成表格

提供其他流程使用

所以:

Memory
=讓 Agent 記得我們正在聊什麼

而:

Google Sheets
=把資料真正保存到外部系統

這也是為什麼今天兩個可以一起使用,而不是互相取代。


Step 6:做三個簡單測試

今天可以測試三組。

測試 1:基本記憶

我:我的專案叫 AI Automation。

我:我的專案叫什麼?

預期:

AI Automation

測試 2:代名詞理解

我:我正在做 AI Automation 專案。

我:幫我介紹剛剛那個專案。

觀察 Agent 能不能理解「剛剛那個」。

測試 3:Memory + Tool

我:姓名 Student,主題 AI Automation,
狀態 Learning。

我:幫我把剛剛那筆資料記錄下來。

觀察 Agent 是否:

讀取前面的資訊
↓
理解「剛剛那筆」
↓
呼叫 Google Sheets
↓
成功新增資料

https://ithelp.ithome.com.tw/upload/images/20261006/20178835lBHP628Ic2.pnghttps://ithelp.ithome.com.tw/upload/images/20261006/20178835eozMoRTtjt.pnghttps://ithelp.ithome.com.tw/upload/images/20261006/20178835T9Ew2qHkIe.png

圖 5 AI Agent 結合 Memory 與 Tool 完成連續任務


Memory 也有風險

今天還有一個不能忽略的問題:

不是所有資訊都適合被保存。

如果未來真的把 Agent 用在實際系統裡,可能會接觸:

個人資料

帳號資訊

工作內容

公司內部資料

所以不能只想:

「記得越多越好。」

還要考慮:

哪些資料需要保存?

要保存多久?

不同使用者的 Session 有沒有分開?

是否包含不應保存的敏感資訊?

這也是 AI Agent 從「自己測試」走向「真的給人使用」時必須考慮的問題。


今天的完整 Agent

做到 Day 26,目前的 Agent 已經開始變得比較完整:

                  Chat Model
                      │
                  AI Agent
               ↙      ↓       ↘
           Memory  Calculator  Wikipedia
                      │
                Google Sheets

它現在不只可以:

回答問題

使用 Calculator

查詢資料

寫入 Google Sheets

還開始能:

利用前面的對話內容理解下一個任務。


今天最大的收穫

前幾天學 Agent 時,我一直把注意力放在:

「它可以使用什麼 Tool?」

但今天才發現,對話本身也是很重要的一部分。

如果沒有前面的上下文:

「幫我記錄剛剛那筆。」

其實是一句資訊不足的指令。

加入 Memory 後,Agent 才有機會知道:

「剛剛那筆」到底是什麼。

所以今天可以把 Agent 再補上一塊:

Chat Model → 負責理解與生成
Tool → 負責執行工作
Memory → 負責提供對話上下文
Agent → 把這些能力組合起來

今日小結

今天替 AI Agent 加入了 Memory。

從原本:

問題
↓
Agent
↓
回答
↓
結束

變成:

第一句對話
↓
Memory
↓
第二句對話
↓
Agent 參考前面的內容
↓
回答 / 使用 Tool

現在 Agent 已經開始有比較完整的感覺了:

會理解、會選工具、會執行,也能利用前面的對話。

但目前這些測試基本上都還是我自己在 n8n 裡跟 Agent 對話。

如果真的想讓其他人使用,就需要一個更方便的入口。

所以明天可以開始把 Agent 從 n8n 裡面「帶出去」。


上一篇
Day 25|讓 AI Agent 幫我記資料!串接 Google Sheets Tool
系列文
30 天打造我的 AI 自動化工作流 共 26 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言