CloudflareがAIエージェント向けのオープンソースライブラリ「@cloudflare/computer」を発表しました。ファイルシステムやコマンド実行環境をまとめた仮想的な作業用コンピューターをAIエージェントごとに提供する仕組みで、記事作成時点では早期プレビューとして公開されています。

Your agent needs a computer, not a container - introducing @cloudflare/computer | The Cloudflare Blog

https://blog.cloudflare.com/cloudflare-computer/

プログラミングを行うAIエージェントは、ソースコードを読み、ファイルを書き換え、テストを実行し、結果を見て再び修正を行うという動作を繰り返します。文章を返すだけのチャットAIとは異なり、作業途中のファイルを保存する場所やプログラムを動かす環境が必要です。



AIエージェントの実行環境として広く使われているのが「コンテナ」です。コンテナはLinuxや各種ツールを備えた隔離環境を用意できる一方で、利用者ごとのAIエージェントに専用コンテナを常時割り当てると大量のCPUやメモリが必要になります。数億から数十億のAIエージェントを同時に動かす規模において、すべてのエージェントにコンテナを与える方法では拡張性に限界があります。

Cloudflareは以前から、短時間で起動できる軽量な実行環境「アイソレート」をCloudflare Workersで採用してきました。また、状態を保持できるDurable Objects上のアイソレートでAIエージェントを制御する処理を動かし、Linux環境が必要な処理だけCloudflare Containersへ送る構成も存在しており、軽い処理はアイソレートで済ませ、負荷の大きい処理に限ってコンテナを呼び出すことで処理能力とコストの両立を図ることが可能でした。

ただし、従来の構成ではアイソレートとコンテナを開発者自身が組み合わせ、ファイルの受け渡しや実行環境の選択を管理する必要がありました。@cloudflare/computerは複雑な基盤の違いを隠し、複数の実行環境をAIエージェントから単一の「コンピューター」として扱えるようにするライブラリとのこと。

AIエージェントがコマンドを実行する際は、AIモデルはツールの説明を基に処理内容に適した実行環境を選択します。ファイルの編集やデータ処理、Gitリポジトリの操作といった軽い作業はアイソレートで実行され、Linuxやnpm、コンパイル済みの実行ファイルが必要な場合だけコンテナが使用されます。どちらの環境から操作しても同じワークスペース上のファイルが使われ、変更内容も同期されるとのことです。



また、AIエージェントに許可する操作を制限し、実行した作業の記録を残す機能も用意されています。自律的にファイルを書き換えるAIエージェントを動かす際に、意図しない変更を防ぎながら後から作業内容を確認できます。

Cloudflareの過去・現在・未来の構成をまとめると下図の通り。かつてはエージェントハーネスや設定、ツールをすべてコンテナで動かしていましたが、現在ではエージェントハーネスがアイソレートで稼働しています。将来的には設定や軽量なツールもアイソレートで処理し、必要なツールだけにコンテナを使用する構想とのこと。



@cloudflare/computerは記事作成時点で早期プレビューとして公開されており、npmからインストールできます。ソースコードはGitHubで公開されていますが、APIや設計は今後変更される可能性があり、本番環境での利用は推奨されていません。

Cloudflareは将来的に文書作成や音声・動画処理なども軽量な「アイソレート」環境で動かし、AIエージェントの作業のうちコンテナを必要とする割合を10%未満に抑えることを目指しています。