AI / LLM 功能 Spec Review — 幻覺 / 評估 / 成本 / 法遵 8 個必問

「PM 寫『加 AI 助手』 — 你看完只想笑哭」。AI 功能 spec 95% 都漏掉關鍵維度。這篇給你 8 個必問問題 + 完整 review framework。

AI 功能 spec 跟一般 spec 最大差異

flowchart LR
    Old[一般 spec] --> O1[輸入確定 → 輸出確定]
    Old --> O2[可重現]
    Old --> O3[二元對錯]

    AI[AI 功能 spec] --> A1[輸入確定 → 輸出機率分佈]
    AI --> A2[每次可能不同]
    AI --> A3[品質光譜]
    AI --> A4[會幻覺、會 bias]
    AI --> A5[成本隨用量]
    AI --> A6[法遵風險]

    style Old fill:#10b981,color:#fff
    style AI fill:#ef4444,color:#fff

核心:AI spec 不能寫「正確」、要寫「成功率達到 X%、失敗時 Y」。

8 個必問問題

mindmap
  root((AI 功能 Spec<br>8 必問))
    1 評估指標
      Precision/Recall
      eval set
      Human review
    2 失敗 fallback
      返回 null?
      人工接管?
      Retry?
    3 幻覺處理
      要不要驗證
      RAG citation
      自信度顯示
    4 Prompt 管理
      Versioning
      A/B test
      Rollback
    5 模型選擇
      哪個 model
      備用 model
      升級策略
    6 成本控制
      每次成本
      上限 rate limit
      Cache
    7 護欄 Guardrails
      禁忌話題
      Output 過濾
      Prompt injection 防禦
    8 法遵
      EU AI Act
      GDPR
      審計 log

必問 1: 評估指標

flowchart TD
    Eval[AI 怎麼算對?] --> E1["Eval set<br>100+ 黃金標準範例"]
    Eval --> E2["Automated metrics<br>BLEU/ROUGE/Embedding"]
    Eval --> E3["LLM-as-judge<br>用 Claude 評另一個 model"]
    Eval --> E4["Human review<br>抽 5-10% 看趨勢"]

    style E1 fill:#06b6d4,color:#fff
    style E2 fill:#10b981,color:#fff
    style E3 fill:#a855f7,color:#fff
    style E4 fill:#f59e0b,color:#fff

Spec 該寫:

Eval set 大小: 200 個範例
Pass 條件: ≥ 90% 通過 LLM-as-judge
Human review: 每月抽 50 個、QA 評分
Regression: 改 prompt 後 eval set 跑、不能降 > 2%

不能寫的爛 spec

❌ 「AI 要回答正確」 ❌ 「AI 不能說錯話」

該寫的具體 spec

✅ 「Eval set 200 個典型 QA 對、新 prompt 通過 ≥ 90% 才能上線」 ✅ 「每月人工抽 50 個、品質分 ≥ 4/5」

必問 2: 失敗 Fallback

flowchart TD
    Q[AI 回答失敗] --> F{Fallback?}
    F --> F1["1) 重試 N 次"]
    F --> F2["2) 換 model(GPT-4 → Claude)"]
    F --> F3["3) 回傳「請稍候」"]
    F --> F4["4) 人工 escalate"]
    F --> F5["5) 預設答案 / 範本回覆"]

    style F fill:#f59e0b,color:#fff

Spec 該寫:

LLM call timeout (15s): 自動 retry 1 次
全部失敗: 回「目前無法回答、請聯絡客服」+ 記 log
明確錯誤: 顯示「我不確定、建議問人類」
高風險問題(健康/法律/金融): 直接 escalate 人工

必問 3: 幻覺處理

幻覺 = LLM 編造事實。100% 不可能消除、只能降低 + 偵測

flowchart LR
    Out[LLM Output] --> Verify{驗證機制?}
    Verify --> V1[RAG citation 必引文]
    Verify --> V2[Tool call 確認事實]
    Verify --> V3[Output classifier]
    Verify --> V4[Confidence score 顯示]

    style Verify fill:#a855f7,color:#fff

Spec 該寫:

RAG 模式: 每個事實聲明必須 cite source、無 source 不回
Fact check: 含日期 / 數字 / 名稱的回應要對知識庫驗
UI 警告: 「AI 生成、可能有誤」一律顯示
高風險 domain: 必須 cite + 人工 review

必問 4: Prompt 管理

flowchart TD
    PM[Prompt Management] --> V[Versioning v1, v2, v3]
    V --> AB[A/B test]
    AB --> Eval[Eval set 跑]
    Eval --> Deploy[上線一部分流量]
    Deploy --> Monitor[監控 metric]
    Monitor --> Rollback{有問題?}
    Rollback -->|是| V
    Rollback -->|否| Full[全量上線]

    style V fill:#06b6d4,color:#fff
    style Full fill:#10b981,color:#fff

Spec 該寫:

Prompt 存 Git: 每次改有 commit + reviewer
Prompt version: 帶在每次 LLM call、log 記版本
A/B test: 新 prompt 先 5% 流量、看 7 天 metric
Rollback: 一鍵切舊 prompt、< 30 秒

必問 5: 模型選擇

維度 該問
Primary 哪個 model(GPT-4 / Claude Sonnet / Gemini 2)?
Backup Primary 掛了用哪個?
Cost limit 每次 call 預算上限
Latency p95 要求?
升級策略 新版 model 出來、A/B test 流程

