ato

Docs/什麼是 Ato?

更新於 2026-10-28

什麼是 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 或容器映像檔倉庫的替代品。
  • 不保證每個處理程序都能確定性地重播。