Vercel 在 2026 年 5 月更新了一份實作指南,示範如何用 Workflows、Sandbox 與 AI Gateway 建立 durable AI code agent。這不是單純教你呼叫模型,而是把 agent 需要的三個基礎能力拆開:可重試的流程、隔離執行環境、可觀測的模型存取。
這個方向很值得注意,因為很多 agent demo 的問題不是模型不會寫 code,而是一旦流程變長,就會遇到狀態遺失、測試副作用、錯誤重試、成本追蹤和安全隔離問題。
Durable AI Code Agent 是什麼?
Durable AI code agent 指的是:agent 可以執行多步驟任務,過程中即使服務重啟、某一步失敗或測試不通過,也能從已完成步驟繼續,而不是整個任務重跑。
Vercel 範例中的流程大致是:
1.使用者提交自然語言需求。
2.workflow 啟動 code evaluation。
3.agent 產生 code。
4.agent 產生 tests。
5.code 和 tests 進入 sandbox 執行。
6.如果測試失敗,把 error context 帶回下一輪。
7.最多重試固定次數,最後回傳結果。
這和簡單「問模型寫一段 code」完全不同。它更像是一個小型自動工程流程。
三個元件各自負責什麼?
Vercel 官方把責任切成三層:
| 元件 | 責任 |
|---|---|
| Workflows | orchestration、retries、state、step replay |
| Sandbox | 隔離執行 AI-generated code、測試與命令 |
| AI Gateway | 模型存取、usage tracking、observability、model swapping |
這個切法很重要。Agent 系統最怕所有事情塞進同一支 API route:模型呼叫、工具執行、測試、重試、狀態紀錄全混在一起。短 demo 可行,上線後會很難維護。
Workflows:讓 agent 任務有狀態
Agent 任務常常不是一次請求就結束。它可能跑幾分鐘,甚至更久。途中可能遇到:
- 模型回覆格式錯誤。
- 測試失敗。
- sandbox 命令 timeout。
- server redeploy。
- 網路短暫失敗。
- 使用者要求中途改方向。
Workflows 的重點,是把任務拆成可重放的 steps。已完成的 step 不需要重跑,失敗時可以從最後可確認的狀態繼續。
對 code agent 來說,這比一般 background job 更適合,因為 agent 需要保留每一步的輸入、輸出和錯誤脈絡。
Sandbox:讓 agent 的副作用被隔離
AI code agent 不能只生成程式。它應該能跑測試。但跑測試就會有副作用:
- 寫檔案。
- 安裝套件。
- 執行 shell command。
- 啟動 server。
- 開網路連線。
- 讀取環境變數。
Sandbox 的角色,是讓這些副作用留在隔離 microVM 中。官方範例用 Sandbox 執行 AI 生成的 code 和 tests,避免直接碰到 application server 或 host filesystem。
這也是 production agent 和 toy demo 的差別。真正的 agent 必須能安全失敗。
AI Gateway:模型層不要寫死
AI Gateway 在這個架構裡負責模型存取。它的價值不只是換模型方便,也包含:
- usage tracking。
- cost observability。
- provider routing。
- retry 和 failover。
- 統一 API key 管理。
- 和 provider allowlist 等治理功能搭配。
當 agent 任務變長,模型成本和供應商策略就會變重要。如果每個 step 都直接寫死 provider API,後續要調整會很痛。
這種架構適合哪些產品?
這套架構不只適合「寫 code」。它適合任何需要生成、執行、驗證、重試的 agent。
例如:
- 程式碼評估器。
- SQL query validator。
- 自動化測試修復工具。
- Notebook 或資料分析 agent。
- API integration generator。
- 文件範例程式驗證器。
- 低碼平台的 custom logic runner。
共同特徵是:模型輸出不能只展示給人看,而是要被執行和驗證。
常見設計錯誤
如果要自己做 durable code agent,幾個錯誤要避免:
- 把所有流程塞在單一 request 裡。
- 失敗後整個任務重跑,造成成本爆量。
- 讓 AI 生成程式直接在 production server 執行。
- 沒有記錄每次模型輸入、工具輸出和測試錯誤。
- 不限制 sandbox 時間、網路和檔案存取。
- 沒有把使用者確認放進高風險操作。
Agent 不是比較長的 API call。它是需要 workflow engine、execution boundary 和 observability 的系統。
官方來源
結論
Vercel 這份範例的重點,不是教你複製一個 code evaluator,而是示範 agent infrastructure 的分層方式。
Workflows 管狀態,Sandbox 管副作用,AI Gateway 管模型存取。這三件事分清楚,agent 才有機會從 demo 變成可維護的產品。對正在做內部 coding agent 或自動化工程工具的團隊來說,這個架構值得參考。