影片連結:https://www.youtube.com/watch?v=VSW_XLk2w6k
YouTube 頻道:https://www.youtube.com/c/kaochenlong
在前面的章節中,我們介紹過 LINE 的串接、AI Agent 的使用,以及如何將 Google Sheet 當作簡易資料庫。在接下來的這兩集,我們來試著把這些技術整合在一起,做一個可以記帳的 LINE 機器人。
到時候可以用自然語言記帳,不需要記住特定格式。例如輸入「我吃了一碗牛肉麵 100 元」,AI 就能理解「今天、牛肉麵、支出、100 元」,並將結果存入 Google Sheet。
首先建立一個新的工作流,加一個 AI Agent 節點。這個節點是整個記帳程式的重點,負責處理所有的對話和記帳邏輯。在 Chat Model 的選擇上,這裡還是使用 Google Gemini Chat Model,並選擇 2.5 Flash 版本。選擇這個模型的原因是:
設定完成後,可以先測試一下基本的聊天功能。在聊天視窗輸入「你好」,應該能看到 AI 的回應。接下來為了要讓 AI Agent 可以理解我們的記帳需求,我們還需要加上日期工具並且設定系統訊息...
系統訊息是用來定義 AI 的角色和行為規範。我是這樣寫的:
你是個精明的記帳小助理,可以把輸入的訊息變成記帳資料
- 回答問題一律使用**台灣繁體中文**
- 如果看起來不像是要記帳的話,就以一般方式聊天回答
- 如果是要記帳:
- 如果沒有特別指定日期的話,一律指的是今天
- 任何跟日期有關的計算,一律使用日期工具 `Date & Time`
- 從消費分析出是什麼樣的支出或收入分類:
- 飲食、交通、娛樂、其它,共 4 種分類
- 輸出結果為結構化資料:
{
"item": "排骨飯",
"category": "飲食",
"amount": -200,
"date": "2025/9/30"
}
你不一定要完全照我的範例寫,可以根據你的需求調整系統訊息的內容。重點是要讓 AI 清楚知道它的角色和任務。記得交待 AI Agent 適當的使用日期工具,這樣它才能正確處理記帳時候的日期相關需求。
接著測試看看輸入:「我吃了一份牛肉麵 100 元」
AI 的回應可能是:
小助理已經幫你記錄了:
- 日期:2025 年 9 月 30 日
- 項目:牛肉麵
- 金額:100 元
- 分類:飲食
這個結果看起來不錯,目前這個 AI Agent 已經能夠:
雖然 AI 能夠理解記帳需求,但目前的輸出格式還有些問題...
AI 每次產生的回應格式可能略有不同,因為 AI 本質上是隨機的。這次可能回應「2025 年 9 月 30 日」,下次可能回應「今天」。如果輸出格式不固定,我們就無法將資料穩定地寫入 Google Sheet。
為了要 AI 產生更精準、更結構化的輸出格式,我們需要在 AI Agent 打開 Require Specific Output Format 的選項,並且定義好輸出的 JSON 格式:
{
"item": "排骨飯",
"category": "飲食",
"amount": -200,
"date": "2025/9/30"
}
就是給它範例,讓它抄!
整個組合起來的工作流大致上就是這樣:
整個流程建議可以跟著影片操作一次會更清楚一些。
這樣我們已經可以請 AI Agent 幫我們處理自然語言的記帳需求,並且將結果寫入 Google Sheet。下一集,我們就要來把 LINE 串接進來,讓整個記帳流程更完整。