[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"blog-e2b-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":23,"sources":35,"cover":126,"og":127,"expertise":128,"locales":129,"lang":131,"title":133,"description":134,"coverAlt":135,"metaTitle":136,"takeaways":137,"faq":143,"toc":156,"blocks":184,"others":684},"e2b","2026-10-02",12,"agents",[9,10,11,12,13],"Code sandbox","AI agents","Firecracker","Self-hosting","EU data residency",[15,16,17,18,19,20,21,22],"e2b sandbox","e2b pricing","e2b vs modal","e2b self-hosted","e2b code interpreter","ai agent code execution sandbox","e2b eu region","firecracker microvm for ai agents",[24,27,29,32],{"name":25,"url":26},"E2B","https:\u002F\u002Fe2b.dev",{"name":11,"url":28},"https:\u002F\u002Ffirecracker-microvm.github.io\u002F",{"name":30,"url":31},"Kernel-based Virtual Machine","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKernel-based_Virtual_Machine",{"name":33,"url":34},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123],{"title":37,"url":38},"E2B documentation: isolated sandboxes for agents","https:\u002F\u002Fe2b.dev\u002Fdocs",{"title":40,"url":41},"E2B billing and limits: plans, rates and API rate limits","https:\u002F\u002Fdocs.e2b.dev\u002Fbilling",{"title":43,"url":44},"E2B: how long a sandbox lives, timeouts and auto-pause","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fsandbox-lifetime",{"title":46,"url":47},"E2B: sandbox persistence, pause and resume","https:\u002F\u002Fdocs.e2b.dev\u002Fsandbox\u002Fpersistence",{"title":49,"url":50},"E2B: how template builds work, snapshots and kernel versions","https:\u002F\u002Fdocs.e2b.dev\u002Ftemplate\u002Fhow-it-works",{"title":52,"url":53},"E2B: template quickstart, build limits and templates versus snapshots","https:\u002F\u002Fdocs.e2b.dev\u002Ftemplate\u002Fquickstart",{"title":55,"url":56},"E2B: running your first sandbox","https:\u002F\u002Fdocs.e2b.dev\u002Fquickstart",{"title":58,"url":59},"E2B: run Python code in the code interpreter","https:\u002F\u002Fdocs.e2b.dev\u002Fcode-interpreting\u002Fsupported-languages\u002Fpython",{"title":61,"url":62},"E2B: internet access controls","https:\u002F\u002Fdocs.e2b.dev\u002Fnetwork\u002Finternet-access",{"title":64,"url":65},"E2B: secrets injected by the egress proxy","https:\u002F\u002Fdocs.e2b.dev\u002Fsecrets",{"title":67,"url":68},"E2B: is it SOC 2 compliant? Trust Center, DPA and sub-processors","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fsecurity-and-compliance",{"title":70,"url":71},"E2B: can I run sandboxes in the EU?","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Feu-region",{"title":73,"url":74},"E2B: egress IP ranges and regions","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fegress-ip-ranges",{"title":76,"url":77},"E2B: does it support GPUs?","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fgpu-support",{"title":79,"url":80},"E2B: how to calculate the price of a sandbox, with current rates","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fcalculate-sandbox-price",{"title":82,"url":83},"E2B: Volumes beta limitations: file locking, mounts and regions","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fvolumes-beta-limitations",{"title":85,"url":86},"E2B: bring your own cloud (BYOC)","https:\u002F\u002Fdocs.e2b.dev\u002Fbyoc",{"title":88,"url":89},"E2B changelog: E2B Embed, the access token change and weekly releases","https:\u002F\u002Fdocs.e2b.dev\u002Fchangelog",{"title":91,"url":92},"E2B Embed: self-hosting on one machine (README)","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002Fruntime\u002Ftree\u002Fmain\u002Fembed",{"title":94,"url":95},"E2B Embed: Docker Compose requirements and sizing","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002Fruntime\u002Fblob\u002Fmain\u002Fembed\u002Fcompose\u002FREADME.md",{"title":97,"url":98},"E2B SDK repository, Apache-2.0","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002FE2B",{"title":100,"url":101},"Firecracker: lightweight microVMs on KVM","https:\u002F\u002Fgithub.com\u002Ffirecracker-microvm\u002Ffirecracker",{"title":103,"url":104},"Modal pricing: per-second CPU, memory and GPU","https:\u002F\u002Fmodal.com\u002Fpricing",{"title":106,"url":107},"Modal sandboxes: lifetime, gVisor and VM runtimes","https:\u002F\u002Fmodal.com\u002Fdocs\u002Fguide\u002Fsandbox",{"title":109,"url":110},"Modal region selection: region codes","https:\u002F\u002Fmodal.com\u002Fdocs\u002Fguide\u002Fregion-selection",{"title":112,"url":113},"Daytona pricing: vCPU and GiB rates","https:\u002F\u002Fwww.daytona.io\u002Fpricing",{"title":115,"url":116},"Daytona documentation: sandbox isolation and start time","https:\u002F\u002Fwww.daytona.io\u002Fdocs\u002Fen\u002F",{"title":118,"url":119},"Daytona regions: shared United States and Europe","https:\u002F\u002Fwww.daytona.io\u002Fdocs\u002Fen\u002Fregions\u002F",{"title":121,"url":122},"Docker security: kernel namespaces, control groups and capabilities","https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Fsecurity\u002F",{"title":124,"url":125},"Regulation (EU) 2016\u002F679 (GDPR), EUR-Lex","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2016\u002F679\u002Foj","\u002Fimages\u002Fblog\u002Fe2b\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fe2b\u002Fog.jpg","ai-engineer",[130,131,132],"en","de","hu","E2B-Test: Firecracker-Sandboxes für Agenten-Code, nach Sekunden abgerechnet","E2B führt jeden Agentenlauf in einer eigenen Firecracker-microVM aus, mit Pause, Fortsetzung und Abrechnung pro Sekunde. Wo es passt und was die EU-Option kostet.","Vier gleiche geschlossene Kisten in einer Reihe, jede mit einem kleinen Quadrat, ein Pfeil kehrt zurück.","E2B-Test: microVM-Sandboxes für Agenten-Code · Balázs Csorba",[138,139,140,141,142],"E2B gibt jedem Agentenlauf eine eigene Firecracker-microVM mit eigenem Linux-Kernel, und genau diese Isolation will ich für Code, den ein Modell geschrieben hat.","Rechenzeit wird pro Sekunde abgerechnet, mit 0,000014 $ pro vCPU-Sekunde und 0,0000045 $ pro GiB-Sekunde. Die Standard-Sandbox mit 2 vCPU kostet damit etwa 0,109 $ pro Stunde.","Pausieren behält Dateien und Speicher und stoppt die Rechenabrechnung, und eine pausierte Sandbox läuft nie ab. Eine Pause setzt außerdem das Laufzeitfenster von einer Stunde (Hobby) oder 24 Stunden (Pro) zurück.","EU-Hosting braucht den Pro-Tarif für 150 $ im Monat und eine Anfrage beim Support. Der unterschriebene Auftragsverarbeitungsvertrag und die Liste der Unterauftragsverarbeiter sollten vorliegen, bevor personenbezogene Daten hineinkommen.","Self-Hosting heißt E2B Embed auf einer Linux-Maschine mit KVM. Das passt zu einem internen Workload, ist aber keine Plattform.",[144,147,150,153],{"q":145,"a":146},"Was kostet E2B?","Hobby ist kostenlos und enthält ein einmaliges Guthaben von 100 $ sowie eine Stunde Grenze für die durchgehende Laufzeit. Pro kostet 150 $ im Monat zusätzlich zur Nutzung, mit 24 Stunden Grenze und 100 gleichzeitigen Sandboxes inklusive, mit Add-ons bis 1.100. Die Nutzung kostet 0,000014 $ pro vCPU-Sekunde und 0,0000045 $ pro GiB-Sekunde, und pausierte oder beendete Sandboxes werden nicht berechnet.",{"q":148,"a":149},"Kann ich Daten in der EU halten?","Ja, ab Pro und nach einer Anfrage beim Support. Der EU-Cluster läuft in der Google-Cloud-Region europe-west1, Hobby-Sandboxes laufen in den USA. Die Doku sagt, wo Sandboxes laufen, aber keine der Seiten, die ich gelesen habe, nennt eine Region für Snapshots und Logs des EU-Clusters. Frag das deshalb schriftlich nach.",{"q":151,"a":152},"Kann ich E2B selbst hosten?","Ja, mit E2B Embed, einem Paket unter Apache-2.0, das den gesamten Stack auf einer Linux-Maschine mit KVM betreibt und sich mit Docker Compose, Terraform oder Kubernetes installieren lässt. Es ist ein Produkt für eine Maschine. Die Embed-README nennt drei andere Wege, E2B zu betreiben, wenn du mehr brauchst: eine Private Cloud, BYOC und E2B Cloud.",{"q":154,"a":155},"Unterstützt E2B GPU-Workloads?","Nein. E2B-Sandboxes laufen nur auf CPU und werden nach vCPU und RAM dimensioniert. Es gibt keine GPU-Option in den SDKs, der CLI, der API oder einer Template-Definition.",[157,160,163,166,169,172,175,178,181],{"id":158,"title":159},"what-it-is","Was es ist",{"id":161,"title":162},"how-it-works","So funktioniert es",{"id":164,"title":165},"getting-started","Erste Schritte",{"id":167,"title":168},"pause-resume-and-templates","Pause, Fortsetzung und Templates",{"id":170,"title":171},"code-interpreter-and-controls","Code Interpreter und Kontrollen",{"id":173,"title":174},"cost-and-deployment","Kosten und Betrieb",{"id":176,"title":177},"where-it-falls-short","Wo es zu kurz greift",{"id":179,"title":180},"verdict","Fazit",{"id":182,"title":183},"sources","Quellen",[185,195,198,201,231,232,235,241,242,245,248,251,252,255,282,285,287,290,291,299,306,307,310,381,384,387,390,417,424,446,452,453,485,486,492,538,555,560,561],{"type":186,"content":187},"paragraph",[188,189,194],"E2B ist ein gehosteter Dienst, der Code für KI-Agenten in einer isolierten Linux-Sandbox ausführt, eine pro Lauf, mit SDKs für Python und JavaScript, um diese Sandboxes zu erstellen, zu steuern, zu pausieren und zu beenden. Nimm ihn, wenn dein Produkt Code ausführt, den ein Modell geschrieben hat, und du keinen microVM-Host selbst betreiben willst. Lass ihn, wenn du eine GPU brauchst oder die Daten dein eigenes Netz nie verlassen dürfen – dann ist E2B Embed auf einem eigenen Server die ehrliche Antwort. Gegenüber Docker in Eigenregie bekommst du eine stärkere Grenze und deutlich weniger Betriebsaufwand, und gegenüber Modal oder Daytona liegt der echte Unterschied im Sandbox-Modell, nicht im Zähler. Für die Sicherheitsseite ist die ",{"tag":190,"to":191,"children":192},"link","\u002Fblog\u002Fsandboxing-coding-agents-ci-checklist",[193],"Checkliste für Agenten-Sandboxes"," der richtige Startpunkt.",{"type":196,"level":197,"id":158,"text":159},"heading",2,{"type":186,"content":199},[200],"E2B stellt Sandboxes bereit: isolierte Linux-virtuelle Maschinen, in denen ein Agent Code ausführen, Daten verarbeiten und Werkzeuge aufrufen kann. Die Vertragspartnerin ist FoundryLabs, Inc., eine Delaware-Corporation, und der verwaltete Dienst läuft auf Google Cloud.",{"type":202,"ordered":203,"items":204},"list",false,[205,211,216,221,226],[206,210],{"tag":207,"children":208},"strong",[209],"Eine Firecracker-microVM pro Sandbox. ","Jede Sandbox ist eine Firecracker-microVM, kein Container. Sie startet einen eigenen Kernel, und der Hypervisor trennt sie von anderen Sandboxes und vom Host. E2B-Sandboxes laufen auf einem LTS-Kernel 6.1, und Templates, die am 27. November 2025 oder später gebaut wurden, laufen mit 6.1.158.",[212,215],{"tag":207,"children":213},[214],"Zwei SDK-Familien. ","Installiere e2b-code-interpreter für Python oder @e2b\u002Fcode-interpreter für JavaScript, wenn du Code ausführen willst, oder e2b (pip oder npm) für das Sandbox-SDK selbst. Das E2B-SDK-Repository steht unter Apache-2.0.",[217,220],{"tag":207,"children":218},[219],"Nur CPU. ","Sandboxes werden nach vCPU und RAM dimensioniert. Es gibt keine GPU-Option in den SDKs, der CLI, der API oder einer Template-Definition.",[222,225],{"tag":207,"children":223},[224],"Drei Regionen. ","US (us-west1) ist bei jedem Tarif der Standard. EU (europe-west1) und APAC (asia-southeast1) brauchen den Pro-Tarif oder höher und eine Anfrage beim Support.",[227,230],{"tag":207,"children":228},[229],"Compliance-Unterlagen. ","E2B hat einen SOC-2-Type-II-Bericht. Der Bericht, eine DPA-Vorlage und ein Penetrationstest werden über das Zugangsformular des Trust Centers angefordert.",{"type":196,"level":197,"id":161,"text":162},{"type":186,"content":233},[234],"Der Code des Agenten läuft nie in deinem Prozess. Das SDK ruft die E2B-API auf, die eine Sandbox auf einem Knoten startet oder eine pausierte fortsetzt. Ausgaben, Fehler und Dateien kommen zum Aufrufer zurück. Der Teil, der E2B mehr als einen Container-Host macht, liegt darunter: Eine Pause sichert Speicher und Dateisystem der Sandbox als Snapshot, damit die nächste Fortsetzung denselben Prozess weiterlaufen lässt.",{"type":236,"src":237,"alt":238,"wide":239,"caption":240},"image","\u002Fimages\u002Fblog\u002Fe2b\u002Fdiagram-6.webp","Ein Lauf, eine microVM in einer E2B-Sandbox Das SDK schickt den Agentencode an die E2B-API. Die API startet eine Firecracker-microVM-Sandbox mit eigenem Linux-Kernel und führt den Code dort aus. Standardausgabe, Fehler und Dateien kommen zum Agenten zurück. Eine Pause schreibt Speicher und Festplatte der Sandbox in den Speicher, und eine Fortsetzung bringt dieselben Prozesse zurück.",true,"Jeder Lauf bekommt seine eigene microVM. Eine Pause sichert Speicher und Festplatte, und eine Fortsetzung führt denselben Prozess weiter.",{"type":196,"level":197,"id":164,"text":165},{"type":186,"content":243},[244],"Setze E2B_API_KEY in der Umgebung, installiere e2b-code-interpreter und führe dieses Skript aus. Es führt ein Snippet aus, gibt die Ausgabe aus und beendet die Sandbox in einem finally-Block, damit ein Fehler keine Sandbox bis zum Timeout abrechnen lässt.",{"type":246,"code":247},"code","from e2b_code_interpreter import Sandbox\n\nsbx = Sandbox.create(timeout=300)  # seconds; the default is 5 minutes\ntry:\n    execution = sbx.run_code('print(sum([3, 5, 8]) \u002F 3)')\n    print(execution.logs)\nfinally:\n    sbx.kill()                     # billing stops now, not at the timeout",{"type":186,"content":249},[250],"Das Timeout ist in Sekunden in Python und als timeoutMs in Millisekunden in JavaScript angegeben. Ohne Angabe lebt eine Sandbox fünf Minuten, und nach Ablauf wird sie standardmäßig beendet, nicht pausiert. Das Execution-Objekt enthält die Logs und den Wert des letzten Ausdrucks, und genau das liest ein Agent, bevor er den nächsten Schritt geht.",{"type":196,"level":197,"id":167,"text":168},{"type":186,"content":253},[254],"Der Lebenszyklus unterscheidet E2B von einem Container-Host. Eine Sandbox hat ein Timeout, standardmäßig fünf Minuten, und die Standardaktion nach Ablauf ist beenden. Setze innerhalb von lifecycle onTimeout auf pause, damit Dateisystem und Speicher erhalten bleiben (on_timeout in Python), und autoResume, damit die Sandbox beim nächsten SDK-Aufruf oder HTTP-Request wieder aufwacht (auto_resume in Python). Die automatische Pause bleibt bestehen: Eine Sandbox, die wieder aufwacht und erneut ausläuft, pausiert erneut.",{"type":202,"ordered":203,"items":256},[257,262,267,272,277],[258,261],{"tag":207,"children":259},[260],"Pausieren sichert alles, was läuft. ","Dateien, laufende Prozesse und geladene Variablen bleiben erhalten. Eine Pause dauert etwa vier Sekunden pro GiB RAM, eine Fortsetzung etwa eine Sekunde.",[263,266],{"tag":207,"children":264},[265],"Eine pausierte Sandbox läuft nie ab. ","E2B behält sie unbegrenzt und löscht sie nicht von selbst. Sie wird nicht für Rechenzeit abgerechnet und zählt nicht zur Grenze für gleichzeitige Sandboxes. Nur ein Beenden entfernt sie.",[268,271],{"tag":207,"children":269},[270],"Eine Pause setzt die Laufzeituhr zurück. ","Die Grenze für durchgehende Laufzeit liegt bei einer Stunde im Hobby-Tarif und bei 24 Stunden im Pro-Tarif. Pause und Fortsetzung starten das Fenster neu, so behält ein langlebiger Agent dieselbe Sandbox.",[273,276],{"tag":207,"children":274},[275],"Netzwerkverbindungen überleben eine Pause nicht. ","Ein Server in der Sandbox ist während der Pause nicht erreichbar, und Clients müssen sich nach der Fortsetzung neu verbinden.",[278,281],{"tag":207,"children":279},[280],"Pause nur für das Dateisystem. ","Mit mode='filesystem' wird nur die Festplatte gesichert. Die nächste Fortsetzung startet die Sandbox neu, und der Speicherzustand ist verloren. Das passt, wenn der Zustand in Dateien liegt.",{"type":186,"content":283},[284],"Templates sind die andere Hälfte. Ein Template ist eine Sandbox-Definition im Code: Basis-Image, Pakete, Umgebungsvariablen, Dateien und ein Startbefehl. E2B baut sie einmal zu einem Snapshot. Der Startbefehl läuft beim Build und wird mitgespeichert, daher läuft der Prozess schon, wenn aus dem Template eine Sandbox entsteht. Laut Doku lädt ein gespeicherter Sandbox-Zustand in etwa 80 ms, und Templates starten schneller als Snapshots, weil das Gast-Betriebssystem neu startet, bevor der langlebige Prozess erfasst wird.",{"type":246,"code":286},"from e2b import Template, default_build_logger, wait_for_timeout\n\ntemplate = (\n    Template()\n    .from_base_image()\n    .pip_install(['pandas', 'matplotlib'])\n    .set_envs({'REPORT_DIR': '\u002Fhome\u002Fuser\u002Freports'})\n    .set_start_cmd('python -m http.server 8000', wait_for_timeout(5_000))\n)\n\nTemplate.build(\n    template,\n    'analytics-v1',\n    cpu_count=2,\n    memory_mb=1024,\n    on_build_logs=default_build_logger(),\n)",{"type":186,"content":288},[289],"Eine Sandbox startest du mit Sandbox(template='analytics-v1') in Python oder Sandbox.create('analytics-v1') in JavaScript. Builds können bis zu eine Stunde laufen, im Hobby- und im Pro-Tarif sind 20 gleichzeitig möglich, und die Anzahl der Templates ist nicht begrenzt. E2B sagt, dass Speicher für Templates später Geld kosten könnte. Frag also nach, bevor du hunderte kundenspezifische Templates baust.",{"type":196,"level":197,"id":170,"text":171},{"type":186,"content":292},[293,294,298],"Der Code Interpreter ist der Anwendungsfall, für den E2B gebaut ist. run_code führt Code in der Sandbox aus und gibt eine Execution zurück. Code-Kontexte erlauben es, mehrere Ausführungen gleichzeitig in einer Sandbox laufen zu lassen, jede in ihrem eigenen Kontext. Die Sicherheit ist die zweite Hälfte. Der Internetzugang ist standardmäßig an, also übergib allow_internet_access=False für Code, der nie nach außen darf, oder schränke ihn mit Allow- und Deny-Listen ein. API-Schlüssel speicherst du als Secret: Der Egress-Proxy ergänzt den Wert bei passenden ausgehenden HTTPS-Requests, und die Sandbox hält nur einen Verweis. Gilt auch hier E2Bs eigene Warnung: Gib Zugangsdaten nur an Ziele weiter, denen du vertraust, denn das Ziel erhält den Wert und könnte ihn in seiner Antwort an die Sandbox weitergeben. Das Bedrohungsmodell dahinter steht in ",{"tag":190,"to":295,"children":296},"\u002Fblog\u002Fprompt-injection-lethal-trifecta-patterns",[297],"Prompt-Injection-Muster",".",{"type":300,"variant":301,"title":302,"body":303},"callout","tip","Netzwerk ausdrücklich festlegen",[304],[305],"Erstelle Agenten-Sandboxes mit allow_internet_access=False und öffne nur die Hosts, die eine Aufgabe braucht. Da der Standard an ist, kann eine Sandbox ohne gesetztes Flag das Internet erreichen, und niemand hat das bewusst entschieden.",{"type":196,"level":197,"id":173,"text":174},{"type":186,"content":308},[309],"Der Preis wird pro Sekunde für die vCPUs und den RAM berechnet, die einer Sandbox zugewiesen sind, nicht für das, was sie tatsächlich nutzt. Die aktuellen Sätze sind 0,000014 $ pro vCPU-Sekunde (0,0504 $ pro Stunde) und 0,0000045 $ pro GiB-Sekunde (0,0162 $ pro GiB-Stunde). Die Festplatte ist inbegriffen, pausierte oder beendete Sandboxes werden nicht berechnet. Die FAQ sagt, dass die Sätze der Übersicht halber angegeben sind und sich ändern können, und nennt die Preisseite als maßgebliche Quelle. Prüfe also beide am Tag des Kaufs.",{"type":311,"head":312,"rows":321},"table",[313,315,317,319],[314],"Merkmal",[316],"Hobby",[318],"Pro",[320],"Enterprise",[322,331,339,347,355,364,372],[323,325,327,329],[324],"Grundpreis",[326],"0 $ im Monat",[328],"150 $ im Monat",[330],"Individuell",[332,334,336,338],[333],"Gratisguthaben",[335],"100 $, einmalig",[337],"Kein Zusatzguthaben beim Upgrade",[330],[340,342,344,346],[341],"Max. vCPU und RAM",[343],"8 vCPU, 8 GiB",[345],"8 oder mehr, auf Anfrage",[330],[348,350,352,354],[349],"Max. durchgehende Laufzeit",[351],"1 Stunde",[353],"24 Stunden",[330],[356,358,360,362],[357],"Gleichzeitige Sandboxes",[359],"20",[361],"100, mit Add-ons bis 1.100",[363],"1.100 oder mehr",[365,367,369,371],[366],"Startrate für Sandboxes",[368],"1 pro Sekunde",[370],"5 pro Sekunde",[330],[373,375,377,379],[374],"EU-Region",[376],"Nein",[378],"Ja, auf Anfrage",[380],"Ja",{"type":186,"content":382},[383],"Entscheidend ist die Rechnung: Läufe pro Tag mal Sekunden pro Lauf. Die Standard-Sandbox hat 2 vCPU und 512 MiB, sie kostet etwa 0,109 $ pro Stunde oder 0,0027 $ für einen 90-Sekunden-Lauf. Tausend solche Läufe am Tag ergeben etwa 2,72 $ pro Tag, also ungefähr 82 $ im Monat, vor der Pro-Gebühr von 150 $, die du für EU-Hosting oder für mehr als 20 gleichzeitige Sandboxes brauchst.",{"type":186,"content":385},[386],"Zu Listenpreisen ist E2B nicht das günstigste Rechenangebot. Modal rechnet pro physischem Kern, den es mit zwei vCPU-Äquivalenten beschreibt, mit 0,00003942 $ pro Kernsekunde und 0,00000222 $ pro GiB-Sekunde. Zählt man einen Kern als zwei vCPUs, kostet dieselbe Standard-Sandbox dort etwa 0,146 $ pro Stunde, und Modal rechnet zusätzlich GPU-Zeit ab. Die Preisseite von Daytona nennt 0,0504 $ pro vCPU-Stunde und 0,0162 $ pro GiB-Stunde, dieselben Sätze wie bei E2B. Die Wahl zwischen den dreien hängt also am Sandbox-Modell, an den Regionen und am Papierkram.",{"type":186,"content":388},[389],"Self-Hosting ist E2B Embed, ein Paket unter Apache-2.0 im Runtime-Repository, das der Changelog am 14. September 2026 angekündigt hat. Es betreibt den gesamten E2B-Stack auf einer Maschine: die Control Plane, die Sandboxes, den Speicher für Templates und Snapshots sowie die Telemetrie. Du installierst es mit Docker Compose auf einem Linux-Host, den du besitzt, mit Terraform für eine VM bei Google Cloud, AWS oder Azure oder auf einem Knoten eines Kubernetes-Clusters. Alles bleibt auf einer Maschine, und da jedes Image und jede Binärdatei, die der Stack lädt, öffentlich ist, braucht er weder einen E2B-Account noch ein Token. Der Aufwand ist trotzdem real.",{"type":202,"ordered":203,"items":391},[392,397,402,407,412],[393,396],{"tag":207,"children":394},[395],"Linux mit KVM. ","Embed braucht Linux auf x86-64 oder arm64 mit KVM, oder eine VM mit aktivierter verschachtelter Virtualisierung. Ubuntu 24.04 ist der empfohlene Host, mit Kernel 6.8 oder neuer auf x86-64.",[398,401],{"tag":207,"children":399},[400],"Dimensionierung. ","E2B empfiehlt 12 GiB RAM und 20 GiB freien Speicherplatz. Eine Pause braucht freien Platz in der Größe des Sandbox-Speichers plus 1 GiB Reserve, und die Anleitung nennt für den Stack etwa zwei Minuten auf einer VM mit 8 vCPU und 32 GiB, kleinere Hosts brauchen länger.",[403,406],{"tag":207,"children":404},[405],"Betrieb. ","Der Knoten betreibt Redis und ClickHouse, dazu Datenbanken, die das Setup migriert und befüllt. Backups, Updates, Monitoring und der KVM-Host gehören dir.",[408,411],{"tag":207,"children":409},[410],"Klartext-HTTP. ","Embed antwortet ohne eigenes TLS, daher gehört es in dein Netz, hinter deinen eigenen Proxy.",[413,416],{"tag":207,"children":414},[415],"Eine Maschine. ","Embed ist bewusst eine Maschine. Brauchst du mehr, nennt die README drei andere Wege, E2B zu betreiben: eine Private Cloud, BYOC und E2B Cloud.",{"type":186,"content":418},[419,420,298],"Für ein EU-Unternehmen hat die Datenfrage vier Teile, und die öffentliche Doku beantwortet nur einige davon. Den größeren DSGVO-Rahmen für Modell-APIs findest du in ",{"tag":190,"to":421,"children":422},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[423],"DSGVO und Datenresidenz bei LLM-APIs",{"type":202,"ordered":203,"items":425},[426,431,436,441],[427,430],{"tag":207,"children":428},[429],"Wo Sandboxes laufen. ","Bei Google Cloud: europe-west1 für EU-Kunden ab Pro, und us-west1 für alle im Hobby-Tarif, wo keine EU-Wahl angeboten wird.",[432,435],{"tag":207,"children":433},[434],"Wo der Rest liegt. ","Die Sicherheits-FAQ sagt, dass der Speicher der Standardverschlüsselung ruhender Daten von Google Cloud folgt und E2B keine eigene Verschlüsselungsschicht ergänzt. Der BYOC-Vergleich sagt, dass Templates, Snapshots und Runtime-Logs im verwalteten Tarif in E2B Cloud liegen. Keine der Seiten, die ich gelesen habe, nennt aber eine Region für Snapshots und Logs des EU-Clusters.",[437,440],{"tag":207,"children":438},[439],"Der Papierkram. ","Die DPA-Vorlage, der SOC-2-Bericht und der Penetrationstest werden über das Zugangsformular des Trust Centers angefordert. Ein unterschriebener DPA und Änderungen an den Standardbedingungen laufen über den Support, und so auch die Liste der Unterauftragsverarbeiter. Artikel 28 DSGVO verlangt einen Auftragsverarbeitungsvertrag und die vorherige gesonderte oder allgemeine schriftliche Genehmigung der Unterauftragsverarbeiter. Die Liste ist also Pflicht, nicht optional.",[442,445],{"tag":207,"children":443},[444],"Übermittlungen. ","Die Vertragspartnerin von E2B ist eine Delaware-Corporation. Wenn Support oder Entwickler außerhalb der EU auf personenbezogene Daten zugreifen können, brauchst du einen Übermittlungsmechanismus nach Artikel 46 DSGVO, meist die Standardvertragsklauseln im Auftragsverarbeitungsvertrag.",{"type":300,"variant":447,"title":448,"body":449},"warn","EU ist eine Tarifentscheidung",[450],[451],"Ein Hobby-Konto kann den EU-Cluster nicht auswählen, ein Test im Hobby-Tarif sagt also nichts über das Verhalten in der EU. Bitte den Support, die Region auf einem Pro-Konto zu aktivieren, und teste dort mit demselben Template und denselben Netzwerkeinstellungen, die du produktiv nutzen willst.",{"type":196,"level":197,"id":176,"text":177},{"type":202,"ordered":203,"items":454},[455,460,465,470,475,480],[456,459],{"tag":207,"children":457},[458],"Leerlauf wird berechnet. ","Eine laufende Sandbox wird abgerechnet, ob gerade Code läuft oder nicht. Setze Timeouts und automatische Pausen bewusst, und nutze Lifecycle-Webhooks, die die Ausführungszeit beendeter und pausierter Läufe mitliefern.",[461,464],{"tag":207,"children":462},[463],"Ratenlimits und Startgeschwindigkeit. ","Listen-Endpunkte erlauben 10 Anfragen pro Sekunde im Hobby-Tarif und 20 im Pro-Tarif, jeweils pro Endpunkt und Projekt. Gestartet werden im Hobby-Tarif eine Sandbox pro Sekunde und im Pro-Tarif fünf, und das begrenzt, wie schnell ein Fan-out anlaufen kann. Anfragen über dem Limit kommen mit 429 und einem Retry-After-Header zurück, und SDK 2.49.1 und neuer wiederholen automatisch.",[466,469],{"tag":207,"children":467},[468],"Eine Pause kann abgelehnt werden. ","Der Knoten, auf dem die Sandbox läuft, schreibt unter Umständen noch den vorherigen Snapshot derselben Sandbox. Wo E2B die Änderung aktiviert hat, lautet die Antwort HTTP 503, und die Sandbox läuft mit intaktem Zustand weiter. Anderswo schlägt die Pause mit HTTP 500 fehl, bis die Ausrollung die Region erreicht, und E2B rollt sie Region für Region aus. Das JavaScript-SDK wirft ServiceBusyError, das Python-SDK ServiceBusyException, dein Code muss also erneut versuchen.",[471,474],{"tag":207,"children":472},[473],"Keine feste Egress-Adresse. ","Ausgehender Verkehr verlässt das Netz über wechselnde öffentliche IPs, und E2B veröffentlicht keinen Adressbereich, auch nicht im Enterprise-Tarif. Eine Allow-Liste auf der Gegenseite hat nichts Stabiles, womit sie abgleichen könnte, also brauchst du einen Proxy unter deiner Kontrolle mit fester Adresse.",[476,479],{"tag":207,"children":477},[478],"Volumes sind eine Private Beta. ","Volumes überleben Sandboxes, aber Dateisperren können hängen, Mounts sind beim Erstellen festgelegt, Snapshots werden nicht unterstützt, und Volumes gibt es nur in den USA und der EU.",[481,484],{"tag":207,"children":482},[483],"Das SDK ändert sich schnell. ","E2B akzeptiert seit dem 1. August 2026 keine Access-Tokens mehr, älterer Code muss also mit E2B_API_KEY authentifizieren. Der Changelog erscheint wöchentlich, deshalb solltest du SDK- und CLI-Versionen in der Produktion festlegen.",{"type":196,"level":197,"id":179,"text":180},{"type":186,"content":487},[488,489,491],"Nimm E2B, wenn dein Produkt Code, den ein Modell geschrieben hat, als Funktion ausführt, du eine microVM pro Lauf willst, ohne einen Hypervisor zu betreiben, und Pause und Fortsetzung mit Speicher brauchst statt nur Neustarts. Es ist das falsche Werkzeug für GPU-Arbeit, für ein Skript, das einmal am Tag läuft, und für Daten, die auf eigenen Maschinen bleiben müssen, es sei denn, ein Embed-Knoten reicht. Fang im Hobby-Tarif an, um das SDK und das Pausenmodell kennenzulernen, und wechsle in den Pro-Tarif, bevor personenbezogene Daten in eine Sandbox gelangen. Für die breitere Designfrage ist die ",{"tag":190,"to":191,"children":490},[193]," das Dokument, das ich zuerst durchgehen würde.",{"type":311,"head":493,"rows":502},[494,496,498,500],[495],"Option",[497],"Isolation",[499],"Ca. $ pro Stunde, 2 vCPU und 512 MiB",[501],"EU-Option",[503,511,520,529],[504,505,507,509],[25],[506],"Firecracker-microVM mit eigenem Kernel",[508],"0,109 $ zu den Nutzungspreisen",[510],"Gemeinsamer EU-Cluster, ab Pro",[512,514,516,518],[513],"Modal",[515],"gVisor oder eine VM-Laufzeit mit eigenem Kernel",[517],"0,146 $, wenn ein Kern als zwei vCPUs zählt",[519],"Ein EU-Regionscode in der Regionsdoku, für Sandboxes nicht bestätigt",[521,523,525,527],[522],"Daytona",[524],"Dedizierter Kernel pro Sandbox, laut Doku",[526],"0,109 $ zu denselben Stundensätzen",[528],"Gemeinsame Region Europa (eu)",[530,532,534,536],[531],"Docker auf eigenen Hosts",[533],"Kernel-Namespaces und cgroups auf dem Host-Kernel",[535],"Dein VM-Preis plus deine Zeit",[537],"Was du selbst baust",{"type":202,"ordered":203,"items":539},[540,545,550],[541,544],{"tag":207,"children":542},[543],"Modal, ","wenn dein Team dort ohnehin Python-Batchjobs und GPU-Arbeit betreibt. Die Sandboxes laufen auf gVisor oder einer VM-Laufzeit mit eigenem Kernel, die Standard-Maximallaufzeit beträgt fünf Minuten, die sich mit einem Timeout von bis zu 24 Stunden erhöhen lässt.",[546,549],{"tag":207,"children":547},[548],"Daytona, ","wenn du Sandboxes in einer gemeinsamen Region Europa willst und die Startzeit unter 90 ms mit deiner eigenen Last messen möchtest. Die Doku beschreibt einen dedizierten Kernel pro Sandbox.",[551,554],{"tag":207,"children":552},[553],"Docker auf eigenen Hosts, ","wenn du wenige Agentenjobs am Tag auf einer VM laufen lässt, die du schon betreibst, und der Code dir gehört. Die Sicherheitsdoku von Docker baut die Grenze aus Kernel-Namespaces, cgroups und Capabilities auf, und für Code, den ein Modell geschrieben hat, würde ich mich darauf allein nicht verlassen.",{"type":300,"variant":301,"title":556,"body":557},"Schriftlich anfordern",[558],[559],"Den unterschriebenen Auftragsverarbeitungsvertrag (DPA), die Liste der Unterauftragsverarbeiter, die Region, in der der EU-Cluster Snapshots und Logs speichert, die Aufbewahrungsdauer der Logs und das Modell für den Supportzugriff. Keines davon steht in der öffentlichen Doku, die ich gelesen habe. Es gehört also in die Beschaffungsakte und nicht in eine Annahme aus dem Engineering.",{"type":196,"level":197,"id":182,"text":183},{"type":202,"ordered":203,"items":562},[563,568,572,576,580,584,588,592,596,600,604,608,612,616,620,624,628,632,636,640,644,648,652,656,660,664,668,672,676,680],[564],{"tag":565,"href":38,"children":566},"a",[567],"E2B-Dokumentation: isolierte Sandboxes für Agenten",[569],{"tag":565,"href":41,"children":570},[571],"E2B Billing und Limits: Tarife, Preise und API-Ratenlimits",[573],{"tag":565,"href":44,"children":574},[575],"E2B: wie lange eine Sandbox lebt, Timeouts und automatische Pause",[577],{"tag":565,"href":47,"children":578},[579],"E2B: Sandbox-Persistenz, Pause und Fortsetzung",[581],{"tag":565,"href":50,"children":582},[583],"E2B: wie Template-Builds funktionieren, Snapshots und Kernel-Versionen",[585],{"tag":565,"href":53,"children":586},[587],"E2B: Template-Schnellstart, Build-Limits und Templates im Vergleich zu Snapshots",[589],{"tag":565,"href":56,"children":590},[591],"E2B: die erste Sandbox starten",[593],{"tag":565,"href":59,"children":594},[595],"E2B: Python-Code im Code Interpreter ausführen",[597],{"tag":565,"href":62,"children":598},[599],"E2B: Kontrollen für den Internetzugang",[601],{"tag":565,"href":65,"children":602},[603],"E2B: Secrets, die durch den Egress-Proxy eingefügt werden",[605],{"tag":565,"href":68,"children":606},[607],"E2B: ist es SOC-2-konform? Trust Center, DPA und Unterauftragsverarbeiter",[609],{"tag":565,"href":71,"children":610},[611],"E2B: Kann ich Sandboxes in der EU betreiben?",[613],{"tag":565,"href":74,"children":614},[615],"E2B: Egress-IP-Bereiche und Regionen",[617],{"tag":565,"href":77,"children":618},[619],"E2B: Unterstützt es GPUs?",[621],{"tag":565,"href":80,"children":622},[623],"E2B: so berechnest du den Preis einer Sandbox, mit aktuellen Sätzen",[625],{"tag":565,"href":83,"children":626},[627],"E2B: Einschränkungen der Volumes-Beta: Dateisperren, Mounts und Regionen",[629],{"tag":565,"href":86,"children":630},[631],"E2B: Bring Your Own Cloud (BYOC)",[633],{"tag":565,"href":89,"children":634},[635],"E2B-Changelog: E2B Embed, die Änderung bei Access-Tokens und wöchentliche Releases",[637],{"tag":565,"href":92,"children":638},[639],"E2B Embed: Self-Hosting auf einer Maschine (README)",[641],{"tag":565,"href":95,"children":642},[643],"E2B Embed: Docker-Compose-Anforderungen und Dimensionierung",[645],{"tag":565,"href":98,"children":646},[647],"E2B-SDK-Repository, Apache-2.0",[649],{"tag":565,"href":101,"children":650},[651],"Firecracker: leichtgewichtige microVMs auf KVM",[653],{"tag":565,"href":104,"children":654},[655],"Modal-Preise: CPU, Speicher und GPU pro Sekunde",[657],{"tag":565,"href":107,"children":658},[659],"Modal Sandboxes: Lebensdauer, gVisor und VM-Laufzeiten",[661],{"tag":565,"href":110,"children":662},[663],"Modal Region Selection: Regionscodes",[665],{"tag":565,"href":113,"children":666},[667],"Daytona-Preise: vCPU- und GiB-Sätze",[669],{"tag":565,"href":116,"children":670},[671],"Daytona-Doku: Isolation und Startzeit der Sandboxes",[673],{"tag":565,"href":119,"children":674},[675],"Daytona-Regionen: gemeinsame Regionen USA und Europa",[677],{"tag":565,"href":122,"children":678},[679],"Docker-Sicherheit: Kernel-Namespaces, cgroups und Capabilities",[681],{"tag":565,"href":125,"children":682},[683],"Verordnung (EU) 2016\u002F679 (DSGVO), EUR-Lex",[685,743,816,885],{"slug":686,"published":687,"minutes":688,"category":7,"tags":689,"keywords":694,"about":705,"sources":715,"cover":737,"og":738,"expertise":128,"locales":739,"lang":131,"title":740,"description":741,"coverAlt":742},"agent-tool-design-descriptions-errors","2026-10-17",11,[10,690,691,692,693],"Tool use","Function calling","MCP","Agent design",[695,696,697,698,699,700,701,702,703,704],"agent tool design","writing tool descriptions for llm","function calling best practices","tool use error handling","mcp tool design","tool calling is_error","how many tools should an agent have","tool search defer_loading","agent computer interface","llm tool schema design",[706,709,712],{"name":707,"url":708},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":710,"url":711},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":713,"url":714},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[716,719,722,725,728,731,734],{"title":717,"url":718},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":720,"url":721},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":723,"url":724},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":726,"url":727},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":729,"url":730},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":732,"url":733},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":735,"url":736},"OpenAI API Docs: Function calling","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ffunction-calling","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fagent-tool-design-descriptions-errors\u002Fog.jpg",[130,131,132],"Tools für KI-Agenten gestalten: Namen, Beschreibungen, Schemas und Fehlermeldungen","Agent-Tools, die richtig gewählt und aufgerufen werden: aufgabenorientierte Tools, Beschreibungen, Schemas, kompakte Antworten und verwertbare Fehlermeldungen.","Ein Sockel mit drei Schlitzen; über dem mittleren steht ein passend breiter Block, daneben zwei Blöcke falscher Breite.",{"slug":744,"published":687,"minutes":688,"category":7,"tags":745,"keywords":751,"about":764,"sources":774,"cover":810,"og":811,"expertise":128,"locales":812,"lang":131,"title":813,"description":814,"coverAlt":815},"coding-agents-legacy-codebase-migration",[746,747,748,749,750],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[752,753,754,755,756,757,758,759,760,761,762,763],"legacy code migration ai","coding agent legacy codebase","strangler fig pattern ai","characterization tests legacy code","ai code migration review","agent assisted refactoring","legacy modernization coding agent","differential testing migration","shadow traffic migration","ai code review gate","test harness before migration","llm code migration",[765,768,771],{"name":766,"url":767},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":769,"url":770},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":772,"url":773},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[775,778,780,783,786,789,792,795,798,801,804,807],{"title":776,"url":777},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":779,"url":770},"Wikipedia: Characterization test",{"title":781,"url":782},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":784,"url":785},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":787,"url":788},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":790,"url":791},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":793,"url":794},"METR: Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity","https:\u002F\u002Fmetr.org\u002Fblog\u002F2025-07-10-early-2025-ai-experienced-os-dev-study\u002F",{"title":796,"url":797},"Chand et al.: Why Industry Migrates and When It Trusts LLMs (ESEM 2026)","https:\u002F\u002Fdrops.dagstuhl.de\u002Fentities\u002Fdocument\u002F10.4230\u002FLIPIcs.ESEM.2026.85",{"title":799,"url":800},"Li et al.: Environment-in-the-Loop: Rethinking Code Migration with LLM-based Agents (arXiv 2602.09944)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2602.09944",{"title":802,"url":803},"AWS: Amazon Q Developer just reached a $260 million dollar milestone (2024)","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdevops\u002Famazon-q-developer-just-reached-a-260-million-dollar-milestone\u002F",{"title":805,"url":806},"OpenAI: Why SWE-bench Verified no longer measures frontier coding capabilities (2026)","https:\u002F\u002Fopenai.com\u002Findex\u002Fwhy-we-no-longer-evaluate-swe-bench-verified\u002F",{"title":808,"url":809},"GitHub Docs: About GitHub Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcoding-agent\u002Fabout-coding-agent","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcoding-agents-legacy-codebase-migration\u002Fog.jpg",[130,131,132],"Legacy-Codebase mit Coding-Agenten migrieren: ein Strangler-Fig-Playbook","Wie Coding-Agenten eine Legacy-Migration tragen: Characterization-Tests zuerst, ein Seam pro Task, Review-Gates und differentielle Verifikation.","Ein Stapel Schichten, bei dem die obersten zwei durch neue ersetzt werden, daneben eine Naht und ein Haken.",{"slug":817,"published":687,"minutes":6,"category":7,"tags":818,"keywords":822,"about":834,"sources":844,"cover":879,"og":880,"expertise":128,"locales":881,"lang":131,"title":882,"description":883,"coverAlt":884},"background-agents-async-pr-workflow",[747,819,820,750,821],"Pull requests","CI","Automation",[823,824,825,826,827,828,829,830,831,832,833],"background coding agent","async coding agent","cloud coding agent pull request","copilot coding agent limits","codex cloud tasks","claude code cloud sessions","jules coding agent limits","agent pull request review","coding agent sandbox","agent CI gating","cost per merged pull request",[835,838,841],{"name":836,"url":837},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":839,"url":840},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":842,"url":843},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[845,846,849,852,855,858,861,864,867,870,873,876],{"title":808,"url":809},{"title":847,"url":848},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":850,"url":851},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":853,"url":854},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":856,"url":857},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":859,"url":860},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":862,"url":863},"GitHub Docs: About protected branches","https:\u002F\u002Fdocs.github.com\u002Fen\u002Frepositories\u002Fconfiguring-branches-and-merges-in-your-repository\u002Fmanaging-protected-branches\u002Fabout-protected-branches",{"title":865,"url":866},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":868,"url":869},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":871,"url":872},"Ehsani et al.: Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub (MSR 2026, arXiv 2601.15195)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2601.15195",{"title":874,"url":875},"Peralta et al.: Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study (MSR 2026, arXiv 2605.22534)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2605.22534",{"title":877,"url":878},"DORA: State of AI-assisted Software Development 2025","https:\u002F\u002Fdora.dev\u002Fdora-report-2025","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbackground-agents-async-pr-workflow\u002Fog.jpg",[130,131,132],"Coding-Agenten im Hintergrund: Pull Requests, Queues und Review","Wie asynchrone Coding-Agenten Tasks einreihen, in Sandboxes laufen, Draft-PRs öffnen und CI passieren. Grenzen, Kosten, Review und Fehlerbilder.","Eine Karte in einer Ablage fächert sich zu fünf Feldern auf, alle Pfeile führen zu einer Seite hinter einem Tor.",{"slug":886,"published":887,"minutes":888,"category":7,"tags":889,"keywords":895,"about":907,"sources":915,"cover":948,"og":949,"expertise":128,"locales":950,"lang":131,"title":951,"description":952,"coverAlt":953},"context-rot-compaction-long-running-agents","2026-10-16",10,[890,891,892,893,894],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[896,897,898,899,900,901,902,903,904,905,906],"context rot","context rot LLM","compaction AI agents","context engineering","long-running agents context window","Claude compaction API","context editing clear tool results","OpenAI responses compaction","lost in the middle LLM","agent context management","sub-agents context isolation",[908,911,914],{"name":909,"url":910},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":912,"url":913},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":707,"url":708},[916,919,922,925,928,930,933,936,939,942,945],{"title":917,"url":918},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":920,"url":921},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":923,"url":924},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":926,"url":927},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":929,"url":788},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":931,"url":932},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":934,"url":935},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":937,"url":938},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":940,"url":941},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":943,"url":944},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":946,"url":947},"Cognition: Don't Build Multi-Agents","https:\u002F\u002Fcognition.ai\u002Fblog\u002Fdont-build-multi-agents","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fcontext-rot-compaction-long-running-agents\u002Fog.jpg",[130,131,132],"Context Rot bei langlaufenden Agenten: Leeren, Compaction, Memory und Sub-Agenten","Warum die Genauigkeit von LLMs mit wachsendem Kontext sinkt und wie Leeren, Compaction, Notizen und Sub-Agenten lange Agentenläufe stabil halten.","Eine kleine Presse drückt einen hohen Blätterstapel zu einem kurzen, zwei Notizen zweigen ab.",1792261157350]