Eszközök/MI-ágensek

E2B bemutató: Firecracker-sandboxok ügynökkódhoz, másodpercre számlázva

Az E2B minden ügynökfutást saját Firecracker microVM-ben futtat, pauzával, folytatással és másodpercenkénti számlázással. Hol illik, és hol ér véget az önhosztolás.

Típus
Code execution sandbox
Ár
Usage-based · Hobby free, Pro from $150 a month

··12 perc olvasás

  • Code sandbox
  • AI agents
  • Firecracker
  • Self-hosting
  • EU data residency
Borítókép az E2B-bemutatóhoz: az ügynökkód API-n keresztül egy microVM-sandboxba megy, és az eredmény visszakerül a ciklusba.

A lényeg röviden

  • Az E2B minden ügynökfutásnak saját Firecracker microVM-et ad, saját Linux-kernellel, és ezt az izolációt akarom egy modell által írt kódhoz.
  • A számítás másodpercenként számláz, vCPU-másodpercenként 0,000014 $, GiB-másodpercenként 0,0000045 $ áron, így az alapértelmezett 2 vCPU-s sandbox óránként nagyjából 0,109 $-ba kerül.
  • A pauza megtartja a fájlokat és a memóriát, és leállítja a számítási díjat, a pauzált sandbox pedig soha nem jár le. A pauza a Hobby egy órás és a Pro 24 órás futásidő-ablakát is visszaállítja.
  • Az EU-hosztoláshoz havi 150 $-os Pro csomag és egy supportkérés kell, az aláírt DPA-nak és az alfeldolgozók listájának pedig a kezedben kell lennie, mielőtt személyes adat kerül be.
  • Az önhosztolás az E2B Embedet jelenti egy KVM-es Linux-gépen, ami egy belső munkaterheléshez jó, de nem platform.

Cikk meghallgatása

0:000:00

Az E2B egy hosztolt szolgáltatás, amely az AI-ügynökök kódját egy elszigetelt Linux-sandboxban futtatja, futásonként egyet, Python- és JavaScript-SDK-val, amelyekkel ezeket a sandboxokat létrehozhatod, vezérelheted, pauzába teheted és leállíthatod. Vedd igénybe, ha a terméked egy modell által írt kódot futtat, és nem akarsz magad microVM-hosztot üzemeltetni. Ne vedd, ha GPU kell, vagy ha az adatoknak soha nem szabad elhagyniuk a saját gépeidet – akkor az E2B Embed egy szerveren a becsületes válasz. A Docker saját futtatásához képest erősebb határt és sokkal kevesebb üzemeltetési munkát kapsz, a Modallal vagy a Daytonával pedig a valódi különbség a sandbox-modellben van, nem a számlálóban. A biztonsági oldalhoz az AI-ügynök sandbox ellenőrzőlista a jó kiindulópont.

Mi ez

Az E2B sandboxokat biztosít: elszigetelt Linux virtuális gépeket, amelyekben egy ügynök kódot futtathat, adatot dolgozhat fel és eszközöket hívhat meg. A szerződő fél a FoundryLabs, Inc., egy Delaware-i részvénytársaság, a menedzselt szolgáltatás pedig a Google Cloudon fut.

  • Egy Firecracker microVM sandboxonként. Minden sandbox Firecracker microVM, nem konténer. Saját kernelt indít, a hypervisor pedig elválasztja a többi sandboxtól és a hosttól. Az E2B-sandboxok LTS 6.1 kernelen futnak, a 2025. november 27-én vagy később épített templatek pedig 6.1.158-as kernelen.
  • Két SDK-család. Telepítsd az e2b-code-interpreter csomagot Pythonhoz vagy a @e2b/code-interpreter csomagot JavaScripthez, ha kódot akarsz futtatni, vagy az e2b-t (pip vagy npm) magához a sandbox-SDK-hoz. Az E2B SDK-repository Apache-2.0 licencű.
  • Csak CPU. A sandboxokat vCPU és RAM alapján mérjük. Nincs GPU-opció sem az SDK-kban, a CLI-ben, az API-ban vagy a template-definícióban.
  • Három régió. Az US (us-west1) minden csomagban az alapértelmezett. Az EU (europe-west1) és az APAC (asia-southeast1) Pro vagy annál magasabb csomagot és egy supportkérést igényel.
  • Megfelelőségi papírok. Az E2B-nek van SOC 2 Type II jelentése. A jelentést, egy DPA-sablont és egy behatolásteszt-jelentést a Trust Center hozzáférési űrlapján keresztül lehet kérni.

