Design wechseln

Cloudflare Dynamic Workers: Warum KI-Agent-Sandboxen 100× schneller als Container starten

Ihr KI-Agent hat gerade Analysecode erzeugt – und beim Start der Sandbox braucht der Container 3 Sekunden, belegt 200 MB RAM, und die Nutzeranfrage läuft ins Timeout. Kein Einzelfall, sondern ein branchenweites Problem, wenn KI-Code in Containern läuft.

Dynamic Workers von Cloudflare (März 2026) drücken die Startzeit mit V8 Isolates auf Millisekunden und den Speicher auf wenige MB – bis zu 100× schneller. Dahinter steckt eine grundlegend andere Isolations-Philosophie.

Kurz gesagt: Dynamic Workers sind kein „schnellerer Container“, sondern machen „eine Sandbox pro Request“ technisch und wirtschaftlich tragfähig. Dieser Artikel erklärt den Unterschied zwischen V8 Isolates und klassischen Containern, zeigt Praxiscode und hilft bei der Technologieentscheidung. Wenn Sie eine Sandbox für KI-Agenten wählen, können Sie hier die Rechnung nachvollziehen.

100×
Startgeschwindigkeit
Millisekunden vs. 3+ Sekunden
10–100×
Speichereffizienz
wenige MB vs. hunderte MB
$0,002
pro Worker/Tag
Abrechnung pro unique Worker
$200
Monatskosten (Schätzung)
Szenario: 1 Mio. Requests
Source: Cloudflare Pricing + VentureBeat-Bericht

Warum Container zum Engpass für KI-Agenten werden

Bisher war der Standard: Container. Kubernetes startet einen Pod, Image pullen, Umgebung konfigurieren – bewährt, aber schwerfällig. Bei KI-Agenten ist Code-Ausführung oft kurz (ein Analyse-Skript in Sekunden), während der Container 3+ Sekunden braucht – das passt nicht zusammen.

Laut einem Zhihu-Bericht zu AI-Agent-Sandboxen (2026) startet Docker in etwa 500 ms – aber nur der „Start“. Mit Image-Pull, Netzwerk und Dependencies sind oft 3+ Sekunden bis zur Nutzbarkeit realistisch. Speicher: Dutzende MB aufwärts, komplexe Umgebungen 200 MB und mehr.

Warm-Pools? Container vorab starten und bereithalten – gängige Praxis. Aber:

Erstens: Kosten. Ein Pool hält Container dauerhaft online, ob Requests kommen oder nicht. 100 Container à 200 MB – allein der Speicher tut weh. Dazu das Sicherheitsrisiko der Wiederverwendung: Daten des vorherigen Requests können im Speicher bleiben.

Zweitens: Komplexität. Lebenszyklus, Health Checks, Auto-Scaling – die Infrastruktur kann teurer im Betrieb sein als die Business-Logik. Kubernetes-Warm-Pools in Projekten kosten oft mehr Wartung als Anwendungscode.

Drittens: Szenario-Mismatch. KI-Code ist oft einmalig: CSV hochladen, Code generieren, ausführen, fertig. Pro Request braucht man Isolation – Warm-Pool-Wiederverwendung bricht genau das.

Stellen Sie sich vor: Nutzer A lässt Code mit sensiblen Daten laufen. Der Container geht zurück in den Pool. Nutzer B bekommt denselben Container. Auch mit Cleanup bleibt Restdaten-Risiko – 2025 gab es Berichte über Leaks durch Container-Reste.

Die Spannung ist klar: langsam starten, teurer Speicher, Warm-Pool-Risiko, hoher Betriebsaufwand. Container sind nicht schlecht – ihre Design-Philosophie passt nur schlecht zu kurzlebiger KI-Ausführung.

Wie V8 Isolates Startzeiten auf Millisekunden drücken

Was sind V8 Isolates? Die JavaScript-Engine von Chrome kompiliert JS zu Maschinencode. Ein Isolate ist V8s Isolationseinheit – eigener Heap, Compiler-Cache, globale Objekte.

Der Kern: Isolates rufen die Kernel-Schnittstelle des Hosts nicht auf.

Container starten einen Prozess und nutzen Syscalls. Isolation über Kernel-Namespaces und cgroups – faktisch teilen Container und Host denselben Kernel; Syscalls laufen über denselben Pfad.

