前一版的 LINE Cafe Bot,已經可以幫我完成不少事情。
我只要傳送位置,它就會推薦附近的咖啡廳;我也能告訴它自己喜歡安靜、有插座、適合工作的店。找到想去的地方後,還可以直接安排時間、加入 Google Calendar。
去過之後,我能替這次體驗打 1~5 分,加上「安靜」、「有插座」、「適合工作」或「想再訪」等標籤。
看起來很完整,但我真的開始使用後,發現了一個很生活化的問題:
我常常忘記回來評分。
安排咖啡時間通常是在出發前,評分卻是在幾個小時後。等我喝完咖啡、收好電腦、搭車回家,早就忘記 LINE 裡還有一張「記錄這次造訪」的按鈕。
Bot 有記錄功能,卻只能坐在原地等我想起來。
所以這次,我想讓它在適當的時間主動出現。
上一篇 Cafe Journey 的程式碼:
https://github.com/zonawang/line-cafe-journey
這次的新版本:
https://github.com/zonawang/line-cafe-follow-up
以前安排完時間,Bot 的工作就結束了:
找咖啡廳 → 安排時間 → 加入行事曆 → 結束
新版則會多做一件事:
找咖啡廳 → 安排時間 → 去喝咖啡 → Bot 主動詢問體驗
操作方式沒有變複雜。
使用者仍然只要:
Bot 確認行程時,會一起告訴使用者預計何時回來詢問。這一版預設在咖啡行程開始一小時後提醒。
時間到了,LINE 會收到:
你安排的「某間咖啡廳」行程結束了嗎?
[開始評分] [這次沒去]
如果有去,點「開始評分」,就會進入原本熟悉的星等和標籤流程;如果臨時取消行程,也可以直接回答「這次沒去」。
提醒不是命令使用者一定要寫心得,只是把容易忘記的入口,在最適合的時間送回來。

可以把這個功能想成餐廳的預約小紙條。
使用者選好時間後,Bot 會寫下一張單子:
這位使用者安排了這間咖啡廳。
到了指定時間,記得回來問問體驗。
接著,Bot 把單子交給 Google Cloud Tasks 保管。
Cloud Tasks 很像雲端鬧鐘。時間還沒到時,它安靜等待;時間到了,再通知 Bot 發送 LINE 訊息。
這樣 Bot 不需要整天開著一個倒數計時器,也不怕雲端服務重新啟動後就把約定忘掉。
使用者可能安排今天下午,也可能安排兩週後。把「等待」交給專門處理排程的服務,會比要求 Bot 自己一直記在腦中可靠。
網路世界有時會重試同一個工作。
例如 Bot 暫時沒有回應,雲端可能會想:「剛剛是不是沒成功?」於是再通知一次。如果完全不處理,使用者就可能連續收到兩封相同提醒。
因此每一張預約單都有自己的進度:
等待中 → 傳送中 → 已提醒
使用者回覆後,還會記成「開始評分」或「這次沒去」。
如果同一張單子又來一次,Bot 看到它已經處理過,就不會再傳第二封訊息。
背後的程式需要處理不少細節,但對使用者來說,理想結果很簡單:該出現時出現一次,之後不要打擾。
提醒訊息裡的按鈕,也不能只看起來能用就好。
Bot 會確認按下按鈕的人,是不是原本安排這趟行程的人;也會確認訊息是不是出現在同一個聊天室。
尤其在 LINE 群組裡,一個按鈕可能被很多人看到。如果沒有這層確認,別人就可能替我回答「這次沒去」,或替我的咖啡體驗評分。
每一次操作都重新確認使用者和聊天室,才能讓咖啡足跡真的屬於本人。
至於雲端用來叫醒 Bot 的入口,也有自己的秘密通行證。陌生請求就算知道網址,也不能隨意要求 Bot 發送提醒。
這次還修正了一個很小、但會讓紀錄失真的問題。
假設我週六去咖啡廳,直到週日才點開提醒完成評分。如果 Bot 只記得我按下「完成」的時間,咖啡足跡就會把這次造訪顯示成週日。
新版在安排時就保存真正的咖啡日期。之後即使晚一點才評分,足跡仍然會顯示原本的造訪日。
我希望 Bot 記住的是「什麼時候去喝咖啡」,不是「什麼時候有空填資料」。
Follow-up 的目的,是把使用者帶回原本流程,不是創造更多操作。
所以點下「開始評分」後,仍然是:
選擇 1~5 分
↓
加入體驗標籤
↓
完成咖啡足跡
同一個提醒重複點擊,也只會回到同一份紀錄,不會多出好幾間一模一樣的咖啡廳。
原本的足跡還是原本的足跡;這次只是替它加上一位會準時敲門的助手。
設計提醒功能時,我最在意的是不要讓 Bot 變得煩人。
它不會因為推薦過一間店,就擅自追問使用者。只有使用者自己選擇咖啡廳、主動安排時間後,才會建立提醒。
提醒也只有一個明確目的:確認這次有沒有去,以及要不要留下體驗。使用者隨時可以回答「這次沒去」,不需要解釋原因。
對我來說,好的主動服務不是訊息愈多愈好,而是在容易忘記的時候,剛好補上需要的那一步。
以前的 Cafe Bot 很像一個隨叫隨到的工具。我問附近有什麼,它就回答;我要求記錄,它就保存。
加入 Follow-up 後,它開始能陪我走過一段有時間差的旅程:
現在安排 → 稍後造訪 → 結束後詢問 → 留下真實體驗
這次新增的 LINE 畫面其實只有一則提醒和兩個按鈕,真正改變的是 Bot 與使用者的關係。
它不再把推薦送出去就結束,也不必期待我自己記得回來。它會在約定的時間出現,幫我把一次咖啡體驗好好收進足跡裡。
下一篇,我會分享這個新版怎麼安全上線:舊 Bot 繼續工作,新 Bot 先在旁邊彩排,確認提醒真的送得到之後,才正式把 LINE 使用者帶過去。
👉 GitHub:
https://github.com/zonawang/line-cafe-follow-up
👉 更多 LINE Bot 與 AI 實作紀錄: https://github.com/zonawang/zona-ai-learning-lab