今天我們要深度解析 GitHub 上的一個熱門專案：computer，
由 Cloudflare 推出，
目標是給你的 AI Agent 或雲端應用程式
一台完整的虛擬電腦。
它讓應用能無縫地在高效能的容器與低延遲的 Worker 之間切換，
賦予邊緣運算前所未有的檔案與程式執行能力。
有一個開源專案，
它宣稱要給 AI Agent 一台真正的「電腦」，
而不是一個小小的「容器」。
但有趣的是，
它的底層卻同時用了容器和 Cloudflare Workers。
這個設計聽起來有點矛盾，對吧？
但它在 GitHub 上線不久，
就吸引了將近三千顆星，
甚至有一天就暴增了快九百顆。
這背後可不是什麼行銷話術，
而是一場對無伺服器架構邊界的深刻探索。
今天我們要聊的這個專案，叫做 computer，
它到底藏了什麼樣的技術權衡與設計哲學呢？
computer 這個專案，是由 Cloudflare 發起的一項實驗。
它的目標很明確，
就是要解決一個根本問題：
AI Agent 或雲端應用程式，
在無伺服器 Serverless 環境中，
沒有自己的檔案系統，
也沒辦法執行複雜的程式。
簡單來說，
computer 為每一個運算任務，
都提供了一台功能完整的虛擬電腦。
這個專案是用 TypeScript 寫的，
目前已經累積了二千八百五十四顆星，
其中有八百九十一顆是在一天之內衝上來的，
Fork 數也達到一百三十。
從這些數字可以看出，
它的概念在開發者社群裡，
確實引發了高度的關注和好奇。
我們來談談傳統的 Serverless 架構，
也就是無伺服器。
它最大的特點就是「無狀態」
而且「生命週期很短」。
這代表什麼呢？
意思就是，一個函數跑完，
它所有的執行環境、
所有的資料，就通通消失了，
船過水無痕。
但這對於需要「記憶」和「工作空間」的 AI Agent 來說，
簡直是個天大的限制。
你想想，一個沒有記憶的智慧體，要怎麼工作？
過去的解法，
通常是把狀態存到外部的 S3 或資料庫，
每次執行再重新讀取，
這過程不但麻煩，效率也很差。
那如果要處理更複雜的任務，
像是編譯程式碼、或是轉檔影片呢？
那就更麻煩了，
還得額外啟動笨重的容器或虛擬機。
而 computer 這個專案的切入點，
就是要解決這個痛點。
它試圖在 Serverless 的輕量和彈性之上，
嫁接一個可以永久保存、又能互動的運算環境。
目標，就是讓 AI Agent 真正擁有一個屬於自己的工作台。
好，那 computer 的核心架構是怎麼做到的呢？
關鍵在於，它把「狀態」跟「執行」這兩件事，切得一乾二淨。
你可以把它想像成一台很特別的雲端筆電。
首先，這台筆電的「硬碟」，其實是一個 Cloudflare Durable Object。
它裡面用了一個 SQLite 資料庫，
來儲存整個檔案系統的結構和內容。
Durable Object 這個技術，
確保了你的資料可以永久保存，
而且維持一致性。
再來，這台筆電的「CPU」更酷，
它有兩種模式可以隨時切換。
第一種，是重量級的 Container 後端。
它可以啟動一個完整的 Linux 環境，
讓你能執行任何二進位檔案。
比方說用 pandoc 來轉檔，或用 ffmpeg 處理影片。
而筆電硬碟裡的資料，
會透過 FUSE 技術掛載到容器裡面，
讓程式讀寫檔案時，
就跟在操作本機檔案一樣自然。
第二種模式，是輕量級的 Isolate 後端。
它能在非常非常短的時間內，
啟動一個 Cloudflare Worker，
專門用來跑一些簡單的 shell 指令或 JavaScript 程式碼，
延遲超級低。
最棒的是，
開發者只要透過一個統一的 API，
叫做 workspace.runtime.exec，
就能根據任務的需求，
自由選擇要派出重量級的 Container，
還是輕快又省錢的 Isolate。
這樣一來，就在成本和效能之間，
達到了最佳的平衡。
那這個專案在真實世界有哪些應用呢？
最直接的場景，
就是讓 AI Agent 有能力自己搞定複雜的任務。
舉個例子，
你可以叫一個 Agent 幫你寫一份報告。
它會先在自己的虛擬電腦裡，
建立一個工作目錄，
接著用輕量的 Isolate 後端，
快速把 Markdown 文件寫好。
最後，再呼叫重量級的 Container 後端，
啟動 pandoc 這個工具，
把文件轉成漂亮的 PDF 檔存起來。
整個過程一氣呵成。
另一個應用，
是把它當成一個用 API 來操作的
輕量級雲端開發環境。
開發者可以透過 API，
在這台虛擬電腦裡跑 build script，
或是把專案發佈到 Cloudflare Artifacts。
不過，也因為這項技術，
跟 Cloudflare 的生態綁得很深，
所以對於已經在用 Cloudflare 平台的開發者來說，
上手會比較容易。
但如果你是生態系外的使用者，
就需要先花點時間，
去熟悉 Durable Objects 這類相關服務了。
社群對於 computer 這個專案的反應，
可以說是「審慎樂觀」。
一方面，
大多數開發者都非常欣賞它創新的架構理念。
用 Durable Object 加上 SQLite，
來打造一個永久的工作區，
還能在輕量的 Isolate
和功能完整的 Container 之間動態切換。
這個設計，被認為是替未來自主 AI Agent
打下了非常有潛力的基礎。
但另一方面，
質疑的聲音也不少。
有人就直接指出
Cloudflare 的宣傳口號是
「Agent 需要電腦，而不是容器」
但專案本身還在非常早期的預覽階段，
根本不適合用在 production 環境。
這代表它的行銷說法跟技術的成熟度
其實有段差距。
而且目前專案的效能和穩定性
都還沒有經過大規模的實戰驗證。
從另一個角度來看，
computer 專案的價值，
不只是它的功能而已，
更重要的是，
它對整個產業拋出了一個全新的命題，
叫做：Serverless Personal Computer。
它模糊了無伺服器函數、
容器和虛擬機之間的界線，
也挑戰了 Serverless 一定要無狀態的傳統觀念。
不過，潛在的風險也相當明顯。
首先，就是深度的「廠商鎖定」。
它的整個架構都高度依賴
Cloudflare 的 Durable Objects 和 Workers，
想搬家？幾乎不可能。
其次，這是一個橫跨了 FUSE、RPC、
再到 Durable Object 等好幾個抽象層的複雜系統，
這代表萬一出了什麼問題，
光是 debug 就會是一場惡夢。
所以說，這個專案最後是成是敗，
關鍵就看 Cloudflare 能不能在提供強大能力的同時，
也有效地控制住系統的複雜度和效能瓶頸。
總結來說，
Cloudflare 的 computer 不單單只是一個工具，
它更像是一套完整的世界觀，
是用來解決 Serverless 核心限制的一種解答。
它想做的，就是賦予那些來去匆匆的雲端運算任務，
一個持久的「記憶」和一個靈活的「工作台」。
雖然專案現在還在實驗階段，
但它確實為我們指出了一個極具想像力的方向，
讓我們去思考，未來要如何打造出更強大、
更有能力的 AI Agent 和自動化流程。
這也就是為什麼，所有關注雲端原生和 AI 技術的開發者，
都應該花點時間來了解、
並且持續追蹤這個專案的後續發展。