---
title: "影子部署（Shadow Deployment）"
slug: shadow-deployment
language: zh-TW
source: https://aiterms.tw/terms/shadow-deployment
updated_at: 2026-06-22
tags: [模型部署, MLOps, 最佳化]
ipas_term: false
---

# 影子部署（Shadow Deployment）

影子部署是一種零風險的部署方式，新版本與舊版本同時運行，使用者只看到舊版本的結果，新版本的預測結果被記錄但不返回，用於離線評估新版本的實際性能。

## 完整說明

影子部署用於在真實生產環境中評估新模型或系統的性能，而不影響用戶體驗。在影子部署期間，新版本處理相同的用戶請求，生成預測結果，但這些結果不返回給用戶，只被記錄用於後續分析。這使得團隊可以觀察新版本在真實流量和數據分佈下的表現，發現在離線測試中難以預測的問題，同時完全不影響用戶。

## 常見問題

### 影子部署應該進行多長時間？

影子部署的持續時間取決於幾個因素。首先考慮流量規模：如果系統流量很大，1-2 天內可能積累足夠的樣本；如果流量較小，可能需要一週。其次考慮評估的深度：簡單的評估（如準確率指標）幾天內就能得出結論；複雜的評估（如針對不同用戶群體的性能差異）需要更長時間。第三考慮商業考量：如果有迫切的需求，可能只進行幾小時；如果時間充分，可以進行更長時間的觀察。一般建議是：至少進行足夠長的時間以覆蓋完整的使用週期（例如對於日常應用，至少 1 天；對於金融交易系統，可能需要覆蓋完整的市場週期）。

### 如何在影子部署中處理計算成本問題？

影子部署的計算成本可以通過幾種方式優化。首先可以採用流量採樣：不是所有請求都發送給新版本，而是只有一部分（如 10%）發送給新版本進行影子處理，這樣計算成本降低 10 倍。其次可以採用非同步處理：新版本的計算在後台進行，不阻塞對用戶的響應，這樣可以調度到更便宜的計算資源。第三可以定時進行影子部署：不是 24 小時進行，而只在特定時間段（如每天的低流量時期）進行，進一步降低成本。另外，應該定期評估影子部署的價值，如果新版本的性能評估已經穩定，應該停止影子部署並進入金絲雀或 A/B 測試階段。

### 影子部署中應該記錄哪些信息用於分析？

完整的影子部署分析需要記錄以下信息。首先是兩個版本的輸出結果（舊版本和新版本的預測值、置信度、排序等）。其次是請求的輸入特徵（查詢、用戶特徵、上下文等），以便進行子集分析（如新版本在特定用戶群體上的性能）。第三是用戶的真實反饋（點擊、轉化、停留時間等），以便計算離線指標。第四是上下文信息（請求時間、系統狀態等），以便診斷異常或趨勢。第五是兩個版本的性能指標（延遲、資源使用等），確保新版本的計算開銷在可接受範圍內。記錄這些信息的目的是讓分析團隊能夠全面評估新版本，而不遺漏任何可能影響決策的因素。

---

來源：https://aiterms.tw/terms/shadow-deployment
快查頁：https://aiterms.tw/terms/shadow-deployment
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-shadow-deployment