LLMOps
LiteLLM 1.98 RC 讓 Auto Router 先跑影子評測,並修正 system prompt 誤判成本
新版可複製少量真實請求給候選路由器,再以盲測裁判比較回覆而不影響線上結果。複雜度分類亦不再把固定的代理 system prompt 當成每次請求的技術難度訊號。

LiteLLM v1.98.0-rc.1 為 Auto Router 加入部署前 shadow evaluation:管理員可指定 API key、取樣率、裁判模型、時限與最多 2,000 個 turn,系統便從成功的 `/v1/chat/completions` 流量抽樣,把同一請求以 detached task 送進候選路由器。原本回覆照常交付,影子回覆永不服務使用者;兩份答案會隨機交換 A/B 標籤,再由 LLM judge 比較,減少位置偏差。
狀態設計比功能本身更值得注意。每次取樣只追加一筆 `LiteLLM_ShadowEvalAttempt`,勝負、錯誤、裁判花費與各 tier 勝率均在讀取時聚合,不維護跨 pod 計數器。工作設定除 `stopped_at` 外不可變,並以 partial unique index 限制每個 key 只有一項活動工作。影子及裁判呼叫沿用原請求的身分與預算,但排除於正式請求數、TPM 限流、節省金額及採用統計之外;代價仍會計入該 key。
同一版也修正 ComplexityRouter/QualityRouter:先前四項 heuristic 會把 system prompt 與使用者文字串接後評分。約 1.6KB 的一般 CLI 代理規則,已足以令單字「hi」越過預設 0.15 邊界,由 Haiku 類低價 tier 誤送至 Sonnet 類 tier;新版只對當前 user text 計算 code、technical、simple 與 multi-step 訊號。
這仍是 RC,影子評測只涵蓋單 turn Chat Completions,無法量度候選模型的回覆如何改變後續對話;使用內容遮罩的請求亦會被略過。工程團隊應先以低取樣率驗證裁判偏差、背景成本及資料外送政策,再讓路由器接管正式流量。