第 1 章

專案背景與業務目標

1.1 客戶輪廓

恆崇企業(品牌「金絲猴」)為台灣防水材料製造商,1989 年創立,全台約 300 家經銷據點。目標客群是遇到漏水、壁癌、隔熱問題的一般屋主與小型工程行——這群人的特徵是:問題發生在晚上與週末(下雨才漏)、不會描述問題(只能拍照)、需要的是解決方案而非單品(底漆+主材+面漆的組合)。

1.2 業務痛點

痛點現況機會
服務時間0800 專線僅上班時段夜間與假日進線由 AI 承接
諮詢門檻消費者說不清楚問題拍照即診斷,降低進線門檻
名單流失官網無收單機制對話中自然收集 lead,即時交接業務
錯誤用料消費者買錯底漆造成施工事故AI 內建推薦護欄,售前擋掉禁用組合

1.3 成效目標(KPI)

轉真人率
≥ 5%
Lead ÷ 進線對話
交接摘要完整率
100%
真人接手不需重問
平均每對話成本
≤ NT$0.5
實測 NT$0.41
語氣與排版合格率
100%
每週 30 樣本抽測
第 2 章

方案總覽

LINE 官方帳號為互動平台(目標客群滲透率最高、好友資產可再行銷),LIFF 全螢幕聊天為前端,雲端 AI 顧問服務負責意圖判斷、知識庫問答、圖片判讀與導購交接(由 Anthropic Claude 模型驅動)。lead 成立時自動完成三件事:推交接摘要進顧客對話串(業務同視窗接手)、推確認訊息給顧客自動貼受眾標籤(地區/意願/品類,供後續分眾推播)。

模組內容
知識庫官網內容爬取與清洗,整理為五層結構化內容(產品/工法情境/規則/通路/FAQ)
AI 對話服務意圖判斷、知識庫問答、圖片判讀、lead 收集、真人交接
前端LINE OA + LIFF 全螢幕聊天頁
受眾貼標LINE Audience API 自動貼標
成效儀表板四頁式管理後台(總覽/商業轉換/AI 服務品質/營運分析)
第 3 章

系統架構

消費者 LINE App AI 聊天網頁 獨立網頁・全螢幕・可傳照片 AI 顧問服務 意圖判斷 知識庫問答 圖片判讀 推薦護欄 導購與交接 自動貼標 Anthropic Claude AI 模型(雲端託管) 官網知識庫 產品・工法・FAQ LINE 官方帳號 入口・推播・真人對話 業務人員 OA Manager 後台 成效儀表板 轉換・品質・營運 點選單開啟 提問/回覆 回答依據 lead 成立:推摘要・確認・貼標・通知業務 LINE 訊息 同視窗接手 營運數據 檢視成效
圖 1|方案架構。顧客從 LINE 選單開啟獨立的 AI 聊天網頁完成諮詢(可傳照片);lead 成立時,服務把交接摘要與確認訊息推回顧客的 LINE 對話串,業務在 OA Manager 同一視窗接手;管理者以儀表板檢視成效。

3.1 業務需求與方案對應

業務需求方案對應
夜間與假日也要有人接全託管雲端服務 24 小時運作,不需自建機房與值班人力
消費者說不清楚、只能拍照AI 影像判讀先確認情境再推薦;判讀不了就直說並請補拍
說明必須與官網一致官網知識庫為唯一回答依據;查無資料不作答,導向 0800 專線
買錯料會出施工事故推薦護欄硬規則,售前就擋掉禁用組合
有購買意圖就要接到人逐項收集聯絡資料 → 交接摘要推進顧客對話串,業務同視窗接手、不需重問
名單要能再行銷自動貼「地區/意願/品類」標籤,沉澱為可分眾推播的名單資產
成效要能被驗收成效儀表板呈現轉換漏斗、服務品質與營運分析,並支援區間篩選

3.2 為什麼不直接用 LINE 聊天室對話

顧客本來就在 LINE 裡,讓 AI 直接在聊天室回覆看似最短路徑。實際評估後採用「LINE 為入口與交接管道、諮詢在獨立聊天網頁」的組合,關鍵在於三件事:真人接手會與 AI 搶同一條管道、對話節奏無法約束、記憶邊界無從界定——前兩者影響正確性,第三者影響成本與品質:

