[{"data":1,"prerenderedAt":995},["ShallowReactive",2],{"tool-pydantic-ai-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":23,"sources":34,"cover":101,"og":102,"expertise":103,"locales":104,"lang":107,"title":108,"description":109,"coverAlt":110,"url":111,"pricing":112,"kind":9,"metaTitle":113,"takeaways":114,"faq":120,"toc":133,"blocks":161,"others":529},"pydantic-ai","2026-10-08",8,"agents",[9,10,11,12,13],"Agent framework","Typed Python","Structured output","Dependency injection","OpenTelemetry",[15,16,17,18,19,20,21,22],"pydantic ai","pydantic ai review","pydantic ai vs langgraph","pydantic ai vs openai agents sdk","typed python agent framework","pydantic ai logfire pricing","pydantic ai 2.0 upgrade","python llm agent framework",[24,27,30,32],{"name":25,"url":26},"Pydantic","https:\u002F\u002Fpydantic.dev",{"name":28,"url":29},"Python (programming language)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPython_(programming_language)",{"name":12,"url":31},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDependency_injection",{"name":13,"url":33},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",[35,38,41,44,47,50,53,56,59,62,65,68,71,74,77,80,83,86,89,92,95,98],{"title":36,"url":37},"Pydantic AI documentation","https:\u002F\u002Fai.pydantic.dev\u002F",{"title":39,"url":40},"pydantic-ai 2.55.0 on PyPI (released 9 October 2026)","https:\u002F\u002Fpypi.org\u002Fproject\u002Fpydantic-ai\u002F",{"title":42,"url":43},"pydantic\u002Fpydantic-ai on GitHub: licence, stars and README","https:\u002F\u002Fgithub.com\u002Fpydantic\u002Fpydantic-ai",{"title":45,"url":46},"Pydantic AI release notes: 2.51.0 to 2.55.0 and the 2.52.0 security fix","https:\u002F\u002Fgithub.com\u002Fpydantic\u002Fpydantic-ai\u002Freleases",{"title":48,"url":49},"Pydantic AI version policy","https:\u002F\u002Fai.pydantic.dev\u002Fversion-policy\u002F",{"title":51,"url":52},"Pydantic AI upgrade guide: the V2 betas and the stable release","https:\u002F\u002Fai.pydantic.dev\u002Fproject\u002Fchangelog\u002F",{"title":54,"url":55},"Pydantic AI output: tool output, retries and output validators","https:\u002F\u002Fai.pydantic.dev\u002Foutput\u002F",{"title":57,"url":58},"Pydantic AI dependencies and RunContext","https:\u002F\u002Fai.pydantic.dev\u002Fdependencies\u002F",{"title":60,"url":61},"Pydantic AI models and providers","https:\u002F\u002Fai.pydantic.dev\u002Fmodels\u002Foverview\u002F",{"title":63,"url":64},"Pydantic AI unit testing with TestModel and FunctionModel","https:\u002F\u002Fai.pydantic.dev\u002Ftesting\u002F",{"title":66,"url":67},"Pydantic AI durable execution overview","https:\u002F\u002Fai.pydantic.dev\u002Fdurable_execution\u002Foverview\u002F",{"title":69,"url":70},"Pydantic Logfire: observability for Pydantic AI","https:\u002F\u002Fai.pydantic.dev\u002Flogfire\u002F",{"title":72,"url":73},"Pydantic Logfire pricing","https:\u002F\u002Fpydantic.dev\u002Fpricing",{"title":75,"url":76},"Pydantic security and compliance","https:\u002F\u002Fpydantic.dev\u002Fsecurity",{"title":78,"url":79},"OpenAI Agents SDK documentation","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",{"title":81,"url":82},"OpenAI Agents SDK tracing","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Ftracing\u002F",{"title":84,"url":85},"openai\u002Fopenai-agents-python on GitHub","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python",{"title":87,"url":88},"openai-agents 0.23.1 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fopenai-agents\u002F",{"title":90,"url":91},"langchain-ai\u002Flanggraph on GitHub","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph",{"title":93,"url":94},"langgraph 1.2.14 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flanggraph\u002F",{"title":96,"url":97},"LangGraph overview","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Foverview",{"title":99,"url":100},"LangGraph interrupts","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Finterrupts","\u002Fimages\u002Fblog\u002Fpydantic-ai\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpydantic-ai\u002Fog.jpg","ai-engineer",[105,106,107],"en","de","hu","Pydantic AI bemutató: típusos Python-ügynökök ellenőrzött kimenettel","A Pydantic AI 2.55 típusos függőségeket, ellenőrzött kimenetet és OpenTelemetry-nyomkövetést ad. Mit változtatott a 2.0, mibe kerül a Logfire és kinek való.","Borítókép a Pydantic AI bemutatóhoz: típusos ügynökciklus eszközökkel, ellenőrző kapuval és újrapróbálási úttal a modellhez.","https:\u002F\u002Fai.pydantic.dev","MIT · free library, Logfire Team from $49 a month","Pydantic AI bemutató: típusos ügynökök · Balázs Csorba",[115,116,117,118,119],"A Pydantic AI 2.55.0, amely 2026. október 9-én jelent meg, MIT-licencű és futtatása ingyenes. A költségek modell-tokenekből és – ha használod – Logfire-rekordokból állnak.","A 2.0-s ág 2026. június 23-án vált stabillá, hét béta után, és a konfigurációt capability-kbe helyezte át. Rögzítsd a verziót, és kövesd a frissítési útvonalat.","A függőségek a típusos RunContext-en keresztül érik el az eszközeidet, az output_type pedig minden választ ellenőriz: a sikertelen ellenőrzés visszakerül a modellhez, mielőtt a kódod látná.","A nyomkövetés opcionális, és az OpenTelemetryt követi, így a spanek mehetnek Logfire-ba vagy bármely OpenTelemetry-backendbe. A tartós futtatásokhoz Temporal, DBOS, Prefect, Restate vagy AWS Lambda kell.","Típusos Python-szolgáltatásokhoz válaszd. Kis, OpenAI-központú stackhez az OpenAI Agents SDK-t, a LangGraphot pedig akkor, ha az explicit gráfok, ellenőrzőpontok és megszakítások a termék lényege.",[121,124,127,130],{"q":122,"a":123},"Mibe kerül a Pydantic AI?","2026 októberi állapot szerint a könyvtár MIT-licencű és ingyenes. A számlát a modellszolgáltatód állítja ki, és ha Logfire-t használsz, annak rekordjai után is fizetni kell: a Personal havi 10 millió rekordig ingyenes, a limit elérésekor pedig az adatbevitel megáll. A Team havi 49 $, a Growth havi 249 $, az Enterprise ára egyedi.",{"q":125,"a":126},"Elég stabil a 2.x ág éles használatra?","Igen, a szokásos óvatossággal. A kisebb kiadásoknak nem szabadna megtörniük a nyilvános API-kat, de a béta modulok funkciói bármikor változhatnak, és minden főverzió eltávolítja, ami korábban elavultnak lett jelölve. A V1-hez a biztonsági javítások legalább hat hónappal a 2.0 stabil kiadása után is megjelennek, ezért tervezd meg az átállást.",{"q":128,"a":129},"Hogyan viszonyul az OpenAI Agents SDK-hoz és a LangGraphhoz?","Az OpenAI Agents SDK kisebb, és alapértelmezetten bekapcsolja a nyomkövetést. A LangGraph explicit gráfok köré épül, ellenőrzőpontokkal és megszakításokkal. A Pydantic AI a kettő között van: típusos függőségek és ellenőrzött kimenet a Python-kódhoz, nagyjából két tucat szolgáltatóhoz egy szolgáltatói előtaggal.",{"q":131,"a":132},"Megkapja a Logfire a promptjaimat?","Csak azokat a spaneket, amelyeket te exportálsz. A műszerezés opcionális, a dokumentáció leírja, hogyan zárhatók ki a promptok és a completionök a spanekből, a Pydantic pedig Data Processing Addendumot, kérésre SOC 2 Type 2 jelentést és alfeldolgozói listát biztosít.",[134,137,140,143,146,149,152,155,158],{"id":135,"title":136},"what-it-is","Mi ez",{"id":138,"title":139},"how-it-works","Hogyan működik",{"id":141,"title":142},"getting-started","Első lépések",{"id":144,"title":145},"typed-agents-and-validation","Típusos függőségek és ellenőrzött kimenet",{"id":147,"title":148},"tracing-and-durable-runs","Nyomkövetés és tartós futtatások",{"id":150,"title":151},"cost-and-deployment","Költség, hosztolás és adatvédelem",{"id":153,"title":154},"where-it-falls-short","Hol nem elég jó",{"id":156,"title":157},"verdict","Összegzés",{"id":159,"title":160},"sources","Források",[162,166,169,172,197,198,201,210,213,214,217,220,223,224,227,230,252,255,256,265,268,275,276,279,326,329,335,338,345,346,349,359,362,365,409,410,413,437,438],{"type":163,"content":164},"paragraph",[165],"A Pydantic AI a Pydantic csapatának Python-ügynökkeretrendszere, a Pydantic pedig az adatvalidációs könyvtár. A függőségek, az eszközök és az eredmények hétköznapi Python-típusok, a modell minden strukturált válaszát pedig ellenőrzik, mielőtt a kódod megkapja. Az ítélet előre – típusos ügynökökhöz Python-szolgáltatásokon belül érdemes, ahol a csapat amúgy is Pydantic-modellekben gondolkodik. Hagyd ki, ha a csapatod TypeScriptben dolgozik, vizuális építőt akar a munkafolyamatok fő tervezőeszközének, vagy nem tud lépést tartani az API-változásokkal a kiadások között.",{"type":167,"level":168,"id":135,"text":136},"heading",2,{"type":163,"content":170},[171],"A jelenlegi kiadás a 2.55.0, amelyet 2026. október 9-én tettek közzé a PyPI-n. MIT-licencű, Python 3.11 vagy újabb kell hozzá, és a GitHubon körülbelül 20 500 csillaga van. A projekt így írja le magát: „How Python does AI“ – ügynökök, valós idejű hang, képgenerálás és beágyazások, végig típusosan. A 2.0-s ág 2026. június 23-án vált stabillá, ezért a régebbi útmutatók még az 1.x API-t írhatják le.",{"type":173,"ordered":174,"items":175},"list",false,[176,182,187,192],[177,181],{"tag":178,"children":179},"strong",[180],"Típusos függőségek. ","A `deps_type` megadja, mire van szüksége az ügynöknek, és minden futás egy példányt kap a `deps=` paraméteren keresztül.",[183,186],{"tag":178,"children":184},[185],"Ellenőrzött kimenet. ","Az `output_type` Pydantic-modellt, uniót vagy típuslistát fogad el. A modell alapértelmezetten eszközhívással tölti ki.",[188,191],{"tag":178,"children":189},[190],"Nagyjából két tucat szolgáltató. ","Egy előtag, például `openai:`, `anthropic:` vagy `google:` választja ki a szolgáltatót. A szolgáltatólista lefedi a Groqot, a Mistralt, az Ollamát és az OpenRoutert is, plusz bármely OpenAI-kompatibilis végpontot.",[193,196],{"tag":178,"children":194},[195],"Capability-k és tartós futtatások. ","A capability-k eszközöket, hookokat, utasításokat és modellbeállításokat csomagolnak egyetlen újrafelhasználható egységbe. A tartós futtatások a Temporal, a DBOS, a Prefect, a Restate és az AWS Lambda révén csatlakoznak.",{"type":167,"level":168,"id":138,"text":139},{"type":163,"content":199},[200],"Az ügynökfutás egy ciklus, a végén ellenőrzéssel. Az ügynök az utasításokat, az üzenettörténetet és az eszközsémákat küldi a modellnek. Amikor a modell eszközt hív, a Pydantic AI lefuttatja a Python-függvényedet a típusos kontextussal, és az eredményt visszaadja a modellnek. Amikor a modell abbahagyja az eszközhívásokat, a kimenetét az `output_type` ellen ellenőrzi. A sikertelen ellenőrzés újrapróbálásként visszamegy a modellhez, az alapértelmezett keret a kimeneti újrapróbálásokra pedig: egy.",{"type":202,"attrs":203,"inner":207,"caption":208},"diagram",{"viewBox":204,"role":205,"aria-labelledby":206},"0 0 720 330","img","d1-pa-t d1-pa-d","\u003Ctitle id=\"d1-pa-t\">Egy ügynökfutás\u003C\u002Ftitle>\u003Cdesc id=\"d1-pa-d\">A kódod függőségeket és bemenetet ad át egy ügynöknek. Az ügynök utasításokat és eszközsémákat küld a modellnek. Amikor a modell eszközt hív, az eszköz a típusos kontextussal fut, és az eredménye visszamegy a modellhez. Amikor a modell végez, a kimenetét ellenőrzik a kimeneti típus ellen. A sikertelen ellenőrzés újrapróbálásként visszamegy a modellhez, a sikeres választ pedig az ügynök adja vissza a kódodnak.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-pa\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Egy ügynökfutás\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">ugyanaz a ciklus minden szolgáltatónál\u003C\u002Ftext>\u003Crect x=\"20\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"95\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">A kódod\u003C\u002Ftext>\u003Ctext x=\"95\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">Függ. és bemenet\u003C\u002Ftext>\u003Crect x=\"200\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"275\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Ügynök\u003C\u002Ftext>\u003Ctext x=\"275\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">utasítások, eszközök\u003C\u002Ftext>\u003Crect x=\"380\" y=\"60\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"455\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Modell\u003C\u002Ftext>\u003Ctext x=\"455\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">szolgáltató-előtag\u003C\u002Ftext>\u003Crect x=\"560\" y=\"60\" width=\"140\" height=\"62\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"630\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Ellenőrzött\u003C\u002Ftext>\u003Ctext x=\"630\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">output_type\u003C\u002Ftext>\u003Crect x=\"200\" y=\"190\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"275\" y=\"218\" text-anchor=\"middle\" class=\"d-text\">Eszközhívás\u003C\u002Ftext>\u003Ctext x=\"275\" y=\"240\" text-anchor=\"middle\" class=\"d-small\">RunContext[Deps]\u003C\u002Ftext>\u003Crect x=\"380\" y=\"190\" width=\"150\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"455\" y=\"218\" text-anchor=\"middle\" class=\"d-text\">Újrapróbálás\u003C\u002Ftext>\u003Ctext x=\"455\" y=\"240\" text-anchor=\"middle\" class=\"d-small\">keret: 1\u003C\u002Ftext>\u003Cpath d=\"M170 91 H198\" class=\"d-line\" marker-end=\"url(#ah-pa)\" \u002F>\u003Cpath d=\"M350 91 H378\" class=\"d-line\" marker-end=\"url(#ah-pa)\" \u002F>\u003Cpath d=\"M530 91 H558\" class=\"d-line\" marker-end=\"url(#ah-pa)\" \u002F>\u003Cpath d=\"M240 124 V188\" class=\"d-line\" marker-end=\"url(#ah-pa)\" \u002F>\u003Cpath d=\"M300 188 V124\" class=\"d-line\" marker-end=\"url(#ah-pa)\" \u002F>\u003Cpath d=\"M470 124 V188\" class=\"d-line-accent\" marker-end=\"url(#ah-pa)\" \u002F>\u003Cpath d=\"M410 188 V124\" class=\"d-line\" marker-end=\"url(#ah-pa)\" \u002F>\u003Ctext x=\"478\" y=\"160\" class=\"d-small\">ellenőrzés bukik\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"286\" class=\"d-small\">A függőségek a függvényeidhez jutnak, a modellhez soha.\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"310\" class=\"d-small\">Minden válasz átmegy az ellenőrző kapun, mielőtt a kódod látná.\u003C\u002Ftext>",[209],"Minden futás a modell és az eszközök között köröz, és minden válasz átmegy az ellenőrző kapun, mielőtt elhagyná az ügynököt.",{"type":163,"content":211},[212],"A függőségek a függvényeidhez jutnak, sosem a modellhez. Egy adatbázis-pool vagy egy HTTP-session az ügynök mellett állhat anélkül, hogy megjelenne egy promptban. A modell csak az utasításokat, az eszközsémákat és az üzeneteket látja, és ezt a határt érdemes szándékosan megtervezni.",{"type":167,"level":168,"id":141,"text":142},{"type":163,"content":215},[216],"Telepítsd a `uv add pydantic-ai` vagy a `pip install pydantic-ai` paranccsal, majd add meg a szolgáltatód által várt hitelesítő adatokat. Az alábbi példa egy ügyfélszolgálati osztályozó ügynök. Egy típusos függőséget kap, meghív egy eszközt, és egy ellenőrzött objektumot ad vissza.",{"type":218,"code":219},"code","from dataclasses import dataclass\nfrom typing import Literal\n\nfrom pydantic import BaseModel, Field\nfrom pydantic_ai import Agent, RunContext\n\nfrom myshop.orders import OrderService\n\n\n@dataclass\nclass SupportDeps:\n    customer_id: int\n    orders: OrderService  # your own client, injected per run\n\n\nclass Triage(BaseModel):\n    category: Literal['refund', 'shipping', 'other']\n    risk: int = Field(ge=0, le=10, description='How urgently a person should review this')\n    reply: str\n\n\nsupport = Agent(\n    'openai:gpt-6-sol',\n    deps_type=SupportDeps,\n    output_type=Triage,\n    instructions='Triage the message. Check the order before you answer.',\n)\n\n\n@support.tool\nasync def latest_order(ctx: RunContext[SupportDeps]) -> str:\n    '''Return the status of the most recent order.'''\n    return await ctx.deps.orders.latest_status(ctx.deps.customer_id)\n\n\nresult = support.run_sync(\n    'Where is my parcel?',\n    deps=SupportDeps(customer_id=42, orders=OrderService()),\n)\nprint(result.output.category, result.output.risk)",{"type":163,"content":221},[222],"A kódban két rész végzi a munkát. A `Triage` osztály egyszerre a modellnek küldött séma és az a típus, amelyet a kódod kap. A megengedett kategóriákon vagy a 0–10-es kockázati tartományon kívüli válasz újrapróbálódik, és ha így is elbukik, hibát dob, ahelyett hogy elérné a kódodat. A `RunContext[SupportDeps]` annotáció az eszköznek a klienseden keresztül típusos nézetet ad, így a szerkesztő minden használt attribútumot ellenőrizni tud.",{"type":167,"level":168,"id":144,"text":145},{"type":163,"content":225},[226],"A függőségeket vezetném be elsőként. A `deps_type` deklarálja a típust, a `RunContext[Deps]` hozzáférést ad az eszközöknek, utasításoknak és kimeneti validátoroknak a `ctx.deps`-hez, a teszt pedig az `agent.override(deps=...)` segítségével a valódi klienst fake-re cserélheti. A bekötés a konstruktorban és a futtatási hívásban marad, nem modulszintű globális változókban, ami könnyen tesztelhetővé teszi az ügynököt.",{"type":163,"content":228},[229],"A kimenetnél látszik igazán, mit ér a keretrendszer. Alapértelmezetten a modell eszközhívási felületén keresztül ad strukturált adatot, és a típusok uniójából tagonként egy kimeneti eszköz lesz. A `TextOutput` és a `PromptedOutput` jelölők szöveges kimenetre váltanak olyan modelleknél, amelyek eszközhívása megbízhatatlan. A `ToolOutput` egy kimeneti eszköznek saját újrapróbálási keretet ad, így az összetettebb típus több kísérletet kaphat, mint az egyszerű.",{"type":173,"ordered":174,"items":231},[232,237,242,247],[233,236],{"tag":178,"children":234},[235],"`ModelRetry` ","lehetővé teszi, hogy egy eszköz vagy kimeneti függvény elutasítson egy értéket, és megmondja a modellnek, mit változtasson.",[238,241],{"tag":178,"children":239},[240],"`@agent.output_validator` ","a feldolgozás után futtatja a saját ellenőrzéseidet, például hogy a válaszban szereplő rendelésszám létezik-e.",[243,246],{"tag":178,"children":244},[245],"`Agent(retries={'output': N})` ","megemeli a kimeneti újrapróbálási keretet az egész ügynökre. Az alapérték egy.",[248,251],{"tag":178,"children":249},[250],"`ToolOutput(Fruit, max_retries=2)` ","egy kimeneti típusnak saját újrapróbálási számot ad.",{"type":163,"content":253},[254],"A tesztelésnél térül meg a tervezés. A `TestModel` minden eszközt meghív, és szerkezetileg érvényes választ ad, a `FunctionModel` lehetővé teszi, hogy a teszt előre megadja a modell válaszát, az `ALLOW_MODEL_REQUESTS=False` pedig megakadályozza, hogy a CI véletlenül valódi szolgáltatókhoz forduljon. A támogatási folyamat unit-tesztje ezután sem API-kulcsot, sem hálózatot nem igényel.",{"type":167,"level":168,"id":147,"text":148},{"type":163,"content":257},[258,259,264],"A nyomkövetés opcionális. Indításkor hívd meg a `logfire.configure()` és a `logfire.instrument_pydantic_ai()` függvényt, és minden futás, modellválasz és eszközhívás OpenTelemetry-spanné válik, amely a generatív MI szemantikai konvencióit követi. A Logfire SDK ugyanezeket az adatokat bármely OpenTelemetry-backendbe küldheti, ami számít, ha a telemetriának olyan rendszerben kell maradnia, amelyet a csapat már üzemeltet. Az átfogóbb képet itt találod: ",{"tag":260,"to":261,"children":262},"link","\u002Fblog\u002Fagent-observability-opentelemetry",[263],"ügynök-observability OpenTelemetry-jel",".",{"type":163,"content":266},[267],"A tartós végrehajtás a második funkció, amit érdemes megérteni. A dokumentáció nyolc motort sorol fel. A Temporal, a DBOS, a Prefect, a Restate és az AWS Lambda a szállítóikkal közösen karbantartott, a Kitaru, az Apache Airflow és az Absurd pedig külső integrációként érkezik. A 2.x-ben durability-capabilityt csatolsz az ügynökhöz. A README példája a `TemporalDurability()`-t egy Temporal-workflow-ban adja hozzá egy ügynök capability-jeihez.",{"type":269,"variant":270,"title":271,"body":272},"callout","warn","A tartós nem azonos a mentettel",[273],[274],"A tartós motor egy futást életben tart összeomlások és újraindítások között. A chat-szálaidat nem tárolja. A dokumentáció a beszélgetés mentését és későbbi folytatását külön problémának tekinti, ezért ezt a tárolást szándékosan tervezd meg.",{"type":167,"level":168,"id":150,"text":151},{"type":163,"content":277},[278],"2026 októberi állapot szerint a könyvtár futtatása nem kerül semmibe. A licenc a kódot fedi le, így a számlák három helyről jönnek: a szolgáltatód modell-tokenjei, a Logfire-rekordok, ha Logfire-t használsz, és egy tartós motor infrastruktúrája, ha bevezetsz egyet. A Logfire-csomagok mutatják meg, hogyan néz ki a második számla.",{"type":280,"head":281,"rows":290},"table",[282,284,286,288],[283],"Csomag",[285],"Ár",[287],"Benne van",[289],"Mi változik",[291,300,309,317],[292,294,296,298],[293],"Personal",[295],"Ingyenes",[297],"havi 10 millió rekord, kemény limittel",[299],"3 projekt, 30 napos megőrzés, 1 hely és 2 csak olvasási vendég",[301,303,305,307],[302],"Team",[304],"havi 49 $",[306],"10 millió rekord, utána 2 $ millióként",[308],"5 hely (legfeljebb 12), 10 vendég, 5 projekt, 30 napos megőrzés, költési limit",[310,312,314,315],[311],"Growth",[313],"havi 249 $",[306],[316],"Korlátlan helyek, vendégek és projektek, 90 napos megőrzés, prioritásos támogatás és BAA-sablon",[318,320,322,324],[319],"Enterprise",[321],"Egyedi",[323],"Szerződés szerint",[325],"Cloud, Dedicated vagy Self-hosted; SSO, SCIM és SLA",{"type":163,"content":327},[328],"A Logfire rekordokat számláz: logokat, spaneket és metrikákat. A havonta benne lévő 10 milliót a csomag kerete fedezi, e fölött a Team és a Growth millionként 2 $-t kér. Egy csapat, amely havi 30 millió rekordot küld, 49 $-t fizet, plusz 40 $-t a további 20 millióért, azaz nagyjából 89 $-t, a modell-tokenek előtt. Az AI-átjáró a beépített szolgáltatóknál 5 százalékos felárat számol fel, míg legfeljebb három saját szolgáltatói kulcs felár nélkül megy át.",{"type":269,"variant":330,"title":331,"body":332},"tip","A limit beállítása az első terhelésteszt előtt",[333],[334],"A Personal a 10 millió rekordnál leállítja a feldolgozást, a Team pedig költési limitet kínál. Kapcsold be a limitet terhelésteszt vagy nagy eval-futás előtt, ne az első meglepő számla után.",{"type":163,"content":336},[337],"A könyvtár saját üzemeltetése az alapértelmezett, hiszen ez csak kód a saját környezetedben. A Logfire Enterprise szintje egy saját Kubernetes-fürtön futó, önállóan üzemeltethető változatot is ad. Az adatvédelem szempontjából három adatáramlás számít. A modellszolgáltató promptokat és eszköz-eredményeket kap, ezért az ő adatfeldolgozási feltételei és régiója az első. A Logfire minden exportált spant megkap, ezért a promptokat és a completionöket ott zárd ki, ahol nincs rájuk szükség. A Pydantic ezenfelül Data Processing Addendumot kínál a GDPR-hez, kérésre SOC 2 Type 2 jelentést és közzétett alfeldolgozói listát.",{"type":163,"content":339},[340,341],"A régió minden csomagnál olyan beállítás, amit érdemes ellenőrizni. Az árazási táblázat minden hosztolt csomagnál, a Personaltól az Enterprise Cloudig, pipát tesz az EU- vagy USA-adatrégióra. Az Enterprise Dedicated bármely Google Cloud-régiót kínál, a saját üzemeltetés pedig ott tartja az adatokat, ahol futtatod. Az árazási oldal nem írja le, melyik régió az alapértelmezett egy új projektnél, ezért ezt ellenőrizd, mielőtt személyes adatot küldesz. ",{"tag":260,"to":342,"children":343},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[344],"A modell-API-k adatrezidenciájának szélesebb kérdését külön cikk tárgyalja.",{"type":167,"level":168,"id":153,"text":154},{"type":163,"content":347},[348],"A fő kockázat a változás – és a changelog ezt nyíltan írja. A 2.0-s ág hét bétán ment keresztül 2026. május 20. és június 10. között, mielőtt a stabil kiadás június 23-án megjelent. A nem visszafelé kompatibilis változások (breaking change-ek) két csoportba tartoznak: olyan eltávolítások, amelyeket a V1 elavulási figyelmeztetései nem tudtak bejelenteni, és olyan változások, amelyekre a V1 figyelmeztetett. Az eltávolított elemek között van az Outlines-integráció és a kiegészítői, a `ModelProfile` pedig dataclassból TypedDictté alakult. Az átállás valódi feladat, nem verziószám-emelés.",{"type":269,"variant":350,"title":351,"body":352},"note","Ebben a sorrendben frissíts",[353,355,357],[354],"Lépj a legújabb V1-kiadásra, legalább az 1.100.0-ra, ahol a legtöbb eltávolítást először elavultnak jelölték.",[356],"Futtasd a teszteket látható figyelmeztetésekkel, és javíts ki minden elavulási figyelmeztetést.",[358],"Olvasd el a breaking change-ek listáját, majd lépj a 2.x-re, és rögzítsd a verziót.",{"type":163,"content":360},[361],"A kisebb kiadások is gyakoriak. A 2.51.0 2026. szeptember 25-én jelent meg, a 2.55.0 október 9-én, így egy lazán rögzített projektben két hét alatt több változás is érkezik. A verziókezelési szabályzat nem ígér szándékos breaking change-eket a kisebb kiadásokban, de a béta modulban lévő funkciók kifejezetten instabilak, és olyan módon változhatnak, amely a meglévő kódot megtöri. Minden béta modulból származó importot rögzített függőségként kezelj.",{"type":163,"content":363},[364],"A biztonsági közleményeket is figyeld. A 2.52.0 kiadás javított egy CPU- és memóriaproblémát a helyi `web_fetch` eszközben, ahol a mélyen egymásba ágyazott HTML túlzott erőforrást emészthetett. A szolgáltató saját webes letöltését ez nem érintette. Végül – ez egy Python-könyvtár. A TypeScriptben ügynököket építő csapatoknak más keretrendszer kell, a tartós motorok pedig olyan infrastruktúrát hoznak, amelyet valakinek üzemeltetnie vagy fizetnie kell.",{"type":280,"head":366,"rows":377},[367,369,371,373,375],[368],"Eszköz",[370],"Licenc",[372],"Verzió, 2026. október",[374],"Erőssége",[376],"Nyomkövetés",[378,389,399],[379,381,383,385,387],[380],"Pydantic AI",[382],"MIT",[384],"2.55.0",[386],"Típusos függőségek és ellenőrzött kimenet Pythonban",[388],"Opcionális, Logfire-on vagy OpenTelemetryn keresztül",[390,392,393,395,397],[391],"OpenAI Agents SDK",[382],[394],"0.23.1",[396],"Nagyon kevés primitív: ügynökök, átadások, védőkorlátok, munkamenetek",[398],"Alapértelmezetten be van kapcsolva, az OpenAI-nak exportálva, ha ki nincs kapcsolva",[400,402,403,405,407],[401],"LangGraph",[382],[404],"1.2.14",[406],"Explicit gráfok ellenőrzőpontokkal, megszakításokkal és hibatűréssel",[408],"LangSmith, külön platform",{"type":167,"level":168,"id":156,"text":157},{"type":163,"content":411},[412],"A Pydantic AI az alapértelmezett választásom olyan Python-csapatnak, amely már Pydantic-cal modellezi az adatait, és típusos, tesztelhető ügynököket szeretne, amelyeket könnyű a szolgáltatás többi része mellett futtatni. Rossz választás TypeScript-kódbázishoz, olyan csapatnak, amely vizuális gráfszerkesztőt szeretne fő tervezőeszközként, és bármelyik csapatnak, amely nem bírja el a kiadások közötti API-változásokat. Ezekben az esetekben az alábbi alternatívák jobban illenek.",{"type":173,"ordered":414,"items":415},true,[416,421,429],[417,420],{"tag":178,"children":418},[419],"Válaszd a Pydantic AI-t ","ha a szolgáltatásaid Pythonban futnak, az adataid már Pydantic-modellekben vannak, és típusos eszközöket meg ellenőrzött kimenetet szeretnél.",[422,425,428],{"tag":178,"children":423},[424],"Válaszd az ",{"tag":260,"to":426,"children":427},"\u002Ftools\u002Fopenai-agents-sdk",[391],"-t, ha elkötelezted magad az OpenAI mellett, és nagyon kevés primitívet szeretnél. Kapcsold ki a nyomkövetést, vagy adj hozzá saját processzort, mielőtt valódi ügyféladatok áramlanának rajta keresztül.",[430,433,436],{"tag":178,"children":431},[432],"Válaszd a ",{"tag":260,"to":434,"children":435},"\u002Ftools\u002Flanggraph",[401],"-ot, ha a munkafolyamat a termék: explicit állapot, ellenőrzőpontok és elnevezett jóváhagyási lépések. Több kódot írsz, és minden átmenetet te irányítasz.",{"type":167,"level":168,"id":159,"text":160},{"type":173,"ordered":174,"items":439},[440,445,449,453,457,461,465,469,473,477,481,485,489,493,497,501,505,509,513,517,521,525],[441],{"tag":442,"href":37,"children":443},"a",[444],"Pydantic AI dokumentáció",[446],{"tag":442,"href":40,"children":447},[448],"pydantic-ai 2.55.0 a PyPI-n (2026. október 9.)",[450],{"tag":442,"href":43,"children":451},[452],"pydantic\u002Fpydantic-ai a GitHubon: licenc, csillagok és README",[454],{"tag":442,"href":46,"children":455},[456],"Pydantic AI kiadási jegyzetek: 2.51.0–2.55.0 és a 2.52.0 biztonsági javítás",[458],{"tag":442,"href":49,"children":459},[460],"Pydantic AI verziókezelési szabályzat",[462],{"tag":442,"href":52,"children":463},[464],"Pydantic AI frissítési útmutató: a V2-béták és a stabil kiadás",[466],{"tag":442,"href":55,"children":467},[468],"Pydantic AI output: eszközkimenet, újrapróbálások és kimeneti validátorok",[470],{"tag":442,"href":58,"children":471},[472],"Pydantic AI függőségek és RunContext",[474],{"tag":442,"href":61,"children":475},[476],"Pydantic AI modellek és szolgáltatók",[478],{"tag":442,"href":64,"children":479},[480],"Pydantic AI egységtesztelés TestModel és FunctionModel használatával",[482],{"tag":442,"href":67,"children":483},[484],"Pydantic AI áttekintés a tartós végrehajtásról",[486],{"tag":442,"href":70,"children":487},[488],"Pydantic Logfire: megfigyelhetőség a Pydantic AI-hoz",[490],{"tag":442,"href":73,"children":491},[492],"Pydantic Logfire árazás",[494],{"tag":442,"href":76,"children":495},[496],"Pydantic: biztonság és megfelelőség",[498],{"tag":442,"href":79,"children":499},[500],"OpenAI Agents SDK dokumentáció",[502],{"tag":442,"href":82,"children":503},[504],"OpenAI Agents SDK nyomkövetés",[506],{"tag":442,"href":85,"children":507},[508],"openai\u002Fopenai-agents-python a GitHubon",[510],{"tag":442,"href":88,"children":511},[512],"openai-agents 0.23.1 a PyPI-n",[514],{"tag":442,"href":91,"children":515},[516],"langchain-ai\u002Flanggraph a GitHubon",[518],{"tag":442,"href":94,"children":519},[520],"langgraph 1.2.14 a PyPI-n",[522],{"tag":442,"href":97,"children":523},[524],"LangGraph áttekintés",[526],{"tag":442,"href":100,"children":527},[528],"LangGraph megszakítások (interrupts)",[530,638,757,867],{"slug":531,"published":532,"minutes":6,"category":7,"tags":533,"keywords":539,"about":547,"sources":560,"cover":630,"og":631,"expertise":103,"locales":632,"lang":107,"title":633,"description":634,"coverAlt":635,"url":550,"pricing":636,"kind":637},"opencode","2026-10-09",[534,535,536,537,538],"AI coding agent","Terminal","Open source","Local models","MCP",[531,540,541,542,543,544,545,546],"opencode review","open source coding agent","opencode vs claude code","terminal coding agent","opencode local models","opencode permissions","opencode mcp",[548,551,554,557],{"name":549,"url":550},"OpenCode","https:\u002F\u002Fopencode.ai",{"name":552,"url":553},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":555,"url":556},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io",{"name":558,"url":559},"Language Server Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLanguage_Server_Protocol",[561,564,567,570,573,576,579,582,585,588,591,594,597,600,603,606,609,612,615,618,621,624,627],{"title":562,"url":563},"OpenCode docs: intro and installation","https:\u002F\u002Fopencode.ai\u002Fdocs\u002F",{"title":565,"url":566},"OpenCode docs: providers, Models.dev and local models","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fproviders\u002F",{"title":568,"url":569},"OpenCode docs: agents, Build, Plan and subagents","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fagents\u002F",{"title":571,"url":572},"OpenCode docs: permissions and defaults","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fpermissions\u002F",{"title":574,"url":575},"OpenCode docs: MCP servers","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fmcp-servers\u002F",{"title":577,"url":578},"OpenCode docs: LSP servers","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Flsp\u002F",{"title":580,"url":581},"OpenCode docs: server and web interface","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fserver\u002F",{"title":583,"url":584},"OpenCode docs: config and precedence","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fconfig\u002F",{"title":586,"url":587},"OpenCode docs: Zen, pay-as-you-go models","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fzen\u002F",{"title":589,"url":590},"OpenCode docs: Go subscription plans","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fgo\u002F",{"title":592,"url":593},"OpenCode docs: share and data retention","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fshare\u002F",{"title":595,"url":596},"OpenCode docs: enterprise and data handling","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fenterprise\u002F",{"title":598,"url":599},"GitHub: anomalyco\u002Fopencode, MIT licence and README","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode",{"title":601,"url":602},"OpenCode release v1.18.35 (6 October 2026)","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Freleases\u002Ftag\u002Fv1.18.35",{"title":604,"url":605},"Claude Code licence file (LICENSE.md)","https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FLICENSE.md",{"title":607,"url":608},"Claude pricing: plans and Claude Code access","https:\u002F\u002Fclaude.com\u002Fpricing",{"title":610,"url":611},"Claude Code docs: connect to an LLM gateway","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fllm-gateway",{"title":613,"url":614},"OpenAI Codex CLI repository (Apache-2.0)","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex",{"title":616,"url":617},"ChatGPT pricing: Codex included in plans","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Fpricing",{"title":619,"url":620},"Codex configuration: model providers and config.toml","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Fconfig-file\u002Fconfig-advanced",{"title":622,"url":623},"Aider website: git integration and LLM support","https:\u002F\u002Faider.chat\u002F",{"title":625,"url":626},"Aider licence file (Apache-2.0)","https:\u002F\u002Fraw.githubusercontent.com\u002FAider-AI\u002Faider\u002Fmain\u002FLICENSE.txt",{"title":628,"url":629},"GDPR, Regulation (EU) 2016\u002F679, Article 28","https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FEN\u002FTXT\u002FHTML\u002F?uri=CELEX:32016R0679","\u002Fimages\u002Fblog\u002Fopencode\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopencode\u002Fog.jpg",[105,106,107],"OpenCode teszt: a nyílt forráskódú kódolóügynök bármely modellhez","Az OpenCode MIT licencű terminálos kódolóügynök bármely modellhez, felhős vagy helyi módon. Ügynökök, jogosultságok, MCP, LSP és adatvédelem.","Borítókép az OpenCode teszthez: egyetlen ügynökciklus a terminálban, amely egy felhős API-hoz, egy helyi modellhez és a Zenhez ágazik szét.","MIT · free, you pay the model provider","Coding agent",{"slug":639,"published":640,"minutes":641,"category":7,"tags":642,"keywords":647,"about":656,"sources":667,"cover":749,"og":750,"expertise":103,"locales":751,"lang":107,"title":752,"description":753,"coverAlt":754,"url":755,"pricing":756,"kind":637},"gemini-cli","2026-10-07",9,[643,644,538,645,646],"Terminal agent","Gemini","Sandboxing","Data protection",[648,649,650,651,652,653,654,655],"gemini cli","gemini cli free tier","gemini cli pricing","gemini cli data privacy","gemini cli vs claude code","antigravity cli","gemini cli github action","gemini cli sandbox",[657,660,663,666],{"name":658,"url":659},"Gemini CLI","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli",{"name":661,"url":662},"Vertex AI","https:\u002F\u002Fcloud.google.com\u002Fvertex-ai",{"name":664,"url":665},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",{"name":555,"url":556},[668,671,674,677,679,682,685,688,691,694,697,700,703,706,709,712,715,718,721,723,726,729,732,735,738,741,743,746],{"title":669,"url":670},"Google Developers Blog: transitioning Gemini CLI to Antigravity CLI","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fan-important-update-transitioning-gemini-cli-to-antigravity-cli\u002F",{"title":672,"url":673},"Gemini CLI: quotas and pricing","https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Fresources\u002Fquota-and-pricing\u002F",{"title":675,"url":676},"Gemini CLI: licence, terms of service and privacy notices","https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Fresources\u002Ftos-privacy",{"title":678,"url":659},"GitHub: google-gemini\u002Fgemini-cli, the repository and README",{"title":680,"url":681},"Gemini CLI changelog: v0.63.0 released 6 October 2026","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fchangelogs\u002Flatest.md",{"title":683,"url":684},"Gemini CLI reference: flags and approval modes","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fcli-reference.md",{"title":686,"url":687},"Gemini CLI configuration: settings.json and approval defaults","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Freference\u002Fconfiguration.md",{"title":689,"url":690},"Gemini CLI sandboxing","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fsandbox.md",{"title":692,"url":693},"Gemini CLI: context files (GEMINI.md)","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fgemini-md.md",{"title":695,"url":696},"Gemini CLI: MCP servers","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Ftools\u002Fmcp-server.md",{"title":698,"url":699},"Gemini API Additional Terms of Service","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fterms",{"title":701,"url":702},"Gemini Developer API pricing","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fpricing",{"title":704,"url":705},"Gemini Code Assist FAQs","https:\u002F\u002Fdocs.cloud.google.com\u002Fgemini\u002Fdocs\u002Fcodeassist\u002Ffaqs",{"title":707,"url":708},"Vertex AI data governance and zero data retention","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fdata-governance",{"title":710,"url":711},"Vertex AI data residency","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Flearn\u002Fdata-residency",{"title":713,"url":714},"Vertex AI locations and endpoints","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Flearn\u002Flocations",{"title":716,"url":717},"run-gemini-cli: the GitHub Action for Gemini CLI","https:\u002F\u002Fgithub.com\u002Fgoogle-github-actions\u002Frun-gemini-cli",{"title":719,"url":720},"Antigravity CLI migration guide","https:\u002F\u002Fantigravity.google\u002Fdocs\u002Fcli\u002Fgcli-migration",{"title":722,"url":608},"Claude pricing",{"title":724,"url":725},"Claude Code: data usage","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fdata-usage",{"title":727,"url":728},"Claude Code: setup and plan requirements","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsetup",{"title":730,"url":731},"Claude Code: permission modes","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fpermission-modes",{"title":733,"url":734},"Claude Code: sandboxing","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsandboxing",{"title":736,"url":737},"Claude Code licence (LICENSE.md)","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\u002Fblob\u002Fmain\u002FLICENSE.md",{"title":739,"url":740},"OpenAI Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":742,"url":614},"OpenAI Codex CLI repository",{"title":744,"url":745},"Codex: agent approvals and security","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fagent-approvals-security",{"title":747,"url":748},"Codex: sandboxing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fconcepts\u002Fsandboxing","\u002Fimages\u002Fblog\u002Fgemini-cli\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgemini-cli\u002Fog.jpg",[105,106,107],"Gemini CLI teszt: nyílt forráskodú, de egyéniként már nem ingyenes","A Gemini CLI Apache-2.0 licencű marad, de az ingyenes egyéni hozzáférés 2026. június 18-án megszűnt. Maradt a Code Assist, a fizetős API-kulcs és a Vertex AI.","Borítókép a Gemini CLI teszthez: egy prompt-ciklus a jóváhagyási kapun és a sandboxon át, a zárt ingyenes sávval","https:\u002F\u002Fwww.geminicli.com","Apache-2.0 · free individual tier closed 18 June 2026",{"slug":758,"published":640,"minutes":6,"category":7,"tags":759,"keywords":765,"about":774,"sources":785,"cover":859,"og":860,"expertise":103,"locales":861,"lang":107,"title":862,"description":863,"coverAlt":864,"url":777,"pricing":865,"kind":866},"temporal",[760,761,762,763,764],"Durable execution","Workflow orchestration","Human in the loop","AI agents","Self-hosting",[766,767,768,769,770,771,772,773],"temporal workflow","temporal ai agents","durable execution for ai agents","temporal vs langgraph","temporal cloud pricing","temporal openai agents sdk","self-hosted temporal","temporal determinism rules",[775,778,781,782],{"name":776,"url":777},"Temporal","https:\u002F\u002Ftemporal.io",{"name":779,"url":780},"Workflow engine","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWorkflow_engine",{"name":552,"url":553},{"name":783,"url":784},"Human-in-the-loop","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHuman-in-the-loop",[786,789,792,795,798,801,804,807,810,813,816,819,822,825,828,831,834,837,840,843,846,849,850,853,856],{"title":787,"url":788},"Temporal Cloud pricing","https:\u002F\u002Ftemporal.io\u002Fpricing",{"title":790,"url":791},"Temporal Cloud pricing documentation","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fpricing",{"title":793,"url":794},"OpenAI Agents SDK integration for Python","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fintegrations\u002Fopenai-agents",{"title":796,"url":797},"Workflow definition and determinism","https:\u002F\u002Fdocs.temporal.io\u002Fworkflow-definition",{"title":799,"url":800},"Retry policies","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fretry-policies",{"title":802,"url":803},"Activity timeouts","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fdetecting-activity-failures",{"title":805,"url":806},"Cloud actions reference","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Factions",{"title":808,"url":809},"Event history limits","https:\u002F\u002Fdocs.temporal.io\u002Fworkflow-execution\u002Fevent",{"title":811,"url":812},"Message passing in Python: signals, queries and updates","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fmessage-passing",{"title":814,"url":815},"Human-in-the-loop AI agent sample","https:\u002F\u002Fdocs.temporal.io\u002Fai\u002Fcookbook\u002Fhuman-in-the-loop-python",{"title":817,"url":818},"Cloud security model","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fsecurity",{"title":820,"url":821},"Cloud service regions","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fregions",{"title":823,"url":824},"Data processing agreement","https:\u002F\u002Ftemporal.io\u002Fdpa",{"title":826,"url":827},"Self-hosted deployment guide","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fdeployment",{"title":829,"url":830},"Self-hosted production checklist","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fproduction-checklist",{"title":832,"url":833},"Self-hosted visibility stores","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fvisibility",{"title":835,"url":836},"Temporal Server architecture","https:\u002F\u002Fdocs.temporal.io\u002Ftemporal-service\u002Ftemporal-server",{"title":838,"url":839},"Temporal server LICENSE file","https:\u002F\u002Fgithub.com\u002Ftemporalio\u002Ftemporal\u002Fblob\u002Fmain\u002FLICENSE",{"title":841,"url":842},"Temporal integrations index","https:\u002F\u002Fdocs.temporal.io\u002Fintegrations",{"title":844,"url":845},"LangGraph integration with Temporal","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fintegrations\u002Flanggraph",{"title":847,"url":848},"LangGraph persistence","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fpersistence",{"title":99,"url":100},{"title":851,"url":852},"Self-hosted guide and development server","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide",{"title":854,"url":855},"Python SDK reference: workflow.wait_condition","https:\u002F\u002Fpython.temporal.io\u002Ftemporalio.workflow._context.html",{"title":857,"url":858},"Python SDK reference: ApplicationError","https:\u002F\u002Fpython.temporal.io\u002Ftemporalio.exceptions.ApplicationError.html","\u002Fimages\u002Fblog\u002Ftemporal\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftemporal\u002Fog.jpg",[105,106,107],"Temporal teszt: ügynökök, amelyek túlélik az összeomlást és emberekre várnak","A Temporal tartós workflow-kként futtat ügynökfutásokat: az újrapróbálások, jóváhagyások és időzítők túlélik az összeomlást. Költség, adatvédelem, mikor ne használd.","Borítókép a Temporal-ismertetőhöz: egy workflow, amely a modellhívásokat activity-ként újrapróbálja, és addig vár, amíg egy ember jóvá nem hagyja.","MIT · self-hosting free · Cloud pay-as-you-go from $0","Durable execution platform",{"slug":868,"published":869,"minutes":870,"category":7,"tags":871,"keywords":875,"about":884,"sources":896,"cover":987,"og":988,"expertise":103,"locales":989,"lang":107,"title":990,"description":991,"coverAlt":992,"url":887,"pricing":993,"kind":994},"e2b","2026-10-02",12,[872,763,873,764,874],"Code sandbox","Firecracker","EU data residency",[876,877,878,879,880,881,882,883],"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",[885,888,890,893],{"name":886,"url":887},"E2B","https:\u002F\u002Fe2b.dev",{"name":873,"url":889},"https:\u002F\u002Ffirecracker-microvm.github.io\u002F",{"name":891,"url":892},"Kernel-based Virtual Machine","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKernel-based_Virtual_Machine",{"name":894,"url":895},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[897,900,903,906,909,912,915,918,921,924,927,930,933,936,939,942,945,948,951,954,957,960,963,966,969,972,975,978,981,984],{"title":898,"url":899},"E2B documentation: isolated sandboxes for agents","https:\u002F\u002Fe2b.dev\u002Fdocs",{"title":901,"url":902},"E2B billing and limits: plans, rates and API rate limits","https:\u002F\u002Fdocs.e2b.dev\u002Fbilling",{"title":904,"url":905},"E2B: how long a sandbox lives, timeouts and auto-pause","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fsandbox-lifetime",{"title":907,"url":908},"E2B: sandbox persistence, pause and resume","https:\u002F\u002Fdocs.e2b.dev\u002Fsandbox\u002Fpersistence",{"title":910,"url":911},"E2B: how template builds work, snapshots and kernel versions","https:\u002F\u002Fdocs.e2b.dev\u002Ftemplate\u002Fhow-it-works",{"title":913,"url":914},"E2B: template quickstart, build limits and templates versus snapshots","https:\u002F\u002Fdocs.e2b.dev\u002Ftemplate\u002Fquickstart",{"title":916,"url":917},"E2B: running your first sandbox","https:\u002F\u002Fdocs.e2b.dev\u002Fquickstart",{"title":919,"url":920},"E2B: run Python code in the code interpreter","https:\u002F\u002Fdocs.e2b.dev\u002Fcode-interpreting\u002Fsupported-languages\u002Fpython",{"title":922,"url":923},"E2B: internet access controls","https:\u002F\u002Fdocs.e2b.dev\u002Fnetwork\u002Finternet-access",{"title":925,"url":926},"E2B: secrets injected by the egress proxy","https:\u002F\u002Fdocs.e2b.dev\u002Fsecrets",{"title":928,"url":929},"E2B: is it SOC 2 compliant? Trust Center, DPA and sub-processors","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fsecurity-and-compliance",{"title":931,"url":932},"E2B: can I run sandboxes in the EU?","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Feu-region",{"title":934,"url":935},"E2B: egress IP ranges and regions","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fegress-ip-ranges",{"title":937,"url":938},"E2B: does it support GPUs?","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fgpu-support",{"title":940,"url":941},"E2B: how to calculate the price of a sandbox, with current rates","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fcalculate-sandbox-price",{"title":943,"url":944},"E2B: Volumes beta limitations: file locking, mounts and regions","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fvolumes-beta-limitations",{"title":946,"url":947},"E2B: bring your own cloud (BYOC)","https:\u002F\u002Fdocs.e2b.dev\u002Fbyoc",{"title":949,"url":950},"E2B changelog: E2B Embed, the access token change and weekly releases","https:\u002F\u002Fdocs.e2b.dev\u002Fchangelog",{"title":952,"url":953},"E2B Embed: self-hosting on one machine (README)","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002Fruntime\u002Ftree\u002Fmain\u002Fembed",{"title":955,"url":956},"E2B Embed: Docker Compose requirements and sizing","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002Fruntime\u002Fblob\u002Fmain\u002Fembed\u002Fcompose\u002FREADME.md",{"title":958,"url":959},"E2B SDK repository, Apache-2.0","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002FE2B",{"title":961,"url":962},"Firecracker: lightweight microVMs on KVM","https:\u002F\u002Fgithub.com\u002Ffirecracker-microvm\u002Ffirecracker",{"title":964,"url":965},"Modal pricing: per-second CPU, memory and GPU","https:\u002F\u002Fmodal.com\u002Fpricing",{"title":967,"url":968},"Modal sandboxes: lifetime, gVisor and VM runtimes","https:\u002F\u002Fmodal.com\u002Fdocs\u002Fguide\u002Fsandbox",{"title":970,"url":971},"Modal region selection: region codes","https:\u002F\u002Fmodal.com\u002Fdocs\u002Fguide\u002Fregion-selection",{"title":973,"url":974},"Daytona pricing: vCPU and GiB rates","https:\u002F\u002Fwww.daytona.io\u002Fpricing",{"title":976,"url":977},"Daytona documentation: sandbox isolation and start time","https:\u002F\u002Fwww.daytona.io\u002Fdocs\u002Fen\u002F",{"title":979,"url":980},"Daytona regions: shared United States and Europe","https:\u002F\u002Fwww.daytona.io\u002Fdocs\u002Fen\u002Fregions\u002F",{"title":982,"url":983},"Docker security: kernel namespaces, control groups and capabilities","https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Fsecurity\u002F",{"title":985,"url":986},"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",[105,106,107],"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.","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.","Usage-based · Hobby free, Pro from $150 a month","Code execution sandbox",1791636875673]