什麼是 Ato?
Ato 是一種把軟體視為**延續(continuation)**的方式:關注的是從某一點起仍然可以進行的運算,而不是一個服務端點、一個程式碼倉庫或一份快照。
重點並不在於取代容器、套件管理器或虛擬機器。這些工具可以準備並執行環境。Ato 提供的那一層,讓執行在它們之上的運算可以被記錄、保存、分支、轉移與延續。
問題所在
大多數軟體都以服務存取權的形式交付:一個與別人的伺服器和資料庫通訊的介面。你拿到的是畫面,而不是軟體本身。由此產生三個後果。
- 進行中的工作無法遷移。當提供方的環境改變、服務關閉,或你失去存取權時,工作階段就不再可用。
- 過去不是一個可以回去的地方。已儲存的文件並不等同於產生它的程式狀態。
- 環境決定什麼能執行。同一個專案可能在某一台機器上可用,卻在另一台上失敗,因為缺少某個執行階段、函式庫或服務。
LLM 輔助開發讓這一點更明顯:軟體被更快地產生,變體也更多,因此能夠保存、比較、遷移與恢復一個可運作的運算,比能夠保留它最初執行的那台機器更重要。
模型
Computation ──▶ seal ──▶ Capsule ──▶ transfer ──▶ materialize ──▶ Run ──▶ continue
- Computation(運算)是從目前這一點起仍然保留的工作。發生一次互動時,它就會改變。
- Capsule(封裝體)是該運算中一個被封存、不可變、可定址的點。它可以被保存、傳遞、恢復、組合與分岔。
- Run(執行)是從 Capsule 恢復的即時求值過程。Run 會向前推進;封存一個點會產生另一個 Capsule。
- Record(紀錄)是觀察到一次互動的證據。它說明 Run 如何到達某個點,但本身並不是那個點。
- Materialization(具體化)是實現 Capsule 的一種實體方式:重播(Replay)、工作區重建,或將來的快照機制。
這些區分是模型的核心。核心概念定義了每個術語,並說明它們之間的關係。
目前可以執行的部分
Ato 仍處於實驗階段。儲存庫包含計算物件、生命週期命令、配接器、可攜套件處理與靜態驗證範例。可攜應用設定將 Contract K(可觀察條件)與 Derivation D(宣告的實現路徑)分開,回執記錄實際觀察結果。規範仍是實作階段草案。可用路徑取決於主機能力與授權。異質主機間的通用復原、程序記憶體復原和 AI 自主 Formation 仍在研究或開發中。About · 開發指南。
Ato 不是什麼
- 不是取代 Docker、Nix 或虛擬機器的通用環境供應工具。
- 不是套件管理器或工具鏈的重新實作。
- 不是 Git 或容器映像檔倉庫的替代品。
- 不保證每個處理程序都能確定性地重播。