方案 A|AI 直接在 LINE 聊天室回覆 消費者 LINE 對話串 唯一管道 AI 服務 真人業務 同一條管道 ✕ AI 與真人搶話:業務接手時 AI 仍會自動回覆 ✕ 使用者可連續發訊:並行請求讓記憶與收單狀態錯亂 ✕ 對話串永不結束:記憶無邊界累積、脈絡互相污染 ✕ 無法逐字串流;分段回覆與逾時補送需改用計費推播 方案 B|獨立 AI 聊天網頁(本方案) 消費者 AI 聊天網頁 諮詢全程在此 AI 服務 LINE 對話串 交接摘要・真人 真人業務 lead 成立才推播 ✓ 職責分離:業務接手後 AI 不會插嘴 ✓ 送出後鎖輸入:一次只處理一則,狀態不打架 ✓ 開新頁即新對話:記憶有天然邊界,成本可控 ✓ 逐字串流、可傳照片;只有交接兩則計入推播額度
圖 2|兩案對比。方案 A 的 AI 與真人共用同一條 LINE 對話串,業務接手時必須另建機制讓 AI 閉嘴;方案 B 把諮詢移到獨立網頁,LINE 對話串專門承載交接摘要與真人回覆,兩者天然分離。
評估面向直接用 LINE 聊天室獨立聊天網頁(本方案)
真人接手AI 與業務共用同一條對話串,需自建「暫停 AI」狀態機,且判斷失準就會在客戶面前插嘴AI 只在網頁、真人只在 LINE,天然分離;業務接手後不需關閉任何開關
回覆體驗需等整段生成完才送出,長回覆有數秒空白等待逐字串流即時顯示,符合 NFR-1 的體驗要求
訊息節奏無法阻止使用者在 AI 回覆前連續發訊,每則各自觸發一次處理;並行請求會讓對話記憶與收單狀態互相覆蓋,出現重複追問或答非所問送出後即鎖住輸入,一次只處理一則,回合邊界明確
記憶邊界對話串永遠存在、沒有「結束」的概念,記憶無邊界累積:成本隨時間上升,三個月前的屋頂問題還會污染今天的浴室諮詢,需自建逾時重置機制開啟頁面即為一段新對話,記憶天然有邊界,也可隨時「重新開始」
訊息成本被動一問一答可用免費的回覆訊息,但其受權杖時效與則數上限;要做進度提示、分段送出或逾時補送就得改用計費的推播訊息,且推播有每人每月上限諮詢過程完全不經官方帳號訊息額度,只有 lead 成立的交接與確認兩則計入
成效量測只拿得到訊息事件,無法得知停留與放棄等行為可埋設前端事件,支撐儀表板的漏斗與時段分析
身分貫穿原生具備由 LINE 登入取得同一組使用者識別,對話、推播、貼標仍對得到同一人

取捨與補償:這個選擇的代價是多一次點擊,且諮詢內容不會留在 LINE 聊天記錄裡。因應方式是——入口用常駐的圖文選單橫幅與歡迎訊息降低摩擦(見 §5.1);lead 成立時把交接摘要推回 LINE 對話串,等於把該留下的脈絡補回顧客與業務都看得到的地方。

第 4 章

使用者旅程與系統流程

4.1 對話流程

產品諮詢

閒聊其他

購買意圖

進線訊息

帶圖片?

AI 影像判讀:判斷/特徵/嚴重度
高階模型・記憶 1 輪

以判讀結果檢索知識庫

產生回應:確認情境+產品組合
高階模型・記憶 8 輪

回覆

意圖分類
輕量模型・記憶 50 輪

知識庫檢索

產生回應+推薦護欄
高階模型・記憶 8 輪

回覆

簡短回應+帶回主題
輕量模型・記憶 8 輪

回覆

擷取 姓名/電話/縣市/需求
輕量模型・記憶 20 輪

寫入會話狀態(四欄位)

四項齊全?

追問一項:需求→縣市→姓名→電話
輕量模型・記憶 10 輪

回覆

組成交接摘要
輕量模型・記憶 20 輪

正式 LINE 環境?

取得 LINE 顯示名稱

推交接摘要進顧客對話串・通知業務

推確認訊息給顧客

確認回覆
輕量模型・無記憶

回覆

受眾貼標鏈(詳 4.3)
含輕量模型・無記憶

圖 3|對話流程。先判斷有無圖片,再依意圖三分路由;購買線逐項收集聯絡資料,齊全即交接並觸發貼標。綠色為 LLM 節點(標示模型等級與對話記憶輪數,綠色菱形=由模型判斷的分支)、橘色為知識庫檢索、灰色為系統動作(不經模型)、紫色菱形為規則判斷(程式條件,不經模型)。

4.2 LLM 節點與記憶設計

每個 LLM 節點依任務性質決定模型等級與是否帶入對話記憶——記憶帶得太少會失去脈絡、帶得太多則增加成本與干擾,逐一取捨如下:

節點模型等級對話記憶為什麼這樣設
意圖分類輕量50 輪需知道「AI 上一輪正在追問資料」,才能把一句「0912…」正確歸為購買意圖而非閒聊
AI 影像判讀高階(視覺)1 輪只描述當前這張照片,刻意不帶前文以免被既有結論帶偏
產生回應(文字/圖片)高階8 輪支撐「這是啥」「那要多少」這類指代前文的追問
擷取聯絡資料輕量20 輪每輪自完整對話重新擷取,已提供過的資料不會遺失,也不會重複詢問
追問一項輕量10 輪知道已問過哪些欄位,維持「一次只問一項、不重問」
組成交接摘要輕量20 輪需回顧整段對話,才能寫出讓業務免重問的完整脈絡
閒聊回應輕量8 輪使用者可能其實在指涉前幾輪聊過的內容
確認回覆輕量只複述已擷取的四個欄位,帶歷史沒有幫助且增加成本
產生分眾標籤輕量輸入是交接摘要與既有標籤清單,與對話歷史無關

4.3 受眾貼標流程

lead 成立的回覆送出之後執行(不影響顧客等待時間),任一環節失敗不回滾主流程:

已有同名標籤

已有同名標籤

已有同名標籤

正式 LINE 環境?

讀取 OA 既有標籤

AI 產生三維度標籤
控制詞彙

格式檢核

地區

意願

品類

加入既有標籤

建立新標籤並貼上

圖 4|受眾貼標流程。先讀 OA 既有標籤、AI 依控制詞彙產生標籤(先匹配、無才建立)、三維度依序貼上;貼標失敗不影響顧客對話。

