影片連結:https://www.youtube.com/watch?v=VSW_XLk2w6k
YouTube 頻道:https://www.youtube.com/c/kaochenlong
上一集大概跟大家介紹了什麼是 AI Agent、什麼不是 AI Agent,還有如何在 n8n 裡新增 AI Agent 節點。AI Agent 雖然有點厲害,但它還是有一些問題要處理...
AI Agent,或者更精確地說是「大語言模型(LLM)」,LLM 在被訓練完之後,它就是固定的那麼聰明(或者你也可以說它就是固定這麼笨)。在沒有額外的訓練的的前提下,它沒有辦法變聰明或變笨,它的智商或能力就固定在那個地方了。
重點是,它也沒有辦法感知到外面的世界。
所以你可以想像成,LLM 就是一個讀很多書的小天才,非常非常聰明的天才,但卻被關在一個小房間裡面。這個房間很可怕,沒有門、沒有窗戶、沒有電視、網路、沒有時鐘,雖然不會餓死,但就只能在這個房間裡面行動。
待在這樣的房間裡,不會知道太陽什麼時候升起什麼時候落下,也就沒辦法知道今夕是何夕
讓我們實際測試看看。我問 AI Agent:「今天現在幾點幾分?」,它可能會隨便回應一個時間,這很明顯是不正確的,你看看,即使是這麼聰明的 AI 卻連現在幾點都不知道。
怎麼辦?我們可以給 AI Agent,或者說給這個大語言模型額外的能力,給它一些工具,讓它可以開始有能力跟外面溝通。
舉個例子,我們可以給他一個時鐘,把這個時鐘放在房間裡面,它就會知道今天幾月幾號、現在幾點幾分了。
在 n8n 中,我們可以在 AI Agent 的右手邊看到一個叫做 Tool 的接口。我們可以在這裡掛一些工具,其中有一個 n8n 內建的日期工具。找到「Day & Time Tool」,應該不用太多設定,掛上去就能用。
現在我們有這個工具了,再次問讓我們再來問問看:「今天是幾月幾號?」
「今天是 9 月 28 號」,Good,這個小天開始知道這個世界長什麼樣子了!
再來加一個工具,之前我們有介紹過 RSS 節點,透過這個節點來抓取總統府新聞稿的資料,在這裡也可以把 RSS 節點當作一個工具來用。
不過這裡可能需要額外再做一些事,需要簡單描述一下這個工具是做什麼的,不然光是 RSS Read,我們這位小天才不一定能知道這是什麼。所以我在工具的 description 欄位填上「總統府新聞稿」,同時也把這個工具改名叫「News」。
講清楚、說明白,就是為了讓這位小天才知道這個工具是做什麼的。掛上 RSS 工具後,我可以對它提問:「總統府最近有什麼新聞嗎?」,然後整個流程大概會像這樣:
聊天室輸入訊息
→ 把訊息送給 AI Agent
→ 大語言模型(這裡是 Google Gemini)開始進行思考...
→ 判斷是否需要調用工具
→ 如果需要,調用工具(這裡是 RSS 節點)
→ RSS 節點取得資料,把資料交回給大語言模型
→ 大語言模型把原始資料整理一下,再回傳給 AI Agent
→ 回傳給聊天室
最後就能看到整理好的總統府新聞稿:
9 月 27 號副總統去花蓮勘災
整個流程看起來很複雜,而且以前可能需要工程師才做的到,現在你已經可以自己做出來了。
AI Agent 的重點在於,在過程中如果它認為需要去調資料時,就會自動幫你調資料。你也不用明確告訴他「去總統府網站首頁幫我查新聞」,我們只是問「總統府最近有沒有什麼新聞」,它就自己想辦法解決,這,才叫 AI Agent。
我們給它工具之後,它可以變得更厲害、變得更聰明,但是... 另一個問題是它的記性好像不是很好。
AI Agent 的記憶力非常的差,或說,它根本沒有記憶的能力。讓我繼續跟它聊天,我先問說:「我是阿龍」。
它回應:「哈囉你好,有什麼我可以為你服務嗎?」
然後接著問:「我是誰?」
結果呢?他不會知道我是誰。我才剛講完,但它卻答不出來。
會有這個情況的原因是因為,以目前的 AI Agent 的設計來說是沒有能力可以記得上下文的對話。
什麼叫「上下文(Context)」?上下文就是我們在聊天的過程中,我跟你說「好」,你會知道我在好什麼事情。但如果旁邊突然有個人進來,他不知道我們的情境是什麼,這個「好」他就不會知道是在好什麼東西。
所以整個跟 AI 的對話過程,這個上下文,或說情境,是很重要的東西,有了上下文,AI 才有辦法知道我們這段對話在聊什麼。
可是很明顯,我們現在這隻 AI Agent 並沒有這個能力。
前面有提到,大模型在經過訓練之後,它就會被封裝到一個空間裡面,沒有特別的訓練的話,新的資訊是進不來的。也就是我們剛才這些對話,是不會進到這個大語言模型裡面的。
那要怎樣讓他可以記得我們講的話?就是幫他加記憶體。記憶體有分好幾種,有簡單的記憶體也可以存到資料庫裡,我這裡選擇比較簡單的做法。
把記憶體掛上去之後再跟它對話,它就會記得我剛才說我是誰,並且回答「你是阿龍」。
到這裡,你可能覺得這個 AI Agent 看起來很好玩,但是我可以拿來幹嘛?
想像一下,目前 AI Agent 的訊息來源可能只是一個聊天訊息,但也有可能是另外的資料來源。例如我們在前幾集介紹的 Line。如果把 Line 的訊息串進 AI Agent,那就有很多有趣的應用了...
所以下一集,我們就要來把我們前面曾經學過的東西:
全部摻在一起做撒尿牛丸... 啊,不是,是做一個 Line 記帳機器人。只要跟 Line 機器人聊天,我們就可以叫它來幫我們記帳了,應該滿有趣的...吧 :)