Cloudflare stattet KI-Agenten mit einem virtuellen PC in der Cloud aus
Entwickler von KI-Agenten stoßen ständig auf dasselbe Problem. Modelle sind gut im Generieren von Code, aber sie benötigen eine Umgebung für die eigentliche Arbeit. Sie brauchen einen Datenträger zum Speichern von Dateien, eine Konsole zum Ausführen von Tests, die Möglichkeit, ein Paket über npm zu installieren oder ein Dokument zu kompilieren. Einem Agent Zugang zu einem lokalen Rechner zu gewähren, ist gefährlich. Für jede kurze Aufgabe einen separaten virtuellen Server hochzufahren, ist teuer und langsam.
Cloudflare hat dieses Problem in einem Projekt mit dem prägnanten Namen computer gelöst. Die Entwickler schufen eine virtuelle Ausführungsumgebung, die speziell für autonome Agenten und Netzwerkagenten konzipiert wurde.
Was steckt dahinter
Die Architektur basiert auf einem virtuellen Dateisystem. Im Wesentlichen handelt es sich um eine SQLite-Datenbank, die in ein Cloudflare Durable Object eingebettet ist. Diese Lösung bewahrt den Dateizustand zwischen Aufrufen und hält die Daten nah am Code.
Um mit diesem Dateisystem zu arbeiten, schlug das Team drei verschiedene Ausführungsumgebungen vor.
Die erste Umgebung führt einen vollständigen Linux-Container aus. Innerhalb des Containers läuft ein Daemon computerd. Er bindet die Datenbank über FUSE als regulären Datenträger ein und sendet Änderungen über das capnweb-RPC-Protokoll zurück. In diesem Modus hat der Agent ein echtes Linux-Benutzer-System, Netzwerkzugriff und die Möglichkeit, beliebige Binärdateien auszuführen.
Die zweite Umgebung führt Befehle über einen leichtgewichtigen Interpreter just-bash direkt in einem isolierten Worker aus. Es wird kein Container hochgefahren. Befehle werden schnell ausgeführt, und die Kommunikation mit dem Dateisystem erfolgt direkt.
Die dritte Umgebung führt JavaScript-Code aus. Jeder Befehl wird in einem separaten Dynamic Worker ausgeführt. Das Skript erhält Zugriff auf das Dateisystem über das Standardmodul node:fs/promises sowie vorgefertigte Hilfsprogramme für die Arbeit mit Git und das Veröffentlichen von Artefakten.
Funktionen und Benchmarks
Ein interessanter Aspekt zeigte sich beim Testen des virtuellen Datenträgers. Die Entwickler führten Benchmarks durch, die FUSE-Einbindung computerd mit einem physischen NVMe-Laufwerk verglichen.
Es stellte sich heraus, dass der virtuelle Datenträger bei Metadatenoperationen schneller ist als ein echtes Laufwerk. Das Erstellen von Tausenden kleiner Dateien, das Lesen von Verzeichnissen und das Überprüfen von Berechtigungen erfolgen sofort, da die Struktur im RAM und in SQLite gespeichert wird. Bei sequentiellem Lesen und Schreiben von Dateien in Gigabyte-Größe kann FUSE jedoch nicht mit einem physischen Datenträger mithalten.
Für KI-Agenten-Aufgaben funktioniert dieses Setup hervorragend. Agenten erstellen häufiger kleine Skripte, bearbeiten Konfigurationen und lesen Quellcode, als dass sie große Videodateien durch sich selbst pumpen.
Anwendungsbeispiele aus dem Repository
Das Repository enthält fertige Beispiele, die zeigen, wie das System funktioniert.
In einer Demo erhält der Agent die Aufgabe, ein PDF-Dokument zu generieren. Zuerst erstellt er eine Markdown-Datei im virtuellen Verzeichnis. Dann ruft der Agent über den Container ein Hilfsprogramm pandoc auf, das den Text in ein fertiges PDF konvertiert.
Ein weiteres Beispiel zeigt die Integration mit neuronalen Netzen. Der Agent generiert ein Bild über Workers AI, schreibt die resultierende Datei auf den virtuellen Datenträger und stellt dem Benutzer einen öffentlichen Link zur Verfügung.
Es gibt auch einen fortgeschritteneren Fall: Der Agent implementiert ein Cloudflare Worker-Projekt, baut es in der virtuellen Umgebung und veröffentlicht es im Artifact Registry.
Projektstatus
Das Cloudflare-Team weist ausdrücklich darauf hin, dass sich das Repository im Vorschaustatus befindet. Der Code eignet sich für Experimente, Hackathons und Prototypen, aber es ist noch etwas zu früh, um kritische Dienste darauf auszuführen. Die Architektur und API können sich jederzeit ändern.
Offene Pull Requests werden noch nicht angenommen. Sie können sich über Issues an der Entwicklung beteiligen.
Für wen ist es gedacht
Das Projekt ist nützlich für alle, die komplexe Agenten in TypeScript schreiben und die Infrastruktur für die Ausführung von generiertem Code auswählen. Die Kombination aus SQLite, FUSE und Cloudflare Workers bietet eine leichtgewichtige und isolierte Umgebung, die in Millisekunden hochfährt.
Ähnliche Projekte