V8 Isolates laufen anders: JavaScript in einem Isolate erzeugt keine Syscalls. Speicher, GC, Ausführung – alles im Prozess. Die Grenze liegt innen, nicht im Kernel.

Tencent News (2026) nennt konkrete Werte: Start in Millisekunden, Speicher in wenigen MB – gegenüber Containern bis zu 100× schneller, 10–100× speichereffizienter.

Vergleichstabelle für die Technologieauswahl:

IsolationstechnikSicherheitsniveauStartgeschwindigkeitSpeicherSyscall-Ziel
Docker-Container⭐⭐~500 msDutzende MBgeteilter Host-Kernel
gVisor⭐⭐⭐⭐~100 mshöherUser-Space-Kernel-Intercept
Firecracker microVM⭐⭐⭐⭐⭐~150 ms~1 GBeigener virtueller Kernel
V8 Isolates⭐⭐⭐wenige mswenige MBkeine Syscalls

Sicherheit und Startgeschwindigkeit stehen im Trade-off. Firecracker ist am sichersten (eigener Kernel), aber am langsamsten und speicherintensivsten. V8 Isolates sind am schnellsten und günstigsten, Sicherheit mittel.

Warum nur drei Sterne? Die Grenze liegt im Prozess. Wird ein Isolate kompromittiert, können theoretisch andere Isolates im selben Prozess betroffen sein – stärker als reine Namespace-Isolation, schwächer als microVM mit eigenem Kernel.

Cloudflare Dynamic Workers ergänzen mehrere Schutzschichten und heben das praktische Niveau auf produktionstauglich – die fünf Schichten folgen unten.

Der eigentliche Vorteil von V8 Isolates ist nicht „sicherer“, sondern „günstiger“. Pro Request eine Sandbox, danach zerstören – im Container-World Luxus, bei Isolates Standard.

Dynamic Workers API: load() und get()

Zwei API-Modi mit klarer Philosophie: Kurzzeit vs. lange Lebensdauer.

load(): einmal ausführen, danach weg

load() passt zu Einmal-Szenarien. Code rein, Isolate starten, ausführen, zerstören – in Millisekunden.

// load()-Modus: Einmal-Ausführung
import { DynamicWorkerLoader } from 'cloudflare:sandbox-sdk';

const loader = new DynamicWorkerLoader();

// Code laden, Bindings setzen, Limits definieren
const dynamicWorker = await loader.load({
  code: aiGeneratedCode,  // AI-generierter Code-String
  bindings: {
    db: env.DB,           // D1-Datenbank-Binding
    kv: env.KV,           // KV-Storage-Binding
  },
  limits: {
    cpuMs: 100,           // CPU-Limit: 100 Millisekunden
    memoryMB: 128,        // Speicher-Limit: 128 MB
  }
});

// Code ausführen, Ergebnis holen
const result = await dynamicWorker.execute();

// Nach Ausführung wird das Isolate automatisch zerstört
console.log(result);

Wichtige Parameter:

  • code: auszuführender Code-String, auch dynamisch von KI
  • bindings: externe Ressourcen (Datenbank, Storage, API)
  • limits: Ressourcen-Obergrenzen gegen Missbrauch

Typische load()-Szenarien:

  • Einmalige Datenanalyse: CSV hochladen, Analysecode, einmal ausführen
  • Temporärer Code: Konvertierungs-Skripte, Validierung
  • Request-Isolation: pro Anfrage eigene Sandbox, kein Rest-Risiko

get(): Cache-Warming für längere Laufzeit

get() hält das Isolate im Speicher; Folgeaufrufe nutzen dasselbe Isolate.

// get()-Modus: Cache-Warming
const cachedWorker = await loader.get({
  id: 'persistent-analyzer',  // feste ID für Cache-Lookup
  code: analysisCode,         // vorab geladener Code
  bindings: {
    vectorize: env.VECTORIZE, // Vectorize-Binding
  }
});

// Mehrfachaufrufe im warmen Zustand
const result1 = await cachedWorker.execute({ input: data1 });
const result2 = await cachedWorker.execute({ input: data2 });
const result3 = await cachedWorker.execute({ input: data3 });

