Cloudflare

當 agent 開始自己部署:Worker Previews 把每個 branch 變成可驗證的環境

Cloudflare 推出 Worker Previews,讓每個 Git branch 擁有獨立 URL、狀態與可觀測性,agent 可在合併前自行驗證改動。

當 agent 開始自己部署:Worker Previews 把每個 branch 變成可驗證的環境 — 文章封面
本頁內容6 個段落
  1. 問題不在部署速度,而在驗證迴圈
  2. 隔離延伸到有狀態資源
  3. Agent 需要的是證據,不是更多指令
  4. 設定一次,必要時再覆寫
  5. 目前還不完整的地方
  6. 參考來源

當 agent 開始大量產生程式碼,測試環境就變成瓶頸。Cloudflare 在 2026 年 9 月 22 日推出 Worker Previews,讓每個 Git branch 取得一個接近 production 的獨立環境,包含自己的程式碼、設定、URL、可觀測性與狀態。這解決的不是「有沒有地方測」,而是「測的地方跟 production 差多少」。

問題不在部署速度,而在驗證迴圈

Cloudflare 指出,agent 讓推送的程式碼行數變多,改動越大,合併前需要驗證的範圍就越廣。理想情況是測試不會拖慢 agent,同時讓 agent 能承擔更多開發生命週期的工作。Worker Previews 的定位就是這個 pre-production 回饋迴圈:把改動推到 branch、測試行為、檢查效能,然後才合併。

這跟過去 Workers 的 Version URL 不同。Cloudflare 說明,Version URL 指向特定上傳的 Worker 版本,不會為每個 branch 建立隔離環境,也只能指向 production 資源。Worker Previews 則讓每個 branch 有自己的環境與 URL,可以同時跑數百個 Preview,彼此不影響,也不影響 production。

隔離延伸到有狀態資源

真正麻煩的是狀態。Cloudflare 解釋,Durable Objects 採 singleton 模型,一個 object ID 由一個實例負責,而該實例擁有自己的儲存。如果 Preview 跟 production 共用同一個 DO namespace,就不只是讀到舊資料,而是可能即時改到正在服務線上流量的同一個實例。

因此每次執行 npx wrangler preview,Cloudflare 會自動為該 Preview 建立新的 Durable Object namespace 與 Container application,讓失敗的 migration 或錯誤的 schema 改動留在該 branch。開發者只需要 export class、加入 migration,並透過 ctx.exports 存取。在 production,ctx.exports.Counter 解析到 production namespace;在 Preview,則解析到該 Preview 的 namespace。

Agent 需要的是證據,不是更多指令

每個 Preview 有自己的 URL 與狀態後,agent 可以送流量、用 headless browser 點過登入流程、截圖或錄下可重播的 DOM 事件。Cloudflare 舉例,agent 可以開啟 Preview、擷取渲染結果,並把失敗的請求連結到同一次執行的 Workers Observability 事件。

這裡的關鍵是兩邊證據同時存在:畫面渲染出什麼,以及 runtime 實際發生什麼。Cloudflare 描述的回饋迴圈是 deploy、用 Playwright MCP 開啟 URL、點擊、透過 Workers Observability MCP server 查 traces、修補、重新部署、驗證,而且每次迭代都限縮在該 branch。審查者可以用 Live View 即時觀看,必要時以 Human in the Loop 介入。

這種「先補齊證據再讓 agent 動手」的思路,跟我們先前談過的 讓 coding agent 修 production bug:先補齊它看不到的三塊證據 是同一個方向:agent 的自主程度取決於它能看到多少現場資訊。

設定一次,必要時再覆寫

Cloudflare 讓團隊在 Wrangler 設定檔的 previews 區塊定義 base configuration,之後從任何 branch 執行 npx wrangler preview 就會建立 Preview;如果 Worker 透過 Workers Builds 連接 Git,push 時會自動建立。單一 Preview 可以覆寫設定,例如指向自己的資料庫或測試 API key,而不影響 production、base 或其他 Preview。

Preview URL 也可以放在自訂網域,例如 feature-login.previews.example.com,讓 auth provider、cookie、CORS 與 OAuth redirect 的行為跟 production 一致。若需要隱私,可用 Cloudflare Access 要求登入。

目前還不完整的地方

Cloudflare 自己列出了幾個限制。今天 Preview 的 service binding 仍會呼叫被綁定 Worker 的 production 部署;Preview 可以送訊息到 Queues,但不能消費;隔離 Workflow 執行需要額外設定。Cloudflare 也說正在支援多 Worker 應用、在 Preview 內跑 Queue consumer 與 Workflows,以及長期存在的 staging 或 QA Preview。

對產品團隊來說,Worker Previews 的價值不是「多一個環境」,而是把驗證單位從共用 staging 改成每個 branch。這讓 agent 產生的改動有機會在合併前被獨立部署、觀察與修正。實務上要先確認的是:你的服務綁定、非同步流程與長期環境是否已經被涵蓋;如果沒有,agent 的自主迴圈仍會在某些路徑上碰到 production。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

這篇內容對你有幫助嗎?

支持本站繼續整理實用的 AI 文章、教學與開發筆記。

請我喝杯咖啡
分享X電郵