Hogyan működik

Az ügynök kódja soha nem a te folyamatodban fut. Az SDK az E2B API-t hívja, amely egy sandboxot egy csomópontra helyez, vagy egy pauzált sandboxot folytat. A kimenet, a hibák és a fájlok visszajutnak a hívóhoz. Az a rész, amitől az E2B több mint egy konténer-host, a háttérben van: egy pauza a sandbox memóriáját és fájlrendszerét snapshotként menti, így a következő folytatás ugyanabban a folyamatban viszi tovább a munkát.

Egy futás, egy microVM egy E2B-sandboxbanAz SDK elküldi az ügynök kódját az E2B API-nak. Az API egy Firecracker microVM-sandboxot indít saját Linux-kernellel, és ott futtatja a kódot. A standard kimenet, a hibák és a fájlok visszatérnek az ügynökhöz. Egy pauza a sandbox memóriáját és lemezét tárolóba írja, a folytatás pedig visszahozza ugyanazokat a folyamatokat.Egy futás, egy microVMugyanaz a folyamat felhőben és önhosztolvaÜgynökkódPython vagy JS SDKE2B APIlétrehozás, futtatás, pauzamicroVM-sandboxsaját Linux-kernelkimenet, hibák és fájlok visszatérnekPauza-tárolásmemória és lemezpauza / folytatásA menedzselt sandboxok a Google Cloudon futnak. Az Embed ugyanezt egy saját gépen futtatja.A pauza megtartja a fájlokat és a memóriát, így a folytatás ugyanott folytatódik.
Minden futás a saját microVM-jét kapja. A pauza elmenti a memóriáját és a lemezét, a folytatás pedig ugyanazt a folyamatot viszi tovább.

Első lépések

Állítsd be az E2B_API_KEY változót a környezetben, telepítsd az e2b-code-interpreter csomagot, és futtasd ezt a szkriptet. Egy kódrészletet futtat, kiírja a kimenetet, és a sandboxot egy finally blokkban leállítja, így egy kivétel nem hagy olyan sandboxot, amely a timeoutig számláz.

from e2b_code_interpreter import Sandbox

sbx = Sandbox.create(timeout=300)  # seconds; the default is 5 minutes
try:
    execution = sbx.run_code('print(sum([3, 5, 8]) / 3)')
    print(execution.logs)
finally:
    sbx.kill()                     # billing stops now, not at the timeout

A timeout Pythonban másodpercben, JavaScriptben timeoutMs néven milliszekundumban van megadva. Ha nincs megadva, egy sandbox öt percig él, lejáratkor pedig alapértelmezés szerint leáll, nem pauzál. Az execution objektum a logokat és az utolsó kifejezés szöveges értékét tartalmazza, és ezt olvassa vissza az ügynök a következő lépése előtt.

Pauza, folytatás és templatek