// Kein manuelles Zerstören – Cloudflare verwaltet den Lebenszyklus

Typische get()-Szenarien:

  • Batch: gleiche Logik über viele Datensätze
  • Lang laufende Agenten mit Zustand
  • Weniger Kaltstart bei Folgeaufrufen

Kurz: load() ist „Zimmer für eine Nacht“, get() ist „Langzeitmiete“. Ersteres für Kurzzeit, zweites für Dauerbetrieb.

Das offizielle Sandbox-SDK-Tutorial „AI Code Executor“ liefert ausführlichere Beispiele – empfehlenswert vor dem ersten Deployment.

Fünf Sicherheitsschichten bei Dynamic Workers

V8 Isolates allein: drei Sterne. Dynamic Workers stapeln Schutz – produktionstauglich.

InfoQ (April 2026) beschreibt die fünf Schichten im Detail.

Schicht 1: Automatisches V8-Sicherheits-Patching

V8 hat wie jede komplexe Software Lücken. Chrome-Patches gehen bei Cloudflare in Stunden weltweit auf alle Knoten.

Klassische Container hängen am Host-Patch-Zyklus – Wochen bis Monate. V8-Patches: Stunden statt Wochen.

Schicht 2: Dynamisches Tenant Cordoning

Zeigt ein Dynamic Worker Anomalien (Speicher- oder CPU-Spitzen), markiert Cloudflare ihn als „hohes Risiko“ und verlagert ihn auf isolierte Knoten.

Tenant Cordoning: riskante Tenants getrennt, normale Worker unberührt.

Schicht 3: MPK-Hardwareschutz

MPK (Memory Protection Keys) ist Intels hardwarebasierte Speicher-Isolation. Jedes Isolate mit eigenen Zugriffsrechten – Hardware blockiert Out-of-Bounds.

Physischer Schutz, schwerer zu umgehen als reine Software.

Schicht 4: Code-Scan

Vor der Ausführung: Mustererkennung für Endlosschleifen, Memory-Bombs, sensible API-Aufrufe – Blockierung vor Start.

Relevant bei KI-generiertem Code: Prompt-Injection kann gefährlichen Code erzeugen; der Scan stoppt vor Ausführung.

Schicht 5: Netzwerk-Isolation

Standard: kein direkter Internetzugang. Externe APIs über Cloudflare egress proxy mit Credential-Injection – nur autorisierte Endpunkte.

Sicherheitsarchitektur (vereinfacht):

KI-generierter Code
     |
     v
┌─────────────────────────────────────┐
│ Dynamic Worker (V8 Isolate)         │
│ ┌─────────────────────────────────┐ │
│ │ Schicht 1: Code-Scan             │ │
│ ├─────────────────────────────────┤ │
│ │ Schicht 2: V8-Sicherheits-Patches│ │
│ ├─────────────────────────────────┤ │
│ │ Schicht 3: Tenant Cordoning      │ │
│ ├─────────────────────────────────┤ │
│ │ Schicht 4: MPK-Hardwareschutz    │ │
│ └─────────────────────────────────┘ │
│         |                           │
│         v                           │
│  Cap'n Web RPC Bridge               │
│         |                           │
│         v                           │
│  Schicht 5: Egress-Proxy + Credentials │
└─────────────────────────────────────┘

Damit wird das „drei Sterne“-Niveau in der Praxis tragfähig – nicht absolut sicher (gibt es nicht), aber akzeptables Risiko.

Preise: warum „eine Sandbox pro Request“ machbar ist

„Pro Request eine Sandbox“ klingt teuer – im Dynamic-Workers-Modell ist es realistisch.

Cloudflare-Preisstruktur (Beta kostenlos, danach):

  • $0,002 pro unique Worker pro Tag
  • CPU-Zeit: $0,02 pro Million CPU-Millisekunden
  • Invocations: $0,50 pro Million Requests

VentureBeat (April 2026): E2B (Firecracker) oft $0,01+ pro Request, Dynamic Workers ab $0,002.

Kostenvergleich:

LösungKosten/RequestMonat (1 Mio. Requests)KomplexitätBetrieb
Container-Warm-Pool$0,02+$2000+hochhoch (Pool-Pflege)
E2B microVM$0,01+$1000+mittelniedrig
Dynamic Workers$0,002$200niedrigkeiner