4.4 真人交接旅程(核心敘事)

  1. AI 對話中偵測購買意圖 → 逐項收集聯絡資料(一次只問一項)
  2. 四項齊全 → AI 生成交接摘要(需求/屋況/已推薦產品/意願訊號)
  3. 摘要以 push 進入顧客本人的 LINE 對話串——業務在 OA Manager 打開該對話,交接脈絡就在同一視窗,不需切換系統、不需重問
  4. 顧客同時收到確認訊息(複述重點+告知專人將聯絡),從 LIFF webview 被拉回 LINE 聊天串
  5. 業務的 LINE 同步收到 OA 推送的新 lead 通知,點開 OA Manager 即達該筆對話
  6. 業務以真人身分於 OA Manager 直接回覆 → 結單
  7. 系統同步為顧客貼上「地區/意願/品類」受眾標籤 → 沉澱為可分眾推播的名單資產
第 5 章

線稿與實機畫面

本章集中所有畫面素材:入口與四條對話流程的分鏡、儀表板四頁線稿,以及實機截圖。線稿呈現設計意圖,實機截圖佐證交付結果。

5.1 對話流程分鏡

從進入到交接的完整旅程:入口分鏡+四條對話流程,各以分鏡呈現關鍵畫面與互動原則:

分鏡 0-1|OA 聊天室與圖文選單‹ 99+金絲猴此官方帳號由負責人員回覆訊息我是金絲猴 AI 顧問漏水、壁癌、隔熱直接問圖文選單(Rich Menu)=整片橫幅金絲小猴 AI 顧問選單 ▾點擊整片式圖文選單橫幅 → 開啟聊天網頁分鏡 0-2|AI 聊天網頁(LIFF)金絲猴 AI 顧問plimates-liff.pages.dev金絲猴 AI 顧問防水·隔熱·壁癌,拍照或直接問我是金絲猴 AI 顧問。漏水、壁癌、隔熱的問題直接問,也可以拍照給我看。牆壁長壁癌了怎麼辦頂樓夏天很熱,有隔熱…輸入訊息…藍色頁首+副標;建議問題橫向捲動;拍照入口在輸入列
圖 5|進入流程(依實機繪製)。顧客在 OA 聊天室點擊整片式圖文選單橫幅 → 開啟 AI 聊天網頁:藍色頁首與副標、開場白、可橫向捲動的建議問題列、輸入列含拍照入口
分鏡 A1|提問與釐清金絲猴 AI 顧問牆壁長壁癌怎麼辦牆的另一側是浴室還是頂樓?浴室那面意圖分類 → 知識庫檢索;一次只問一個問題分鏡 A2|組合推薦金絲猴 AI 顧問P-800P-507先堵水路,再做表面防水層怎麼施工?產品組合+工法;型號與知識庫完全一致
圖 6|文字諮詢流。提問 → 釐清情境(一次一問)→ 產品組合推薦;型號與知識庫完全一致
分鏡 B1|上傳照片金絲猴 AI 顧問壁癌照片判讀中…照片直接上傳,AI 先判讀不推銷分鏡 B2|判讀與確認金絲猴 AI 顧問照片看起來是壁癌中期牆後面是什麼空間?後面是浴室說出所見+向顧客確認情境分鏡 B3|對症推薦金絲猴 AI 顧問P-800P-507確認水源才能斷根確認後才開組合與工法建議
圖 7|拍照即診斷流。上傳照片 → AI 判讀並向顧客確認情境 → 確認後才開產品組合;判讀不了則請補拍
分鏡 C1|意圖觸發金絲猴 AI 顧問想約估價留資料可安排免費會勘先說一下需求?購買訊號觸發;說明價值再開始收集分鏡 C2|逐項追問金絲猴 AI 顧問頂樓漏水約 25 坪在哪個縣市?新北怎麼稱呼你?陳先生電話方便留嗎?一次只問一項;已答不重問、可中途插問分鏡 C3|齊全確認金絲猴 AI 顧問0928-XXX-441收到,陳先生 441頂樓漏水 25 坪,專人會盡快聯絡複述重點+告知後續;lead 成立觸發交接
圖 8|導購收單流。購買訊號觸發 → 逐項收集(需求→縣市→姓名→電話,已答不重問)→ 複述確認、lead 成立
分鏡 D1|顧客的 LINE 對話串金絲猴 AI 顧問🔔 新 lead 交接摘要LINE 名稱:陳○成已收到你的資料專人會盡快聯絡你安排免費會勘摘要與確認推進「同一條」對話串分鏡 D2|業務的 LINE 收到通知金絲猴防水材料(OA)🔔 新 lead(AI 顧問)陳○成|新北|頂樓防水 25 坪→ 到 OA Manager 接手業務個人 LINE 即時收到 lead 通知分鏡 D3|OA Manager 業務接手🔔 交接摘要好的陳先生,明天方便會勘嗎?以真人身分輸入回覆…同一視窗看到摘要與對話,不需重問、不切系統
圖 9|真人交接流。lead 成立同時:顧客對話串收到摘要與確認、業務的 LINE 收到 OA 通知;業務進 OA Manager 在同一視窗接手回覆

5.2 儀表板四頁線稿

儀表板|總覽總覽商業轉換AI 服務品質營運分析日期區間 ▾AI 洞察123123123123商業轉換漏斗意圖分佈每日對話與 Lead
圖 10|總覽頁。AI 洞察、KPI 四磚、轉換漏斗、意圖分佈、每日趨勢
儀表板|商業轉換總覽商業轉換AI 服務品質營運分析日期區間 ▾AI 洞察123123123123商業轉換漏斗各階段佔進線比Lead 名單
圖 11|商業轉換頁。漏斗、各階段佔進線比、Lead 名單(含狀態篩選)
儀表板|AI 服務品質總覽商業轉換AI 服務品質營運分析日期區間 ▾AI 洞察123123123123意圖分佈回覆品質檢核100%100%100%100%推薦護欄攔截記錄
圖 12|AI 服務品質頁。意圖分佈、回覆品質檢核、推薦護欄攔截記錄
儀表板|營運分析總覽商業轉換AI 服務品質營運分析日期區間 ▾AI 洞察123123123123時段分佈(各小時對話量)營運指標4.64.64.64.6每日明細
圖 13|營運分析頁。時段熱圖、營運指標、每日明細