Az életciklus az a pont, ahol az E2B eltér a konténer-hosttól. Egy sandboxnak van timeoutja, alapértelmezés szerint öt perc, és lejáratkor az alapértelmezett művelet a leállítás. A lifecycle-on belül állítsd az onTimeout értékét pause-ra, hogy a fájlrendszer és a memória megmaradjon (Pythonban on_timeout), az autoResume-ot pedig úgy, hogy a sandbox a következő SDK-hívásra vagy HTTP-kérésre felébredjen (Pythonban auto_resume). Az automatikus pauza tartós, így a felébredő, majd újra lejáró sandbox újra pauzál.

  • A pauza mindent elment, ami fut. A fájlok, a futó folyamatok és a betöltött változók mind megmaradnak. Egy pauza körülbelül négy másodpercet vesz igénybe GiB RAM-onként, a folytatás pedig körülbelül egy másodpercet.
  • A szüneteltetett sandboxnak nincs lejárata. Az E2B határozatlan ideig megtartja, és magától soha nem törli. Számítási időre nem számláz, és nem számít bele a párhuzamos sandboxok korlátjába. Csak a leállítás távolítja el.
  • A pauza visszaállítja a futásidő-órát. A folyamatos futásidő felső határa Hobbyn egy óra, Prón 24 óra. A pauza és a folytatás újraindítja az ablakot, így egy hosszú életű ügynök megtartja ugyanazt a sandboxot.
  • A hálózati kapcsolatok nem élik túl a pauzát. A sandboxban futó szerver pauza közben nem érhető el, a klienseknek pedig a folytatás után újra kell csatlakozniuk.
  • Csak fájlrendszer-pauza. A mode='filesystem' paraméterrel csak a lemez mentődik. A következő folytatás újraindítja a sandboxot, a memória állapota pedig elvész, ami rendben van, ha az állapot fájlokban él.

A templatek a másik fele. A template kódban megadott sandbox-definíció: alapimage, csomagok, környezeti változók, fájlok és egy indítóparancs. Az E2B egyszer snapshotba építi. Az indítóparancs az építés során fut és rögzítődik, így a folyamat már fut, amikor a templatből sandboxot hozol létre. A doksi szerint egy mentett sandbox-állapot körülbelül 80 ms alatt töltődik be, a templatek pedig gyorsabban indulnak, mint a snapshotok, mert a vendég operációs rendszer újraindul, mielőtt a hosszú életű folyamat rögzítésre kerül.

from e2b import Template, default_build_logger, wait_for_timeout

template = (
    Template()
    .from_base_image()
    .pip_install(['pandas', 'matplotlib'])
    .set_envs({'REPORT_DIR': '/home/user/reports'})
    .set_start_cmd('python -m http.server 8000', wait_for_timeout(5_000))
)

Template.build(
    template,
    'analytics-v1',
    cpu_count=2,
    memory_mb=1024,
    on_build_logs=default_build_logger(),
)

Sandboxot a névvel indíts: Sandbox(template='analytics-v1') Pythonban vagy Sandbox.create('analytics-v1') JavaScriptben. A build legfeljebb egy óráig futhat, Hobbyn és Prón egyszerre 20 build fut, a megtartott templatek száma pedig nincs korlátozva. Az E2B szerint a templatek tárolása később díjköteles lehet, ezért kérdezz rá, mielőtt több száz ügyfélenkénti templatet építenél.

A code interpreter és a vezérlések

A code interpreter az a felhasználási eset, amelyre az E2B épült. A run_code kódot futtat a sandboxban, és egy executiont ad vissza. A kódkontextusok lehetővé teszik, hogy egy sandbox egyszerre több futtatást végezzen, mindegyik a saját kontextusában. A biztonság a második fele. Az internet-hozzáférés alapértelmezés szerint be van kapcsolva, ezért az olyan kódhoz, amely soha nem hívhat ki, add meg az allow_internet_access=False paramétert, vagy szűkítsd allow- és deny-listákkal. API-kulcsokhoz titkot (secret) használj: az egress-proxy a megfelelő kimenő HTTPS-kérésekbe beilleszti az értéket, a sandbox pedig csak egy hivatkozást tart. Érvényes az E2B saját figyelmeztetése is: a hitelesítő adatokat csak megbízható célhelyekre injektáld, mert a célhely megkapja az értéket, és a válaszában visszaadhatja a sandboxnak. A mögötte álló fenyegetési modell a következő cikkben van: prompt-injekciós minták.

Költség és üzemeltetés

Az ár másodpercenként számít a sandboxnak lefoglalt vCPU-kra és RAM-ra, nem arra, amit ténylegesen használ. Az aktuális díjak: 0,000014 $ vCPU-másodpercenként (0,0504 $ óránként) és 0,0000045 $ GiB-másodpercenként (0,0162 $ GiB-óránként). A lemez díja benne van, a pauzált és a leállított sandboxok pedig nem számláznak. Az FAQ szerint a díjakat csak tájékoztatásul közlik, azok változhatnak, és az árazási oldalt tekinti mérvadónak, ezért a vásárlás napján mindkettőt nézd meg.

