⭐️Cloudflare Computer

AI エージェントに「作業用の仮想コンピュータ」を渡す OSS ランタイム。early preview。 blog / repo / Zenn 検証

課題

エージェント 1 体 = コンテナ 1 個では数億並列に耐えない。「重い」より効くのは、 大半は LLM 応答待ちで CPU を使わないのにメモリを掴み続けること、そして 落とすと作業中のファイルも消えるので落とせないこと。

発想: ファイルをコンテナの外に出す

ファイルの実体を Durable Object の中の SQLite(仮想ファイルシステム)に置く。 計算する場所はその都度借りて、終わったら捨てる。借り先は 2 つ:

中身使う場面
Isolate(90%)just-bash がシェルを JS に変換して実行。V8 の実行世界なので起動 ~5ms・数 MBls grep sed、ファイル読み書き、git
Container(10%)フル Linux。使う時だけ起動npm、ネイティブバイナリ、コンパイラ

どちらを使うかはモデル自身が選ぶ。Isolate には「プロセス」の概念がないので node や gcc などの実行ファイルは原理的に起動できず、そこだけコンテナに落ちる。

同じファイルが両方から見えるよう、SQLite を 2 通りに見せる:

  • コンテナへは FUSE マウント — /workspace が普通のディレクトリに見える
  • Isolate へは RPC — SQLite を直接読み書き