[{"data":1,"prerenderedAt":683},["ShallowReactive",2],{"blog-mastra-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":22,"sources":29,"cover":62,"og":63,"expertise":64,"locales":65,"lang":68,"title":69,"description":70,"coverAlt":71,"metaTitle":72,"takeaways":73,"faq":79,"toc":92,"blocks":117,"others":413},"mastra","2026-07-15",11,"agents",[9,10,11,12,13],"TypeScript","Agent framework","Workflows","MCP","Evals",[15,16,17,18,19,20,21],"mastra ai framework","mastra vs langgraph","typescript agent framework","mastra agent framework review","mastra workflows and memory","mastra mcp server","mastra pricing",[23,26],{"name":24,"url":25},"Mastra","https:\u002F\u002Fmastra.ai",{"name":27,"url":28},"Mastra on GitHub","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra",[30,33,36,39,42,45,48,51,54,57,59],{"title":31,"url":32},"Mastra documentation: agents","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fagents\u002Foverview",{"title":34,"url":35},"Mastra documentation: workflows","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fworkflows\u002Foverview",{"title":37,"url":38},"Mastra documentation: memory","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fmemory\u002Foverview",{"title":40,"url":41},"Mastra documentation: MCP","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Ftools-mcp\u002Fmcp-overview",{"title":43,"url":44},"Mastra documentation: guardrails","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fagents\u002Fguardrails",{"title":46,"url":47},"Mastra documentation: evals","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fevals\u002Foverview",{"title":49,"url":50},"Mastra documentation: observability","https:\u002F\u002Fmastra.ai\u002Fdocs\u002Fobservability\u002Foverview",{"title":52,"url":53},"Mastra documentation: model providers","https:\u002F\u002Fmastra.ai\u002Fmodels",{"title":55,"url":56},"Mastra pricing","https:\u002F\u002Fmastra.ai\u002Fpricing",{"title":58,"url":28},"mastra-ai\u002Fmastra on GitHub",{"title":60,"url":61},"Mastra Enterprise Edition License v2.0","https:\u002F\u002Fgithub.com\u002Fmastra-ai\u002Fmastra\u002Fblob\u002Fmain\u002Fee\u002FLICENSE","\u002Fimages\u002Fblog\u002Fmastra\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmastra\u002Fog.jpg","ai-engineer",[66,67,68],"en","de","hu","Mastra teszt: TypeScript agentek valós értékelési hurokkal","A Mastra egy csomagban ad agenteket, workflow-kat, memóriát, MCP-t, guardrailokat, trace-et és értékelést. Mit fedi le az Apache-2.0 mag, mit kér az ee\u002F felosztás, kinek érdemes belépni.","Hét kis modul egy nagy keretben, egy sarokrész külön leválasztva.","Mastra: TypeScript agentek értékelése · Balázs Csorba",[74,75,76,77,78],"A Mastra a legteljesebb TypeScript agent keretrendszer egy repóban: agentek, workflow-k, memória, MCP szerver készítés, guardrailok, trace-ek és értékelések, Apache-2.0 licenccel minden az ee\u002F könyvtárakon kívül.","A licencnek van kereskedelmi éle. Az ee\u002F alatti kód - jelenleg az auth, az agent builder és az editor - forráskódként elérhető, és a produkciós használathoz szerződés és licenckulcs is kell.","A keretrendszer gyorsan mozog: 99 kiadás jelent meg a @mastra\u002Fcore-ból a 2026. október 7-ig tartó 30 napban, ezért a pontos verziók pimmelése és az értékelések futtatása a CI-ban nem opcionális.","Az igazi erőssége a kód, a trace-ek és az értékelések közötti hurok, nem maga az agent-hurok, amely árucikk; a Studio time travel és experiments funkciói tartják a csapatokat a fizetős platformon.","A LangGraph.js és a Vercel AI SDKhoz képest a Mastra több futtatási réteget birtokol, és több függőséget kér: a @mastra\u002Fcore önmagában 30 közvetlen függőséget húz be.",[80,83,86,89],{"q":81,"a":82},"A Mastra open source?","Nagyrészt. A mag és a monorepo túlnyomó része Apache-2.0, @mastra\u002Fcore néven publikálva, amely 2026. október 7-én az 1.75.0-s verziónál állt. Az ee\u002F nevű könyvtárak - @mastra\u002Fcore\u002Fauth\u002Fee, @mastra\u002Fcore\u002Fagent-builder\u002Fee és @mastra\u002Feditor\u002Fee - forráskódként elérhetők a Mastra Enterprise Edition License szerint, amely fejlesztést és tesztelést enged, produkciós használatot viszont licenckulcs és írásos szerződés nélkül nem.",{"q":84,"a":85},"Hogyan viszonyul a Mastra a LangGraph.js-hez?","A LangGraph.js tartós végrehajtásra és állapotra épülő gráf futtató motor, MIT licencű, és több heti letöltéssel rendelkezik: 4,55 millió a @mastra\u002Fcore 2,23 milliójával szemben a 2026. október 4-ig tartó héten. A Mastra ezzel szemben több mindent csomagol az agent köré: memória, guardrailok, MCP szerver készítés, trace-ek, értékelések és hosztolt platform. A választás arról szól, hogy a gráf primitívek vagy a körülöttük lévő termékfelület hiányzik-e.",{"q":87,"a":88},"Támogatja a Mastra az MCP-t?","Mindkét irányban. Az MCPClient stdio és Streamable HTTP MCP szerverekhez csatlakozik, requireToolApproval kapuval és allowedHosts korlátozással. Az MCPServer a \u002Fapi\u002Fmcp\u002F:serverId\u002Fmcp úton teszi elérhetővé a Mastra agenteket, eszközöket, workflow-kat, promptokat és erőforrásokat, a protokoll 2026-07-28-as revízióját beszélve.",{"q":90,"a":91},"Mennyibe kerül a Mastra?","A keretrendszer ingyenes. A hosztolt platformon egy ingyenes Starter szint van 100k observability eseménnyel, 24 CPU-órával és 15 napos megőrzéssel, egy 250 USD\u002Fhónapos Teams szint 1 millió eseménnyel, 250 CPU-órával, 6 hónapos megőrzéssel, SSO-val és SOC 2 dokumentációval, valamint egy egyedi Enterprise szint. A folyamatosan futó példány ezen felül 100 USD projektenként, a model gateway pedig 5,5 százalékkal terheli a tokenek piaci árát.",[93,96,99,102,105,108,111,114],{"id":94,"title":95},"what-it-is","Mi a Mastra valójában",{"id":97,"title":98},"how-it-works","Hogyan működik",{"id":100,"title":101},"getting-started","Első lépések",{"id":103,"title":104},"observability-and-evals","Az observability és az értékelés az igazi termék",{"id":106,"title":107},"pricing-and-licensing","Árazás és a licencfelosztás",{"id":109,"title":110},"where-it-shingles","Hol csípi",{"id":112,"title":113},"verdict","Vétel",{"id":115,"title":116},"sources","Források",[118,122,125,128,131,171,172,175,181,184,188,191,194,197,198,201,203,206,213,214,217,239,242,243,246,285,288,293,294,297,351,354,355,358,370,376,377],{"type":119,"content":120},"paragraph",[121],"A Mastra TypeScript keretrendszer LLM-agentekhez, és az egyik legteljesebb: agentek, workflow-motor, memória, MCP szerver készítés, guardrailok, trace-ek, értékelések és egy hosztolt platform egyetlen repóban. A pozíció itt egyértelmű. A Mastra a legjobban támogatott út, ha egy agentet egy meglévő Node- vagy Next.js-alapú kódba kell beépíteni, és rossz választás azoknak, akik Pythonban dolgoznak, vagy csak a tool-calling hurkot akarják.",{"type":119,"content":123},[124],"A modellréteg fölött, az alkalmazás alatt helyezkedik el: a modellek provider\u002Fmodel stringként érkeznek, a keretrendszer pedig átveszi az agent-hurkot, a workflow-gráfot, a thread állapotát és a trace-eket. A közvetlen versenytársak a LangGraph.js, a Vercel AI SDK, az OpenAI Agents SDK és az újabb belépők, mint a VoltAgent. A különbség nem a hurokban van, hiszen az árucikk, hanem abban, mennyi környező futtatási réteget hajlandó egy-egy keretrendszer átvenni.",{"type":126,"level":127,"id":94,"text":95},"heading",2,{"type":119,"content":129},[130],"A Mastra nem egyetlen könyvtár, hanem scope-olt npm csomagok monorepója. A magja a @mastra\u002Fcore, minden más ehhez kapcsolódik: @mastra\u002Fmemory, @mastra\u002Flibsql, @mastra\u002Fpg, @mastra\u002Fobservability, @mastra\u002Fevals, @mastra\u002Fmcp és a többi. A src\u002Fmastra\u002Findex.ts fájlban lévő Mastra osztály a regisztráció, amely összeköti az agenteket, a workflow-kat, a storage-et, a logolást és az observabilityt, és a keretrendszer minden más része innen oldja fel a szolgáltatásait.",{"type":132,"ordered":133,"items":134},"list",false,[135,141,146,151,156,161,166],[136,140],{"tag":137,"children":138},"strong",[139],"Licenc",": Apache-2.0 minden, ami az ee\u002F könyvtárakon kívül van; azokon belül forráskódként elérhető a Mastra Enterprise Edition License szerint.",[142,145],{"tag":137,"children":143},[144],"Érettség",": a @mastra\u002Fcore 2026. október 7-én az 1.75.0-nál állt; a repó 28,6k csillagot és 2,9k forkot mutat, az első kiadás 2024 októberében jelent meg.",[147,150],{"tag":137,"children":148},[149],"Terjedés",": 2,23 millió npm letöltés a @mastra\u002Fcore-ra a 2026. október 4-ig tartó héten, szemben a @langchain\u002Flanggraph 4,55 milliójával és a Vercel ai csomag 34,5 milliójával.",[152,155],{"tag":137,"children":153},[154],"Kiadási tempó",": 99 kiadás a @mastra\u002Fcore-ból a 2026. október 7-ig tartó 30 napban és 301 kilencven napban, összesen 1656 az 2024. októbere óta.",[157,160],{"tag":137,"children":158},[159],"Futtatókörnyezet",": Node 22.18 vagy újabb, Hono-alapú szerverrel, Vercel, Netlify és Cloudflare deployerrel, vagy bármilyen saját HTTP hoszttal.",[162,165],{"tag":137,"children":163},[164],"Modellelérés",": egy model router, amely feloldja a provider\u002Fmodel stringet, 213 szolgáltatót és 7790 modellt listáz, támogatja a modellenkénti fallback-láncokat, és a kulcsot a környezetből olvassa.",[167,170],{"tag":137,"children":168},[169],"Típusok",": Zod, Valibot vagy ArkType Standard JSON Schema-n keresztül az eszközökhöz, a workflow-lépésekhez és a strukturált kimenethez.",{"type":126,"level":127,"id":97,"text":98},{"type":119,"content":173},[174],"Két primitív viszi a terhet. Az Agent modellt, utasítást és eszközöket köt össze, és addig iterál, amíg a modell végső választ vagy leállási feltételt nem ad. A createStep és createWorkflow összeállításból, .then(), .branch(), .parallel() és .commit() hívásokkal épített workflow a determinisztikus út az ismert sorrendű folyamatokhoz. A dokumentáció egyértelmű: definiált pipeline-hoz a második, nyílt végű munkához az első, ami pontosan az agent hurok magyarázatában alkalmazott felosztás.",{"type":176,"src":177,"alt":178,"wide":179,"caption":180},"image","\u002Fimages\u002Fblog\u002Fmastra\u002Fdiagram-7.webp","Mastra runtime: agent path, workflow path, observability A request reaches an agent, which calls a tool and a model in a loop. Below it sit workflow steps, memory and storage. Every run is traced into spans, logs and metrics that go to Mastra storage or to OpenTelemetry-compatible backends.",true,"A Mastra futtatási modellje: egy agent eszközök és egy modell körül hurokozik, alatta workflow-lépések és memória, minden futás pedig trace-elődik.",{"type":119,"content":182},[183],"E két primitív körül helyezkednek el azok a részek, amelyek életben tartják az agentet a produkcióban. A memória darabokra esik: üzenettörténet, working memory, szemantikus visszakeresés és Observational Memory, ahol háttéragentek tömörítik a régebbi fordulókat megfigyelésekké, mielőtt a kontextusablak megtelik. A storage cserélhető: LibSQL, Postgres, ClickHouse, MongoDB, MSSQL és DuckDB, és ugyanez a motor tartja a workflow-k felfüggesztését és folytatását, ezért egy workflow megvárhatja az emberi jóváhagyást, és órák múlva folytatódhat.",{"type":126,"level":185,"id":186,"text":187},3,"mcp-support","Az MCP-támogatás a megkülönböztető előny",{"type":119,"content":189},[190],"A Mastra az a ritka keretrendszer, amely az MCP-t mindkét irányban használja. Az MCPClient stdio és Streamable HTTP szerverekhez csatlakozik, az MCPServer pedig Mastra-agenteket, eszközöket, workflow-kat, promptokat és erőforrásokat tesz elérhetővé más rendszereknek. A regisztrált szerverek a \u002Fapi\u002Fmcp\u002F:serverId\u002Fmcp úton futnak, és a protokoll 2026-07-28-as revízióját beszélik, így ha egy csapat belső eszközei már MCP szerver mögött vannak, az agent beköthető saját integrációs réteg nélkül.",{"type":192,"code":193},"code","import { Agent } from '@mastra\u002Fcore\u002Fagent'\nimport { Mastra } from '@mastra\u002Fcore\u002Fmastra'\nimport { MCPServer, MCPClient } from '@mastra\u002Fmcp'\n\n\u002F\u002F Expose Mastra primitives to other agents and systems\nconst mcpServer = new MCPServer({\n  id: 'support-mcp',\n  name: 'Support tools',\n  version: '1.0.0',\n  agents: { supportAgent },\n  tools: { refundTool },\n  workflows: { triage },\n})\n\n\u002F\u002F Consume remote MCP tools, gating the destructive ones\nconst client = new MCPClient({\n  servers: {\n    jira: {\n      url: new URL('https:\u002F\u002Fjira.example.com\u002Fmcp'),\n      requireToolApproval: ({ toolName }) => toolName.startsWith('delete_'),\n    },\n  },\n})\n\nconst assistant = new Agent({\n  id: 'assistant',\n  name: 'Assistant',\n  instructions: 'Answer from the available tools and cite the source.',\n  model: 'anthropic\u002Fclaude-sonnet-4-6',\n  tools: await client.listTools(),\n})\n\nexport const mastra = new Mastra({\n  agents: { assistant },\n  mcpServers: { mcpServer },\n})",{"type":119,"content":195},[196],"A biztonsági alapértékek jobbak az átlagnál. A requireToolApproval név vagy argumentum alapján zárja az eszközöket, a stdio alfolyamatok csak egy kurált környezeti listát örökölnek, ha nem állítod be az inheritDefaultEnv flaget, az allowedHosts korlátozza a kimenő HTTP hosztokat, és a dokumentáció azt is mondja, hogy a nem általad kezelt szerverek annotációit ne tekintsd megbízható jelzésnek. Az eszközök eredménye amúgy is megbízhatatlan modellbemenet, ezért a guardrail processzorok az a réteg, amelynek ezt tisztáznia kell.",{"type":126,"level":127,"id":100,"text":101},{"type":119,"content":199},[200],"Az npm create mastra@latest létrehoz egy projektet a src\u002Fmastra elrendezéssel, dev szerverrel, Studióval és deployerrel. A legkisebb hasznos felület kicsi: egy eszköz, egy agent, egy regisztráció.",{"type":192,"code":202},"\u002F\u002F src\u002Fmastra\u002Ftools\u002Fstock-price.ts\nimport { createTool } from '@mastra\u002Fcore\u002Ftools'\nimport { z } from 'zod'\n\nexport const stockPrice = createTool({\n  id: 'stock-price',\n  description: 'Latest price for a ticker symbol',\n  inputSchema: z.object({ symbol: z.string().describe('Ticker, for example INGY') }),\n  outputSchema: z.object({ symbol: z.string(), price: z.number() }),\n  execute: async ({ symbol }) => ({ symbol, price: await quote(symbol) }),\n})\n\n\u002F\u002F src\u002Fmastra\u002Findex.ts\nimport { Mastra } from '@mastra\u002Fcore'\nimport { Agent } from '@mastra\u002Fcore\u002Fagent'\nimport { LibSQLStore } from '@mastra\u002Flibsql'\nimport { stockPrice } from '.\u002Ftools\u002Fstock-price'\n\nexport const agent = new Agent({\n  id: 'research',\n  name: 'Research agent',\n  instructions: 'Look prices up with the tool. Never guess a number.',\n  model: 'anthropic\u002Fclaude-sonnet-4-6',\n  tools: { stockPrice },\n})\n\nexport const mastra = new Mastra({\n  agents: { agent },\n  storage: new LibSQLStore({ id: 'mastra', url: 'file:.\u002Fmastra.db' }),\n})\n\n\u002F\u002F run.ts - Node 22.18 and later run TypeScript directly\nconst answer = await mastra.getAgentById('research').generate('INGY price')\nconsole.log(answer.text, answer.usage)",{"type":119,"content":204},[205],"Két részlet megtéveszti az újakat. Az agenteket érdemes mastra.getAgentById() hívással feloldani, nem közvetlen importálással, mert a közvetlen import lefut ugyan, de kimarad az instance storage, a logger és a telemetria, így az ilyen futások láthatatlanok a trace-ekben. A modell-string pedig router-formátum, provider\u002Fmodel, amit például az ANTHROPIC_API_KEY környezeti változó ad, nem provider-objektum.",{"type":207,"variant":208,"title":209,"body":210},"callout","warn","Először a verziót pimmeljük",[211],[212],"Egyetlen hónap alatt 99 kiadás jelent meg a @mastra\u002Fcore-ból. A package.json-ban egy nem pimmelt verziótartomány ütemezett incidens. Pimmelj pontos verziókra, futtasd az értékeléseket frissítéskor, és használj Renovate- vagy Dependabot-PR folyamatot ahelyett, hogy bármit mergelnél, amit a regiszter épp kiszolgál.",{"type":126,"level":127,"id":103,"text":104},{"type":119,"content":215},[216],"Ez az a rész, amely indokolja a keretrendszert, nem az agent-hurok. Minden agent-futás, workflow-lépés, eszközhívás és modellhívás span-t termel, és az exportírok ezeket a Mastra storage-be vagy bármilyen OpenTelemetry-kompatibilis háttértárba írják, név szerinti integrációkkal a Langfuse-hoz, az Arize Phoenixhez és a Datadoghoz. A metrikák spanekből származnak további instrumentáció nélkül, a Studio pedig hozzáadja a gráf nézetet, az egyedi lépés visszajátszását és az experiments fület.",{"type":132,"ordered":133,"items":218},[219,224,229,234],[220,223],{"tag":137,"children":221},[222],"Trace-ek és logok",": spanek és strukturált logok trace- és span-ID szerint korrelálva, így egy log sorból egy ugrás a létrehozó futásba.",[225,228],{"tag":137,"children":226},[227],"Metrikák",": tokenek, késleltetés és költségbecslés a span lezárásakor; az aggregációhoz analitikai store kell, például DuckDB, ClickHouse vagy Postgres.",[230,233],{"tag":137,"children":231},[232],"Scorerek",": előre gyártott és saját scorerek egy agenthez vagy egyetlen workflow-lépéshez, trace-enként determinisztikus mintavétellel, hogy a pontszámok futások között összehasonlíthatók maradjanak.",[235,238],{"tag":137,"children":236},[237],"Guardrailok processzorként",": promptinjekció-felismerés, moderáció, PII-maszkolás, system prompt tisztítás és költsemény, mindegyik block, redact vagy warn stratégiával.",{"type":119,"content":240},[241],"Van egy él, amit érdemes megismerni az első CI-futtatás előtt. Az agenthez vagy lépéshez csatolt scorerek magukat regisztrálják; azok a scorerek, amelyeket közvetlenül a runEvals() függvénynek vagy a quick checkeknek adsz át, a Mastra példányon is regisztrálva kell legyenek, különben minden mentés a Scorer with id \u003Cid> not found hibával elhal, és a pontszámok soha nem érkeznek meg a store-ba. A dokumentáció őszintén szól róla, hogy az eredmény egyformán, és pont ezért zavaros a hiba.",{"type":126,"level":127,"id":106,"text":107},{"type":119,"content":244},[245],"A keretrendszer ingyenes, és a hosztolt platformon szerzi a bevételt a szolgáltató. Az árazási oldal három szintet sorol fel, és a számláló az érdekes rész: observability események, CPU-órák, adatforgalom és egy model gateway, amely 5,5 százalékkal terheli a tokenek piaci árát.",{"type":247,"head":248,"rows":257},"table",[249,251,253,255],[250],"Szint",[252],"Ár",[254],"Observability",[256],"Számítás és megőrzés",[258,267,276],[259,261,263,265],[260],"Starter",[262],"0 USD havonta",[264],"100k esemény, utána 10 USD \u002F 100k",[266],"24 CPU-óra, utána 0,35 USD\u002Fóra; 15 napos megőrzés",[268,270,272,274],[269],"Teams",[271],"250 USD havonta",[273],"1 millió esemény, utána 8 USD \u002F 100k",[275],"250 CPU-óra, utána 0,25 USD\u002Fóra; 6 hónapos megőrzés",[277,279,281,283],[278],"Enterprise",[280],"Egyedi",[282],"Egyedi volumen és megőrzés",[284],"RBAC, audit naplók, uptime SLA-k, saját felhőben telepítés",{"type":119,"content":286},[287],"Két tétel megérdemli a figyelmet. A folyamatosan futó példány szintenként további 100 USD egy projektre, a gateway pedig a piaci ár plusz 5,5 százalék az input- és output tokenekre, saját kulccsal. A memóriát újra számolják, 10 USD millió tokenenként az első 100 ezer, illetve 1 millió fölött, így egy beszélgetős, hosszú kontextusú agent három különböző számlálóban jelenik meg.",{"type":207,"variant":208,"title":289,"body":290},"A licencfelosztást érdemes kétszer elolvasni",[291],[292],"Minden az ee\u002F könyvtárakon kívül Apache-2.0. Az ee\u002F-n belül - jelenleg @mastra\u002Fcore\u002Fauth\u002Fee, @mastra\u002Fcore\u002Fagent-builder\u002Fee és @mastra\u002Feditor\u002Fee - a kód forráskódként elérhető, és a Mastra Enterprise Edition License v2.0, amely 2026. szeptember 22-től hatályos, a produkciós használathoz aláírt szerződést és érvényes licenckulcsot is megköveteli. Ezek nélkül a használat a licenc szerint nem engedélyezett. Az autentikáció nem peremfunkció, ezt a határt ellenőrizni kell, mielőtt az architektúra erre épül.",{"type":126,"level":127,"id":109,"text":110},{"type":119,"content":295},[296],"Először a gyengeségek. A kiadási tempó az üzemeltetési probléma: 301 kiadás kilencven nap alatt azt jelenti, hogy a keretrendszer saját API-ja mozog alattad, és a release note-ok olvasása a munka része. Másodszor a szélesség kétélű fegyver. A repó harnesszeket, workspace-eket, channelöket, voice-ot, böngészővezérlést, code mode-ot és agent factoryket is szállít, így egy kis csapat a felülvizsgálati területért fizet olyan funkciókért, amelyeket nem használ. Harmadszor az Observational Memory nem ingyenes, mert háttéragentek tömörítik a történetet minden forduló fölött. Negyedszer épp a Studio funkciói - time travel, experiments, evaluate fülek - az okai, hogy valaki a fizetős szinten maradjon, és ezek hiányoznak, ha a trace-ek Langfuse-ba mennek, minden más pedig self-hosted.",{"type":247,"head":298,"rows":306},[299,301,302,304],[300],"Szempont",[24],[303],"LangGraph.js",[305],"Vercel AI SDK",[307,315,324,333,342],[308,309,311,313],[139],[310],"Apache-2.0 mag, enterprise az ee\u002F-ben",[312],"MIT",[314],"Apache-2.0",[316,318,320,322],[317],"Lefedett terület",[319],"Agentek, workflow-k, memória, MCP, értékelések, platform",[321],"Gráf futtatás, tartós végrehajtás",[323],"Modellhívások, streaming, UI-elemek",[325,327,329,331],[326],"Értékelések és trace-ek",[328],"beépítve, plusz hosztolt platform",[330],"a LangSmith külön és fizetős",[332],"saját szolgáltató",[334,336,338,340],[335],"Illeszkedés",[337],"Node-ban agenteket szállító termékcsapatok",[339],"Python-first csapatok tartós gráfokhoz",[341],"Alkalmazások, amelyek főként modellkimenetet streamelnek",[343,345,347,349],[344],"Heti letöltések, 2026. okt. 4.",[346],"2,23 millió (@mastra\u002Fcore)",[348],"4,55 millió (@langchain\u002Flanggraph)",[350],"34,5 millió (ai)",{"type":119,"content":352},[353],"Az OpenAI Agents SDK-hoz képest, amely vékonyabb, MIT licencű és közel marad a Responses API-hoz, a Mastra a hordozhatóbb és ugyanakkor nehezebb opció. Az őszinte összegzés: a Mastra szélességet és valódi értékelési hurkot vásárol, és függőségszámban fizet érte - hiszen a @mastra\u002Fcore önmagában 30 közvetlen függőséget húz be -, valamint abban a tempóban, ahogyan ez a függőség változik.",{"type":126,"level":127,"id":112,"text":113},{"type":119,"content":356},[357],"A Mastra egy jól vezetett, szokatlanul teljes keretrendszer világos középponttal: a kód, a trace-ek és az értékelések közötti hurok jobb, mint bármi, amit egy TypeScript csapatnak össze kellene raknia. A baj az, hogy mozgó cél, amelyre kereskedelmi réteg rakódott, és pont az a két dolog, ami a vásárlót leginkább érdekli - a stabil API és a változatlan licenc -, a leggyengébb terület.",{"type":132,"ordered":179,"items":359},[360,362,364,366,368],[361],"Vedd fel, ha az agent egy meglévő Node- vagy Next.js alkalmazásban szállítódik, és a csapat trace-eket, értékeléseket és workflow-motort akar hat csomag összerakása nélkül.",[363],"Vedd fel, ha az emberi jóváhagyás, a hosszasan felfüggesztett workflow-k és az MCP eszközszerverek követelmények, nem kiegészítő funkciók.",[365],"Vedd fel pimmelt verziókkal és CI-ban futó értékelés suite-tel, mert különben a kiadási tempó dönt a frissítési ütemről.",[367],"Hagyd ki, ha a modellszolgáltató rögzített és a felület egyetlen chat végpont: a Vercel AI SDK vagy az OpenAI Agents SDK kisebb gond.",[369],"Hagyd ki, ha a stack Python, vagy ha az ee\u002F határ valami olyanon fut át, amire a termék épül.",{"type":207,"variant":371,"title":372,"body":373},"note","Egy mondatban",[374],[375],"A Mastra ma a legjobban integrált TypeScript agent keretrendszer, ha nyílt forráskódú maggal rendelkező platformként kezeljük, nem stabil könyvtárként, és elfogadjuk, hogy a szolgáltató üzleti modellje a hosztolt szint, nem a kód.",{"type":126,"level":127,"id":115,"text":116},{"type":132,"ordered":179,"items":378},[379,383,386,389,392,395,398,401,404,407,410],[380],{"tag":381,"href":32,"children":382},"a",[31],[384],{"tag":381,"href":35,"children":385},[34],[387],{"tag":381,"href":38,"children":388},[37],[390],{"tag":381,"href":41,"children":391},[40],[393],{"tag":381,"href":44,"children":394},[43],[396],{"tag":381,"href":47,"children":397},[46],[399],{"tag":381,"href":50,"children":400},[49],[402],{"tag":381,"href":53,"children":403},[52],[405],{"tag":381,"href":56,"children":406},[55],[408],{"tag":381,"href":28,"children":409},[58],[411],{"tag":381,"href":61,"children":412},[60],[414,471,544,614],{"slug":415,"published":416,"minutes":6,"category":7,"tags":417,"keywords":422,"about":433,"sources":443,"cover":465,"og":466,"expertise":64,"locales":467,"lang":68,"title":468,"description":469,"coverAlt":470},"agent-tool-design-descriptions-errors","2026-10-17",[418,419,420,12,421],"AI agents","Tool use","Function calling","Agent design",[423,424,425,426,427,428,429,430,431,432],"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",[434,437,440],{"name":435,"url":436},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":438,"url":439},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":441,"url":442},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[444,447,450,453,456,459,462],{"title":445,"url":446},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":448,"url":449},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":451,"url":452},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":454,"url":455},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":457,"url":458},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":460,"url":461},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":463,"url":464},"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",[66,67,68],"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":472,"published":416,"minutes":6,"category":7,"tags":473,"keywords":479,"about":492,"sources":502,"cover":538,"og":539,"expertise":64,"locales":540,"lang":68,"title":541,"description":542,"coverAlt":543},"coding-agents-legacy-codebase-migration",[474,475,476,477,478],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[480,481,482,483,484,485,486,487,488,489,490,491],"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",[493,496,499],{"name":494,"url":495},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":497,"url":498},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":500,"url":501},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[503,506,508,511,514,517,520,523,526,529,532,535],{"title":504,"url":505},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":507,"url":498},"Wikipedia: Characterization test",{"title":509,"url":510},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":512,"url":513},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":515,"url":516},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":518,"url":519},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":521,"url":522},"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":524,"url":525},"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":527,"url":528},"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":530,"url":531},"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":533,"url":534},"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":536,"url":537},"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",[66,67,68],"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":545,"published":416,"minutes":546,"category":7,"tags":547,"keywords":551,"about":563,"sources":573,"cover":608,"og":609,"expertise":64,"locales":610,"lang":68,"title":611,"description":612,"coverAlt":613},"background-agents-async-pr-workflow",12,[475,548,549,478,550],"Pull requests","CI","Automation",[552,553,554,555,556,557,558,559,560,561,562],"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",[564,567,570],{"name":565,"url":566},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":568,"url":569},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":571,"url":572},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[574,575,578,581,584,587,590,593,596,599,602,605],{"title":536,"url":537},{"title":576,"url":577},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":579,"url":580},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":582,"url":583},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":585,"url":586},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":588,"url":589},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":591,"url":592},"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":594,"url":595},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":597,"url":598},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":600,"url":601},"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":603,"url":604},"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":606,"url":607},"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",[66,67,68],"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":615,"published":616,"minutes":617,"category":7,"tags":618,"keywords":624,"about":636,"sources":644,"cover":677,"og":678,"expertise":64,"locales":679,"lang":68,"title":680,"description":681,"coverAlt":682},"context-rot-compaction-long-running-agents","2026-10-16",10,[619,620,621,622,623],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[625,626,627,628,629,630,631,632,633,634,635],"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",[637,640,643],{"name":638,"url":639},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":641,"url":642},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":435,"url":436},[645,648,651,654,657,659,662,665,668,671,674],{"title":646,"url":647},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":649,"url":650},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":652,"url":653},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":655,"url":656},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":658,"url":516},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":660,"url":661},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":663,"url":664},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":666,"url":667},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":669,"url":670},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":672,"url":673},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":675,"url":676},"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",[66,67,68],"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.",1792261159614]