[{"data":1,"prerenderedAt":662},["ShallowReactive",2],{"blog-browser-agents-e2e-testing-playwright-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":34,"cover":50,"og":51,"expertise":52,"locales":53,"lang":56,"title":57,"description":58,"coverAlt":59,"metaTitle":60,"takeaways":61,"faq":67,"toc":83,"blocks":108,"others":371},"browser-agents-e2e-testing-playwright","2026-10-16",7,"agents",[9,10,11,12,13],"Playwright","E2E testing","Coding agents","MCP","Test automation",[15,16,17,18,19,20,21,22,23,24],"playwright test agents","playwright planner generator healer","ai e2e testing","playwright mcp","llm generated playwright tests","self-healing tests","browser agent testing","playwright init-agents","ai test automation 2026","playwright cli skills",[26,28,31],{"name":9,"url":27},"https:\u002F\u002Fplaywright.dev\u002F",{"name":29,"url":30},"End-to-end testing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSystem_testing",{"name":32,"url":33},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",[35,38,41,44,47],{"title":36,"url":37},"Playwright docs: Test agents (planner, generator, healer)","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Ftest-agents",{"title":39,"url":40},"Microsoft: Playwright MCP README (MCP vs CLI, accessibility snapshots)","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fplaywright-mcp",{"title":42,"url":43},"Playwright docs: Best practices","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fbest-practices",{"title":45,"url":46},"Playwright docs: Locators","https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Flocators",{"title":48,"url":49},"Browserbase: Stagehand README (act, extract, observe)","https:\u002F\u002Fgithub.com\u002Fbrowserbase\u002Fstagehand","\u002Fimages\u002Fblog\u002Fbrowser-agents-e2e-testing-playwright\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fbrowser-agents-e2e-testing-playwright\u002Fog.jpg","ai-engineer",[54,55,56],"en","de","hu","Böngészőágensek E2E-teszteléshez: írják az ágensek a Playwright-teszteket, ne futtassák","Hol segítenek az AI-ágensek E2E-teszteknél: Playwright planner, generator és healer, MCP vagy CLI, és a korlátok, melyek őszintén tartják a javított teszteket.","Egy ágens bejár egy webalkalmazást, Markdown tesztervet ír, Playwright-tesztekké alakítja, a healer pedig lokátorokat javít, miközben az ellenőrzések felülvizsgálat alatt maradnak.","Böngészőágensek E2E-tesztekhez: Playwright · Balázs Csorba",[62,63,64,65,66],"Az ágensek írják és tartsák karban a determinisztikus Playwright-teszteket; a CI sima tesztfájlokat futtasson, ne egy LLM-et, amely eldönti, mi ment át.","A Playwright planner, generator és healer ágenseket ad, amelyek egy seed tesztből és egy kérésből Markdown tervet, majd tesztfájlokat készítenek.","Kódoló ágensekhez a Playwright saját dokumentációja ma már a skillekkel kiegészített CLI-t ajánlja az MCP-szervernél takarékosabbnak tokenben.","A healer önállóan módosíthat lokátorokat és várakozásokat; egy ellenőrzés bármilyen változtatásához vagy egy kihagyott teszthez emberi átnézés kell.","Az akadálymentes markup a szerződés: a szerepalapú lokátorokra építenek az ágensek és a stabil tesztek is.",[68,71,74,77,80],{"q":69,"a":70},"Kiválthatja egy AI-ágens az E2E-tesztkészletemet?","Nem abban a szerepben, ami a CI-ban fut. Egy tesztidőben az alkalmazáson végigkattintó ágens lassabb, minden futásnál tokenbe kerül, és ugyanazt az eredményt kétszer különbözőképpen ítélheti meg. Az ágensekkel írass, bővíttess és javíttass egy normál Playwright-tesztkészletet, és azt futtasd determinisztikusan.",{"q":72,"a":73},"Mik a Playwright tesztágensek?","A Playwright három ágensdefiníciót ad: egy plannert, amely bejárja az alkalmazást és Markdown tesztervet ír, egy generatort, amely a tervet Playwright-tesztfájlokká alakítja, közben élőben ellenőrizve a szelektorokat, és egy healert, amely lefuttatja a hibás teszteket és javítást javasol. Az npx playwright init-agents paranccsal adhatod hozzá őket VS Code-hoz, Claude Code-hoz, Codexhez vagy OpenCode-hoz.",{"q":75,"a":76},"Playwright MCP-t vagy Playwright CLI-t használjak?","Repóban dolgozó kódoló ágensekhez a Playwright MCP README-je a skillekkel kiegészített CLI-t ajánlja, mert nem tölt nagy eszközsémákat és akadálymentességi fákat a kontextusba. Az MCP a hosszan futó felfedező vagy önjavító ciklusokhoz illik, amelyeknek jót tesz a tartós böngészőmunkamenet.",{"q":78,"a":79},"Biztonságosak az önjavító tesztek?","Csak korlátokkal. Egy átnevezett gomb lokátorát kijavítani rendben van. Megváltoztatni, mit ellenőriz a teszt, vagy kihagyottnak jelölni, mert a funkció hibásnak tűnik, elrejthet egy valódi regressziót. A healer módosíthasson lokátorokat és várakozásokat, az ellenőrzések változtatása és a kihagyások pedig menjenek átnézésre.",{"q":81,"a":82},"Mikor érdemes futásidejű böngészőágenst használni?","Felfedező teszteléshez, gyors füstpróbákhoz olyan oldalakon, amelyeket nem te irányítasz, és olyan feladatokhoz, ahol a felület túl gyakran változik a rögzített szelektorokhoz. Az olyan eszközök, mint a Stagehand, ilyenkor természetes nyelvű műveleteket kevernek Playwright-stílusú kóddal.",[84,87,90,93,96,99,102,105],{"id":85,"title":86},"three-ways-agents-meet-e2e","Milyen három módon használhatók ágensek E2E-teszteléshez?",{"id":88,"title":89},"playwright-test-agents","Hogyan működnek a Playwright tesztágensei?",{"id":91,"title":92},"mcp-or-cli","Playwright MCP-t vagy CLI-t használjanak a kódoló ágensek?",{"id":94,"title":95},"accessibility-is-the-contract","Miért az akadálymentes markup a szerződés az ágensek és a tesztek között?",{"id":97,"title":98},"healer-guardrails","Hogyan maradnak őszinték az önjavító tesztek?",{"id":100,"title":101},"runtime-agents","Mikor van mégis értelme a futásidejű böngészőágensnek?",{"id":103,"title":104},"setup-checklist","Hogyan néz ki egy gyakorlati beállítás?",{"id":106,"title":107},"sources","Források",[109,113,116,119,158,161,162,175,184,211,213,214,221,235,236,251,259,260,263,282,284,297,298,322,325,326,345,353,354],{"type":110,"content":111},"paragraph",[112],"A böngészőágensek ma már meg tudnak nyitni egy alkalmazást, el tudják olvasni az oldalt, végig tudnak kattintani egy fizetési folyamaton, és meg tudják mondani, hogy működött-e. Csábító ebből tesztkészletet csinálni: hétköznapi nyelven leírni a folyamatokat, és minden pull requestnél egy modellel ellenőriztetni őket. Szerintem ez rossz hely a modellnek. A jobb munkamegosztás: az ágensek végzik a drága emberi munkát – az alkalmazás felderítését, a tesztek megírását és a törött lokátorok javítását –, a CI pedig sima Playwright-teszteket futtat, amelyek minden alkalommal ugyanazt a választ adják.",{"type":110,"content":114},[115],"A cikk összeveti, milyen három módon találkoznak az ágensek az E2E-teszteléssel, végigmegy a Playwright saját tesztágensein, kitér az MCP és a CLI választására kódoló ágenseknél, és rögzíti azokat a korlátokat, amelyekkel elérem, hogy egy önjavító teszt ne „gyógyíthasson el” csendben egy valódi hibát.",{"type":117,"level":118,"id":85,"text":86},"heading",2,{"type":120,"head":121,"rows":130},"table",[122,124,126,128],[123],"Megközelítés",[125],"Mit csinál az ágens",[127],"Fut a CI-ban?",[129],"Fő kockázat",[131,140,149],[132,134,136,138],[133],"Az ágens tesztet ír",[135],"Bejárja az alkalmazást, tervet és Playwright-tesztfájlokat ír",[137],"Nem, a tesztek futnak",[139],"Rossz dolgot ellenőrző tesztek",[141,143,145,147],[142],"Az ágens tesztet javít",[144],"Lefuttatja a hibás teszteket, megvizsgálja a felületet, javítja a lokátorokat és várakozásokat",[146],"Opcionálisan, külön jobként",[148],"Egy valódi regresszió „elgyógyítása”",[150,152,154,156],[151],"Az ágens maga a teszt",[153],"Természetes nyelvű lépéseket követ élő böngészőben, és megítéli az eredményt",[155],"Igen",[157],"Lassú, drága, nem determinisztikus ítéletek",{"type":110,"content":159},[160],"A teszt attól hasznos, hogy rögzített orákulum: ugyanaz a kód, ugyanaz az adat és ugyanaz az ellenőrzés ugyanazt az eredményt adja. Egy képernyőképet megítélő modell második vélemény, nem orákulum. Felderítésre hasznos, de a piros buildnek azt kell jelentenie, hogy a termék változott meg, nem azt, hogy a modell gondolta meg magát.",{"type":117,"level":118,"id":88,"text":89},{"type":110,"content":163},[164,165,169,170,174],"A Playwright három ",{"tag":166,"href":37,"children":167},"a",[168],"tesztágenst"," ad ágensdefinícióként, amelyeket az ",{"tag":171,"children":172},"code",[173],"npx playwright init-agents"," paranccsal teszel a repóba, VS Code-, Claude Code-, Codex- és OpenCode-változattal. A dokumentáció szerint minden Playwright-frissítés után újra kell generálni őket, hogy megkapják az új eszközöket és utasításokat.",{"type":176,"attrs":177,"inner":181,"caption":182},"diagram",{"viewBox":178,"role":179,"aria-labelledby":180},"0 0 720 170","img","pwa1-t pwa1-d","\u003Ctitle id=\"pwa1-t\">Playwright tesztágensek\u003C\u002Ftitle>\u003Cdesc id=\"pwa1-d\">Egy seed teszt előkészíti a környezetet. A planner bejárja az alkalmazást, és Markdown tervet ír a specs mappába. A generator a tervből tesztfájlokat készít a tests mappába, élőben ellenőrizve a szelektorokat. A CI futtatja a teszteket. Ha egy teszt elbukik, a healer újrajátssza, és javítást javasol, amely átnézésre megy.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"pwa1-ah\" 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>\u003Crect x=\"20\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"79\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Seed teszt\u003C\u002Ftext>\u003Ctext x=\"79\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">fixture, belépés\u003C\u002Ftext>\u003Cpath d=\"M138 85H158\" class=\"d-line\" marker-end=\"url(#pwa1-ah)\" \u002F>\u003Crect x=\"160\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"220\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Planner\u003C\u002Ftext>\u003Ctext x=\"220\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">specs\u002F*.md\u003C\u002Ftext>\u003Cpath d=\"M279 85H299\" class=\"d-line\" marker-end=\"url(#pwa1-ah)\" \u002F>\u003Crect x=\"301\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"360\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Generator\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">tests\u002F*.spec.ts\u003C\u002Ftext>\u003Cpath d=\"M419 85H439\" class=\"d-line\" marker-end=\"url(#pwa1-ah)\" \u002F>\u003Crect x=\"441\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"500\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">CI\u003C\u002Ftext>\u003Ctext x=\"500\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">sima Playwright\u003C\u002Ftext>\u003Cpath d=\"M560 85H580\" class=\"d-line\" marker-end=\"url(#pwa1-ah)\" \u002F>\u003Crect x=\"582\" y=\"47\" width=\"118\" height=\"76\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"641\" y=\"81\" text-anchor=\"middle\" class=\"d-text\">Healer\u003C\u002Ftext>\u003Ctext x=\"641\" y=\"103\" text-anchor=\"middle\" class=\"d-small\">javítás → átnézés\u003C\u002Ftext>",[183],"Minden ágenskimenet egy fájl a repóban: a tervek, a tesztek és a javítások is a szokásos kódátnézésen mennek át.",{"type":185,"items":186},"list",[187,197,206],[188,192,193,196],{"tag":189,"children":190},"strong",[191],"Planner:"," kap egy kérést, például „tervezd meg a vendégként történő fizetést”, egy seed tesztet, amely előkészíti a fixture-öket és a belépést, és opcionálisan egy követelménydokumentumot. Lefuttatja a seed tesztet, bejárja az alkalmazást, és Markdown tervet ír a ",{"tag":171,"children":194},[195],"specs\u002F"," mappába.",[198,201,202,205],{"tag":189,"children":199},[200],"Generator:"," a tervből Playwright-teszteket készít a ",{"tag":171,"children":203},[204],"tests\u002F"," alá, és a forgatókönyvek végrehajtása közben élőben ellenőrzi a szelektorokat és az ellenőrzéseket. A dokumentáció szerint a generált tesztek eleinte hibákat tartalmazhatnak.",[207,210],{"tag":189,"children":208},[209],"Healer:"," egy hibás tesztnél újrajátssza a lépéseket, a jelenlegi felületen egyenértékű elemeket keres, javítást javasol, például lokátorfrissítést, várakozás-módosítást vagy adatjavítást, és addig futtatja újra, amíg a teszt át nem megy, vagy a korlátok meg nem állítják. Az eredmény egy sikeres teszt, vagy egy kihagyott, ha úgy ítéli, hogy a funkció hibás.",{"type":171,"code":212},"# Add the agent definitions for your coding agent (regenerate after Playwright upgrades)\nnpx playwright init-agents --loop=claude\n\n# tests\u002Fseed.spec.ts: everything the agents need to reach a logged-in state\nimport { test, expect } from '.\u002Ffixtures'\ntest('seed', async ({ page }) => {\n  await page.goto('\u002F')\n  await expect(page.getByRole('navigation')).toBeVisible()\n})\n",{"type":117,"level":118,"id":91,"text":92},{"type":110,"content":215},[216,217,220],"A ",{"tag":166,"href":40,"children":218},[219],"Playwright MCP"," révén a modell strukturált akadálymentességi pillanatképeken keresztül vezérli a böngészőt képernyőképek helyett, így nem kell hozzá vizuális modell, és elkerüli a pixelekre kattintás kétértelműségét. A saját README-je viszont ma már határt húz: kódoló ágensekhez a skillekkel kiegészített Playwright CLI-t ajánlja, mert a CLI-hívások nem töltenek nagy eszközsémákat és bőbeszédű akadálymentességi fákat a kontextusba. Az MCP azokhoz a ciklusokhoz marad jobb, amelyeknek jót tesz a tartós böngészőmunkamenet, például a felfedező automatizáláshoz és az önjavító tesztekhez.",{"type":110,"content":222},[223,224,229,230,234],"Ez egybevág az ",{"tag":225,"to":226,"children":227},"link","\u002Fblog\u002Fagents-md-skills-mcp-cli-decision-matrix",[228],"AGENTS.md, skillek, MCP vagy CLI"," cikk általános mérlegelésével: minden állandóan betöltött eszközséma és minden oldal-pillanatkép minden körben kontextusba kerül. Ha egy tesztmunkamenethez csak néhány oldalolvasás kell, a CLI olcsóbb; a ",{"tag":225,"to":231,"children":232},"\u002Fblog\u002Ftoken-saving-tools-coding-agents-top-20",[233],"kódoló ágensek tokenspórolása"," cikk technikái itt is érvényesek.",{"type":117,"level":118,"id":94,"text":95},{"type":110,"content":237},[238,239,242,243,246,247,250],"A Playwright ",{"tag":166,"href":43,"children":240},[241],"bevált gyakorlatai"," a felhasználó által látott tulajdonságokra épülő lokátorokat ajánlják, például ",{"tag":171,"children":244},[245],"getByRole('button', { name: 'Submit' })",", CSS-osztályok és XPath helyett, mert a DOM szerkezete gyakrabban változik, mint az, amit a felhasználó lát. A Playwright MCP ugyanezt az akadálymentességi fát olvassa. Ugyanaz a munka, amely képernyőolvasóval használhatóvá teszi az oldalt, az ágensnek is megkönnyíti a felderítést, és újratervezést is túlélő teszteket eredményez. Egy szerep nélküli, formázott ",{"tag":171,"children":248},[249],"div"," gomb mindhármuk számára láthatatlan.",{"type":110,"content":252},[253,254,258],"Az EU-s webshopoknál ez amúgy sem választható; lásd ",{"tag":225,"to":255,"children":256},"\u002Fblog\u002Feuropean-accessibility-act-b2b-shop",[257],"az európai akadálymentességi irányelv B2B-webshopoknak"," cikket. A szerepek és címkék javítása egyszerre szolgálja a megfelelést, az ágenseket és a tesztek stabilitását.",{"type":117,"level":118,"id":97,"text":98},{"type":110,"content":261},[262],"A healer feladatleírásában benne van a kockázat: addig futtat újra, amíg a teszt át nem megy, és ha úgy véli, hogy a funkció hibás, kihagyottnak jelöli a tesztet. Mindkét kimenet rendben van, ha egy gombot átneveztek. Mindkettő rossz, ha a gomb egy valódi hiba miatt tűnt el. Az én szabályom egyszerű: a healer azt módosíthatja, hogyan talál meg a teszt dolgokat, azt soha, hogy mit ellenőriz.",{"type":264,"variant":265,"title":266,"body":267},"callout","warn","Egy meggyógyított, már nem bukó teszt még nem javított teszt",[268],[269,270,273,274,277,278,281],"Minden olyan healer-javítást, amely ",{"tag":171,"children":271},[272],"expect(...)"," sort érint, lépést töröl, vagy ",{"tag":171,"children":275},[276],"test.skip","-et, illetve ",{"tag":171,"children":279},[280],"test.fixme","-t ad hozzá, kezelj lehetséges termékhibaként. Küldd tovább egy embernek, a hibás futás trace-ével együtt.",{"type":171,"code":283},"#!\u002Fusr\u002Fbin\u002Fenv bash\n# CI gate for agent-made test changes: locator and wait edits pass, assertion edits need review\nset -euo pipefail\nchanged=$(git diff --unified=0 origin\u002Fmain -- 'tests\u002F**\u002F*.spec.ts' | grep -E '^[-+][^-+]' || true)\nif echo \"$changed\" | grep -Eq 'expect\\(|test\\.(skip|fixme)\\(|\\.toHave|\\.toBe'; then\n  echo \"Assertions or skips changed in tests\u002F: needs a human reviewer (label: test-assertions)\"\n  exit 1\nfi\n",{"type":110,"content":285},[286,287,291,292,296],"Ugyanez érvényes azokra a tesztekre, amelyeket egy ágens hibajavításhoz ír. Egy regressziós teszt csak akkor ér valamit, ha elbukik, amikor a javítást visszavonják; ezt minden hibajavító PR-nél ellenőrzöm, ahogy ",{"tag":225,"to":288,"children":289},"\u002Fblog\u002Fagent-loop-explained",[290],"az ágensciklus"," és a ",{"tag":225,"to":293,"children":294},"\u002Fblog\u002Fcoding-agent-skills-workflow",[295],"hibától a PR-ig tartó munkafolyamatom"," cikkben leírtam.",{"type":117,"level":118,"id":100,"text":101},{"type":110,"content":299},[300,301,304,305,308,309,312,313,316,317,321],"Vannak esetek, amikor a rögzített szelektor rossz eszköz. Kiadás előtti felfedező tesztelés, amikor egy ágens szokatlan útvonalakat próbál ki, és jelzi, mi tűnt hibásnak. Füstpróbák olyan külső oldalakon, amelyeket nem te irányítasz, például egy fizetési szolgáltató átirányításán. Hetente változó belső back-office folyamatok. Ezekre az olyan könyvtárak, mint a ",{"tag":166,"href":49,"children":302},[303],"Stagehand",", a természetes nyelvű ",{"tag":171,"children":306},[307],"act",", ",{"tag":171,"children":310},[311],"extract"," és ",{"tag":171,"children":314},[315],"observe"," hívásokat Playwright-stílusú oldal- és lokátor-API-kkal kombinálják, így egy szkript nagyrészt determinisztikus lehet néhány rugalmas lépéssel. Részletesebben a ",{"tag":225,"to":318,"children":319},"\u002Ftools\u002Fbrowserbase-stagehand",[320],"Stagehand-ismertetőben"," hasonlítom össze.",{"type":110,"content":323},[324],"Ezeket a futásokat tartsd távol a merge-kaputól. Az eredményeiket issue-ként vagy új determinisztikus tesztként jelentsd, a sikeres vagy sikertelen döntés pedig maradjon olvasható kódnál.",{"type":117,"level":118,"id":103,"text":104},{"type":185,"ordered":327,"items":328},true,[329,331,335,337,343],[330],"Egy seed teszt fixture-ökkel a belépéshez és a tesztadatokhoz, hogy az ágensek ismert állapotból induljanak.",[216,332,334],{"tag":171,"children":333},[195]," terveit követelményként nézd át: egy rossz terv helyesnek látszó teszteket szül rossz viselkedésre.",[336],"A generált tesztek csak szerepalapú lokátorokat használnak; a CSS-szelektorok elbuknak a linten.",[338,339,342],"A CI sima ",{"tag":171,"children":340},[341],"npx playwright test","-et futtat, hiba esetén trace-szel; a merge-kapuban nincs modell.",[344],"A healer külön jobként fut, amely PR-t nyit; az ellenőrzések változtatása és a kihagyások átnézésre blokkolva vannak.",{"type":110,"content":346},[347,348,352],"Ez a ",{"tag":225,"to":349,"children":350},"\u002Fblog\u002Fharness-engineering-coding-agents",[351],"harness engineering"," a tesztelésre alkalmazva: az ágens irányítókat (seed teszt, tervek, lokátorszabályok) és érzékelőket (tesztfutás, ellenőrzéskapu) kap, az emberi átnézés pedig ott van, ahol a döntések születnek, nem minden soron.",{"type":117,"level":118,"id":106,"text":107},{"type":185,"ordered":327,"items":355},[356,359,362,365,368],[357],{"tag":166,"href":37,"children":358},[36],[360],{"tag":166,"href":40,"children":361},[39],[363],{"tag":166,"href":43,"children":364},[42],[366],{"tag":166,"href":46,"children":367},[45],[369],{"tag":166,"href":49,"children":370},[48],[372,443,502,586],{"slug":373,"published":5,"minutes":374,"category":7,"tags":375,"keywords":381,"about":393,"sources":403,"cover":437,"og":438,"expertise":52,"locales":439,"lang":56,"title":440,"description":441,"coverAlt":442},"context-rot-compaction-long-running-agents",10,[376,377,378,379,380],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[382,383,384,385,386,387,388,389,390,391,392],"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",[394,397,400],{"name":395,"url":396},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":398,"url":399},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":401,"url":402},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",[404,407,410,413,416,419,422,425,428,431,434],{"title":405,"url":406},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":408,"url":409},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":411,"url":412},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":414,"url":415},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":417,"url":418},"Anthropic: Effective harnesses for long-running agents (Nov 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":420,"url":421},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":423,"url":424},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":426,"url":427},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":429,"url":430},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":432,"url":433},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":435,"url":436},"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",[54,55,56],"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 ügynök kontextusmérete a körökkel nő, de a régi eszközeredmények törlése és a tömörítés egy sávban tartja, ahelyett, hogy az ablakhatárig nőne.",{"slug":444,"published":5,"minutes":445,"category":7,"tags":446,"keywords":451,"about":463,"sources":471,"cover":496,"og":497,"expertise":52,"locales":498,"lang":56,"title":499,"description":500,"coverAlt":501},"a2a-protocol-agent-interoperability",12,[447,448,12,449,450],"A2A","AI agents","Interoperability","Agent security",[452,453,454,455,456,457,458,459,460,461,462],"a2a protocol","agent2agent protocol","a2a vs mcp","a2a agent card","agent-card.json well-known","a2a protocol 1.0","a2a task lifecycle","agent to agent communication protocol","a2a security","a2a json-rpc grpc","agent session smuggling",[464,467,468],{"name":465,"url":466},"Agent2Agent protocol","https:\u002F\u002Fa2a-protocol.org\u002F",{"name":32,"url":33},{"name":469,"url":470},"Linux Foundation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLinux_Foundation",[472,475,478,481,484,487,490,493],{"title":473,"url":474},"A2A Protocol Specification (latest, v1.0)","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Fspecification\u002F",{"title":476,"url":477},"A2A: a2a.proto, the normative data model (GitHub)","https:\u002F\u002Fgithub.com\u002Fa2aproject\u002FA2A\u002Fblob\u002Fmain\u002Fspecification\u002Fa2a.proto",{"title":479,"url":480},"A2A docs: A2A and MCP","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Ftopics\u002Fa2a-and-mcp\u002F",{"title":482,"url":483},"A2A docs: Agent discovery","https:\u002F\u002Fa2a-protocol.org\u002Flatest\u002Ftopics\u002Fagent-discovery\u002F",{"title":485,"url":486},"Google Developers Blog: Announcing the Agent2Agent Protocol (Apr 2025)","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fa2a-a-new-era-of-agent-interoperability\u002F",{"title":488,"url":489},"Linux Foundation: Launch of the Agent2Agent Protocol Project (Jun 2025)","https:\u002F\u002Fwww.linuxfoundation.org\u002Fpress\u002Flinux-foundation-launches-the-agent2agent-protocol-project-to-enable-secure-intelligent-communication-between-ai-agents",{"title":491,"url":492},"Linux Foundation: A2A surpasses 150 organizations in its first year (Apr 2026)","https:\u002F\u002Fwww.linuxfoundation.org\u002Fpress\u002Fa2a-protocol-surpasses-150-organizations-lands-in-major-cloud-platforms-and-sees-enterprise-production-use-in-first-year",{"title":494,"url":495},"Unit 42: Agent Session Smuggling in Agent2Agent Systems (Oct 2025)","https:\u002F\u002Funit42.paloaltonetworks.com\u002Fagent-session-smuggling-in-agent2agent-systems\u002F","\u002Fimages\u002Fblog\u002Fa2a-protocol-agent-interoperability\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fa2a-protocol-agent-interoperability\u002Fog.jpg",[54,55,56],"Az A2A protokoll: agent cardok, taskok, és a helye az MCP mellett","Mit szabványosít az Agent2Agent protokoll 1.0-s verziója: agent card, task, bindingek, biztonság, eltérés az MCP-től, és mikor éri meg használni.","Két, különböző szervezethez tartozó AI-ágens A2A-n cserél taskokat, mindkettő MCP-n kapcsolódik a saját eszközeihez, az agent card egy well-known URL-en érhető el.",{"slug":503,"published":504,"minutes":505,"category":7,"tags":506,"keywords":512,"about":521,"sources":531,"cover":580,"og":581,"expertise":52,"locales":582,"lang":56,"title":583,"description":584,"coverAlt":585},"ai-assisted-development-economics","2026-10-01",11,[507,508,509,510,511],"AI coding agents","Developer productivity","Engineering economics","Team cost","GDPR",[513,514,515,516,517,518,519,520],"AI coding agents cost","developer productivity AI study","METR AI developer slowdown","AI coding break-even cost model","one senior engineer vs team","AI coding agent vs agency","DORA AI adoption report","GDPR processor contract AI coding tools",[522,525,528],{"name":523,"url":524},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",{"name":526,"url":527},"Randomized controlled trial","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRandomized_controlled_trial",{"name":529,"url":530},"Bus factor","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBus_factor",[532,535,538,541,544,547,550,553,556,559,562,565,568,571,574,577],{"title":533,"url":534},"METR: early-2025 AI and experienced open-source developers","https:\u002F\u002Fmetr.org\u002Fblog\u002F2025-07-10-early-2025-ai-experienced-os-dev-study\u002F",{"title":536,"url":537},"Becker et al.: arXiv 2507.09089","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.09089",{"title":539,"url":540},"METR: developer productivity experiment design, February 2026","https:\u002F\u002Fmetr.org\u002Fblog\u002F2026-02-24-uplift-update\u002F",{"title":542,"url":543},"Peng et al.: GitHub Copilot controlled experiment, arXiv 2302.06590","https:\u002F\u002Farxiv.org\u002Fhtml\u002F2302.06590v1",{"title":545,"url":546},"Cui et al.: three field experiments with software developers","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002F?p=1148213",{"title":548,"url":549},"DORA: State of AI-assisted Software Development 2025","https:\u002F\u002Fresearch.google\u002Fpubs\u002Fdora-2025-state-of-ai-assisted-software-development-report\u002F",{"title":551,"url":552},"Google Cloud: highlights from the 2024 DORA report","https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fproducts\u002Fdevops-sre\u002Fannouncing-the-2024-dora-report",{"title":554,"url":555},"Stack Overflow: Developer Survey 2025, AI","https:\u002F\u002Fsurvey.stackoverflow.co\u002F2025\u002Fai",{"title":557,"url":558},"Ziftci et al.: Migrating Code At Scale With LLMs At Google","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":560,"url":561},"Alshahwan et al.: Automated Unit Test Improvement using Large Language Models at Meta","https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.09171",{"title":563,"url":564},"GitClear: AI Copilot Code Quality: 2025 Look Back at 12 Months of Data","https:\u002F\u002Fwww.gitclear.com\u002Fai_assistant_code_quality_2025_research",{"title":566,"url":567},"GDPR, Regulation (EU) 2016\u002F679, Article 28","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2016\u002F679\u002Foj\u002Feng",{"title":569,"url":570},"Anthropic: Commercial Terms of Service","https:\u002F\u002Fwww.anthropic.com\u002Flegal\u002Fcommercial-terms",{"title":572,"url":573},"Claude: pricing","https:\u002F\u002Fclaude.com\u002Fpricing",{"title":575,"url":576},"Claude Platform: data residency","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fdata-residency",{"title":578,"url":579},"GitHub Copilot: plans and pricing","https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\u002Fplans","\u002Fimages\u002Fblog\u002Fai-assisted-development-economics\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fai-assisted-development-economics\u002Fog.jpg",[54,55,56],"Egy senior MI-ügynökökkel vagy egy csapattal: mit mondanak a bizonyítékok","A METR, DORA, Microsoft és GitHub kutatásai az MI-kódolóeszközökről, azok korlátai, és egy break-even modell: senior, csapat vagy ügynökség?","Borítókép az MI-kódolás gazdaságtanához: egy vázlattól az élesítésig tartó folyamat, ahol az ügynökök gyorsítják az írást, a review-költségek és a minőségi költségek pedig visszavesznek a nyereségből.",{"slug":587,"published":588,"minutes":505,"category":7,"tags":589,"keywords":594,"about":603,"sources":615,"cover":656,"og":657,"expertise":52,"locales":658,"lang":56,"title":659,"description":660,"coverAlt":661},"spec-driven-development-coding-agents","2026-09-30",[590,11,591,592,593],"Spec-driven development","Acceptance criteria","Plan mode","AI engineering",[595,596,597,598,599,600,601,602],"spec-driven development","spec driven development coding agents","acceptance criteria for coding agents","AI coding agent plan mode","GitHub Spec Kit","Kiro specs requirements design tasks","vibe coding vs spec-driven development","EARS requirements syntax",[604,607,609,612],{"name":605,"url":606},"Vibe coding","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVibe_coding",{"name":599,"url":608},"https:\u002F\u002Fgithub.com\u002Fgithub\u002Fspec-kit",{"name":610,"url":611},"EARS (Easy Approach to Requirements Syntax)","https:\u002F\u002Falistairmavin.com\u002Fears\u002F",{"name":613,"url":614},"Kiro","https:\u002F\u002Fkiro.dev",[616,619,621,624,627,630,632,635,638,641,643,645,648,650,653],{"title":617,"url":618},"Birgitta Böckeler: Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl (martinfowler.com, 15 October 2025)","https:\u002F\u002Fmartinfowler.com\u002Farticles\u002Fexploring-gen-ai\u002Fsdd-3-tools.html",{"title":620,"url":608},"GitHub Spec Kit: README",{"title":622,"url":623},"GitHub Spec Kit: spec-driven.md methodology","https:\u002F\u002Fgithub.com\u002Fgithub\u002Fspec-kit\u002Fblob\u002Fmain\u002Fspec-driven.md",{"title":625,"url":626},"Kiro documentation: specs","https:\u002F\u002Fkiro.dev\u002Fdocs\u002Fspecs\u002F",{"title":628,"url":629},"Kiro: Introducing Kiro","https:\u002F\u002Fkiro.dev\u002Fblog\u002Fintroducing-kiro\u002F",{"title":631,"url":611},"Alistair Mavin: EARS, the Easy Approach to Requirements Syntax",{"title":633,"url":634},"Anthropic: Best practices for Claude Code","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fbest-practices",{"title":636,"url":637},"Cline documentation: Plan and Act","https:\u002F\u002Fdocs.cline.bot\u002Ffeatures\u002Fplan-and-act",{"title":639,"url":640},"OpenAI: Codex slash command reference","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Freference\u002Fslash-commands",{"title":642,"url":534},"METR: early-2025 AI and experienced open-source developer productivity (July 2025)",{"title":644,"url":540},"METR: We are changing our developer productivity experiment design (February 2026)",{"title":646,"url":647},"Thoughtworks Technology Radar: Spec-driven development","https:\u002F\u002Fwww.thoughtworks.com\u002Fradar\u002Ftechniques\u002Fspec-driven-development",{"title":649,"url":606},"Wikipedia: Vibe coding",{"title":651,"url":652},"Anthropic: Claude API pricing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fabout-claude\u002Fpricing",{"title":654,"url":655},"Anthropic: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching","\u002Fimages\u002Fblog\u002Fspec-driven-development-coding-agents\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fspec-driven-development-coding-agents\u002Fog.jpg",[54,55,56],"Spec-driven fejlesztés kódoló ügynököknek: a terv a kód előtt","A vibe coding valós kódbázisokon elbukik. Írj specifikációt elfogadási kritériumokkal, tervet és feladatokat, és nézd át mindezt, mielőtt az ügynök kódot ír.","Borítókép a spec-driven fejlesztéshez: folyamat a specifikációtól a tervig, a feladatokig és az ellenőrzésig, emberi jóváhagyási ponttal a kód előtt.",1792177150767]