第一部分:專案說明

這是什麼

這是專為康和證券開發的 AI 語音客服系統,提供文字與語音雙模式的自動化客戶服務。系統使用 Anthropic Claude API 來理解和回答客戶問題,前端用 Vue 3 開發互動介面,後端用 Node.js + Express 處理 API 請求。

開發策略

  • 第一階段(進行中):完成文字聊天功能,確保基礎服務穩定運作
  • 第二階段(規劃中):整合語音功能,讓客戶可以用說話的方式詢問,系統也能用自然語音回應

康和只需要在網站加入一行 JavaScript 程式碼:

<script src="https://your-domain.com/widget.js?key=YOUR_API_KEY"></script>

客服小工具就會出現在網站右下角,客戶可以選擇用打字或語音的方式詢問問題。

解決什麼問題

這個系統主要解決以下問題:

  1. 減少人工客服工作量:自動回答常見問題,如營業時間、手續費、開戶流程等
  2. 提供 24/7 服務:不受上下班時間限制,隨時可以回答客戶問題
  3. 統一回答標準:基於康和提供的文件資料,確保回答內容一致且正確
  4. 提升服務便利性:語音互動讓客戶在開車、做家事等不方便打字的情況下也能獲得服務
  5. 無障礙服務:照顧視力不便或不熟悉打字的客戶群體

系統會記錄所有對話(文字與語音),方便後續分析客戶常問的問題類型。

如何整合

整合過程分為三個步驟:

  1. 系統部署:將系統部署到康和指定的伺服器環境(自有伺服器或雲端服務)
  2. 資料準備:協助康和整理並上傳相關文件,如FAQ、產品說明、服務條款等(支援 PDF、TXT、DOCX)
  3. 網站整合:在康和網站中加入客服小工具程式碼

整個部署與整合過程預計需要 1-2 個工作天。系統會自動處理上傳的文件,建立專屬康和的知識庫供 AI 查詢使用。

第二部分:核心功能

AI 聊天小工具(Chat Widget)

聊天小工具是客戶看到並使用的介面,具有以下功能:

基本功能

  • 浮動按鈕固定在網頁右下角,點擊展開聊天視窗
  • 支援文字輸入和發送訊息
  • 顯示 AI 回覆,包含打字動畫效果
  • 保存對話歷史(使用瀏覽器 localStorage)
  • 自動適應手機、平板、桌面螢幕尺寸

AI 對話能力

  • 理解自然語言提問,不需要特定格式
  • 記住對話上下文,可以進行多輪對話(目前上限 10 輪)
  • 透過 MCP (Model Context Protocol) 查詢公司文件
  • 根據文件摘要判斷相關性,找出正確答案
  • 無法回答時會建議聯繫人工客服

技術實現

  • 使用 Vue 3 開發,編譯成單一 JavaScript 檔案(約 200KB)
  • 透過 WebSocket 或 HTTP 與後端 API 通訊
  • 支援 CORS,可嵌入任何網域的網站
  • 介面樣式隔離,不會影響原網站的 CSS

截圖待補充:需要聊天介面的截圖,展示實際的對話畫面

AI 語音客服功能(第二階段)

語音客服功能讓客戶可以用更自然的方式與系統互動:

語音互動功能

  • 語音輸入:點擊麥克風按鈕即可開始說話
  • 自然語音回應:AI 用流暢的語音回答客戶問題
  • 文字/語音模式切換:客戶可隨時切換偏好的互動方式
  • 語音中斷處理:支援客戶隨時打斷並提出新問題

技術方案(評估中)

目前正在評估以下技術方案,將根據技術發展選擇最適合的:

  • 方案一:OpenAI Real-time API(等待暑期新模型發布)
  • 方案二:Eleven Labs 語音合成技術
  • 方案三:傳統架構 STT + LLM + TTS 組合
  • 最終方案將考慮:回應速度、語音自然度、成本效益、整合複雜度

預期效果

  • 降低客戶使用門檻,特別是年長客戶
  • 提高互動效率,語音溝通比打字快 3-5 倍
  • 創造更人性化的服務體驗

截圖待補充:需要語音介面的概念圖或流程圖

管理後台功能

管理後台讓康和可以設定和管理 AI 客服系統:

文件管理

  • 上傳康和的相關文件(支援 PDF、TXT、DOCX 格式)
  • 檢視已上傳的文件列表
  • 為每個文件設定摘要(summary)
  • 刪除或更新文件內容
  • 系統自動產生文件索引供 AI 使用

AI 測試功能

  • 在後台直接測試 AI 的回答效果
  • 調整 AI 的回答風格(正式/親切)
  • 設定無法回答時的預設回覆
  • 查看 AI 使用了哪些文件來生成答案

