用 Flue 做 LINE 智慧客服與預約系統 POC:Agent 不取代規則系統,而是用自然語言操作規則系統
LINE Bot · AI Agent · Booking Workflow
用 Flue 做 LINE 智慧客服與預約系統 POC
Threads 作者 r23456999 分享,如果要做「LINE 智慧客服 + 預約系統」POC,目前會偏向使用 Flue。原因是 LINE Bot 的本質不是單純聊天,而是一條事件處理鏈:使用者訊息進來後,經 webhook、驗證、解析,再進入 agent / workflow、查資料、呼叫工具,最後回覆 LINE。
LINE 智慧客服的基礎流程
作者把 LINE Bot 架構拆成一條非常清楚的 pipeline:
使用者傳訊息
→ LINE webhook
→ 後端驗證
→ 解析訊息
→ agent / workflow
→ 查資料、呼叫工具
→ 回覆 LINE
這個觀點重要,因為很多「智慧客服」失敗的原因,是把 AI 當成萬能聊天機器人,而不是把它放進一個具備權限、狀態、規則與例外處理的系統裡。
以瑜伽教室預約系統為例
作者提出最小 POC 可以長這樣:
LINE Bot
→ webhook
→ flue channel / route
→ YogaBookingAgent
→ booking tools
→ database
→ 回覆使用者
一開始不需要很多 agent;一個主 agent 就夠,例如 YogaBookingAgent。重點不是炫技地拆多 agent,而是把責任邊界切乾淨。
YogaBookingAgent 應該負責什麼
自然語言理解
理解「我想約這週三晚上的瑜伽」這類非結構化需求,解析日期、時間、課程類型與使用者意圖。
補問缺漏資訊
若使用者沒說清楚日期、課程、老師、會員身分或人數,agent 應主動補問,而不是亂猜。
查詢與推薦
查課表、比對名額,根據需求推薦合適課程。
呼叫工具
確認資訊後呼叫 create_booking、cancel_booking 等 booking tools,讓工具執行真正狀態變更。
FAQ 與轉人工
回答課程、場地、裝備、付款等 FAQ;遇到例外或高風險情境轉人工客服。
Agent 不該負責什麼
正確責任分層
| 元件 | 責任 | 不該做的事 |
|---|---|---|
| Agent | 對話、理解意圖、補問、摘要、決定下一步工具呼叫 | 自行改價格、名額、退款規則 |
| Tools | 執行明確動作,例如查課表、建立預約、取消預約 | 自己生成商業規則 |
| Database | 保存會員、預約、課表、交易與狀態 | 承擔自然語言推理 |
| Booking Engine | 處理名額、候補、取消期限、費用與退款規則 | 讓 LLM 直接覆寫規則 |
| RAG | 提供產品、課程、FAQ、規範與公告知識 | 替代交易狀態來源 |
| 人工客服 | 處理例外、客訴、醫療/退款/特殊折扣等高風險情境 | 被 AI 完全移除 |
Flue 為什麼適合這類 POC
GitHub repo withastro/flue 將 Flue 定位為 The Agent Harness Framework,不是單純 SDK,而是用 TypeScript harness 建 autonomous agents 與 AI workflows。官方 README 強調 agents、workflows、sandboxes、durable execution、subagents、tools、channels,以及可部署到 Node.js、Cloudflare Workers、GitHub Actions、GitLab CI/CD 等環境。
- Channels / routes:適合接 LINE webhook 這類外部事件入口。
- Agents:適合承載 YogaBookingAgent 這種可維持上下文與目標導向的角色。
- Tools:把查詢、預約、取消、通知等操作做成 typed actions。
- Workflows:把預約確認、付款確認、取消條件、轉人工等流程寫成可測、可部署的自動化。
- Sandboxes:讓 agent 在受控環境執行工具,降低任意操作風險。
適合的接案場景
作者列出的場景包含瑜伽教室、補習班、診所、工作室、課程預約與客服問答。這些場景共同特徵是:需求能自然語言描述,但執行結果必須落回規則系統,例如課表、名額、價格、取消期限、會員方案與人工例外。
POC 最小功能清單
- LINE webhook 驗證與訊息接收。
- 一個主 agent:
YogaBookingAgent。 - 工具層:
search_classes、create_booking、cancel_booking、get_member_status。 - 資料層:課表、會員、預約、候補與取消狀態。
- FAQ / RAG:課程介紹、場地規則、注意事項、付款與取消政策。
- 人工轉接:當使用者涉及退款、醫療、特殊折扣或資料衝突時轉人工。
授權與專案狀態
- GitHub:withastro/flue
- 描述:The sandbox agent framework.
- 授權:Apache-2.0
- 截至整理時,GitHub 顯示約 6.7K stars、377 forks,repo 建立於 2026-02-07。