這集的篇幅比較長,影片分成兩集
影片連結 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