對話記錄

  • 查看所有客戶對話歷史
  • 搜尋特定關鍵字的對話
  • 匯出對話記錄(CSV 格式)
  • 分析常見問題統計

系統設定

  • 自訂聊天視窗的顏色和標題
  • 設定營業時間提示
  • 管理 API Key
  • 設定允許使用的網域(安全白名單)

截圖待補充:需要管理後台的介面截圖,展示主要功能頁面

第三部分:技術實現

使用的技術棧

前端技術

  • 聊天小工具:Vue 3 + TypeScript,使用 Vite 打包成單一 JS 檔案
  • 管理後台:Vue 3 + Element Plus UI 框架,Vue Router 處理頁面路由
  • 狀態管理:Pinia(Vue 官方推薦的狀態管理工具)
  • HTTP 請求:Axios 處理 API 通訊

後端技術

  • 伺服器框架:Node.js + Express.js
  • 程式語言:TypeScript(提供型別檢查,減少錯誤)
  • 資料庫:PostgreSQL(儲存對話記錄、用戶資料、文件內容)
  • 認證機制:JWT(JSON Web Token)處理用戶登入狀態
  • 檔案處理:Multer 處理檔案上傳,pdf-parse 解析 PDF 文件

AI 整合

  • 文字對話:Anthropic Claude 3.5 Sonnet API
  • 實作方式:使用官方 SDK (@anthropic-ai/sdk)
  • 回應模式:支援一般回應和串流回應(Server-Sent Events)

語音技術(第二階段)

  • 語音識別:評估中(Web Speech API / 第三方服務)
  • 語音合成:評估中(Eleven Labs / OpenAI TTS / Edge TTS)
  • 即時對話:研究 OpenAI Real-time API 與工具整合方案
  • 備選方案:傳統 STT → LLM → TTS 管線架構

系統架構圖

┌─────────────────────────────────────┐
│         客戶網站                     │
│   ┌─────────────────────┐          │
│   │  Chat Widget (Vue3) │          │
│   └──────────┬──────────┘          │
└──────────────┼─────────────────────┘
               │ HTTPS API
               ▼
┌─────────────────────────────────────┐
│      後端 API 服務器                 │
│   ┌─────────────────────┐          │
│   │   Express.js API    │          │
│   │   - /api/chat       │          │
│   │   - /api/documents  │          │
│   │   - /api/admin      │          │
│   └──────────┬──────────┘          │
└──────────────┼─────────────────────┘
               │
    ┌──────────┴──────────┐
    ▼                     ▼
┌─────────┐         ┌──────────────┐
│PostgreSQL│         │Anthropic API │
│ Database │         │  (Claude)    │
└─────────┘         └──────────────┘
                        

技術細節說明

對話處理流程

  1. 用戶在聊天視窗輸入問題
  2. 前端將問題發送到後端 API(POST /api/chat/message
  3. 後端從記憶體載入對話歷史(最多 10 輪)
  4. 組合 system instruction:包含文件索引(所有文件名稱和摘要)
  5. AI 根據問題和文件摘要,使用 MCP 工具查詢相關文件
  6. 基於查詢結果生成回答
  7. 儲存對話到資料庫
  8. 回傳答案給前端顯示

MCP (Model Context Protocol) 說明

  • AI 可以主動使用 MCP 工具與資料庫互動
  • MCP 工具提供的功能:
    • 列出所有可用文件
    • 讀取特定文件內容
    • 搜尋文件中的關鍵資訊
  • AI 透過文件摘要判斷哪些文件可能包含答案

安全性設計

  • API Key 認證:所有請求需要有效的 API Key
  • CORS 設定:只允許白名單內的網域存取
  • 輸入驗證:使用 express-validator 檢查所有輸入
  • SQL 注入防護:使用參數化查詢
  • XSS 防護:前端自動轉義所有用戶輸入

效能優化

  • 對話記憶體快取:使用 Map 結構暫存最近對話
  • 文件索引快取:AI system instruction 包含所有文件摘要,減少查詢次數
  • 前端資源壓縮:Widget 檔案使用 gzip 壓縮
  • API 回應快取:相同問題 5 分鐘內不重複呼叫 AI

部署架構

  • 單一 VPS 伺服器(2-4 核心 CPU,4-8GB RAM)
  • 使用 PM2 管理 Node.js 程序
  • Nginx 反向代理處理 HTTPS
  • Let's Encrypt 免費 SSL 憑證
  • 每日自動備份資料庫

截圖待補充:需要更詳細的技術架構圖,顯示資料流向和各組件之間的關係