Cloudflare ha lanciato di recente @cloudflare/computer. Si tratta di un nuovo ambiente di runtime pensato per potenziare gli agenti di intelligenza artificiale mettendo a loro disposizione un sistema operativo virtuale completo. Invece di fare affidamento esclusivamente sui container, questa soluzione utilizza degli isolati più leggeri e scalabili che permettono agli agenti AI di eseguire codice, gestire file e utilizzare strumenti in modo efficiente.
La piattaforma è stata concepita per fornire un filesystem condiviso che sincronizza i dati tra diversi ambienti di esecuzione. In questo modo vengono ottimizzati costi e velocità. Con questa astrazione, gli sviluppatori possono creare delle automazioni anche molto complesse in cui l'agente sceglie autonomamente la risorsa di calcolo più adatta al compito che deve svolgere.
Si ha così la possibilità di superare i "limiti fisici" delle infrastrutture cloud e di garantire una scalabilità orizzontale potenzialmente infinita per milioni di agenti che operano in simultanea.
L'installazione è molto semplice e avviene tramite npm con il comando:
npm install @cloudflare/computer
Cosa può fare @cloudflare/computer per gli agenti AI
Per funzionare al meglio, un agente di sviluppo ha bisogno di alcuni elementi familiari: un filesystem, una shell, degli strumenti di lavoro e la capacità di eseguire e testare il proprio operato. Associare un container dedicato a ogni singolo agente presenta però un limite molto rilevante, infatti la quantità di calcolo richiesta alle CPU per gestire centinaia di milioni di container in simultanea non è scalabile.
Per risolvere questo problema Cloudflare ha presentato appunto @cloudflare/computer. Un ambiente di runtime open source che astrae la complessità di gestione delle sandbox e ottimizza l'esecuzione per garantire efficienza e scalabilità
Architettura ibrida: isolati e container
Invece di forzare l'esecuzione di ogni agente all'interno di un container spesso troppo pesante, @cloudflare/computer propone un'astrazione più semplice basata su una combinazione di isolati e container.
Il cervello dell'agente viene eseguito in un isolato leggero sotto forma di Durable Object, un'unità di calcolo che si avvia istantaneamente, può ibernarsi quando inattiva e scalare orizzontalmente in modo praticamente infinito. Quando l'agente necessita di strumenti o operazioni complesse, come per esempio compilatori nativi, installazioni npm o un intero ambiente Linux, viene richiamato su richiesta un container associato che opera come strumento di esecuzione verticale.

Filesystem condiviso e sincronizzato
Il core di @cloudflare/computer è uno spazio di lavoro (Workspace) basato su un filesystem virtuale SQLite. Questo filesystem può essere popolato da diverse origini, come dei repository Git o dei bucket di archiviazione.
La vera novità sta nella condivisione del filesystem. Infatti sia l'isolato che il container operano contemporaneamente sugli stessi file. L'isolato vi accede direttamente tramite i binding del worker, mentre il container tramite un montaggio FUSE (Filesystem in Userspace). In questo modo, qualsiasi modifica apportata da un ambiente si riflette istantaneamente e in modo sincronizzato nell'altro.
@cloudflare/computer offre poi due backend di esecuzione pronti all'uso, con la possibilità di scriverne di personalizzati:
- Runtime basato su isolati: sfrutta la libreria just-bash per tradurre i comandi shell in JavaScript eseguibile direttamente in un worker dinamico. È un'opzione estremamente veloce ed economica, ideale per compiti di manipolazione di file e dati.
- Runtime basato su container: utilizza i Cloudflare Container per fornire una userland Linux completa. È l'ambiente ideale per installare pacchetti tramite npm, eseguire test runner o lanciare binari nativi.
Integrazione con l'SDK di AI
Il package del progetto include un toolkit compatibile con un SDK di intelligenza artificiale, che mette a disposizione strumenti standard come lettura, scrittura, modifica dei file e comandi di shell (exec). Lo strumento exec accetta un parametro relativo al backend. I modelli di frontiera sono inoltre capaci di decidere autonomamente quale backend utilizzare. Scelgono quindi l'isolato per compiti leggeri e scalano sul container solo se necessario.
L'obiettivo è fare in modo che i container vengano utilizzati per meno del 10% del carico complessivo. Tutto il resto deve essere delegato ad ambienti isolati più efficienti. Tutte le operazioni eseguite dall'agente sul filesystem e tramite shell sono infine controllate, tracciate e osservate. Questo garantisce un controllo più accurato sui permessi di scrittura e la documentazione di ogni azione che viene intrapresa dall'agente.
Conclusioni
@cloudflare/computer è un ambiente di runtime per il potenziamento degli agenti AI. Grazie a questa astrazione, lo sviluppatore non deve più preoccuparsi della gestione dell'infrastruttura e del ciclo di vita dei singoli container, si può invece concentrare sulla logica di business e sulle istruzioni da fornire all'agente.