# 影片筆記:AI Agent 終於有家了!用 cloudflare/computer 五分鐘打造具備永久記憶的雲端應用 ## 一句話總結 Cloudflare 推出開源專案 `computer`,透過將「狀態」與「執行」分離,利用 Durable Object + SQLite 提供永久檔案系統,並結合 Container 與 Isolate 兩種後端模式,為 AI Agent 打造具備「記憶」與「工作台」的雲端虛擬電腦環境。 ## 核心重點 1. **解決 Serverless 痛點**:傳統無伺服器架構缺乏檔案系統與複雜程式執行能力,`computer` 旨在提供一台完整的「虛擬電腦」,而非僅是容器。 2. **狀態與執行分離架構**: * **狀態層(硬碟)**:使用 Cloudflare Durable Object 結合 SQLite,儲存檔案系統結構與內容,確保資料永久保存與一致性。 * **執行層(CPU)**:提供兩種可切換的後端模式,透過統一 API `workspace.runtime.exec` 進行調度。 3. **雙後端模式**: * **重量級 Container 後端**:啟動完整 Linux 環境,支援二進位檔案執行(如 pandoc、ffmpeg),透過 FUSE 技術掛載硬碟資料。 * **輕量級 Isolate 後端**:快速啟動 Cloudflare Worker,適合執行簡單 Shell 指令或 JavaScript,具備低延遲特性。 4. **應用場景**:支援 AI Agent 複雜任務(如撰寫報告並轉檔)、輕量級雲端開發環境(執行 build script 並發佈至 Cloudflare Artifacts)。 5. **現狀與風險**:專案處於早期預覽階段,雖獲 GitHub 高關注度,但存在廠商鎖定、系統複雜度高及穩定性未經驗證等風險,不適合直接用於 Production 環境。 ## 詳細大綱 ### I. 專案背景與目標 * **專案名稱**:`computer` * **發起者**:Cloudflare * **核心目標**:給 AI Agent 或雲端應用程式一台完整的虛擬電腦,解決傳統 Serverless 環境無狀態、生命週期短、缺乏檔案系統與執行複雜程式能力的痛點。 * **社群反應**:GitHub 上線不久即獲得近 3,000 顆星,其中一天內暴增近 900 顆,Fork 數達 130。 ### II. 傳統 Serverless 的局限性 * **無狀態與短生命週期**:函數執行完後,執行環境與資料即消失。 * **狀態管理困難**:需將狀態存至外部 S3 或資料庫,每次執行重新讀取,效率差。 * **複雜任務處理難**:編譯程式碼或轉檔影片需額外啟動笨重容器或虛擬機。 ### III. `computer` 核心架構設計 * **設計哲學**:將「狀態」與「執行」切得一乾二淨,模擬雲端筆電。 * **硬碟(狀態層)**: * 技術:Cloudflare Durable Object + SQLite 資料庫。 * 功能:儲存檔案系統結構與內容,確保資料永久保存與一致性。 * **CPU(執行層)**:具備兩種可切換模式。 1. **Container 後端(重量級)**: * 啟動完整 Linux 環境。 * 支援執行二進位檔案(例:pandoc 轉檔、ffmpeg 處理影片)。 * 透過 FUSE 技術將硬碟資料掛載至容器,實現自然讀寫。 2. **Isolate 後端(輕量級)**: * 極短時間內啟動 Cloudflare Worker。 * 執行簡單 Shell 指令或 JavaScript 程式碼。 * 特點:延遲超低。 * **統一介面**:透過 `workspace.runtime.exec` API,根據任務需求自由選擇後端,平衡成本與效能。 ### IV. 應用場景 * **AI Agent 複雜任務處理**: * 範例:撰寫報告。 * 流程:建立工作目錄 -> 使用 Isolate 後端快速撰寫 Markdown -> 呼叫 Container 後端啟動 pandoc 轉檔為 PDF。 * **輕量級雲端開發環境**: * 透過 API 執行 build script。 * 將專案發佈至 Cloudflare Artifacts。 * **生態系依賴**: * 對已使用 Cloudflare 平台的開發者較易上手。 * 生態系外使用者需熟悉 Durable Objects 等相關服務。 ### V. 社群評價與風險分析 * **正面評價**: * 創新架構理念:用 Durable Object + SQLite 打造永久工作區。 * 動態切換能力:在輕量 Isolate 與完整 Container 間切換。 * 為未來自主 AI Agent 打下潛力基礎。 * **負面/質疑聲音**: * **行銷與技術落差**:宣傳口號為「Agent 需要電腦,而不是容器」,但專案處於早期預覽階段,不適合 Production 環境。 * **穩定性未經驗證**:效能與穩定性未經大規模實戰測試。 * **潛在風險**: 1. **廠商鎖定(Vendor Lock-in)**:高度依賴 Cloudflare Durable Objects 和 Workers,遷移困難。 2. **系統複雜度**:橫跨 FUSE、RPC、Durable Object 等多個抽象層,除錯(Debug)困難。 3. **效能瓶頸**:需平衡強大能力與系統複雜度。 ### VI. 總結與展望 * `computer` 不僅是工具,更是一套解決 Serverless 核心限制的世界觀。 * 賦予雲端運算任務持久的「記憶」與靈活的「工作台」。 * 為雲端原生與 AI 技術開發者提供極具想像力的方向,值得持續追蹤。 ## 工具 / 模型 / 名詞整理 * **GitHub**:專案託管平台。 * **Cloudflare**:專案發起者及底層服務供應商。 * **computer**:Cloudflare 推出的開源專案名稱。 * **AI Agent**:人工智慧代理程式。 * **Serverless / 無伺服器**:架構類型。 * **TypeScript**:專案開發語言。 * **S3**:外部儲存服務(提及作為傳統解法)。 * **Durable Object**:Cloudflare 技術,用於儲存狀態。 * **SQLite**:資料庫系統,用於 Durable Object 內儲存檔案結構。 * **Container**:容器後端模式。 * **Linux**:作業系統環境。 * **pandoc**:用於文件轉檔的工具。 * **ffmpeg**:用於處理影片的工具。 * **FUSE**:技術,用於將檔案系統掛載到容器。 * **Isolate**:輕量級後端模式。 * **Cloudflare Worker**:執行輕量級任務的服務。 * **Shell**:指令列介面。 * **JavaScript**:程式語言。 * **workspace.runtime.exec**:統一的 API 名稱。 * **Cloudflare Artifacts**:專案發佈目標服務。 ## 操作流程整理 ### 場景一:AI Agent 撰寫報告並轉檔 1. **建立工作目錄**:利用狀態層建立虛擬電腦的工作環境。 2. **撰寫內容**:使用 **Isolate 後端** 快速撰寫 Markdown 文件。 3. **執行轉檔**:呼叫 **Container 後端**,啟動 `pandoc` 將 Markdown 轉檔為 PDF。 4. **結果儲存**:轉檔後的檔案儲存於狀態層,供後續使用。 ### 場景二:輕量級雲端開發環境 1. **執行腳本**:透過 API 執行 build script。 2. **發佈專案**:將構建完成的專案發佈至 **Cloudflare Artifacts**。 ## 值得注意的限制或風險 1. **廠商鎖定(Vendor Lock-in)**:專案高度依賴 Cloudflare Durable Objects 和 Workers,若未來遷移將面臨困難。 2. **系統複雜度高**:架構橫跨 FUSE、RPC、Durable Object 等多個抽象層,導致除錯(Debug)困難。 3. **穩定性未經驗證**:專案目前處於早期預覽階段,效能與穩定性未經大規模實戰測試,不適合直接用於 Production 環境。 4. **行銷與技術落差**:雖然宣傳口號強調「Agent 需要電腦,而不是容器」,但實際技術實現仍涉及複雜的底層服務整合。 ## 逐字稿辨識疑點 * **computer**:逐字稿中多次提及專案名稱為 `computer`,通常 GitHub 專案名可能為複數或其他變體,此處保留原樣。 * **二千八百五十四顆星 / 八百九十一顆**:數字具體,但隨時間變化,僅記錄逐字稿所述數據。 * **FUSE 技術**:逐字稿提及透過 FUSE 技術掛載,需確認在 Cloudflare 環境下具體實現方式是否完全符合標準 FUSE 定義,此處僅記錄提及。 * **Isolate 後端**:Cloudflare 技術術語中常見 "Isolates" 或 "Workers",逐字稿使用單數 "Isolate",保留原樣。 * **Cloudflare Artifacts**:Cloudflare 產品線中可能有類似名稱服務,需查證確切產品名稱是否為 "Artifacts" 或為其他服務(如 Pages, R2 等)的誤稱,此處標記為需查證。 * **Agent 需要電腦,而不是容器**:此為 Cloudflare 宣傳口號,逐字稿引用,保留原樣。 ## 可延伸追問 1. `computer` 專案目前的 GitHub 星數與 Fork 數具體變化趨勢為何? 2. 在 Production 環境中,如何具體解決 Durable Object 與 Worker 之間的延遲與成本平衡問題? 3. 若需遷移非 Cloudflare 生態系的應用,`computer` 的架構調整難度與成本評估? 4. FUSE 技術在 Cloudflare 環境下的具體實現細節與限制為何? 5. Cloudflare Artifacts 的確切產品定義與 `computer` 專案的整合方式為何?