5.3 實機畫面

成效儀表板「總覽」頁實際截圖
圖 14|成效儀表板(總覽頁)。支援日期區間篩選與深淺色主題,每項指標旁提供計算方式、放置原因與解讀方式的說明。
LINE 官方帳號對話畫面,下方為整片式圖文選單橫幅
圖 15|OA 入口與圖文選單。官方帳號對話串下方常駐整片式圖文選單橫幅「金絲小猴 AI 顧問」,點擊即開啟 AI 聊天網頁;同一畫面也可見稍早的交接摘要與確認訊息。
上傳壁癌照片後 AI 判讀出外牆水分滲入牆角、列出視覺特徵與嚴重程度 確認陽台磁磚面後 AI 推薦 P-916 磁磚專用接著底漆搭配彈性防水膠
圖 16|拍照即診斷實測。左:AI 判讀照片並列出視覺特徵與嚴重程度,反問「這面牆的另一側是什麼空間」;右:確認為陽台磁磚面後,推薦 P-916 磁磚專用接著底漆搭配彈性防水膠——正是不敲磁磚也能施作的護欄分流結果。
AI 逐項收集縣市、姓名、電話後複述確認
圖 17|導購收單實測。使用者表達「找師傅」後,AI 依序追問縣市、姓名、電話(一次一項、不重問),四項齊全即複述重點並告知專人聯絡,lead 成立。
顧客 LINE 對話串收到交接摘要與確認訊息兩則推播
圖 18|lead 成立推播實測。顧客的 LINE 對話串同時收到交接摘要(需求/屋況/AI 已推薦/意願訊號)與確認訊息;摘要以 LINE 顯示名稱標示身分,不出現使用者識別碼。
OA Manager 聊天後台,業務在同一視窗看到交接摘要
圖 19|真人接手實測。業務在 OA Manager 打開該筆對話,交接摘要就在同一視窗內,可直接以真人身分接續回覆,不需切換系統、不需重問。
OA 後台受眾清單顯示自動建立的三個受眾
圖 20|自動貼標結果。lead 成立後,後台受眾清單自動出現「品類:壁癌」「意願:中」「地區:台北市」三個受眾,建立方顯示為 Messaging API、狀態可用,可直接作為分眾推播的目標名單。
第 6 章

功能需求(FR)

編號需求規格摘要驗收條件
FR-1產品介紹與諮詢以官網知識庫為唯一回答依據;產品型號/包裝/塗佈量必須與知識庫一致,查無資料不作答並導向專線知識庫依據率抽測 ≥ 95%;無捏造型號
FR-2情境圖片辨識兩段式:AI 先判讀照片(判斷/視覺特徵/嚴重度,不推產品)→ 以判讀結果檢索知識庫 → 回覆「確認情境+產品組合」;無法判斷時直說並請補拍上傳壁癌照可辨識並推薦對應產品組合(如 P-800+P-507)
FR-3導購與轉真人意圖分類器辨識購買訊號 → 逐項收集姓名/電話/縣市/需求(一次一項、已有不重問、可中途插問)→ 齊全即交接完整走完收集流程;中途插問不中斷收集
FR-4真人交接交接摘要固定四欄;push 進顧客對話串+顧客確認訊息;測試環境(無 LINE userId)自動略過推播業務於 OA Manager 同視窗看到摘要,不需重問任何問題
FR-5語氣與排版全程無敬語(禁「您/請問/您好」)、無客套開場結尾;中英文與數字間加空格、數字與單位不加空格、全形標點抽測 30 則合格率 100%
FR-6推薦護欄底漆按基材分流(P-930 禁用磁磚面);瀝青黑膠不推斜屋頂與淺色窗框;回黏性乾膜必須搭面漆;雙塗佈量產品先確認用途;工程級需求導向專人觸發情境全數改推安全替代品
FR-7受眾自動貼標三維度控制詞彙:地區(22 縣市正規化)、意願(高/中/低)、品類(7 選 1);先匹配既有標籤、無才建立;輸出格式檢核,異常自動略過lead 成立後 OA 受眾清單出現對應標籤,各含該顧客
FR-8成效儀表板四子頁;KPI、轉換漏斗、意圖分佈、每日趨勢(對話折線+lead 長條同圖)、lead 名單、護欄記錄、時段熱圖;日期區間篩選、深淺色、AI 洞察摘要;每項指標附「?」說明(計算方式/放置原因/怎麼解讀)四子頁數據與所選區間一致;篩選即時更新;每項指標皆有說明
第 7 章

非功能需求(NFR)

編號類別需求實作
NFR-1效能文字回應開始串流 ≤ 8 秒(P95 ≤ 12 秒)回覆逐字串流即時呈現
NFR-2成本平均每對話 ≤ NT$0.5依任務難度調度不同等級模型+知識庫快取,實測 NT$0.41
NFR-3安全金鑰不落前端所有金鑰僅存於伺服器端,前端與網址不出現任何金鑰;儀表板限內部帳號登入後存取,依角色授權
NFR-4隱私個資最小揭露lead 名單依角色顯示:一般檢視遮蔽電話中段,指派負責人與管理者可見完整資料;通知訊息以 LINE 顯示名稱標示身分,不出現使用者識別碼
NFR-5可靠性貼標/推播失敗不影響主對話貼標與推播於回覆送出後才執行,失敗自動略過,顧客對話不受影響
NFR-6可維運性非工程人員可維運知識庫內容與對話流程皆可獨立更新,不需改動程式;版本可回溯
NFR-7可用性24 小時服務全託管雲端服務,無自建伺服器
第 8 章

