[IND] 5 分鐘閱讀OraCore 編輯部

為什麼 routing 應該放在 model serving 的中心

Routing 應該是 model serving 的單一入口,因為它能加快模型迭代,也能把服務層變成產品能力的一部分。

分享 LinkedIn
為什麼 routing 應該放在 model serving 的中心

Routing 應該是 model serving 的單一入口,因為它能加快模型迭代,也能把服務層變成產品能力的一部分。

我主張把 routing 放在 model serving 的中心,而不是把它當成附屬功能。原因很直接:當模型數量、實驗數量和產品線一起增加時,真正決定團隊速度的不是模型本身,而是流量如何被分配、切換與回收。

Netflix 對內部 ML serving 平台的描述提供了很強的現實證據。它們把單一 API 當成入口後,新版本迭代更快,也更容易支援全新的 ML 產品,這代表 routing 不只是傳輸請求,而是把變更吸收進平台的控制面。

第一個論點:routing 不是細節,而是迭代速度的控制面

訂閱 AI 趨勢週報

每週精選模型發布、工具應用與深度分析,直送信箱。不定期,不騷擾。

不會寄垃圾信,隨時可取消。

只要團隊要做 rollout、rollback、canary 或 A/B test,routing 就會直接影響交付速度。若每個模型或每條產品線都有自己的 serving 路徑,工程師就得重複實作流量規則,版本一多,維護成本會快速上升。

為什麼 routing 應該放在 model serving 的中心

以推薦、搜尋、個人化三條常見路徑為例,很多公司一開始都各自接不同的 serving endpoint。到了需要同時支援新模型與舊模型共存時,問題就不是算力,而是協調成本,因為每次改版都要跨多個服務、監控和回滾機制同步更新。

中央 routing 的價值就在於把這些共通動作收斂成一個入口。當流量決策集中在同一層,模型作者就不必重新處理分流邏輯,PM 也能更清楚地定義實驗邊界,整個團隊的變更節奏會明顯變快。

第一個論點:routing 讓平台從「管線」變成「產品表面」

很多人把 model serving 想成後端基礎設施,但一旦模型數量超過幾個,serving 就會變成產品能力的一部分。Netflix 提到單一 API 讓新版本和新產品都更容易推出,這說明 routing 已經不只是把 request 送到某個模型,而是在定義產品如何被組裝。

這種差異在規模化後尤其明顯。當一個平台同時服務多個團隊時,若沒有統一入口,每個團隊都會建立自己的規則、自己的例外處理、自己的監控方式,最後形成一張難以理解的網狀結構,任何改動都需要跨團隊協商。

相反地,若 routing 是中心,平台就能提供一致的契約。這不只降低錯誤率,也讓新功能更容易被產品化,因為新的模型、策略或 ensemble 可以透過同一條路徑接入,而不是再開一個新的服務面。

第二個論點:單一入口不只更快,還能打開新的產品設計空間

routing 真正的戰略價值,不只是部署更安全,而是它能根據上下文做決策。像是使用者分群、裝置類型、地區、語言、實驗狀態,甚至風險等級,都可以成為選擇模型或策略的條件,這讓 serving 從靜態轉成動態。

為什麼 routing 應該放在 model serving 的中心

這種能力會直接影響產品形態。舉例來說,同一個推薦請求可以在新用戶、老用戶、高價值用戶之間走不同模型,或者在低延遲場景下走簡化版本,在高精度場景下走更重的 ensemble。這些不是純工程問題,而是產品設計問題。

從組織角度看,這也會改變團隊分工。當 routing 能承載 business logic、experiment logic 與 model selection logic,產品團隊就不必每次都等底層重構才能驗證新想法。平台因此不只是供應模型,而是放大了實驗密度與功能創新速度。

第二個論點:沒有中心 routing,平台會在規模下碎裂

分散式 serving 的短期好處是自由,長期代價是碎片化。當每個團隊都用自己的 endpoint 和自己的 traffic policy,最後會出現同一種請求在不同產品裡有不同語意,監控也難以對齊,出了問題更難追查。

這種碎裂會直接拖慢組織效率。工程師花在對齊規則、修補差異、補寫轉接層的時間,往往比真正提升模型品質的時間更多。若一家公司每個月都在上新模型,這種重複成本會像利息一樣持續累積,最後反噬交付速度。

因此,routing 居中不是為了集權,而是為了減少重複。把共通邏輯放回平台層,才能讓各產品線保留差異化,同時避免每條路徑都重新發明一次 serving 系統。

反方可能怎麼說:中心 routing 會變成瓶頸

最強的反對意見是,單一入口很容易變成單一瓶頸。若 routing 層被過度治理、過度抽象,或被某個平台團隊鎖死,其他團隊就會卡在排程、權限和流程上,整個系統看起來雖然整齊,實際上卻更慢。

另一個合理擔憂是 failure domain。當所有流量都依賴同一層 routing,這一層一旦出錯,影響面會比單點模型服務更大。對高流量產品來說,這種集中化風險不能被輕描淡寫,尤其在多租戶或跨團隊環境裡更是如此。

但這些問題不否定中心 routing,反而定義了它應該怎麼做。正確做法不是做一個萬能 monolith,而是把 routing 限定在流量控制與模型選擇這些共通職責上,同時保留清楚的逃生通道與可觀測性。中心化的目標是標準化,不是把所有事情都塞進同一個黑盒。

你能做什麼

如果你是工程師,先盤點哪些 serving 邏輯其實只是重複的流量規則,能收斂就不要再開新 endpoint。如果你是 PM,把 routing 視為產品架構的一部分,因為它會直接影響實驗速度、功能上線方式與回滾成本。如果你是創辦人,應該在模型平台還不複雜時就先建立單一入口,否則等到每個團隊都各自長出一套 serving 路徑,再重構只會更痛。