跳至主要內容

里程碑

使用 n8n打造 LINE 個人行程管理秘書 Bot

Timothy (蛋塔) @jrku.timothy發布於 已編輯

一、 專案背景與想解決的問題

在日常生活中,由於參加了很多活動,或是有課臨時更動,就需要記錄行程,避免忘記。但是,紀錄與查詢行程往往需要開啟特定 App 並手動點擊多個步驟。為了提升行程管理的效率,我想說可以透過這次機會,LINE Bot 結合 AI agent,讓使用者只需發送日常口語文字,如:新增明天 14:00 開會、把明天 20:00 開會改到 14:00、查詢明天行程,就能自動完成行程表!

二、 架構與實作做法

  1. 透過課程所學的將Webhook與LINE bot串接,並將LINE的訊息透過AI agent分析。
  2. AI agent分析出用戶這次是要新增、修改、刪除、查詢行程,還是在亂發廢字,接著將其產生出的json轉換出特定資料格式。
  3. 之後接上switch,依照新增、修改、刪除、查詢、亂發廢字五個行為進行對資料庫的讀寫與異動。
  • 新增(ADD):將解析後的日期、時間與內容寫入資料庫。
  • 修改(MODIFY):比對舊行程的時間與標題,更新為新時間與新內容。
  • 刪除(DELETE):刪除行程。採用軟刪除機制,保留歷史數據,在後台才能刪除,讓用戶還能救回資料。
  • 查詢(SEARCH):依據目標日期與狀態找出所有符合條件的行程;若無資料則回答沒有行程。
  • 亂發廢字(UNKNOWN):針對隨意發送的文字,提示用戶正確的發文格式,不進行資料庫操作。
  1. 最後透過HTTP Request,告訴用戶已完成對行程表的修改,或是最近的行程。

三、 成果與除錯經驗

過程中,我卡最久的地方就是當我把用戶的資料存進資料庫後,要使用HTTP Request與用戶聯絡,他時常會傳送出多個item,讓我的workflow時常卡住。而我當時不懂,還以為是我的json一直出錯,因此花了許多時間在檢查json。而最後透過詢問AI,才發現是傳送出多個item的問題,而這可以在HTTP Request的設定中讓他只收一個東西即可(他好像都是一樣的東西只是重複傳三次而已),最後才完成這個LINE Bot。

四、圖片解釋

圖一、這次workflow的整個架構
圖二、AI 的 System Prompt (上)
圖三、AI 的 System Prompt (下)
圖四、新增行程聊天紀錄
圖五、修改行程聊天紀錄
圖六、刪除行程聊天紀錄
圖七、查詢行程聊天紀錄
圖八、亂發廢字聊天紀錄
圖九、資料庫內容

0 個愛心0 則留言

登入並驗證手機後就能留言。登入