錯誤處理與例外情境

兩條設計原則:任何加值功能(推播、貼標、名稱查詢)的失敗,都不得影響顧客的對話AI 不確定時寧可不答,導向真人。以下依情境列出系統行為與補救機制:

情境系統行為顧客看到什麼補救機制
知識庫查無資料不臆測、不作答,直接說不確定並提供 0800 專線(檢索設定見 §10.5)誠實的「不確定」+人工管道寫入查無記錄,每週彙整補進知識庫
照片無法判讀直說判讀不了,請補拍或改用文字描述不會被亂推薦誤判與無法判讀案例納入知識庫對照條目
意圖誤判/答非所問顧客隨時可說「找真人」,立即轉入導購收單流程不會被機器人困住每週抽測路由正確性(目標 98%)
AI 服務中斷聊天頁顯示服務忙碌與 0800 專線;顧客在 LINE 留言仍完整保留服務不斷線,可留言等真人真人於 OA Manager 後台直接回覆;障礙解除後 AI 自動恢復
交接推播失敗
(顧客未加好友、封鎖)
自動略過,不影響對話;lead 資料完整保存頁內照常收到確認回覆業務由儀表板 lead 名單補上聯絡
貼標失敗自動略過,不影響對話與交接無感後台可手動補標;每週對帳 lead 名單與受眾清單
聯絡資料可疑
(電話格式異常等)
複述重點請顧客確認,不阻擋流程順暢留資料業務回撥發現異常時,於同一對話串重新詢問

錯誤情境的驗收案例併入 §12.2 端到端驗收執行。

第 9 章

整合範疇與外部相依

