跳至主要內容

里程碑

行事曆小管家

小橘 @once9319發布於

專案背景與想解決的問題:
我是一個很容易忘記事情的人,傳統的行事曆應用程式通常需要很多步驟才能成立一個行程,我會因為懶得馬上建立,然後就忘記要記,反而導致許多重要的事情或待辦事項被遺忘,所以為了降低記錄行程的阻力,我想打造一個只要傳訊息就能自動加入行事曆的小管家

整個系統架構的運作邏輯如下:

  1. 意圖判斷與分流:

系統透過Webhook接收LINE傳來的訊息後,第一步先透過Switch節點區分是使用者的「文字輸入」還是點擊按鈕的「按鈕回傳 」。若是文字,則交由 AI 判斷使用者的意圖是要排程 、取消行程還是查詢行程
2.訊息分析:
專屬的AI Agent會將口語化的句子(如「明天下午三點開會,提早半小時提醒我」)精準轉換為結構化的JSON格式,提取出事件名稱、開始時間、結束時間、是否為整天、重複頻率以及雙重提醒時間

  1. 確認機制 :

為了確保系統穩定與資料正確,系統不會直接寫入日曆,而是先透過HTTP Request傳送一張帶有「✅ 確認建立」與「❌ 取消」按鈕的LINE確認訊息
將AI分析出的結構化參數縮寫並隱藏在Postback的data⁠欄位中,這樣當使用者點擊確認時,系統可以直接讀取參數,就不需重新呼叫AI

  1. 與Google日曆連動:

n8n 會觸發對應的Google Calendar節點,執行建立行程、刪除行程(如果有固定重複行程,透過AI判斷支援刪除單次或所有重複行程)、查詢行程或更改行程,並在完成後回覆最終結果給使用者

專案結果:
這個專案小管家可以將事件自動加入行事曆、設定重複提醒的時間,可以刪掉已建立的事件,也可以查詢一段期間的待辦事項,還可以更改已建立的事件,只需要傳送一句話即可完成

開發過程遇到的問題:
一開始遇到相對時間的判斷問題(後來發現這是最簡單的一個問題了),像是下週三的時間要交給AI自己判斷,接著在開發取消行程功能時,忘記考慮重複事件的取消機制,還有一些小問題,像是忘記加字串化等等,不過這些小問題暫時都解決了

目前想解決的問題:
雖然有打開整天功能,但因為輸出有限制時間格式,所以目前是要求他整天的話時間就是0點到23:59,不過可以的話還是想更直覺一點,可能還有很多操作上的bug上,還有很多可以優化的地方,但目前想到的大概就這樣,希望大家可以給我實務上的想法交流跟建議,讓功能更完善!

2 個愛心1 則留言

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

留言

  1. 小橘 @once9319

    把心得分享在這裡(算自言自語):
    原本是想做預約系統,做到一半果斷放棄,因為絕對沒辦法在deadline前做完,實在太忙了😭
    如果之後有空再把那個搞完,但這個小幫手也比我想像中難用,用一些瑣碎的時間跟ai討論邏輯架構就花了幾天,架設完測試改進又花了幾天,下次真的要提早開始(雖然這樣說但我完全知道自己的尿性),可以做出好幾個專案的人我真心佩服(可以收我當法法嗎),現在要先去研究如何架本地n8n了🥲