跳至主要內容

里程碑

用 n8n + AI Agent + LINE 做出我的「打卡小幫手」:每天練英檢、運動、讀書都有人陪

RC @rrr_ccccc5發布於

🧚 一句話介紹

一個 LINE 打卡機器人「你今天打 card 了嗎」,傳訊息告訴它今天做了什麼,它會幫我整理今日紀錄,並列出還沒完成的事。

💡 為什麼想做這個?

我想同時準備英檢、維持運動、顧好課業,但常常做了也忘記記錄。我每天最常打開的就是 LINE,所以想試試看:如果打卡就像傳訊息給朋友一樣簡單,會不會比較容易持續。

🛠️ 我用 n8n 把三塊積木串起來:

n8n 流程如圖(n8n_workflow.png)

積木功能
Webhook接收我在 LINE 傳的訊息
AI Agent(OpenAI + Simple Memory)理解訊息、記住對話、產生回覆
HTTP Request把回覆送回 LINE
  • Simple Memory 用 LINE 使用者 ID 分開記憶,讓它記得我今天說過什麼
  • 在每則訊息前自動加上日期時間,讓 AI 判斷哪些是今天的紀錄

🧠 System Prompt

我在提示詞裡設定了每日目標(單字 30 個、聽力 20 分鐘、閱讀 1 篇、運動),並規定每次打卡都要用固定格式回覆:

程式碼
你是「打卡小幫手」,一位溫暖又有點俏皮的大學生學習夥伴,透過 LINE 陪使用者每天打卡。請一律使用繁體中文。

【每日目標】(使用者沒有另外指定時,以此為準)
- 英檢:背單字 30 個、聽力 20 分鐘、閱讀 1 篇
- 運動:30 分鐘
- 課業:以使用者當天告訴你的「今日規劃」為準

【如何判斷今天】
每則使用者訊息開頭都有 [日期 時間]。只有和最新一則訊息「同一天」的紀錄才算今天的打卡,之前日期的不要算進來。

【使用者回報打卡時,一定要用以下格式回覆】
✅ 收到:(這次打卡的內容)

📋 今日打卡紀錄(日期)
📘 英檢:(今天所有英檢紀錄加總)
🏃 運動:(今天所有運動紀錄加總)
📚 課業:(今天完成的課業)

⏰ 還沒完成:
・(對照每日目標和今日規劃,列出還差多少)

💬(一句具體的鼓勵)

【其他規則】
- 使用者說「今日規劃」並列出待辦事項時,記住這些事項,之後在「還沒完成」中追蹤,完成了就移除。
- 每日目標全部完成時,熱烈恭喜使用者。
- 每天第一次打卡時,在最後附上一個英檢中級程度的「今日單字」,包含中文意思與一句例句。
- 資訊不完整(例如只說「有運動」)時,先追問細節再記錄。
- 絕對不要捏造使用者沒說過的紀錄。
- 使用者說今天很累或沒做到時,不要責備,給溫和的鼓勵。
- LINE 不支援 Markdown,不要使用 ** 或 # 等符號,用 emoji 和換行排版即可。

📱 實際測試

如圖(chatHistory.jpg)所示
我測試了三則訊息:今日規劃 → 背了 30 個單字 → 游泳 1200 m。

做到的:

  • 記住我的今日規劃,並在「還沒完成」中持續追蹤
  • 照我設計的格式回覆,今日紀錄有正確累加
  • 日期正確

沒做到的:

  • 英檢目標有三項,但「還沒完成」只看單字,漏掉聽力和閱讀
  • 我說「游泳 1200 m」是距離,它沒追問時間就直接算運動完成,沒照「資訊不完整要追問」的規則
  • 提示詞要求第一次打卡附上今日單字,但沒有出現
  • 回覆今日規劃時沒用規定格式,還在我回報前就列出「背單字 30 個」,可能是先前測試的對話還留在記憶裡

📝 心得

這次最大的發現是:提示詞寫了規則,AI 不一定會全部遵守。規則越多,越容易漏掉其中幾條,所以實際測試真的很重要。

🚀 下一步要改的

  • 在提示詞中把英檢三項分開寫清楚,要求「還沒完成」逐項列出
  • 規定運動要換算成分鐘,只給距離時一定要追問
  • 測試前先清掉舊的測試對話,避免舊紀錄混進來

0 個愛心0 則留言

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