Beispiel: 1 Mio. Requests/Tag, unterschiedlicher Code pro Request (unique Worker).

Container-Warm-Pool:

  • 100 Container à 200 MB: ~$500/Monat Speicher
  • Pool-Infrastruktur: ~$1500/Monat Personal
  • Summe $2000+, plus Sicherheitsrisiko

E2B:

  • $0,01/Request theoretisch $10.000/Monat – mit Rabatten eher $1000+, Start ~150 ms

Dynamic Workers:

  • Nicht pro Request, sondern pro unique Worker/Tag
  • Beispiel: 1000 unique Worker/Tag → $0,002 × 1000 × 30 ≈ $60/Monat plus CPU und Invocations → grob $200/Monat

Kernpunkt: Abrechnung nach unique Worker, nicht Request-Anzahl. Template-Code (feste Analyse-Skripte) → wenige unique Worker, niedrigere Kosten.

Deshalb ist „Sandbox pro Request“ wirtschaftlich tragfähig:

  • schneller Start, kein Warm-Pool nötig
  • wenig Speicher, keine großen Reserven
  • Preis nach unique Worker

Klassische Schmerzen: Pool-Wartung, Wiederverwendungs-Risiko, 3-Sekunden-Latenz – Dynamic Workers adressieren alle drei, oft günstiger.

Dynamic Workers vs. E2B vs. gVisor: Auswahl

Dynamic Workers sind nicht überall die beste Wahl.

DimensionDynamic WorkersE2B (Firecracker)gVisorDocker
Startgeschwindigkeit⭐⭐⭐⭐⭐ (ms)⭐⭐⭐⭐ (~150 ms)⭐⭐⭐⭐ (~100 ms)⭐⭐⭐ (~500 ms)
Sicherheitsniveau⭐⭐⭐ (mittel)⭐⭐⭐⭐⭐ (höchst)⭐⭐⭐⭐ (hoch)⭐⭐ (niedrig)
Kosteneffizienz⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Sprachennur JS/TSbeliebigbeliebigbeliebig
Persistenznein (mit DO)janeinja
Betriebsaufwandniedrigniedrigmittelhoch

Wann Dynamic Workers?

Passt:

  • KI-Agent in JavaScript oder TypeScript
  • hochfrequente Kurzzeit-Ausführung, Isolation pro Request
  • kostenbewusst, kein Warm-Pool-Betrieb
  • bestehende Cloudflare-Stack (Workers, KV, D1)

Passt nicht:

  • Python, Rust, Go im Agent
  • höchste Sicherheitsanforderungen (Finanz)
  • Persistenz ohne Durable Objects

Wann E2B?

Firecracker microVM, höchstes Sicherheitsniveau, ~150 ms Start.

Passt: Python (Analyse, ML), sensible Daten, akzeptable Startlatenz.

Wann gVisor?

Google User-Space-Kernel, Docker-kompatibel.

Passt: bestehende Images, Balance Sicherheit/Performance ohne Stack-Wechsel.

Wann weiter Docker?

Passt: kein striktes Request-Isolation, lang laufende Dienste, etablierte Container-Ops, Sprache ≠ JS/TS.

Technologieauswahl heißt „passend“, nicht „beste Lösung überall“. Dynamic Workers glänzen bei JS/TS-KI-Agenten, Kurzzeit und Kosten – kein Universalersatz.

Cloudflare Agent-Ökosystem: von der Sandbox zum persistenten Stack

Dynamic Workers sind Teil des Cloudflare-Agent-Ökosystems.

April 2026: Project Think – Framework für lang laufende Agenten. Mit Dynamic Workers und Durable Objects entsteht ein vollständiger Agent-Stack.

Drei-Schichten-Architektur

Project Think (Think-Basisklasse – Agent-Orchestrierung)
     |
     +-- Agent Memory (SQL – persistenter Zustand)
     |
     +-- Sub-agents (Koordination)
     |
     +-- Dynamic Workers (Sandbox-Ausführung)
     |     |
     |     +-- Durable Objects Facets (eigenes SQLite pro Sandbox)
     |
     +-- Tools (API – Egress-Proxy + Credentials)

Durable Objects Facets

