ato

Docs/Ato とは

更新日 2026-10-28

Ato とは

Ato は、ソフトウェアを継続(continuation)として扱うための方法です。この継続とは、ある地点からなお可能な Computation(計算)のことであり、サービスエンドポイント、リポジトリ、スナップショットとは区別されます。

目的は、コンテナ、パッケージマネージャー、仮想マシンを置き換えることではありません。それらは環境を準備して実行できます。Ato のレイヤーは、その上で動作する Computation を記録可能、保存可能、分岐可能、転送可能、継続可能にするものです。

課題

ほとんどのソフトウェアは、サービスへのアクセスとして提供されます。つまり、他者のサーバーやデータベースと通信するインターフェースです。受け取るのは画面であり、ソフトウェアそのものではありません。そこから 3 つの帰結が生じます。

  • 進行中の作業を持ち出せません。プロバイダーの環境が変わったり、サービスが停止したり、アクセスを失ったりすると、セッションは使えなくなります。
  • 過去には戻れません。保存されたドキュメントは、それを生成したプログラムの状態と同じではありません。
  • 何を実行できるかは環境が決めます。同じプロジェクトでも、ランタイム、ライブラリ、サービスが欠けているために、あるマシンでは動作し、別のマシンでは失敗することがあります。

LLM を活用した開発は、この問題をより明確にします。ソフトウェアがより速く、より多くのバリエーションで作られるため、動作する Computation を保持し、比較し、移動し、resume できる能力のほうが、最初に実行したマシンを保持する能力よりも重要になります。

モデル

Computation ──▶ seal ──▶ Capsule ──▶ transfer ──▶ materialize ──▶ Run ──▶ continue
  • Computation は、現在の地点から残っている作業です。インタラクションが起きると変化します。
  • Capsule(不変の継続地点) は、その Computation における seal 済みで不変の、アドレス可能な地点です。保存、受け渡し、resume、合成、fork ができます。
  • Run(実行中の評価) は、Capsule から resume された生きた評価です。Run は進み、ある地点を seal すると別の Capsule が生まれます。
  • Record(観測の記録) は、インタラクションが観測されたことの証拠です。Record は、Run がどのように地点へ到達したかを説明しますが、地点そのものではありません。
  • Materialization(実体化) は、Capsule を実現する物理的な方法です。Replay(記録の再適用)、ワークスペースの再構成、将来のスナップショット機構などがあります。

これらの区別がモデルの中核です。基本概念では、各用語を定義し、相互の関係を説明しています。

現在動作するもの

Atoは実験段階です。リポジトリには計算オブジェクト、ライフサイクルコマンド、Adapter、portable bundle処理、静的な検証例があります。portable application profileはContract K(観測条件)とDerivation D(宣言された実現経路)を分け、receiptに実際の観測を記録します。仕様は実装段階のdraftです。実行可能な経路はホストの能力と権限に依存します。異種ホスト間の汎用復元、process memoryの復元、自律的AI Formationは研究・開発段階です。About · 開発ガイド。

Ato ではないもの

  • Docker、Nix、VM を置き換える汎用の環境プロビジョニングツールではありません。
  • パッケージマネージャーやツールチェーンの再実装ではありません。
  • Git やコンテナレジストリの代替ではありません。
  • すべてのプロセスが決定論的に replay できることを保証するものではありません。