[{"data":1,"prerenderedAt":795},["ShallowReactive",2],{"blog-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,"metaTitle":111,"takeaways":112,"faq":118,"toc":131,"blocks":159,"others":523},"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ó.","Négyzet, háromszög és kör lép rendezőkeretbe, alul egyforma kis négyzetek jönnek ki.","Pydantic AI bemutató: típusos ügynökök · Balázs Csorba",[113,114,115,116,117],"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.",[119,122,125,128],{"q":120,"a":121},"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":123,"a":124},"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":126,"a":127},"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":129,"a":130},"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.",[132,135,138,141,144,147,150,153,156],{"id":133,"title":134},"what-it-is","Mi ez",{"id":136,"title":137},"how-it-works","Hogyan működik",{"id":139,"title":140},"getting-started","Első lépések",{"id":142,"title":143},"typed-agents-and-validation","Típusos függőségek és ellenőrzött kimenet",{"id":145,"title":146},"tracing-and-durable-runs","Nyomkövetés és tartós futtatások",{"id":148,"title":149},"cost-and-deployment","Költség, hosztolás és adatvédelem",{"id":151,"title":152},"where-it-falls-short","Hol nem elég jó",{"id":154,"title":155},"verdict","Összegzés",{"id":157,"title":158},"sources","Források",[160,164,167,170,195,196,199,205,208,209,212,215,218,219,222,225,247,250,251,260,263,270,271,274,321,324,330,333,340,341,344,354,357,360,404,405,408,431,432],{"type":161,"content":162},"paragraph",[163],"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":165,"level":166,"id":133,"text":134},"heading",2,{"type":161,"content":168},[169],"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":171,"ordered":172,"items":173},"list",false,[174,180,185,190],[175,179],{"tag":176,"children":177},"strong",[178],"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.",[181,184],{"tag":176,"children":182},[183],"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.",[186,189],{"tag":176,"children":187},[188],"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.",[191,194],{"tag":176,"children":192},[193],"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":165,"level":166,"id":136,"text":137},{"type":161,"content":197},[198],"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":200,"src":201,"alt":202,"wide":203,"caption":204},"image","\u002Fimages\u002Fblog\u002Fpydantic-ai\u002Fdiagram-6.webp","Egy ügynökfutás 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.",true,"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":161,"content":206},[207],"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":165,"level":166,"id":139,"text":140},{"type":161,"content":210},[211],"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":213,"code":214},"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":161,"content":216},[217],"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":165,"level":166,"id":142,"text":143},{"type":161,"content":220},[221],"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":161,"content":223},[224],"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":171,"ordered":172,"items":226},[227,232,237,242],[228,231],{"tag":176,"children":229},[230],"`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.",[233,236],{"tag":176,"children":234},[235],"`@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.",[238,241],{"tag":176,"children":239},[240],"`Agent(retries={'output': N})` ","megemeli a kimeneti újrapróbálási keretet az egész ügynökre. Az alapérték egy.",[243,246],{"tag":176,"children":244},[245],"`ToolOutput(Fruit, max_retries=2)` ","egy kimeneti típusnak saját újrapróbálási számot ad.",{"type":161,"content":248},[249],"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":165,"level":166,"id":145,"text":146},{"type":161,"content":252},[253,254,259],"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":255,"to":256,"children":257},"link","\u002Fblog\u002Fagent-observability-opentelemetry",[258],"ügynök-observability OpenTelemetry-jel",".",{"type":161,"content":261},[262],"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":264,"variant":265,"title":266,"body":267},"callout","warn","A tartós nem azonos a mentettel",[268],[269],"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":165,"level":166,"id":148,"text":149},{"type":161,"content":272},[273],"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":275,"head":276,"rows":285},"table",[277,279,281,283],[278],"Csomag",[280],"Ár",[282],"Benne van",[284],"Mi változik",[286,295,304,312],[287,289,291,293],[288],"Personal",[290],"Ingyenes",[292],"havi 10 millió rekord, kemény limittel",[294],"3 projekt, 30 napos megőrzés, 1 hely és 2 csak olvasási vendég",[296,298,300,302],[297],"Team",[299],"havi 49 $",[301],"10 millió rekord, utána 2 $ millióként",[303],"5 hely (legfeljebb 12), 10 vendég, 5 projekt, 30 napos megőrzés, költési limit",[305,307,309,310],[306],"Growth",[308],"havi 249 $",[301],[311],"Korlátlan helyek, vendégek és projektek, 90 napos megőrzés, prioritásos támogatás és BAA-sablon",[313,315,317,319],[314],"Enterprise",[316],"Egyedi",[318],"Szerződés szerint",[320],"Cloud, Dedicated vagy Self-hosted; SSO, SCIM és SLA",{"type":161,"content":322},[323],"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":264,"variant":325,"title":326,"body":327},"tip","A limit beállítása az első terhelésteszt előtt",[328],[329],"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":161,"content":331},[332],"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":161,"content":334},[335,336],"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":255,"to":337,"children":338},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[339],"A modell-API-k adatrezidenciájának szélesebb kérdését külön cikk tárgyalja.",{"type":165,"level":166,"id":151,"text":152},{"type":161,"content":342},[343],"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":264,"variant":345,"title":346,"body":347},"note","Ebben a sorrendben frissíts",[348,350,352],[349],"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.",[351],"Futtasd a teszteket látható figyelmeztetésekkel, és javíts ki minden elavulási figyelmeztetést.",[353],"Olvasd el a breaking change-ek listáját, majd lépj a 2.x-re, és rögzítsd a verziót.",{"type":161,"content":355},[356],"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":161,"content":358},[359],"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":275,"head":361,"rows":372},[362,364,366,368,370],[363],"Eszköz",[365],"Licenc",[367],"Verzió, 2026. október",[369],"Erőssége",[371],"Nyomkövetés",[373,384,394],[374,376,378,380,382],[375],"Pydantic AI",[377],"MIT",[379],"2.55.0",[381],"Típusos függőségek és ellenőrzött kimenet Pythonban",[383],"Opcionális, Logfire-on vagy OpenTelemetryn keresztül",[385,387,388,390,392],[386],"OpenAI Agents SDK",[377],[389],"0.23.1",[391],"Nagyon kevés primitív: ügynökök, átadások, védőkorlátok, munkamenetek",[393],"Alapértelmezetten be van kapcsolva, az OpenAI-nak exportálva, ha ki nincs kapcsolva",[395,397,398,400,402],[396],"LangGraph",[377],[399],"1.2.14",[401],"Explicit gráfok ellenőrzőpontokkal, megszakításokkal és hibatűréssel",[403],"LangSmith, külön platform",{"type":165,"level":166,"id":154,"text":155},{"type":161,"content":406},[407],"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":171,"ordered":203,"items":409},[410,415,423],[411,414],{"tag":176,"children":412},[413],"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.",[416,419,422],{"tag":176,"children":417},[418],"Válaszd az ",{"tag":255,"to":420,"children":421},"\u002Fblog\u002Fopenai-agents-sdk",[386],"-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.",[424,427,430],{"tag":176,"children":425},[426],"Válaszd a ",{"tag":255,"to":428,"children":429},"\u002Fblog\u002Flanggraph",[396],"-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":165,"level":166,"id":157,"text":158},{"type":171,"ordered":172,"items":433},[434,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515,519],[435],{"tag":436,"href":37,"children":437},"a",[438],"Pydantic AI dokumentáció",[440],{"tag":436,"href":40,"children":441},[442],"pydantic-ai 2.55.0 a PyPI-n (2026. október 9.)",[444],{"tag":436,"href":43,"children":445},[446],"pydantic\u002Fpydantic-ai a GitHubon: licenc, csillagok és README",[448],{"tag":436,"href":46,"children":449},[450],"Pydantic AI kiadási jegyzetek: 2.51.0–2.55.0 és a 2.52.0 biztonsági javítás",[452],{"tag":436,"href":49,"children":453},[454],"Pydantic AI verziókezelési szabályzat",[456],{"tag":436,"href":52,"children":457},[458],"Pydantic AI frissítési útmutató: a V2-béták és a stabil kiadás",[460],{"tag":436,"href":55,"children":461},[462],"Pydantic AI output: eszközkimenet, újrapróbálások és kimeneti validátorok",[464],{"tag":436,"href":58,"children":465},[466],"Pydantic AI függőségek és RunContext",[468],{"tag":436,"href":61,"children":469},[470],"Pydantic AI modellek és szolgáltatók",[472],{"tag":436,"href":64,"children":473},[474],"Pydantic AI egységtesztelés TestModel és FunctionModel használatával",[476],{"tag":436,"href":67,"children":477},[478],"Pydantic AI áttekintés a tartós végrehajtásról",[480],{"tag":436,"href":70,"children":481},[482],"Pydantic Logfire: megfigyelhetőség a Pydantic AI-hoz",[484],{"tag":436,"href":73,"children":485},[486],"Pydantic Logfire árazás",[488],{"tag":436,"href":76,"children":489},[490],"Pydantic: biztonság és megfelelőség",[492],{"tag":436,"href":79,"children":493},[494],"OpenAI Agents SDK dokumentáció",[496],{"tag":436,"href":82,"children":497},[498],"OpenAI Agents SDK nyomkövetés",[500],{"tag":436,"href":85,"children":501},[502],"openai\u002Fopenai-agents-python a GitHubon",[504],{"tag":436,"href":88,"children":505},[506],"openai-agents 0.23.1 a PyPI-n",[508],{"tag":436,"href":91,"children":509},[510],"langchain-ai\u002Flanggraph a GitHubon",[512],{"tag":436,"href":94,"children":513},[514],"langgraph 1.2.14 a PyPI-n",[516],{"tag":436,"href":97,"children":517},[518],"LangGraph áttekintés",[520],{"tag":436,"href":100,"children":521},[522],"LangGraph megszakítások (interrupts)",[524,583,656,726],{"slug":525,"published":526,"minutes":527,"category":7,"tags":528,"keywords":534,"about":545,"sources":555,"cover":577,"og":578,"expertise":103,"locales":579,"lang":107,"title":580,"description":581,"coverAlt":582},"agent-tool-design-descriptions-errors","2026-10-17",11,[529,530,531,532,533],"AI agents","Tool use","Function calling","MCP","Agent design",[535,536,537,538,539,540,541,542,543,544],"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",[546,549,552],{"name":547,"url":548},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":550,"url":551},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":553,"url":554},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[556,559,562,565,568,571,574],{"title":557,"url":558},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":560,"url":561},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":563,"url":564},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":566,"url":567},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":569,"url":570},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":572,"url":573},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":575,"url":576},"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",[105,106,107],"Eszközök tervezése AI-ágenseknek: nevek, leírások, sémák és hibaüzenetek","Ágenseszközök, amelyeket jól választ és hív a modell: feladatra szabott eszközök, leírások, sémák, tömör válaszok és használható hibaüzenetek.","Három réssel ellátott alapzat; a középső rés fölött pontosan illeszkedő blokk áll, mellette két rossz szélességű blokk.",{"slug":584,"published":526,"minutes":527,"category":7,"tags":585,"keywords":591,"about":604,"sources":614,"cover":650,"og":651,"expertise":103,"locales":652,"lang":107,"title":653,"description":654,"coverAlt":655},"coding-agents-legacy-codebase-migration",[586,587,588,589,590],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[592,593,594,595,596,597,598,599,600,601,602,603],"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",[605,608,611],{"name":606,"url":607},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":609,"url":610},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":612,"url":613},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[615,618,620,623,626,629,632,635,638,641,644,647],{"title":616,"url":617},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":619,"url":610},"Wikipedia: Characterization test",{"title":621,"url":622},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":624,"url":625},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":627,"url":628},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":630,"url":631},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":633,"url":634},"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":636,"url":637},"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":639,"url":640},"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":642,"url":643},"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":645,"url":646},"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":648,"url":649},"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",[105,106,107],"Legacy kódbázis migrálása coding agentekkel: strangler fig playbook","Hogyan dolgozik coding agent egy legacy migráción: characterization tesztek először, egy seam feladatonként, review gate-ek és differenciális ellenőrzés.","Rétegek halmaza, a felső kettőt újak váltják, mellettük varrat és pipa.",{"slug":657,"published":526,"minutes":658,"category":7,"tags":659,"keywords":663,"about":675,"sources":685,"cover":720,"og":721,"expertise":103,"locales":722,"lang":107,"title":723,"description":724,"coverAlt":725},"background-agents-async-pr-workflow",12,[587,660,661,590,662],"Pull requests","CI","Automation",[664,665,666,667,668,669,670,671,672,673,674],"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",[676,679,682],{"name":677,"url":678},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":680,"url":681},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":683,"url":684},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[686,687,690,693,696,699,702,705,708,711,714,717],{"title":648,"url":649},{"title":688,"url":689},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":691,"url":692},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":694,"url":695},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":697,"url":698},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":700,"url":701},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":703,"url":704},"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":706,"url":707},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":709,"url":710},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":712,"url":713},"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":715,"url":716},"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":718,"url":719},"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",[105,106,107],"Háttérben futó kódoló ügynökök: PR-ek, sorok és review","Hogyan sorakoztatnak feladatokba az aszinkron kódoló ügynökök, hogyan futnak sandboxban, nyitnak draft PR-t és mennek át a CI-n. Limitek, költségek, review.","Egy kártya a tálcán öt mezőre ágazik, a nyilak egy kapu mögötti laphoz vezetnek.",{"slug":727,"published":728,"minutes":729,"category":7,"tags":730,"keywords":736,"about":748,"sources":756,"cover":789,"og":790,"expertise":103,"locales":791,"lang":107,"title":792,"description":793,"coverAlt":794},"context-rot-compaction-long-running-agents","2026-10-16",10,[731,732,733,734,735],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[737,738,739,740,741,742,743,744,745,746,747],"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",[749,752,755],{"name":750,"url":751},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":753,"url":754},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":547,"url":548},[757,760,763,766,769,771,774,777,780,783,786],{"title":758,"url":759},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":761,"url":762},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":764,"url":765},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":767,"url":768},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":770,"url":628},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":772,"url":773},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":775,"url":776},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":778,"url":779},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":781,"url":782},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":784,"url":785},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":787,"url":788},"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",[105,106,107],"Kontextusromlás hosszan futó ügynököknél: törlés, tömörítés, memória és al-ügynökök","Miért romlik az LLM pontossága a kontextus növekedésével, és hogyan tartja pályán a hosszú ügynökfutást a törlés, a tömörítés, a jegyzet és az al-ügynök.","Egy kis négyzetes prés magas lappköteget nyom rövidre, közben két jegyzet ágazik le.",1792261158835]