快速摘要
AI 應用最常被抱怨的問題:太慢、太貴。這篇教你三個核心優化策略——串流回應改善感知速度、智慧快取降低成本、Prompt 精簡減少 Token 用量。
效能問題在哪
AI 應用的效能瓶頸主要有三個:
- 延遲:AI API 的回應時間通常在 1-15 秒,使用者覺得很慢
- 成本:每次 API 呼叫都要錢,用量大的話帳單很可觀
- Token 限制:輸入太長會超過 context window,或者速率限制被觸發
串流回應
串流(Streaming)是改善使用者體驗最有效的方法。原理是讓 AI 一邊生成一邊傳回,而不是等全部生成完才回傳。
使用者感知:
- 沒有串流:等 5 秒 → 一次看到全部答案
- 有串流:等 0.3 秒 → 文字逐步出現
實際完成時間可能一樣,但感知速度差非常多。所有三大 API(OpenAI、Anthropic、Google)都支援串流。
快取策略
同樣的問題不需要每次都呼叫 API。建立智慧快取可以大幅降低成本和延遲:
精確快取
完全相同的 prompt → 直接回傳快取結果。適合 FAQ 型的查詢。
語意快取
用 embedding 比較問題的語意相似度,如果足夠相似就回傳快取結果。需要向量資料庫支援。
快取注意事項
- 設定合理的 TTL(存活時間),資訊不要過時
- 包含使用者個資的回答不要快取
- 快取 key 要包含 model version,模型更新後舊快取應該失效
Prompt 優化
Prompt 越長,Token 越多,費用越高,速度越慢。優化方向:
- 精簡 system prompt:移除重複的指令和不必要的說明
- 結構化輸入:用 JSON 或 XML 格式而不是自然語言描述
- Few-shot 精簡:範例不用太多,2-3 個通常就夠
- 動態 context:根據問題類型只放入相關的 context,不要每次都放全部
模型選擇
不是所有任務都需要最強的模型:
| 任務類型 | 建議模型 | 原因 |
|---|---|---|
| 分類、標記 | Haiku / GPT-4o-mini | 簡單任務用小模型,快又便宜 |
| 摘要、改寫 | Sonnet / GPT-4o | 中等任務用中型模型 |
| 複雜推理、程式碼 | Opus / GPT-4o | 只有困難任務才用最強模型 |
| Embedding | text-embedding-3-small | small 版效果已經很好,費用差 5 倍 |
成本優化
- 批次處理:OpenAI 的 Batch API 有 50% 折扣
- Prompt Caching:Anthropic 支援 prompt caching,重複的 system prompt 只計費一次
- 輸出限制:設定 max_tokens 限制輸出長度
- 監控儀表板:建立 token 使用量和費用的即時儀表板
常見問題
AI API 的回應速度可以快到什麼程度?
用串流模式,使用者在 200-500ms 就能看到第一個字。完整回答通常在 2-10 秒,取決於輸出長度和模型。快取命中的話可以在 50ms 內回應。
快取 AI 回應安全嗎?
要看場景。公開知識的查詢(例如「什麼是 RAG」)可以放心快取。包含使用者個人資訊的回答不應該快取,或者要確保快取有使用者隔離。
Prompt 越短越好嗎?
不是。Prompt 要夠清楚讓 AI 理解需求,但不要有冗餘的描述。目標是用最少的 token 表達最清楚的意圖。