里程碑
行事曆小管家
小橘 @once9319發布於
專案背景與想解決的問題:
我是一個很容易忘記事情的人,傳統的行事曆應用程式通常需要很多步驟才能成立一個行程,我會因為懶得馬上建立,然後就忘記要記,反而導致許多重要的事情或待辦事項被遺忘,所以為了降低記錄行程的阻力,我想打造一個只要傳訊息就能自動加入行事曆的小管家
整個系統架構的運作邏輯如下:
- 意圖判斷與分流:
系統透過Webhook接收LINE傳來的訊息後,第一步先透過Switch節點區分是使用者的「文字輸入」還是點擊按鈕的「按鈕回傳 」。若是文字,則交由 AI 判斷使用者的意圖是要排程 、取消行程還是查詢行程
2.訊息分析:
專屬的AI Agent會將口語化的句子(如「明天下午三點開會,提早半小時提醒我」)精準轉換為結構化的JSON格式,提取出事件名稱、開始時間、結束時間、是否為整天、重複頻率以及雙重提醒時間
- 確認機制 :
為了確保系統穩定與資料正確,系統不會直接寫入日曆,而是先透過HTTP Request傳送一張帶有「✅ 確認建立」與「❌ 取消」按鈕的LINE確認訊息
將AI分析出的結構化參數縮寫並隱藏在Postback的data欄位中,這樣當使用者點擊確認時,系統可以直接讀取參數,就不需重新呼叫AI
- 與Google日曆連動:
n8n 會觸發對應的Google Calendar節點,執行建立行程、刪除行程(如果有固定重複行程,透過AI判斷支援刪除單次或所有重複行程)、查詢行程或更改行程,並在完成後回覆最終結果給使用者
專案結果:
這個專案小管家可以將事件自動加入行事曆、設定重複提醒的時間,可以刪掉已建立的事件,也可以查詢一段期間的待辦事項,還可以更改已建立的事件,只需要傳送一句話即可完成
開發過程遇到的問題:
一開始遇到相對時間的判斷問題(後來發現這是最簡單的一個問題了),像是下週三的時間要交給AI自己判斷,接著在開發取消行程功能時,忘記考慮重複事件的取消機制,還有一些小問題,像是忘記加字串化等等,不過這些小問題暫時都解決了
目前想解決的問題:
雖然有打開整天功能,但因為輸出有限制時間格式,所以目前是要求他整天的話時間就是0點到23:59,不過可以的話還是想更直覺一點,可能還有很多操作上的bug上,還有很多可以優化的地方,但目前想到的大概就這樣,希望大家可以給我實務上的想法交流跟建議,讓功能更完善!
2 個愛心1 則留言
登入並驗證手機後就能留言。登入