多數團隊都是從應用程式碼裡直接呼叫模型供應商。API 金鑰放在環境變數裡,SDK 呼叫只有三行,第一次就跑通了。Cloudflare AI Gateway 之所以存在,是因為接下來會發生的事。帳單來了,卻沒有人說得清是哪個功能花掉的。供應商過了糟糕的一個下午,順帶把你的產品也拖了下去。系統提示詞被改過一次,而舊的那一版回傳過什麼,沒有任何紀錄。
閘道就是放在應用程式與供應商之間的一個代理。所有請求都經過它,所以所有請求都可以被計數、記錄、快取、限流,並且在供應商出狀況時改到別處重試。對於三個原本只會被拖到很晚、再用手工方式解決的問題來說,它是最便宜的結構性修法。
底下要談的是它做什麼,它除了觀測之外還能強制什麼,它在金錢與毫秒上各要你付出什麼,以及誠實地說,它的邊界在哪裡。
在模型 API 前面加一層閘道,真的能省錢嗎? 不會直接省。Cloudflare AI Gateway 的核心功能在所有方案上都免費,也不對推論加價,所以省下來的錢來自它讓你看見的東西,而不是它擋下的東西。依功能歸屬成本會告訴你產品的哪一部分貴,快取會在安全的場景裡消掉重複的相同呼叫,備援路由則讓供應商的故障不至於變成你的故障。預算強制是有的,但預算用盡時要發生什麼,是產品決策而不是設定項目。
直接呼叫模型回答不了的三個問題
支持導入閘道的所有論證,最後都會歸到三個問題之一,而這三個問題只要還在直接呼叫 SDK 就答不上來。可見性與可控性這種抽象說法,說服不了任何一個必須為這項工作辯護的人。
沒有人能把帳單攤開
依 token 計費是照用量走的,而供應商的帳單是彙總的。你拿到的是每把 API 金鑰的月度總額,不是每個功能的總額。如果一個摘要功能、一個聊天助理與一個夜間分類工作共用一把金鑰,帳單不會告訴你其中哪一個翻了三倍。常見的因應是每個功能一把金鑰,這招在你有十一個功能、再加上一套金鑰輪替政策之前都還管用。
沒有人能重現故障
當呼叫在應用程式碼裡失敗時,留下來的只有記錄器抓到的那點內容,通常是一個狀態碼與一條被截斷的訊息。很少會留下確切的提示詞、作答的模型版本,或者它是在多長的延遲之後放棄的。一天之後再想重現事故,就變成了對輸入的猜謎。而在這段時間裡,供應商的故障會直接傳導到你的使用者身上。
沒有東西能替失控的迴圈設上限
一個會自己重試的代理程式,一個失敗就重新投遞的佇列消費者,或者一個終止條件被模型反覆判定為未滿足的迴圈:每一種都能在有人察覺之前產生成千上萬次呼叫。如果路徑上沒有東西在計數,第一個訊號就是帳單。除非路徑上有元件去強制,否則依使用者的上限與硬性中止根本不存在,而應用程式碼是個糟糕的存放位置,因為每一個呼叫點都得記得去寫。
Cloudflare AI Gateway 是什麼,它坐在請求路徑的哪個位置
Cloudflare 的 AI Gateway 概觀 把它描述為一項坐在你的應用程式與 AI 模型供應商之間的服務,讓你可以監控用量並管理應用程式的擴展方式。功能包括分析、日誌、快取、限流,以及帶備援的請求重試,所有 Cloudflare 方案都能用。Cloudflare 聲稱一行程式碼就能開始,而從整合的形態就看得出這句話為什麼接近事實。
整合就是改一個基礎 URL
你不再把 SDK 指向供應商,而是把它指向一個帶有帳戶識別碼、閘道識別碼與供應商名稱的閘道位址。Cloudflare 把 OpenAI 的寫法 記為 https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai,在建構用戶端時當作 baseURL 傳入。模型名稱、參數、串流與回應解析都維持原樣。Cloudflare 的 供應商清單 用同一套模式涵蓋二十多項服務,其中包括 OpenAI、Anthropic、Google Vertex AI、Amazon Bedrock、Azure OpenAI、Mistral、Groq、DeepSeek、xAI,以及 Cloudflare 自家的 Workers AI。
這種形態意味著什麼
採用它確實便宜:每項服務一個設定值,改回去就等於撤銷,這讓它成為少數幾個不必立案就能試的基礎設施變更之一。
代價是,你的供應商金鑰從此要經過 Cloudflare,因為代理必須把它轉送出去,除非你改用已儲存的金鑰或 Cloudflare 代管的憑證。這是一個關於信任的決定,不是一個細節。
而且它能提供的一切,都被代理看得見的東西所限定。它看得見請求與回應,看不見你的應用程式意圖,這正是成本歸屬需要你自己替請求加上標籤的原因,而不是指望閘道去猜某次呼叫是做什麼用的。
真正省錢的功能是分析與日誌
閘道會替每一個請求計數。Cloudflare 的 日誌文件 列出了一筆紀錄裡裝著什麼:使用者提示詞、模型回應、供應商、時間戳記、請求狀態、token 用量、成本、耗時,以及用戶端的 user agent。是依請求而不是依月份,而且可以查詢。
關於錢為什麼在這裡、而不在那些強制類功能上,得說得直白些。擋住支出省下來的,只是你叫停的那些呼叫的成本,這個數字是有上限的。而知道錢花到哪裡去會改變你要做什麼,這件事沒有上限。
歸屬不是自動的。自訂中繼資料可以附上你自己的標籤,例如功能名稱或租戶,讓分析能依它們分組。跳過這一步,你拿到的就只是一個總數,而那正是帳單早就給過你的東西。
快取,以及快取命中毀掉產品的那些情況
快取是最常因為錯誤理由而被打開的功能,也是最有能力悄悄弄壞一個產品的功能。
快取鍵是怎麼組出來的
Cloudflare 的 快取文件 說明這個鍵是供應商、端點、模型、驗證標頭以及完整請求主體的 SHA-256 雜湊。全部精確相符才算命中,其餘都是未命中。所以命中要求請求逐位元組相同,而對一個帶著累積歷史的聊天端點來說,過了第一輪之後這種情況很少發生。存活時間最短 60 秒,最長一個月。依請求的控制來自 cf-aig-cache-ttl、cf-aig-skip-cache 與 cf-aig-cache-key,而 cf-aig-cache-status 會回傳 HIT 或 MISS,讓你能量出真實的命中率。
什麼時候命中是安全的,什麼時候不是
在相同輸入本來就該產生相同輸出、而且答案略舊也可以接受的地方,命中是安全的:分類、結構化擷取、固定字串的翻譯、未變更文件的嵌入、評測流量。只要產品的價值取決於回答之間的差異,命中就不安全。如果兩位使用者問了同一個問題,而第二位收到的是為第一位產生的回答,那你的 temperature 設定只是個裝飾。
更糟的那種失敗屬於隱私。如果請求主體裡沒有任何能區分使用者的東西,一筆快取過的回應就可能越過使用者邊界,這屬於資料外洩而不是品質問題。另外,快取只涵蓋文字與影像回應。
限流、重試與備援路由
這三樣常常被合在一起當成可靠性功能來談。真正在有意義地約束成本的,只有其中一樣。
限流限的是請求數,不是 token
Cloudflare 提供 固定視窗與滑動視窗 兩種方式,超出限額的請求會收到 429。請注意被計數的是什麼:是請求。一次夾帶超大上下文的呼叫,成本遠高於一次簡短呼叫,而限流器分不出這兩者。限流保護你不被失控的迴圈與被濫用的端點拖垮,但保護不了你免於一條昂貴的提示詞,把它當成成本控制手段是常見的錯誤。
重試與逾時
Cloudflare 的 請求處理標頭 允許用 cf-aig-max-attempts 設定最多 5 次嘗試,用 cf-aig-retry-delay 設定最長 5000 毫秒的延遲,並用 cf-aig-backoff 選擇固定、線性或指數退避策略。cf-aig-request-timeout 這個標頭是從回應的第一部分抵達時開始計的,所以在串流呼叫上,它是首位元組時間的上限,而不是總時長的上限。在最後一次嘗試上,閘道會一直等到請求完成,不管要花多久。
備援路由已經換了形態
那個接收供應商物件陣列、失敗時順著往下走的 Universal Endpoint 已經不再建議使用。Cloudflare 現在把新的整合導向 OpenAI 相容端點,而備援、重試與條件路由則導向 Dynamic Routing。一條動態路由是帶名稱與版本的流程,可以在介面上拉也可以用 JSON 寫,由模型節點、依請求主體或標頭或中繼資料分支的條件節點、用於 A/B 測試的百分比節點,以及超出後轉向備援方案的限流節點與預算上限節點組成。呼叫它的方式,是把路由名稱填在本來寫模型名稱的位置。
檢查送進去的與回來的內容
因為代理同時握著這次交換的兩半,它就能對它們做評估。Cloudflare 的 Guardrails 會攔下使用者提示詞與模型回應,把內容標記為待審查或直接阻止它繼續,並且不管是哪個供應商作答,都套用同一份政策。
把政策放在路徑上而不是放在程式碼裡,理由是應用程式層的內容審核必須在每一個呼叫點各寫一次,而上週新加的那個呼叫點正是會漏掉它的地方。代價是檢查本身也是推論:Guardrails 依 Workers AI 的 token 用量計費,所以價格會隨你送去檢查的內容長度而增加。資料外洩防護掃描在所有方案上免費。
2026 年 8 月的 Agents Week 改變了什麼
Cloudflare 在 2026 年 8 月 3 日到 7 日舉辦了第一屆 Agents Week,並在最後一天發布了 Workers AI 與 AI Gateway 的整併,把兩者合成單一控制平面。要把已經交付的與只是宣布的分開看。
已經交付的:繫結從兩個變成一個,於是 env.AI.run() 同時涵蓋 Workers AI 模型與外部供應商。對 Workers AI 來說,走閘道的路由從選用變成了預設,寫上 gateway: { id: 'default' } 就會在首次使用時自動建立閘道,而且不必改別的就能拿到請求日誌、token 追蹤與成本歸屬。額度變成可以跨供應商使用,所以 Workers AI 可以與 OpenAI 或 Anthropic 從同一筆預付餘額扣抵。
沒有交付的:模型優先路由,也就是你指定一個模型、由平台去挑供應商的那種方式,是接下來才會有,而不是現在可用;對提示詞做分類的智慧路由器仍在內部試行。這次是計費、繫結與儀表板的整併,不是一項新能力。如果你本來就在不經閘道的情況下呼叫 邊緣上的 Workers AI,那麼現在你預設就有了可觀測性。
Cloudflare AI Gateway 要花多少錢
Cloudflare 的 AI Gateway 定價頁 寫明,目前提供的核心功能是免費的,涵蓋所有方案上的儀表板分析、快取與限流。底下所有數字都是 Cloudflare 公布的美元價格,依 Cloudflare 公布的幣別原樣列出。
費用實際出現在哪裡
持久化日誌本身免費,但依方案設有上限:Workers Free 上是所有閘道合計 100,000 筆,Workers Paid 上是每個閘道 1,000 萬筆。把這些日誌匯出到別處的 Logpush 屬於付費方案功能,每月 1,000 萬筆,超出部分每百萬筆 0.05 美元。Workers AI 本身依 它的定價頁,每天含 10,000 個神經元的免費額度,付費方案上超出的部分依每 1,000 個神經元 0.011 美元計費,神經元是 Cloudflare 用來計量 GPU 運算的單位。
整合帳單要收 5 個百分點
如果你用的是 Cloudflare 代管的憑證而不是自己的供應商金鑰,那麼購買額度要收 5 個百分點的費用。Cloudflare 自己舉的例子是買 100 美元額度、以 105 美元結帳。推論則是原價轉手,不加價。自備金鑰的話整合帳單就不適用,因為帶著供應商驗證資訊或已儲存金鑰的請求會繞過它。
把成本控制做對
閘道能可靠強制的只有三件事:請求速率、動態路由裡的預算上限,以及某個請求是否由快取來回應。它做的其他一切都是量測。把這兩類混為一談,正是有些團隊裝上閘道、把每個選項都勾過一遍,最後仍然被帳單嚇一跳的原因。
一個硬性預算上限,在成為一項設定之前先是一項商業決策。碰到上限時總得發生點什麼,而每個選項都各有各的糟糕。讓請求失敗,會讓最後一個提問的人體驗變差,那看起來像個 bug。退回到更便宜的模型,會讓品質悄悄下滑。放進佇列,則把成本問題換成了延遲問題。在這幾者之間做選擇,才是真正的工作。
能落到帳單上的節省,通常來自可觀測性而不是強制。一旦支出依功能分好組,昂貴的那件事幾乎總能在不換模型的前提下修好:每一輪都送過去的過大系統提示詞、明明用滾動摘要就夠卻整份重送的對話歷史、朝著一個本來就不可能成功的失敗反覆開火的重試迴圈。日誌能把這些全找出來。限流器一個也找不到。
你正在增加的延遲
多一跳不是免費的,而假裝它免費,正是好決定因為壞理由被做出來的方式。你的請求現在會在某個 Cloudflare 資料中心落地、在那裡被處理,然後轉送給供應商,這就多出一次 TLS 交握與一段你原先不必付出的網路路程。
在一般情況下,相對於它所包住的東西,這點開銷很小。一次聊天完成從幾百毫秒到幾秒不等,主要時間花在生成上,而閘道位於 Cloudflare 的邊緣網路上,所以第一段路程會在離呼叫方很近的地方結束。相對於一次耗時 2 秒的完成,這點額外開銷就是雜訊。
它不再是雜訊的地方,是那些短小、便宜、量大的呼叫。一個遠低於 0.1 秒就回來的嵌入請求,就屬於固定開銷會變成看得見的百分比的情形。另一種是串流,因為使用者體感的數字是第一個 token 的抵達時間,而在那個 token 落地之前加進來的任何東西,都會落在最要緊的那個指標上。請用閘道記錄的耗時去量,並與直接發出的同一次呼叫做對照。
多供應商策略,以及你逃不掉的那種鎖定
宣傳語是閘道讓供應商變得可以互換,在傳輸層上這話是對的。OpenAI 相容端點給你統一的請求形態,動態路由給你不必重新部署的故障切換,而改一個模型名稱變成了設定而不是程式碼。
傳輸層從來就不是貴的那部分。換模型之所以貴,是因為模型的行為彼此不同。一條針對某個模型調了好幾個月的系統提示詞,換到另一個模型上會產生不同的輸出。工具呼叫的格式與可靠程度不同。拒答行為不同,所以以前過得了的內容現在會被拒。對所要求的 JSON 結構的遵守程度不同,照著某個模型的習慣寫出來的解析器,換到另一個模型上就會壞。上下文視窗大小也不同。
你真正買到的,是讓一次切換變成一個下午的評估工作,而不是一個衝刺週期的管線工程,以及不必自己動手就已經存在的故障切換。這值得擁有,但它不是可攜性。有一項二階相依值得點名:閘道現在坐在每一次模型呼叫的路徑上,所以它的可用性就成了你的可用性。這與我們比較 Cloudflare Workers 與 AWS Lambda 時檢視過的是同一筆交易。
記錄提示詞就等於處理個人資料
這一節最常被跳過,也是帶著法律風險的一節。每個閘道的日誌預設都是開的,而一筆紀錄會完整包含使用者提示詞與模型回應。只要你的使用者打進任何關於自己的內容、貼上一份文件,或者向助理描述一段醫療或財務狀況,那些內容就是放在第三方日誌儲存區裡的個人資料,而在英國 GDPR 之下,你仍然是它的控管者。
在資料離開你的應用程式之前就抹掉
唯一可靠的刪除位置,是在送出之前。閘道提供了 cf-aig-collect-log-payload: false 來保留中繼資料但丟掉主體,以及 cf-aig-collect-log: false 來什麼都不記。但資料最小化談的是一開始就不要蒐集超出需要的東西,所以持久的修法在上游:在請求離開你的行程之前,就把帳號、識別碼以及模型並不需要的自由文字欄位剝掉。
保存期限是你必須自己做的決定
ICO 關於 儲存限制 的指引並沒有規定固定期限。它要求的是:不要把個人資料保存得比你需要的更久,能夠為所選的期限提出理由,有一份訂出標準期限的政策,以及定期檢視並把不再需要的內容刪除或匿名化。一個帶著方案級上限的日誌儲存區不是保存政策,因為上限是儲存容量的邊界,而不是一段有理由的期限。
公平地列出替代方案
真正的替代方案有三個,而選擇主要取決於由誰來維運這個東西。
自建的開源 LLM 代理給你同樣的請求路徑,只不過日誌放在你自己控制的基礎設施上,當提示詞的敏感性本身就是問題時,這是對的選擇。代價是你要維運一個位於每一次模型呼叫關鍵路徑上的元件。
專做 LLM 可觀測性的廠商,在評測、提示詞版本管理與軌跡檢視上走得更深。如果你的問題是輸出不對而不是成本不透明,那邊更合適,而且這兩者並不互斥。
在需求很窄的時候,自己做也站得住腳。一個把請求、回應、token 數與一個功能標籤寫進你既有可觀測性體系的包裝層,大概兩天工作量,就能回答歸屬這個問題。你不會便宜拿到的,是鍵組得正確的快取,以及跨供應商的備援。
規則是這樣:如果沒人知道錢花到哪裡去了,閘道是最快的修法,而免費額度足以證明這一點。如果提示詞不能離開你的基礎設施,就自建。如果輸出本身就是錯的,任何閘道都幫不上忙,你需要的是評測工具。
導入要付出什麼,又會帶回什麼
對於一個已經在呼叫單一供應商的單一服務,半天。建立閘道,在設定裡改掉基礎 URL,放在旗標後面部署,讓回復是改一個環境變數而不是發一次版,看著日誌長出來,確認串流仍然表現正常。
對於一個真實產品,請預算 3 到 5 個工程師日,而其中大部分都不是閘道本身的活。那些活是:訂出一套中繼資料結構,好讓歸屬能回答你真正會問的問題;稽核每一個呼叫點,包括排程工作與一年沒人打開過的程式碼;弄清哪些端點可以安全地快取;以及寫好去識別化這一步。備援路由再加一天,因為只有在你測過備援模型能給出可接受的輸出之後,這個備援方案才值得擁有。
回報並不光鮮。你不再被帳單嚇一跳,而對多數團隊來說,這一點勝過絕對的節省金額。供應商故障會變成一次降級的回應,而不是一次事故。受益最大的是在做 代理程式工作流程 的團隊,因為使用者的一次操作扇出成幾十次模型呼叫,正是估算與現實分道揚鑣的地方,這個模式我們在 AI 代理程式的成本與失效方式 裡談過。
在不弄壞正式環境的前提下裝上它
行得通的順序是刻意無聊的。把閘道放進路徑,只開日誌,別的什麼都不開。收一週資料。讀歸屬結果。然後只啟用資料能證明其必要性的那些功能,並把快取放到最後,只在你能說清一個重複答案為什麼仍是正確答案的端點上開啟。
Mecanik 把這一層的建置與維運當成我們 AI 整合 工作的一部分,而我們的 OpenAI API 整合 服務負責供應商那一側。合作幾乎總是以同樣的方式開始:先做一週的日誌,別的什麼都不改,因為歸屬資料通常會把優先順序清單重新排一遍。
常見問題
Cloudflare AI Gateway 是免費的嗎? 核心功能在所有方案上都免費,Cloudflare 的定價頁把這個範圍描述為儀表板分析、快取與限流,資料外洩防護掃描同樣免費。費用出現在邊緣位置:Logpush 屬於付費方案功能,Guardrails 依 Workers AI 的 token 推論計費,而日誌儲存是依方案設上限,而不是依每筆日誌定價。
AI 閘道會替模型呼叫增加延遲嗎? 會,它增加了一次 TLS 交握與一段網路路程。相對於一次耗時幾百毫秒到幾秒的聊天完成,這點開銷通常可以忽略。它會在嵌入或小型分類這類短小而量大的呼叫上變得明顯,也會在串流回應上變得明顯,因為那裡使用者體感的指標是第一個 token 的抵達時間,而不是總時長。
什麼情況下快取 LLM 回應是不安全的? 只要產品的價值取決於回答之間的差異,或者請求主體本身無法區分不同使用者,快取就不安全。Cloudflare 用供應商、端點、模型、驗證標頭與完整請求主體來組出快取鍵,所以一次命中意味著逐位元組相同的請求。快取適合分類、擷取與嵌入,不適合本來就該因人而異的對話式回答。
有了閘道,切換模型供應商就容易了嗎? 在傳輸層上是的:統一的請求形態、一處設定變更,以及不必重新部署的故障切換。但切換中真正貴的那部分絲毫未減:針對某個模型調好的提示詞換到另一個模型上行為會變,工具呼叫格式與拒答行為不同,對 JSON 的遵守程度不同,上下文視窗也不同。閘道拿掉的是管線工程,不是評測工作。
Cloudflare 在 2026 年 8 月改了什麼? 2026 年 8 月 7 日,在 Agents Week 的最後一天,Cloudflare 把 Workers AI 與 AI Gateway 整併成單一控制平面:一個同時涵蓋 Workers AI 與外部供應商的 AI 繫結、Workers AI 上預設開啟的閘道路由,以及可以從同一筆預付餘額跨供應商使用的額度。模型優先路由被宣布為接下來才會有,而不是已經交付。
評論