如果你在開發 AI 應用時,習慣讓 LLM 幫你寫一段程式碼,然後你再手動複製到編輯器執行,那麼你接觸的是 Request-based(基於請求)的模式。但現在的趨勢是讓 AI 變成 Agent(代理人),它不再只是回答問題,而是能像工程師一樣,在後台獨立運作、修改檔案、執行測試並提交 PR。Vercel 最近推出的開源專案 Open Agents 正是為了實作這種後台自動化編碼工作流。
對於剛接觸 Agent 開發的工程師來說,最重要的一點是理解為什麼不能直接讓 AI 在伺服器上跑程式碼。這就涉及到了 Open Agents 的核心設計:三層架構。
第一層是 Web Interface(網頁介面),負責處理使用者登入、對話串流與 session 管理。第二層是 Agent Workflow Layer(代理人工作流層),這是 AI 的大腦,決定接下來要做什麼。第三層則是 Sandboxed Execution Environment(沙盒執行環境),也就是一個隔離的虛擬機。
這裡的 Sandboxed Execution Environment 是關鍵。沙盒是指一個與主系統隔離的環境,這樣 AI 即使寫錯了指令(例如執行了危險的 shell 指令),也不會弄壞你的伺服器。它提供了檔案系統訪問、Shell 指令執行以及開發伺服器,讓 AI 能在一個安全的地方嘗試編碼並驗證結果。
一個值得關注的技術細節是 Agent 與 Sandbox 的分離設計。在 Open Agents 中,AI 並不是直接住在虛擬機裡面,而是透過工具(Tools)來操作虛擬機。AI 會發出指令說我想讀取這個檔案或執行這個指令,系統再將其傳遞給沙盒執行。
這種分離設計解決了生命週期管理的問題。如果 AI 和虛擬機綁死,一旦請求結束,環境就消失了。但現在採用的是 Durable Workflows(持久化工作流),這意味著 AI 的工作進度可以被儲存。即便你關掉瀏覽器,後台的 Agent 依然在跑,而沙盒可以進入休眠或快照狀態,等下次需要時再恢復。這讓 AI 能處理耗時較長的複雜任務,而不是在一次 HTTP 請求超時後就中斷。
在實作層面上,這個系統依賴 PostgreSQL 來管理狀態與 OAuth 認證,並整合 GitHub API 來達成自動化克隆儲存庫、建立分支以及提交 Pull Request。這將 AI 的角色從單純的程式碼產生器,提升到了能參與整個 CI/CD 流程的虛擬協作者。
然而,這種設計也存在爭議。部分開發者認為將 AI 大腦與執行環境分開,雖然提升了擴展性與安全性,但限制了 AI 的自由度與創造力。他們主張應該給每個 Agent 一台完整的電腦,讓 AI 能更直接地掌控環境,而非透過中介工具來操作。
總結來說,Open Agents 的核心價值在於它提供了一套參考實作,告訴我們如何建構一個長運行、可持久化且安全的 AI 編碼環境。它將 AI Coding 從單次對話轉化為持續性的後台系統,這將是未來自動化開發工具的主流方向。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。