JellemzőHobbyProEnterprise
Alapdíj0 $ havonta150 $ havontaEgyedi
Ingyenes keret100 $, egyszeriNincs jóváírás a váltáskorEgyedi
Max. vCPU és RAM8 vCPU, 8 GiB8 vagy több, kérésreEgyedi
Max. folyamatos futásidő1 óra24 óraEgyedi
Párhuzamos sandboxok20100, add-onnal 1 100-ig1 100 vagy több
Sandbox-indítási sebesség1 másodpercenként5 másodpercenkéntEgyedi
EU-régióNemIgen, kérésreIgen

A döntő számítás a naponkénti futások száma szorozva a futásonkénti másodpercekkel. Az alapértelmezett sandbox 2 vCPU-val és 512 MiB RAM-mal rendelkezik, ez óránként körülbelül 0,109 $, egy 90 másodperces futás pedig 0,0027 $. Napi ezer ilyen futás nagyjából 2,72 $-t tesz ki naponta, havonta nagyjából 82 $-t, a 150 $-os Pro-díj előtt, amelyre EU-hosztoláshoz vagy több mint 20 párhuzamos sandboxhoz van szükséged.

Listaáron az E2B nem a legolcsóbb számítási kapacitás. A Modal fizikai magonként számláz, amelyet két vCPU-egyenértékként ír le, 0,00003942 $ magmásodpercenként és 0,00000222 $ GiB-másodpercenként. Ha egy magot két vCPU-nak számolunk, ugyanez az alapértelmezett sandbox ott óránként körülbelül 0,146 $, a Modal pedig GPU-időt is számláz. A Daytona árlapja vCPU-óránként 0,0504 $-t és GiB-óránként 0,0162 $-t ad meg, ez megegyezik az E2B díjaival, így a választás a sandbox-modellről, a régiókról és a papírmunkáról szól.

Önhosztolásra az E2B Embed szolgál, egy Apache-2.0 csomag a runtime repositoryban, amelyet az E2B changelogja 2026. szeptember 14-én jelentett be. Az egész E2B-stacket egy gépen futtatja: a control plane-t, a sandboxokat, a templatek és snapshotok tárolását és a telemetriát. Docker Compose-szal telepíted egy általad birtokolt Linux-hostra, Terraformmal egy Google Cloud, AWS vagy Azure VM-re, vagy egy Kubernetes-fürt egyik csomópontjára. Minden egy gépen marad, és mivel a stack által lehúzott minden image és bináris nyilvános, nincs szükség E2B-fiókra vagy tokenre. Az erőfeszítés mindenesetre valódi.

  • Linux KVM-mel. Az Embedhez Linux kell x86-64 vagy arm64 architektúrán, KVM-mel, vagy beágyazott virtualizációval engedélyezett VM. Az ajánlott host az Ubuntu 24.04, x86-64-en 6.8-as vagy újabb kernellel.
  • Méretezés. Az E2B 12 GiB RAM-ot és 20 GiB szabad lemezt ajánl. Egy pauzához szabad lemez kell, amely akkora, mint a sandbox memóriája, plusz 1 GiB tartalék, az útmutató pedig körülbelül két percet ad meg a stacknek egy 8 vCPU-s, 32 GiB-os VM-en, a kisebb hostok ennél tovább tartanak.
  • Üzemeltetés. A csomópont Redist és ClickHouse-t futtat, valamint olyan adatbázisokat, amelyeket a setup migrál és feltölt. A biztonsági mentés, a frissítések, a monitorozás és a KVM-host a tiéd.
  • Sima HTTP. Az Embed saját TLS nélkül válaszol, ezért a saját hálózatodon belül, a saját proxy mögött a helye.
  • Egy gép. Az Embed szándékosan egy gép. Ha többre van szükséged, az README három másik módot nevez meg az E2B futtatására: privát felhő, BYOC és E2B Cloud.