必問 6: 成本控制

flowchart LR
    User[User request] --> Limit{Rate limit?}
    Limit -->|超| Reject[429 + Retry-After]
    Limit -->|OK| Cache{快取?}
    Cache -->|hit| Return[直接回]
    Cache -->|miss| LLM[呼叫 LLM]
    LLM --> Bill[計費]
    Bill --> Cache

    style Cache fill:#10b981,color:#fff
    style Bill fill:#a855f7,color:#fff

Spec 該寫:

Per-user rate limit: 100 calls/day(free) / 1000 calls/day(paid)
Cache: 完全相同問題 24h 內回 cache
Cost alert: 整體每日支出 > $X 自動 throttle
Prompt 大小: 上限 4K token、超過砍掉 history

必問 7: 護欄 Guardrails

mindmap
  root((Guardrails))
    輸入端
      Prompt injection 偵測
      禁忌字過濾
      個資偵測
      地區/法律限制
    輸出端
      Bias 過濾
      暴力 / 性 / 仇恨檢查
      Toxic 分類器
      Refusal 必要時
    後處理
      Citation 強制
      Disclaimer 加註
      Audit log

Spec 該寫:

禁忌主題: 醫療診斷 / 法律建議 / 投資建議 → 拒絕並建議找專業人
Prompt injection: 偵測 "ignore previous instructions" 模式、拒絕
個資輸出: 偵測 email / 電話 / 信用卡、mask 後回
冒充: 不能聲稱自己是「真人」、必須說 AI

必問 8: 法遵

flowchart TD
    Law[法遵框架] --> EU[EU AI Act 2024]
    Law --> GDPR[GDPR]
    Law --> Local[地區法規]

    EU --> EU1[高風險分類]
    EU --> EU2[Audit log 必備]
    EU --> EU3[解釋性 right to explanation]

    GDPR --> G1[資料最小化]
    GDPR --> G2[Right to be forgotten]
    GDPR --> G3[Data processing record]

    Local --> L1[台灣個資法]
    Local --> L2[健保 / 金管會]

    style EU fill:#ef4444,color:#fff
    style GDPR fill:#a855f7,color:#fff

Spec 該寫:

AI 用途分類: 是否屬 EU AI Act「高風險」?
Audit log: 保留 user / prompt / response / decision、3 年
Right to explain: 使用者可問「為什麼這結果」
資料保留: LLM provider 是否會 train 我們資料?合約有規範嗎?
被遺忘權: 使用者刪帳號、AI 訓練資料怎處理?

完整 review 範例

Spec 原文(典型 PM 寫法)

新增 AI 客服助手
- 使用者問問題、AI 回答
- 整合 OpenAI GPT-4
- 期望 80% 問題自動回答

Review 提的 24 個問題

光是 8 必問 × 3 個延伸 = 24 個。例如:

1. 評估: 80% 怎麼量?哪 200 個 eval question?
2. Fallback: 答不出來怎處理?
3. 幻覺: 客戶問退款政策、AI 編造怎辦?
4. Prompt: 改一次 prompt 怎麼測影響?
5. 模型: GPT-4 掛了用什麼?
6. 成本: 每個使用者一個月平均花多少?
7. 護欄: 使用者罵髒話 / 問醫療問題怎處理?
8. 法遵: 對話 log 存多久? 客戶可以要求刪除嗎?

PM 多半答不出來 → spec 退回。

QA 該堅持的 DoR

flowchart LR
    DoR[AI 功能 DoR] --> R1[Eval set 已建(≥ 100 範例)]
    DoR --> R2[Fallback 流程定義]
    DoR --> R3[Prompt versioning 機制]
    DoR --> R4[Cost cap 明確]
    DoR --> R5[Guardrails 列表]
    DoR --> R6[法遵 review 過]

    style DoR fill:#06b6d4,color:#fff

6 項全達標才能進 sprint

反模式

flowchart TD
    Anti[AI Spec 反模式] --> A1["AI 一定要 100% 正確"]
    Anti --> A2["沒 eval set、靠直覺改"]
    Anti --> A3["Prompt 寫在 code、沒 versioning"]
    Anti --> A4["沒 fallback、AI 掛系統就掛"]
    Anti --> A5["沒成本 cap、燒爆"]
    Anti --> A6["不做 guardrail、被 prompt injection"]
    Anti --> A7["不寫法遵、被罰"]

    style A1 fill:#ef4444,color:#fff
    style A2 fill:#ef4444,color:#fff
    style A3 fill:#ef4444,color:#fff
    style A4 fill:#ef4444,color:#fff
    style A5 fill:#ef4444,color:#fff
    style A6 fill:#ef4444,color:#fff
    style A7 fill:#ef4444,color:#fff

給 QA 的 5 句

  1. AI 功能 spec 不能寫「正確」、要寫成功率
  2. 沒 eval set 等於沒 spec
  3. Prompt 改動 = code 改動、要走 review
  4. Fallback 比 happy path 重要 10 倍
  5. 法遵問題 spec 沒寫 = 公司賠錢

最後

AI 功能 spec review 是 2026 後 QA 最稀缺的技能。一般 spec checklist 救不了你 — 必須有 AI 專用 framework。從這 8 必問開始、每個 AI 功能 spec 至少問 3 倍的問題、上線後 incident 砍 70%。

延伸: - 用 LLM 跑 Spec Review - AI 共存的 QA 工具箱 - Spec Review Checklist