情境
正式應用中的客服聊天機器人
SaaS 客戶詢問為何同一張帳單被扣款兩次。 客服服務取得最新帳務政策與已遮蔽個資的帳單狀態,再要求模型依據資料回答,或回傳轉交人工的資料。
模型不能自行退款,也不能捏造帳戶狀態。 身分未確認、資料互相矛盾或帳務工具失敗時,附摘要與來源 ID 轉交人工。
正式環境場景
SaaS 客戶詢問為何同一張帳單被扣款兩次。 客服服務取得最新帳務政策與已遮蔽個資的帳單狀態,再要求模型依據資料回答,或回傳轉交人工的資料。

正式環境實作
| 正式環境選擇 | 建議 | 原因 |
|---|---|---|
| API | POST /v1/chat/completions | OpenAI 相容伺服器端請求 |
| 主要模型 | gemini-2.5-flash | 大量且回答範圍、轉人工規則明確的客服請求,預設使用 Gemini 2.5 Flash。請用自己的工單確認語言品質與政策遵循。 |
| 備援模型 | gpt-5.6-terra | Flash 未遵守回答規格時,改用已測試的 Terra。 複雜的政策衝突或需要多個工具的帳戶問題,交給 Sol 或人工。 |
| 升級模型 | gpt-5.6-sol | 只在主要路徑未達品質或複雜度門檻時使用 |
| 輸出規則 | 通過驗證的 JSON | 回傳附內部來源 ID 的有據回答,或結構化的轉人工原因。 |
SaaS 客戶詢問為何同一張帳單被扣款兩次。 客服服務取得最新帳務政策與已遮蔽個資的帳單狀態,再要求模型依據資料回答,或回傳轉交人工的資料。
模型不能自行退款,也不能捏造帳戶狀態。 身分未確認、資料互相矛盾或帳務工具失敗時,附摘要與來源 ID 轉交人工。
從伺服器送出請求,將範例內容與預留工具格式換成應用的資料與工具。
curl https://app.llmfly.ai/v1/chat/completions \
-H "Authorization: Bearer $LLMFLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-flash",
"messages": [
{"role": "system", "content": "Answer only from SOURCES and ACCOUNT_FACTS. If evidence is missing, identity is unverified, or an action requires permission, return ESCALATE with a concise reason."},
{"role": "user", "content": "The customer says this invoice was charged twice. Explain the status or escalate."}
],
"response_format": {"type": "json_object"}
}'大量且回答範圍、轉人工規則明確的客服請求,預設使用 Gemini 2.5 Flash。請用自己的工單確認語言品質與政策遵循。
Flash 未遵守回答規格時,改用已測試的 Terra。 複雜的政策衝突或需要多個工具的帳戶問題,交給 Sol 或人工。
| 指標 | 通過條件 |
|---|---|
| 有據回答率 | 每個政策或產品說法都有核准的最新來源支持 |
| 正確轉人工率 | 必須轉人工的情況,在建議或帳戶操作前完成轉交 |
| 首次有效回覆時間 | 首個回覆解決問題,或詢問一項缺少的資訊 |
| 每個已解決對話的成本 | 檢索、工具、重試與轉人工總成本不超出解決預算 |
回傳附內部來源 ID 的有據回答,或結構化的轉人工原因。
每次正式執行記錄模型 ID、請求 ID、token 用量、重試、驗證結果與最終處理。
依據核准的最新客服內容回答,並保留使用的來源 ID。
政策要求、無法確認身分、信心不足或工具失敗時,就轉交人工。
衡量到解決為止的完整對話成本,包含檢索、工具、重試與轉人工。
以相同請求、工具與驗證規則比較主要和備援模型。