Cloudflare AI Stack 導讀:在 Workers 上做 AI、RAG 和 agent
Cloudflare AI Stack 這條系列回答 AI app 的基礎設施問題:模型怎麼跑、gateway 怎麼控、RAG 怎麼做、agent 怎麼持續執行、memory 怎麼治理、browser/sandbox/secrets 怎麼接進產品。
Cloudflare AI Stack 系列文章
Cloudflare AI Stack 這條系列回答 AI app 的基礎設施問題:模型怎麼跑、gateway 怎麼控、RAG 怎麼做、agent 怎麼持續執行、memory 怎麼治理、browser/sandbox/secrets 怎麼接進產品。
env.AI 這個 binding 不是只有 run()。它還掛了 toMarkdown(文件轉 Markdown)、autorag(託管 RAG)、gateway(外部 provider 代理)、models(metadata 查詢)。認識這四組方法,才能在 Workers 上把 Cloudflare 當完整的 AI 平台用。
在 Cloudflare Workers AI 上跑繁中 LLM,Gemma 系列的指令跟隨比同級 Llama 穩定。gemma-3-12b-it 已於 2026-05-30 標為 deprecated,現在的對應選項是 gemma-4-26b-a4b-it:256K context、Vision、Function calling,$0.10 / $0.30 per M tokens。
AI Gateway 解的是 AI 呼叫的控制問題:同一層處理 logs、analytics、cache、rate limit、retry/fallback、BYOK 與 Unified Billing。Workers 內可用 env.AI.run(..., { gateway }),外部 SDK 則改 baseURL 或 provider-native endpoint。
前身 AutoRAG 的託管搜尋原語:丟文件進內建儲存或綁 R2/網站,自動走 Markdown 轉換、切分與向量加 BM25 索引,透過 hybrid 加 RRF 加 rerank 檢索,並以 namespace 與 instance 兩種綁定或 REST 與 MCP 在 Worker 與 Agent 內查詢。
Vectorize 是 Cloudflare 的向量資料庫。AI Search 適合先把 RAG pipeline 交給平台;Vectorize 適合你要自己控制 chunking、embedding、metadata filter、hybrid retrieval、重新索引與降級策略。
Cloudflare Agents 把 agent session 做成 durable runtime:每個 agent instance 有穩定 identity、local SQLite、WebSocket、scheduled work、recoverable execution 和 tools。它不只是聊天範例;真正處理的是怎麼把 Workers、Durable Objects、AI model、Browser、Sandbox、AI Search、MCP 接成可部署的 agent app。
Agent Memory 是 Cloudflare 的 private beta 服務,用來讓 agent 跨對話記住使用者、團隊、專案與任務脈絡。它適合存 facts、events、instructions、tasks;RAG 文件、產品資料、檔案和 audit log 仍應該放在 AI Search、Vectorize、D1 或 R2。
Browser Run 讓 Workers 使用 Cloudflare 管理的 headless Chrome。Quick Actions 適合 screenshot、PDF、HTML、JSON、crawl 這類單次任務;Browser Sessions 則適合 Puppeteer、Playwright、CDP、Stagehand 這類需要完整控制的 automation。
Cloudflare Sandboxes 把 Worker 當入口、Durable Object 當具名控制面、獨立 VM 內的 Container 當執行面;適合已在 Cloudflare 上、需要大量短暫 Linux 工作區的 agent,但持久資料、安全邊界與三層費用都得自己設計。
Secrets Store 是 Cloudflare 的 open beta account-level secret store,目前整合 Workers 和 AI Gateway。它適合把 provider API keys、BYOK key、跨 Worker 共用 secret 集中管理;per-Worker secret 仍可用,但治理範圍不同。
AI app 不該把 conversation、artifact、memory、retrieval document、lock、eval trace 全塞進同一個 storage。D1 適合查詢與產品資料,R2 適合大型檔案與 artifact,Durable Objects 適合具名協調、WebSocket、per-session state;Agent Memory / AI Search / Vectorize 則分別處理記憶與檢索。
Workers Observability 負責 debug 和 request tracing;Workers Analytics Engine 負責高基數產品事件與自訂 metrics;GraphQL Analytics API 則查 Cloudflare 既有產品資料。把三者分清楚,才不會把 log 當資料庫,也不會把 billing、monitoring、產品分析混在一起。
Durable Objects 把一個 name 或 ID 對到全球唯一、單執行緒、帶私有 SQLite storage 的 actor。它適合 per-room、per-user、per-tenant、per-run 這種需要強一致協調的邊界;真正的設計題是 object key 要切在哪裡。