Cloudflare offre aux agents IA un PC virtuel dans le cloud
Les développeurs d'agents IA se heurtent constamment au même problème. Les modèles sont capables de générer du code, mais ils ont besoin d'un environnement pour travailler réellement. Ils ont besoin d'un disque pour enregistrer des fichiers, d'une console pour exécuter des tests, de la possibilité d'installer un package via npm ou de compiler un document. Accorder à un agent l'accès à une machine locale est dangereux. Créer un serveur virtuel séparé pour chaque tâche courte est coûteux et lent.
Cloudflare a résolu ce problème dans un projet au nom concis computer. Les développeurs ont créé un environnement d'exécution virtuel conçu spécifiquement pour les agents autonomes et les agents réseau.
Ce qu'il y a à l'intérieur
L'architecture repose sur un système de fichiers virtuel. Il s'agit essentiellement d'une base de données SQLite embarquée dans un Durable Object Cloudflare. Cette solution préserve l'état des fichiers entre les appels et garde les données proches du code.
Pour travailler avec ce système de fichiers, l'équipe a proposé trois environnements d'exécution différents.
Le premier environnement exécute un conteneur Linux complet. À l'intérieur du conteneur, un daemon computerd s'exécute. Il monte la base de données comme un disque ordinaire via FUSE et renvoie les modifications via le protocole RPC capnweb. Dans ce mode, l'agent dispose d'un vrai Linux utilisateur, d'un accès réseau et de la possibilité d'exécuter n'importe quel fichier binaire.
Le deuxième environnement exécute les commandes via un interpréteur léger just-bash directement dans un Worker isolé. Aucun conteneur n'est démarré. Les commandes s'exécutent rapidement et la communication avec le système de fichiers se fait directement.
Le troisième environnement exécute du code JavaScript. Chaque commande s'exécute dans un Dynamic Worker séparé. Le script accède au système de fichiers via le module standard node:fs/promises, ainsi que des utilitaires prêts à l'emploi pour travailler avec Git et publier des artifacts.
Fonctionnalités et benchmarks
Un détail intéressant est apparu lors des tests du disque virtuel. Les développeurs ont exécuté des benchmarks comparant le montage FUSE computerd avec un vrai disque NVMe.
Il s'est avéré que pour les opérations de métadonnées, le disque virtuel est plus rapide qu'un vrai disque. Créer des milliers de petits fichiers, lire des répertoires et vérifier les permissions se fait instantanément grâce au stockage de la structure en RAM et à SQLite. Cependant, pour la lecture et l'écriture séquentielles de fichiers de plusieurs gigaoctets, FUSE est inférieur à un disque physique.
Pour les tâches des agents IA, cette configuration fonctionne très bien. Les agents créent plus souvent de petits scripts, modifient des configs et lisent du code source que de pomper des vidéos lourdes.
Exemples d'utilisation du dépôt
Le dépôt contient des exemples prêts à l'emploi montrant comment le système fonctionne.
Dans une démo, l'agent reçoit une tâche pour générer un document PDF. D'abord, il crée un fichier Markdown dans le répertoire virtuel. Ensuite, l'agent invoque un utilitaire pandoc via le conteneur, qui convertit le texte en PDF prêt à l'emploi.
Un autre exemple montre l'intégration avec les réseaux de neurones. L'agent génère une image via Workers AI, écrit le fichier résultant sur le disque virtuel et fournit un lien public à l'utilisateur.
Il existe aussi un cas plus avancé : l'agent déploie un projet Cloudflare Worker, le construit dans l'environnement virtuel et le publie dans le registre des artifacts.
Statut du projet
L'équipe Cloudflare note spécifiquement que le dépôt est en statut preview. Le code convient pour les expérimentations, les hackathons et les prototypes, mais il est un peu tôt pour exécuter des services critiques dessus. L'architecture et l'API peuvent changer à tout moment.
Les pull requests ouvertes ne sont pas encore acceptées. Vous pouvez participer au développement via les discussions dans les Issues.
Qui devrait essayer
Le projet est utile pour ceux qui écrivent des agents complexes en TypeScript et choisissent l'infrastructure pour exécuter du code généré. La combinaison de SQLite, FUSE et Cloudflare Workers fournit un environnement léger et isolé qui démarre en millisecondes.
Projets similaires