Egy uniós cég számára az adatkérdésnek négy része van, és a nyilvános doksi csak néhányra válaszol. A modell-API-kra vonatkozó, tágabb GDPR-képet itt találod: GDPR és LLM API adatrezidencia.

  • Hol futnak a sandboxok. Google Cloudon: europe-west1 az EU-ügyfeleknek Prótól felfelé, us-west1 pedig mindenkinek Hobbyn, ahol nincs EU-választás.
  • Hol van a többi adat. A biztonsági FAQ szerint a tárolás a Google Cloud alapértelmezett nyugalmi titkosítását követi, és az E2B nem ad hozzá saját titkosítási réteget. A BYOC-összehasonlítás szerint a templatek, a snapshotok és a futásidejű logok a menedzselt csomagokban az E2B Cloudban tárolódnak, de az általam olvasott oldalak egyike sem nevez meg régiót az EU-klaszter snapshotjaira és logjaira.
  • A papírmunka. A DPA-sablon, a SOC 2 jelentés és a behatolásteszt a Trust Center hozzáférési űrlapján keresztül igényelhető. Az aláírt DPA-t és a standard feltételek módosításait a support kezeli, ugyanígy az alfeldolgozók listáját. A GDPR 28. cikke feldolgozói szerződést kíván, és az adatkezelő előzetes, konkrét vagy általános írásbeli hozzájárulását az alfeldolgozók igénybevételéhez, ezért ez a lista kötelező, nem opcionális.
  • Továbbítások. Az E2B szerződő fele egy Delaware-i részvénytársaság. Ha az EU-n kívüli support vagy mérnökök elérhetik a személyes adatokat, a GDPR 46. cikke szerinti továbbítási mechanizmusra van szükség, általában a DPA-ban szereplő szabványos szerződési záradékokra.

Hol marad alul

  • Az üresjárat is számláz. Egy futó sandbox számláz, akár fut rajta kód, akár nem. Állíts be tudatosan timeoutokat és automatikus pauzákat, és használj lifecycle-webhookokat, amelyek a leállított és pauzált futások futási idejét hordozzák.
  • Rate limitek és indítási sebesség. A listázó végpontok Hobbyn másodpercenként 10, Prón 20 kérést engednek, végpontonként és projektenként. A létrehozás Hobbyn másodpercenként egy sandboxot, Prón ötöt indít, ez korlátozza, milyen gyorsan indulhat egy fan-out. A limit feletti kérések 429-es választ kapnak Retry-After fejléccel, a 2.49.1-es és újabb SDK pedig automatikusan újrapróbálkozik.
  • Pauzát lehet elutasítani. Az a csomópont, amely a sandboxot futtatja, lehet, hogy még befejezi ugyanazon sandbox előző snapshotját. Ahol az E2B engedélyezte a változtatást, az elutasítás HTTP 503, és a sandbox érintetlen állapotban tovább fut. Máshol a pauza HTTP 500-zal hiúsul meg, amíg a kiterjesztés el nem ér az adott régióba, az E2B pedig régiónként vezeti be. A JavaScript SDK ServiceBusyError-t, a Python SDK ServiceBusyException-t dob, ezért a kódodnak újra kell próbálkoznia.
  • Nincs fix kimenő cím. A kimenő forgalom változó nyilvános IP-kről távozik, és az E2B nem publikál tartományt, még Enterprise csomagnál sem. Egy allowlist a másik oldalon nem talál stabil egyezést, ezért saját, fix címmel rendelkező proxyra van szükséged, amelyet te irányítasz.
  • A volumek privát béta. A volumek túlélik a sandboxokat, de a fájlzárolás beakadhat, a mountok létrehozáskor rögzülnek, a snapshotok nem támogatottak, a volumek pedig csak az USA-ban és az EU-ban léteznek.
  • Az SDK gyorsan változik. Az E2B 2026. augusztus 1-jétől nem fogad el hozzáférési tokeneket, ezért a régi kódnak E2B_API_KEY-jel kell hitelesítenie. A changelog hetente jelenik meg, ezért a termelésben rögzítsd az SDK- és CLI-verziókat.

