跳至主要內容

里程碑

第一次做出自己有興趣領域的周報機器人

LLI @andy03.06.23發布於

我一直對心理學、醫學以及商學領域的新知很有熱忱,但現實是研究生生活光是要顧及課業、論文進度與工作,時間就被切得非常碎。每次想要跟進跨領域的最新重大突破或產業趨勢,光是手動過濾海量資訊就耗費大半天。
與其被動被資訊淹沒,不如自己動手架一個專屬的自動化助理:

  1. 日常隨問隨答:平常對特定新知、論文或商業事件有疑問,直接在 LINE 丟問題給它深入分析。
  2. 每週定期週報:固定排程主動彙整前一週的重大新聞與論文核心趨勢,讓我能快速掌握全貌;看到特別有興趣的,再自己深入精讀。

整套架構:
工作流引擎:Docker 本地部署開源的 n8n。
外網連線:透過 Cloudflare Tunnel(Quick Tunnel)建立安全的公網通道,讓 LINE Webhook 可以直接敲進我本機的 Docker 服務。
大腦與搜尋:使用 Google Gemini API 搭配 Tavily Search API,讓 AI 具備即時聯網檢索最新學術與產業新聞的能力。
介面串接:LINE Messaging API。日常互動走被動回覆(Reply API),定時週報走主動推播(Push API)。

遇到的困難:
1.看起來架構不難,但在實際把各節點接起來時踩了不少坑:JSON 格式地獄與轉義字元報錯在設定 HTTP Request 回傳 LINE 訊息時,直接把 AI 產生的多行文字包在 JSON Body 裡,結果頻繁跳出 Bad control character in string literal 的語法錯誤。後來發現不要硬寫純 JSON,改用 n8n 的 Using Fields 介面填值,或是用 JSON.stringify 轉譯,就能完美避開跳脫字元的問題。

  1. LINE 的排版水土不服AI 預設很喜歡輸出 Markdown 語法(例如 粗體、### 標題、條列星號),但 LINE 手機版完全不吃 Markdown,文字直接裸奔變成一堆星號與井號。最後透過調整 System Prompt,嚴格禁止 Markdown,強制它改用【全形括號】與全形數字清單排版,手機閱讀體驗瞬間乾淨很多。
  2. 排程分支的記憶衝突把平常對話的 AI Agent 整組複製給排程用時,直接跳出 Simple Memory 節點錯誤。因為排程觸發器根本沒有來自 LINE 使用者的對話 Session,硬掛記憶反而會讓工作流崩潰。把排程分支的 Memory 拔掉、Prompt 改為固定任務指令後,整個流程才順利打通。
  3. 模型流量塞車(503 Error)初期選用較新的實驗版模型時,常撞到全球流量過載的 503 錯誤。後來切換成其他模型(如 gemini-2.0-flash),回應速度與穩定度都好上非常多。

1 個愛心0 則留言

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