Neu April 2026: jedes Dynamic Worker kann eigenes SQLite – Zustand überlebt Sandbox-Ende.

Löst: Sandbox weg, Daten weg. Facets = „Notizbuch“ pro Sandbox.

Project Think

Agent-Framework mit Think-Basisklasse: Sub-Agenten, Zustand, Tools.

Blog-Beispiel: Analyse-Agent, Dynamic Workers für Code, Facets für Historie, Think für Sub-Agenten.

Agents SDK

SDK bündelt Dynamic Workers, Durable Objects, Project Think.

// Agents SDK Beispiel
import { Agent } from 'cloudflare:agents-sdk';

class DataAnalysisAgent extends Agent {
  async analyze(data: string) {
    // Dynamic Workers führen Analysecode aus
    const worker = await this.sandbox.load({
      code: this.generateAnalysisCode(data),
      bindings: { db: this.memory }
    });

    const result = await worker.execute();

    // Ergebnis in Facets speichern
    await this.memory.save(result);

    return result;
  }
}

Damit wird Dynamic Workers vom „nur Sandbox“-Baustein zum Teil eines Agent-Stacks – Persistenz, Sub-Agenten, Tools aus einer Hand statt Service-Flickwerk.

Fazit

Dynamic Workers ersetzen nicht jede Sandbox – sie bieten in passenden Szenarien bis zu 100× schnellere Starts.

Kernwert: eine Sandbox pro Request wird wirtschaftlich machbar.

Für JS/TS-KI-Agenten mit Request-Isolation und Kostenfokus ist Dynamic Workers derzeit oft die stärkste Option.

Nächste Schritte:

Technologieauswahl heißt Rechnen: Startzeit, Speicher, Sicherheit, Betrieb. Dynamic Workers liefern Antworten in allen vier Dimensionen – ob Ihr Szenario passt, entscheiden Sie.

FAQ

Können Dynamic Workers Python ausführen?
Nein. Dynamic Workers basieren auf V8 Isolates und unterstützen nur JavaScript und TypeScript. Für Python empfiehlt sich E2B (Firecracker microVM) mit beliebigen Sprachen.
Reicht das Sicherheitsniveau von V8 Isolates?
Für die meisten Szenarien ja. Cloudflare ergänzt fünf Schutzschichten: automatische V8-Patches, Tenant Cordoning, MPK-Hardwareschutz, Code-Scan und Netzwerk-Isolation. Bei Finanz- oder Gesundheitsdaten eher E2B (höchstes Sicherheitsniveau).
Was ist der Unterschied zwischen load() und get()?
load() ist Einmal-Ausführung – geeignet für einzelne Datenanalysen oder temporären Code. Nach der Ausführung wird das Isolate automatisch zerstört.

get() ist Cache-Warming – geeignet für Batch-Verarbeitung und lang laufende Agenten. Das Isolate bleibt im Speicher und wird bei Folgeaufrufen wiederverwendet.
Wie funktioniert die Dynamic-Workers-Preisgestaltung?
Abrechnung pro unique Worker, nicht pro Request: $0,002/unique Worker/Tag plus CPU-Zeit plus Invocation-Gebühren. Bei template-basiertem Code (z. B. feste Analyse-Skripte) ist die Anzahl unique Worker oft deutlich kleiner als die Request-Anzahl – und damit günstiger.
Wie erreicht man persistenten Zustand?
Mit Durable Objects Facets. Jeder Dynamic Worker kann eine eigene SQLite-Datenbank haben – Zustand bleibt erhalten, auch wenn die Sandbox zerstört wird. Mit Project Think lässt sich ein vollständiger Agent-Stack aufbauen.
Warm-Pool oder Dynamic Workers – was passt besser?
Kommt auf den Use Case an. Warm-Pools eignen sich für lang laufende Dienste, Sprache egal.

Dynamic Workers für hochfrequente Kurzzeit-Ausführung (KI-Code), nur JS/TS, niedrigere Kosten, pro Request isoliert ohne Wiederverwendungs-Risiko.

9 Min. Lesezeit · Veröffentlicht am: 25. Apr. 2026 · Aktualisiert am: 4. Juli 2026

Kommentare

Melde dich mit GitHub an, um einen Kommentar zu hinterlassen

Easton BlogEaston Blog