AI エージェントに「作業用の仮想コンピュータ」を渡す OSS ランタイム。early preview。 blog / repo / Zenn 検証
課題
エージェント 1 体 = コンテナ 1 個では数億並列に耐えない。「重い」より効くのは、 大半は LLM 応答待ちで CPU を使わないのにメモリを掴み続けること、そして 落とすと作業中のファイルも消えるので落とせないこと。
発想: ファイルをコンテナの外に出す
ファイルの実体を Durable Object の中の SQLite(仮想ファイルシステム)に置く。 計算する場所はその都度借りて、終わったら捨てる。借り先は 2 つ:
| 中身 | 使う場面 | |
|---|---|---|
| Isolate(90%) | just-bash がシェルを JS に変換して実行。V8 の実行世界なので起動 ~5ms・数 MB | ls grep sed、ファイル読み書き、git |
| Container(10%) | フル Linux。使う時だけ起動 | npm、ネイティブバイナリ、コンパイラ |
どちらを使うかはモデル自身が選ぶ。Isolate には「プロセス」の概念がないので node や gcc などの実行ファイルは原理的に起動できず、そこだけコンテナに落ちる。
同じファイルが両方から見えるよう、SQLite を 2 通りに見せる:
- コンテナへは FUSE マウント —
/workspaceが普通のディレクトリに見える - Isolate へは RPC — SQLite を直接読み書き