Összegzés

Válaszd az E2B-t, ha a terméked funkcióként futtat modell által írt kódot, futásonként microVM-et szeretnél hypervisor üzemeltetése nélkül, és memóriával együtt megtartó pauzára és folytatásra van szükséged, nem újraindításra. Rossz eszköz GPU-munkához, napi egyszer futó szkripthez, és olyan adatokhoz, amelyeknek a saját gépeiden kell maradniuk, hacsak egy Embed-csomópont nem elég. Hobbyn kezdj, hogy megismerd az SDK-t és a pauza-modellt, majd Prón lépj tovább, mielőtt személyes adat kerülne sandboxba. A szélesebb tervezési kérdéshez az AI-ügynök sandbox ellenőrzőlista az a lista, amelyen először végigmennék.

OpcióIzolációKb. $ óránként, 2 vCPU és 512 MiBEU-opció
E2BFirecracker microVM saját kernellel0,109 $ a használati díjakonMegosztott EU-klaszter, Prótól felfelé
ModalgVisor vagy saját kernelű VM-futtatókörnyezet0,146 $, ha egy magot két vCPU-nak számolunkEU-régiókód a régiódokumentációban, a Sandboxokra nem megerősítve
DaytonaDedikált kernel sandboxonként, a doksi szerint0,109 $ ugyanazokon az óradíjakonMegosztott európai régió (eu)
Docker saját hostokonKernel-névterek és cgroupok a host kernelenA VM ára plusz a te idődAmit te építesz
  • Modal, ha a csapatod ott már futtat Python-batch jobokat és GPU-munkát. A sandboxai gVisoron vagy saját kernelű VM-futtatókörnyezeten futnak, az alapértelmezett maximális élettartam öt perc, amelyet egy legfeljebb 24 órás timeouttal lehet megemelni.
  • Daytona, ha megosztott európai régióban szeretnél sandboxokat, és a 90 ms alatti indítási állítást a saját terheléseddel akarod mérni. A dokumentációja sandboxonként dedikált kernelt ír le.
  • Docker saját hostokon, ha napi néhány ügynökjobot futtatsz egy már üzemeltetett VM-en, és a kód a tiéd. A Docker biztonsági doksija kernel-névterekből, cgroupokból és capabilitykből építi a határt, modell által írt kódnál én ezt önmagában nem bíznám rá.

Források

Gyakori kérdések

Mennyibe kerül az E2B?

A Hobby ingyenes, egyszeri 100 $-os jóváírással és egy órás folyamatos futásidő-korláttal. A Pro havi 150 $ a használat felett, 24 órás korláttal, 100 párhuzamos sandbox benne van, add-onokkal akár 1 100. A használat vCPU-másodpercenként 0,000014 $, GiB-másodpercenként 0,0000045 $, a pauzált vagy leállított sandboxok pedig nem számláznak.

Tarthatok adatot az EU-ban?

Igen, Prótól felfelé, egy supportkérés után. Az EU-klaszter a Google Cloud europe-west1 régiójában fut. A Hobby-sandboxok az USA-ban futnak. A doksi megmondja, hol futnak a sandboxok, de az általam olvasott oldalak egyike sem nevez meg régiót az EU-klaszter snapshotjainak és logjainak, ezért ezt írásban kérdezd meg.

Önhosztolhatom az E2B-t?

Igen, az E2B Embeddel, egy Apache-2.0 csomaggal, amely az egész stacket egy KVM-es Linux-gépen futtatja, és Docker Compose-szal, Terraformmal vagy Kubernetesszel telepíthető. Egygépes termék. Az Embed README három másik módot nevez meg az E2B futtatására, ha többre van szükséged: privát felhő, BYOC és E2B Cloud.

Futtat az E2B GPU-s munkaterheléseket?

Nem. Az E2B-sandboxok csak CPU-n futnak, vCPU és RAM alapján méretezve, és nincs GPU-opció sem az SDK-kban, a CLI-ben, az API-ban vagy a template-definícióban.

Pont erre van szükséged?

Írj a projektedről vagy a pozícióról – szívesen hallok felőled.