系統介接方式用途備註
LINE Messaging APIPOST /v2/bot/message/push交接摘要、顧客確認channel access token 存伺服器端環境變數
LINE Messaging APIGET /v2/bot/profile/{userId}取顯示名稱(通知不露 UID)404 不中斷(未加好友 fallback)
LINE Audience APIGET/POST/PUT /v2/bot/audienceGroup/*受眾查詢/建立/加人聊天標籤無公開 API,故以上傳型受眾實作貼標;建立與加人無人數下限
LINE LIFFLIFF SDK(scope: profile)全螢幕聊天、取 userIdLogin channel 須與 Messaging API 同 Provider,否則 userId 對不起來
Anthropic ClaudeAI 模型雲端服務對話生成與影像判讀金鑰僅存伺服器端
第 10 章

資料設計

10.1 資料模型總覽

對話與 lead 為兩個核心實體:每一場對話可產出至多一筆 lead,lead 再延伸出標籤與跟進紀錄;護欄攔截、產品推薦、查無記錄則掛在對話下,供第 6 章的品質指標與知識庫維運使用。

知識側分為兩類,取用方式不同不可混用:kb_documentskb_chunks檢索索引(語意搜尋用的衍生資料,可隨時由來源內容重建);guardrail_rules規則,集中管理後常駐於回應節點的提示詞,不進檢索池——規則必須每次生效,不能取決於檢索是否撈到。回覆實際引用了哪些片段記於 message_citations,供依據率抽測與答錯追查。

包含

產出

觸發

推薦

查無記錄

貼標

指派

跟進

引用

被引用

切分

命中

conversations

uuid

id

PK

varchar

line_user_id

varchar

draft_name

varchar

draft_phone

messages

bigint

id

PK

uuid

conversation_id

FK

varchar

role

text

content

integer

latency_ms

leads

uuid

id

PK

uuid

conversation_id

FK

varchar

phone

text

handoff_summary

varchar

status

timestamptz

first_contact_at

guard_events

bigint

id

PK

uuid

conversation_id

FK

varchar

rule_code

FK

text

action_taken

recommendations

kb_miss_logs

tag_assignments

agents

lead_activities

message_citations

bigint

id

PK

bigint

message_id

FK

uuid

chunk_id

FK

real

score

kb_chunks

uuid

id

PK

uuid

document_id

FK

varchar

heading

text

content

vector

embedding

kb_documents

uuid

id

PK

varchar

category

varchar

retrieval_mode

char

content_hash

guardrail_rules

varchar

code

PK

varchar

severity

varchar

trigger_products

varchar

trigger_contexts

varchar

alternatives

圖 21|資料模型(ER)。方框內為主要欄位;完整定義見 §10.2。

10.2 資料表定義

資料庫採 PostgreSQL;主鍵一律 UUID(訊息類高頻寫入表用 bigint 序號),時間欄位一律 timestamptz 存 UTC。

conversations|對話場次

欄位型別說明
iduuid PK對話識別碼
line_user_idvarchar(64), indexLINE 使用者識別碼;貫穿對話、推播與貼標
display_namevarchar(128)LINE 顯示名稱(取得時寫入,供交接通知使用)
channelvarchar(16)liffoa,標示對話來源
started_at / last_activity_at / closed_attimestamptz場次起訖;逾 30 分鐘無互動即視為結束並寫入 closed_at
turn_countsmallint累計輪次,供「平均輪次/對話」取數
primary_intentvarchar(16)本場主要意圖:consultpurchasechitchat
has_imageboolean是否曾上傳照片,供「圖片辨識」指標取數
draft_name / draft_phone / draft_city / draft_needvarchar / textlead 草稿四欄位(即 §10.3 的會話狀態);每輪自完整對話重新擷取後覆寫

messages|訊息

欄位型別說明
idbigserial PK訊息序號
conversation_iduuid FK → conversations所屬對話
rolevarchar(16)useraihuman_agentsystem
contenttext訊息內容
image_urltext NULL使用者上傳照片位置(物件儲存)
intentvarchar(16) NULL該輪意圖分類結果
model_tiervarchar(16) NULL本輪使用的模型等級,供成本歸因
tokens_in / tokens_out / cached_tokensinteger用量與快取命中,供成本與 Token 指標取數
latency_msinteger NULL自送出到開始回覆的毫秒數,供平均與 P95 回應時間
created_attimestamptz, index建立時間,供時段分佈取數

leads|商機名單

欄位型別說明
iduuid PKlead 識別碼
conversation_iduuid FK, unique來源對話(一場對話至多一筆 lead)
line_user_idvarchar(64), index對應顧客
name / phone / cityvarchar聯絡資料;phone 於一般檢視遮蔽中段(NFR-4)
needtext需求一句話濃縮
handoff_summarytext交接摘要四欄(需求/屋況/AI 已推薦/意願訊號)
intent_levelvarchar(8)意願分級 highmidlow,與貼標維度一致
statusvarchar(16)newcontactedquotedwonlost
assigned_agent_iduuid FK → agents NULL指派負責業務
notified_attimestamptz交接通知送達時間(回撥時長的起算點)
first_contact_attimestamptz NULL業務標記已聯絡的時間(回撥時長的終點)
created_at / updated_attimestamptz建立與更新

tag_assignments|分眾標籤

欄位型別說明
idbigserial PK序號
lead_iduuid FK → leads來源 lead
line_user_idvarchar(64)被貼標的顧客
dimensionvarchar(16)regionintentcategory
tag_namevarchar(32)標籤全名,須符合 §10.6 控制詞彙
audience_group_idvarchar(32) NULL對應的受眾識別碼
api_statusvarchar(16)createdappendedskippedfailed,供對帳
created_attimestamptz貼標時間

唯一鍵 (line_user_id, dimension):同一顧客同一維度只保留最新標籤,避免地區改變時留下兩個互斥標籤。

guardrail_rules|推薦護欄規則

FR-6 的護欄規則以資料表集中管理,避免散落於各處提示詞而難以維護與稽核。目前規則於回應節點載入提示詞後由模型執行,並以 rule_code 對應 guard_events 的攔截記錄;後續可加入送出前的程式比對,使護欄由模型自律升級為系統強制(見第 14 章)。

欄位型別說明
codevarchar(32) PK規則代號,如 P930_NO_TILEguard_events.rule_code 參照此欄
severityvarchar(16)block(必須改推)/warn(須加註提醒)
trigger_productsvarchar(24)[]觸發此規則的產品型號
trigger_contextsvarchar(32)[]觸發情境關鍵詞,如「磁磚」「斜屋頂」「淺色窗框」
alternativesvarchar(24)[]應改推的安全替代品
reasontext給顧客的說明文字
is_activeboolean停用不刪除,保留稽核軌跡

kb_documents|知識來源文件

欄位型別說明
iduuid PK文件識別碼
slug / titlevarchar代號與標題
categoryvarchar(32)productsolutionfaqcompanyrule
retrieval_modevarchar(24)retrieved 進檢索池;always_injected 每次常駐提示詞。推薦護欄規則屬後者,寫在回應節點的提示詞中,每次生效而不取決於檢索結果
source_urltext官網原始網址,供引用來源與重爬比對
content_hashchar(64)內容 SHA-256;未變動即不重算向量
version / updated_atinteger / timestamptz版本與更新時間

kb_chunks|檢索單位

欄位型別說明
iduuid PK片段識別碼
document_iduuid FK → kb_documents所屬文件
headingvarchar(200)所屬標題(型號或情境名),並複寫進 content 開頭作為脈絡標頭,使片段被單獨檢索時仍能自證所屬
contenttext片段全文,即注入回應的內容
token_countinteger控制注入上下文總量
embeddingvector(維度依模型)語意向量,建近似最近鄰索引
hit_countinteger被檢索命中次數;長期為零代表內容無人問或不易被找到

message_citations|回答引用來源

記錄每則 AI 回覆實際注入了哪些片段。FR-1 的驗收條件「知識庫依據率抽測 ≥ 95%」需靠此表查證,答錯時亦可循此追查是內容缺漏或檢索未命中。

欄位型別說明
idbigserial PK序號
message_idbigint FK → messages該則回覆
chunk_iduuid FK → kb_chunks被注入的片段
scorereal重排後分數
ranksmallint注入順序

其他資料表

資料表主要欄位用途
guard_eventsid, conversation_id, message_id, rule_code(→ guardrail_rules), matched_context, action_taken, created_at護欄攔截逐筆記錄,供 AI 服務品質頁的攔截次數與記錄表
recommendationsid, conversation_id, product_code, role(底漆/主材/面漆), created_atAI 推薦過的產品,供熱門品項統計與交接摘要回填
kb_miss_logsid, conversation_id, query_text, created_at知識庫查無資料的問題,每週彙整補內容(第 8 章補救機制)
agentsid, name, email, line_user_id, role, is_active內部人員,供 lead 指派、儀表板登入與權限控管
lead_activitiesid, lead_id, agent_id, action, note, created_at跟進歷程(已聯絡、改派、報價、結案)
daily_metricsdate PK, conversations, leads, consult_count, purchase_count, chitchat_count, image_count, guard_count, tokens_in, tokens_out, cost_twd每日 03:00 排程彙總,儀表板長區間查詢直接取此表,避免掃描明細

10.3 會話狀態(lead 草稿)

導購流程進行中的四個欄位存於 conversationsdraft_*:每一輪自完整對話重新擷取後整批覆寫,因此已提供的資料不會因後續訊息而遺失,也不會被重複詢問。四欄皆非空時即建立 leads 記錄並觸發交接,草稿欄位保留供稽核比對。

10.4 知識庫內容分層

官網內容經爬取與整理後,依用途分為五層;每一層的檢索方式不同,這是知識庫設計的主軸:

內容層規模取用方式理由
產品完整條目主力約 92 支,每支含定位/情境/特性/施工要點/包裝/塗佈量/圖片語意檢索條目含完整規格,供回應時引用;型號、包裝與塗佈量須逐字沿用不得改寫
工程長尾摘要約 62 支,僅摘要語意檢索讓 AI 知道有此產品即可,細節導向專人
情境對照八大情境:辨識特徵/成因/工法/產品組合語意檢索(圖片判讀的主要依據)顧客描述的是症狀而非型號
推薦規則底漆分流、禁用組合、必配面漆、雙塗佈量、轉專人原則常駐回應節點提示詞,不進檢索池;規則本身以 guardrail_rules 集中管理規則必須每次生效,不能取決於檢索是否撈到
公司與通路品牌背景、服務專線、經銷據點語意檢索信任建立與轉真人話術素材

第四層是最容易被忽略的設計決策:它在性質上是規則而非知識。若與其他內容一同進入檢索池,某次檢索沒撈到禁用規則時,護欄會靜默失效且不留痕跡。

10.5 檢索策略

項目設定說明
檢索範圍五層內容全數納入同一組檢索不分流查詢,由重排決定何者相關
取回筆數每次取前 6 筆注入回應兼顧覆蓋率與上下文長度
重排啟用重排模型,對檢索結果逐筆重新評分排序向量檢索快而粗略,重排精準而慢,兩階段兼顧速度與品質
相似度門檻不設門檻,一律取回前 6 筆由回應節點的提示詞規範:知識庫沒有的內容不作答、據實說明並提供服務專線(見 §7)
圖片線查詢以影像判讀結果的文字作為檢索查詢,而非使用者原句使用者傳圖時通常沒有文字,判讀結果才是可檢索的語意來源
常駐內容推薦護欄規則與語氣排版規範寫在回應節點提示詞不參與檢索,每次必定生效
引用記錄實際注入的片段寫入 message_citations支撐知識庫依據率抽測與答錯追查

知識庫查無資料的判定目前由模型依提示詞規範執行;後續可在檢索層加入分數門檻,使判定不再依賴模型自律(見第 14 章)。

10.6 受眾標籤詞彙表(控制詞彙,防標籤增生)

維度格式值域
地區地區:縣市台灣 22 縣市正規化寫法(「台中」→「地區:台中市」)
意願意願:等級高(急迫訊號)/中(留完整資料)/低
品類品類:類型壁癌/屋頂防水/外牆防水/浴廁防水/隔熱/地坪/其他
第 11 章

限制與已知風險

風險影響因應
LINE 聊天標籤無公開 API業務在聊天視窗看不到「標籤」欄位以受眾實作分眾;交接摘要本身已含所有屬性。此限制正是 Social CRM 平台自建標籤層的價值所在
受眾清單僅取第一頁 40 筆OA 既有受眾多於 40 時可能重複建名控制詞彙全滿僅 32 個;超過時再擴充翻頁
屬性篩選推播 50 人門檻初期受眾人數少上傳型受眾直接指定發送無下限;門檻僅限屬性/點擊/曝光型
圖片誤判(白華 vs 壁癌邊界案例)錯誤推薦Prompt 要求「先確認再推薦」;知識庫持續增補對照條目
業務回覆行為無法自動量測「最快回撥」「已聯絡率」需業務在系統上標記狀態,漏標會失真lead 名單提供一鍵標記;超過 24 小時未標記自動提醒;長期解法為自建客服後台(見第 14 章)
第 12 章

交付項目與驗收

12.1 交付項目

本案完成時須交付以下項目,缺一不得驗收:

交付項目內容
知識庫官網內容爬取與清洗流程、五層結構化內容(產品/工法情境/規則/通路/FAQ)、建索引管線與內容更新作業說明
AI 顧問服務對話流程定義(意圖路由、圖片判讀、導購收單、交接、貼標)、各節點提示詞與模型/記憶設定、推薦護欄規則集
聊天前端AI 聊天網頁(全螢幕、照片上傳、建議問題)、LINE 官方帳號設定(圖文選單、歡迎訊息、真人接手模式)
資料層第 10 章之資料表、每日彙總排程、對話與 lead 落地寫入
成效儀表板四子頁(總覽/商業轉換/AI 服務品質/營運分析)、日期區間篩選、指標說明、內部帳號權限控管
文件本規格書、部署與維運手冊、知識庫更新流程、業務接手 SOP
教育訓練業務端一場(交接流程與 lead 名單操作)、行銷端一場(分眾標籤與推播應用)

12.2 端到端驗收案例(手機實測)

  1. 加 OA 好友 → 歡迎訊息 → 開 LIFF 全螢幕聊天
  2. 問「牆壁長壁癌怎麼辦」→ 依知識庫回答、無敬語、排版正確
  3. 問「你是誰」與「今天天氣如何」→ 一句話回應後把話題帶回防水需求,不展開無關內容
  4. 傳壁癌照片 → 辨識情境並推薦產品組合
  5. 說「想約估價」→ 被逐項追問 → 留完四項資料
  6. 顧客 LINE 對話串出現交接摘要與確認訊息(無 UID、顯示名稱正確)
  7. OA Manager 打開該對話 → 同視窗看到摘要 → 真人身分回覆成功
  8. OA 受眾清單出現「地區:/意願:/品類:」標籤,各含該顧客
  9. 觸發護欄情境(磁磚面問 P-930)→ 改推安全替代品
  10. 以內部帳號登入儀表板,切換四子頁與日期區間,數據與明細一致
第 13 章

工時與用量估算

13.1 工作項預估工時

以 1 人日=8 小時計,逐工作項拆解如下:

階段工作項預估工時主要產出
1・需求與知識庫需求訪談、範疇與 KPI 確認4 h需求清單、驗收標準
1・需求與知識庫官網爬蟲、資料清洗與五層內容建置8 h五層內容、產品主檔與規格表
2・對話引擎意圖分類與閒聊線4 h三分類路由、閒聊回應
2・對話引擎知識庫問答線+推薦護欄+語氣排版規範8 h產品諮詢主線、護欄規則
2・對話引擎圖片判讀線(判讀 → 檢索 → 回應)6 h拍照即診斷
2・對話引擎lead 收集流程與會話狀態設計6 h逐項追問、四欄位擷取
3・前端與部署聊天前端建置與 LINE OA 設定8 h全螢幕聊天體驗
4・真人交接交接摘要、顯示名稱、雙推播與測試防呆4 h同視窗交接
5・受眾貼標貼標鏈(清單比對/LLM 產標/防呆/三維度)4 h自動分眾名單
6・儀表板四子頁開發與存取閘8 h成效儀表板
7・驗收端到端測試、截圖與文件4 h驗收報告、本規格書
合計64 h(8 人日)

13.2 流量與用量假設(容量規劃)

下列規模係依需求訪談確認的行銷投放計畫、現有 0800 話務量與官網流量推估,作為容量與成本規劃基準;上線後以儀表板實際數據逐月校準。

規劃項目規劃值推導與說明
OA 好友數(上線一年)10,000 人行銷導流+經銷通路累積
日常對話場次150 場/日約 1.5% 好友日活躍率
推播日尖峰場次600 場/日分眾推播後湧入,約 4 倍日常
平均輪次/場4.6 輪與儀表板營運分析頁口徑一致
每輪 LLM 呼叫2.2 次分類/擷取(輕)+回應生成(重)
尖峰 RPM≈ 60 req/min假設推播後 30 分鐘內湧入 30% 場次:600×30%×4.6 輪×2.2 呼叫 ÷ 30 min;遠低於模型 API 速率上限,無需排隊機制
每輪計費 token重回應輪 ≈ 5,000 in/250 out
輕任務輪 ≈ 1,300 in/80 out
in 含系統提示、RAG 上下文、對話記憶;知識庫快取命中 92%
每場對話 token原始 ≈ 11,500/計費 ≈ 3,000快取折抵後的有效計費量
每場對話成本NT$0.41模型分工+prompt 快取(NFR-2)
每月用量與成本≈ 13.5M 計費 tokens/NT$1,900150 場 × 30 日;推播日單日約 NT$250
容量結論:日常 150 場/日與推播日 60 RPM 尖峰,全託管雲端架構皆有一個數量級以上的餘裕;成本瓶頸不在基礎設施而在 LLM 用量,持續以快取命中率與模型分工控管。
第 14 章

未來擴充(Roadmap)

  1. 分眾推播旅程:以既有標籤發動 narrowcast(例:「品類:壁癌 × 意願:中」推雨季保養提醒),把名單資產轉為回購動能
  2. 檢索品質強化:加入相似度門檻,使「查無資料」的判定不再依賴模型自律
  3. 護欄硬化:回覆送出前依 guardrail_rules 做程式比對,命中才交由模型改寫;護欄由模型自律升級為系統強制,攔截次數亦成為可自動量測的事件
  4. 儀表板進階分析:開放區間對比、經銷據點維度下鑽,並將 AI 洞察擴充為可訂閱的週報
  5. 自建客服與客戶聊天後台:把對話、標籤、交接與真人回覆全部收進自有系統,取得官方帳號後台拿不到的資料——真人首次回覆時間、指派與轉派紀錄、標籤自由度(不受聊天標籤無 API 與受眾命名規則限制);「最快回撥」「已聯絡率」等業務端指標即可自動量測,不再依賴人工標記
  6. CRM 整合:lead 以 webhook 同步至客戶既有 CRM(Salesforce/HubSpot 或自建),對齊經銷據點指派邏輯
  7. 多平台複用:對話引擎與知識庫皆與通訊平台解耦,可低成本擴充至 Messenger/IG DM
  8. 標籤維度擴充:屋況(可拆磁磚與否)、身分(屋主/師傅/經銷)納入詞彙表
附錄

名詞對照

名詞說明
Lead已留下姓名/電話/縣市/需求四項完整資料的潛在客戶
轉真人率lead 數 ÷ 進線對話數
交接摘要AI 生成的四欄摘要(需求/屋況/已推薦/意願訊號),供業務免重問接手
受眾(audience)LINE 分眾推播的目標名單;本方案以「一標籤=一上傳型受眾」實作貼標
護欄防止錯誤用料的推薦硬規則(如 P-930 禁用磁磚面)