這集的篇幅比較長,影片分成兩集
影片連結 1/2:https://www.youtube.com/watch?v=7RU20-m4qnM
影片連結 2/2:https://www.youtube.com/watch?v=CqkMDe4aNH4
YouTube 頻道:https://www.youtube.com/c/kaochenlong
在前兩集中,我們已經建立了一個能夠記帳的 Line 聊天機器人。這個機器人可以透過 AI Agent 解析使用者的訊息,將記帳資訊寫入 Google Sheet。但這個設計有個限制:當使用者只是想跟機器人打個招呼或閒聊時,系統就會出現錯誤。
這個問題的根源在於我們的 AI Agent 使用了結構化輸出(Structured Output)。結構化輸出的設計很適合處理固定格式的資料,但對於一般對話來說反而變得綁手綁腳。當使用者輸入「你好」這類閒聊訊息時,AI Agent 無法將其轉換成我們預期的記帳格式,因此產生錯誤。
要怎麼解決呢?也許可以透過多個 AI Agent 一起協作...
我們需要在訊息進入主要處理流程之前,先放一隻 AI Agent 負責判斷使用者的意圖:
每個 Agent 都專注於處理特定類型的任務,這樣就不會互相干擾。
因為流程有點長,建議大家直接跟著 YouTube 影片操作一次,會比文字版本更容易理解。
整個工作流程的設計如下:
Webhook(Line 訊息進入點)
↓
資料整理(提取 userId、訊息內容以及 Reply Token)
↓
意圖判斷 Agent(判斷使用者想做什麼)
↓
Switch 節點(根據意圖分流)
├─→ 記帳 Agent + 日期工具 → 產生結構資料 → 寫入 Google Sheet → 回覆訊息
├─→ 查帳 Agent + 日期工具 → 使用 Google Sheet 工具 → 回覆訊息
└─→ 聊天 Agent → 回覆訊息

工作流下載:https://gist.github.com/kaochenlong/f0b04732488441c7b99106f6dda23cf3
龍哥您好~
我目前遇到一個問題
原先switch輸出上方是記帳功能,中間是查帳功能
當所有都設定好後,測了記帳功能與聊天功能是好的,但查帳功能始終有問題
當把switch輸出的順序調整後 (上方查帳、中間記帳 與影片相同)
此時查帳功能就正常了,但記帳功能卻有問題
想確認一下是我的問題,還是switch節點的順序真的有影響?
光是這樣沒辦法猜出問題出來,可能得實際上看看工作流的 JSON 才會知道 :)
用龍哥的範例檔是正常,我再自行除錯。


老師您好,
想請問一下為什麼我左邊 input 有值,
但看起來我的AI Agent節點吃不到userId,message,會變成[undefined],
請問是我這邊少做了什麼嗎?