[{"data":1,"prerenderedAt":786},["ShallowReactive",2],{"blog-erp-integration-error-agent-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":72,"og":73,"expertise":74,"locales":75,"lang":78,"title":79,"description":80,"coverAlt":81,"metaTitle":82,"takeaways":83,"faq":89,"toc":105,"blocks":136,"others":514},"erp-integration-error-agent","2026-10-09",8,"agents",[9,10,11,12,13],"ERP integration","SAP","Error handling","Retries","AI agents",[15,16,17,18,19,20,21,22,23,24],"ERP integration error handling","IDoc status 51","SAP OData error handling","dead letter queue integration","integration retry idempotency","order sync failed shop ERP","AI agent triage logs","SAP Integration Suite JMS retry","integration error taxonomy","incident deduplication",[26,29,32],{"name":27,"url":28},"IDoc","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIDoc",{"name":30,"url":31},"Dead letter queue","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDead_letter_queue",{"name":33,"url":34},"Exponential backoff","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FExponential_backoff",[36,39,42,45,48,51,54,57,60,63,66,69],{"title":37,"url":38},"SAP Library: IDoc interface and ALE exception handling","https:\u002F\u002Fhelp.sap.com\u002Fsaphelp_aii710\u002Fhelpdata\u002Fen\u002F0b\u002F2a6743507d11d18ee90000e8366fc2\u002Fcontent.htm",{"title":40,"url":41},"SAP Community: IDoc status codes","https:\u002F\u002Fcommunity.sap.com\u002Ft5\u002Ftechnology-q-a\u002Fidoc-status-codes\u002Fqaq-p\u002F3961848",{"title":43,"url":44},"SAP CAP: indicating errors (Java)","https:\u002F\u002Fcap.cloud.sap\u002Fdocs\u002Fjava\u002Fevent-handlers\u002Findicating-errors",{"title":46,"url":47},"SAP Community: Cloud Integration asynchronous messaging with retry using JMS (2017)","https:\u002F\u002Fcommunity.sap.com\u002Ft5\u002Fintegration-blog-posts\u002Fcloud-integration-configure-asynchronous-messaging-with-retry-using-jms\u002Fba-p\u002F13315669",{"title":49,"url":50},"SAP Community: Cloud Integration dead-letter handling in the JMS adapter (2017)","https:\u002F\u002Fcommunity.sap.com\u002Ft5\u002Ftechnology-blogs-by-sap\u002Fcloud-integration-configure-dead-letter-handling-in-jms-adapter\u002Fba-p\u002F13325734",{"title":52,"url":53},"Temporal: retry policies","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fretry-policies",{"title":55,"url":56},"Amazon SQS: dead-letter queues","https:\u002F\u002Fdocs.aws.amazon.com\u002FAWSSimpleQueueService\u002Flatest\u002FSQSDeveloperGuide\u002Fsqs-dead-letter-queues.html",{"title":58,"url":59},"Azure Service Bus: dead-letter queues","https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fservice-bus-messaging\u002Fservice-bus-dead-letter-queues",{"title":61,"url":62},"Stripe API reference: idempotent requests","https:\u002F\u002Fdocs.stripe.com\u002Fapi\u002Fidempotent_requests",{"title":64,"url":65},"AWS Architecture Blog: Exponential backoff and jitter","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Farchitecture\u002Fexponential-backoff-and-jitter\u002F",{"title":67,"url":68},"MuleSoft: 2026 Connectivity Benchmark Report","https:\u002F\u002Fblogs.mulesoft.com\u002Fagentic-perspectives\u002Fconnectivity-benchmark-report\u002F",{"title":70,"url":71},"OWASP GenAI Security Project: LLM06:2025 Excessive Agency","https:\u002F\u002Fgenai.owasp.org\u002Fllmrisk\u002Fllm062025-excessive-agency\u002F","\u002Fimages\u002Fblog\u002Ferp-integration-error-agent\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ferp-integration-error-agent\u002Fog.jpg","b2b-ecommerce-developer",[76,77,78],"en","de","hu","Ágens ERP-integrációs hibákhoz: taxonómia, runbookok és biztonságos újrapróbálás","Ágens az ERP-integrációs hibák kezelésére: hibataxonómia IDoc- és OData-szerződésekből, engedélyezett runbookok, biztonságos újrapróbálás és deduplikáció.","Cső figyelmeztető jellel az egyik csatlakozásnál, alatta kártyák egy rendezőtálcában.","Ágens ERP-integrációs hibákhoz · Balázs Csorba",[84,85,86,87,88],"A webshop, a PIM és az ERP közötti integrációs hibák többsége öt családba sorolható: leképezés és validáció, hiányzó törzsadat, ár- vagy ügyféltiltás, elérhetőségi ütközés és infrastrukturális hiba.","A hibataxonómiát valódi szerződésekből, például IDoc-állapotrekordokból és OData-hibaobjektumokból építse, és ujjlenyomatot képezzen, hogy ugyanaz az osztály mindig ugyanahhoz a runbookhoz vezessen.","Először szabályokkal osztályozzon, és az LLM-et csak a strukturálatlan futásidejű szövegre használja; az ágens csak engedélyezett, naplózott runbook-műveleteken keresztül cselekszik.","Csak idempotens műveleteket próbáljon újra, korlátozott számban, exponenciális visszalépéssel és jitterrel; az adat- és validációs hibák karanténba kerülnek, és jegy megy a felelős csapatnak.","A MuleSoft 2026-os benchmarkja szerint az IT-csapatok idejük 36%-át egyedi integrációs munkával töltik, ezért mérje az interfészenkénti hibás üzeneteket, a megoldási időt és az ember nélkül megoldott esetek arányát.",[90,93,96,99,102],{"q":91,"a":92},"Mit jelent az 51-es IDoc-állapot?","Az SAP IDoc-állapotlistája szerint az 51-es állapot azt jelenti, hogy az alkalmazásbizonylat nem lett könyvelve: az IDoc eljutott az alkalmazáshoz, de a könyvelés meghiúsult, például hiányzó törzsadat, validációs hiba vagy zárolás miatt. Az IDoc bejövő feldolgozása leáll; az ok elhárítása után újra feldolgozható, például az RBDMANI2 riporttal, amelyet az SAP zárolási problémák esetén ütemezett futtatásra is javasol.",{"q":94,"a":95},"Mely ERP-integrációs hibák próbálhatók újra automatikusan?","Az átmeneti infrastrukturális hibák, például időtúllépés, 5xx válasz és zárolás, és csak ha a művelet idempotens, korlátozott próbálkozással és jitteres visszalépéssel. Az adat- és validációs hibák, például hiányzó anyag vagy tiltott ügyfél, nem javulnak újrapróbálással; karanténba valók, jeggyel annak a csapatnak, amelyé az adat.",{"q":97,"a":98},"Ki tudja javítani egy AI ágens önállóan az ERP-integrációs hibákat?","Üzleti adatot nem kellene módosítania. Egy hasznos ágens jeleket olvas, hibákat osztályoz, incidenseket deduplikál, és biztonságos műveletek rövid listáját hajtja végre, például korlátozott újrapróbálást vagy teljes kontextusú jegy nyitását. Egy ügyfélrekord vagy leképezés javítása emberi változtatás, amelyet az ágens javasol, és az adatgazda hagy jóvá.",{"q":100,"a":101},"Mi a dead letter queue az SAP Cloud Integrationben?","A Cloud Integration nem kizárólagos JMS-soraiban, ahogy 2017-ben dokumentálták, a dead letter queue azokat az üzeneteket tartja, amelyek egy összeomlott feldolgozó csomópont miatt nem dolgozhatók fel: kétszer újrapróbálják őket, majd kézi beavatkozásra félreteszik. A feldolgozási hiba miatt elbukó üzenetek nem kerülnek oda, ezért ezekhez külön felügyelet kell.",{"q":103,"a":104},"Hogyan mérhető egy integrációs hibaosztályozó ágens?","A pilot előtt rögzítsen alapértéket, utána vesse össze: interfészenkénti heti hibás üzenetek, hibaosztályonkénti megoldási idő, az ember nélkül megoldott esetek aránya, hibás rendelésenkénti kézi beavatkozások, és a leképezési javításokkal megszüntetett visszatérő osztályok. Ezekre nincs publikált viszonyszám, ezért a saját naplói a bizonyíték.",[106,109,112,115,118,121,124,127,130,133],{"id":107,"title":108},"what-breaks-between-shop-pim-and-erp","Mi romlik el a webshop, a PIM és az ERP között?",{"id":110,"title":111},"taxonomy-from-error-contracts","Hogyan épül fel egy integrációs hibataxonómia?",{"id":113,"title":114},"the-agent-triage-loop","Hogyan működik az ágens osztályozó köre?",{"id":116,"title":117},"safe-retries-and-runbooks","Mikor biztonságos az újrapróbálás, és mi kerül egy runbookba?",{"id":119,"title":120},"queue-and-dlq-mechanics","Milyen sor- és dead letter mechanikát érdemes ismerni?",{"id":122,"title":123},"guardrails-and-audit","Milyen védőkorlátok kellenek egy osztályozó ágensnek?",{"id":125,"title":126},"what-it-is-worth","Mennyit ér egy integrációs hibaosztályozó ágens?",{"id":128,"title":129},"when-not-to-build-an-agent","Mikor ne építsen ehhez ágenst?",{"id":131,"title":132},"implementation-checklist","Egyoldalas megvalósítási ellenőrzőlista",{"id":134,"title":135},"sources","Források",[137,146,155,158,161,164,165,168,215,282,283,286,292,294,301,302,305,309,324,326,334,335,338,384,395,396,402,414,417,418,421,441,444,445,448,449,467,475,476],{"type":138,"content":139},"paragraph",[140,141,145],"Az ",{"tag":142,"children":143},"strong",[144],"ERP-integrációs hibakezelés"," a webshop, a PIM és az ERP összekötésének üzemeltetési oldala: a hibás üzenetek olvasása, döntés az újrapróbálás és a javítás között, annak kiderítése, melyik rendszer felel a javításért, és melyik rendelések érintettek. Egy ágens az olvasás és rendezés nagy részét leveheti az integrációs csapat válláról, feltéve, hogy valódi hibataxonómia szerint osztályoz, csak biztonságos runbook-műveletek rövid listáján keresztül cselekszik, és az üzleti adatok minden módosítását embereknek hagyja.",{"type":138,"content":147},[148,149,154],"Ez a cikk sorra veszi, mi romlik el a webshop, a PIM és az ERP között, az SAP hibaszerződéseiből épített taxonómiát, az ágens osztályozó körét, a biztonságos újrapróbálást és a runbookokat, a sorok és dead letter sorok működését, a védőkorlátokat, az üzleti indoklást, és hogy mikor jobb válasz egy szabálymotor. Magának a szinkronizációnak a tervezését a ",{"tag":150,"to":151,"children":152},"link","\u002Fblog\u002Fpimcore-erp-delta-sync",[153],"Pimcore ERP delta szinkron"," című cikk írja le.",{"type":156,"level":157,"id":107,"text":108},"heading",2,{"type":138,"content":159},[160],"Öt hibacsalád fedi le az incidensek többségét: leképezési és validációs hibák, hiányzó vagy zárolt törzsadatok, ár- és ügyfélállapot-tiltások, elérhetőségi és allokációs ütközések, valamint hitelesítési, időtúllépési és infrastrukturális hibák. Minden osztályozás három kérdésre felel: újrapróbálás vagy javítás, melyik rendszer felel a javításért, és hány rendelés érintett.",{"type":138,"content":162},[163],"Az újrapróbálás és a javítás közötti különbség a legfontosabb. Csak az utolsó család javul az idővel; egy hiányzó anyag vagy egy zárolt ügyfél minden újrapróbálásnál ugyanúgy bukik el, és az az integráció, amely ezeket a végtelenségig ismétli, egyetlen adatproblémából több száz zajos riasztást csinál. A Spryker és Pimcore alapú B2B kereskedelmi rendszereken végzett munkám során azt láttam, hogy egy projekt után a csapatok nem az integrációs kódot tartják meg, hanem a runbook-könyvtárat és a hibairányítópultot, ezért ezekre tervezzen kezdettől.",{"type":156,"level":157,"id":110,"text":111},{"type":138,"content":166},[167],"Azokból a hibaszerződésekből építse, amelyeket a rendszerei már kibocsátanak, ne kitalált címkékből. Az SAP kettő jót is ad: az IDoc-állapotrekordokat és az OData-hibaobjektumokat.",{"type":169,"ordered":170,"items":171},"list",false,[172,186],[173,176,177,181,182,185],{"tag":142,"children":174},[175],"IDoc-állapotrekordok."," Az SAP állapotlistája szerint, az ",{"tag":178,"href":41,"children":179},"a",[180],"SAP Communityben"," ellenőrizve, az 51 jelentése „az alkalmazásbizonylat nincs könyvelve”, az 53-é „az alkalmazásbizonylat könyvelve”, a 64-é „az IDoc kész az alkalmazásnak való átadásra”, a 66-é „az IDoc az előző IDocra vár”, a 68-é pedig „hiba, további feldolgozás nincs”. Az SAP ALE-dokumentációja szerint egy hibás IDoc bejövő feldolgozása leáll, munkafolyamat-tétel keletkezik, és a javítás után az IDocot újra beküldik; az RBDMANI2 riport újra feldolgozza az 51-es és 63-as állapotú IDocokat, és ütemezhető, hogy összegyűjtse a zárolás miatt elbukottakat (",{"tag":178,"href":38,"children":183},[184],"SAP Library",").",[187,190,191,195,196,198,199,202,203,206,207,210,211,214],{"tag":142,"children":188},[189],"OData-hibaobjektumok."," Egy OData V4 hibaválasz egy JSON ",{"tag":192,"children":193},"code",[194],"error"," objektum nyelvfüggetlen ",{"tag":192,"children":197},[192]," mezővel, üzenettel, a hibás tulajdonságra mutató opcionális ",{"tag":192,"children":200},[201],"target"," mezővel és egy ",{"tag":192,"children":204},[205],"details"," tömbbel. Az SAP CAP numerikus súlyosságot ad hozzá, és világos határt húz: egy ",{"tag":192,"children":208},[209],"ServiceException"," megszakít és visszagörget, a Messages API-val hozzáadott üzenetek viszont nem állítják meg a feldolgozást (",{"tag":178,"href":44,"children":212},[213],"SAP CAP","). Egy targettel ellátott figyelmeztetés jelentés, nem újrapróbálási jelölt.",{"type":216,"head":217,"rows":228},"table",[218,220,222,224,226],[219],"Hibaosztály",[221],"Észlelési jel",[223],"Újrapróbálható?",[225],"Biztonságos első lépés",[227],"Javítás gazdája",[229,240,250,260,271],[230,232,234,236,238],[231],"Leképezés, validáció",[233],"IDoc 51 mezőüzenettel; OData-hiba targettel",[235],"nem",[237],"karantén, jegy a mezővel",[239],"integrációs csapat",[241,243,245,246,248],[242],"Hiányzó törzsadat",[244],"IDoc 51, „anyag nem található”",[235],[247],"karantén, jegy",[249],"törzsadat-csapat",[251,253,255,256,258],[252],"Ügyfél- vagy ártiltás",[254],"alkalmazásüzenet könyveléskor",[235],[257],"belső értékesítés értesítése",[259],"értékesítés, pénzügy",[261,263,265,267,269],[262],"Elérhetőség, allokáció",[264],"ATP- vagy allokációs üzenet",[266],"néha",[268],"értesítés, utánpótlás után újra",[270],"ellátási lánc",[272,274,276,278,280],[273],"Zárolás, időtúllépés, 5xx",[275],"IDoc 51 zároláskor; HTTP 5xx; sor-újrapróbálás",[277],"igen, ha idempotens",[279],"korlátozott újrapróbálás",[281],"platformcsapat",{"type":156,"level":157,"id":113,"text":114},{"type":138,"content":284},[285],"Minden jelet egy rekordra normalizáljon, előbb szabályokkal osztályozzon, a taxonómia alapján döntsön, egy engedélyezett listán belül cselekedjen, rögzítse, mi történt, és ujjlenyomat alapján deduplikáljon. Az LLM az osztályozó egyik eleme, csak olyan strukturálatlan futásidejű szövegre, amelyre egyetlen szabály sem illik.",{"type":287,"src":288,"alt":289,"wide":290,"caption":291},"image","\u002Fimages\u002Fblog\u002Ferp-integration-error-agent\u002Fdiagram-11.webp","Integrációs hibaosztályozó kör Hat szakasz balról jobbra: jelek az IDoc-állapotrekordokból, a Cloud Integration naplóiból, a sorokból és dead letter sorokból, az OData-hibaválaszokból és a webshop szinkronsorából; egy normalizáló, amely egységes rekordformára hozza őket; egy osztályozó, amely előbb szabályokat alkalmaz, és LLM-et csak a strukturálatlan futásidejű szövegre használ; döntés a taxonómia alapján; engedélyezett művelet, például újrapróbálás, karantén, értesítés vagy jegy; végül deduplikációs tár, amely számolja az ujjlenyomatokat, összeköti az ismert incidenseket, és visszacsatolja a runbook- és leképezési javításokat.",true,"A hibaosztályozó kör: minden jel egységes rekordformát kap, előbb a szabályok döntenek, és az ágens csak egy rövid engedélyezett listából választhat műveletet.",{"type":192,"code":293},"\u002F\u002F One record shape for every signal (sketch)\ntype IntegrationError = {\n  source: 'idoc' | 'cpi' | 'odata' | 'queue' | 'shop'\n  interface: string      \u002F\u002F e.g. \"ORDERS inbound\", \"stock sync\"\n  entityKey: string      \u002F\u002F order number, material, customer\n  code: string           \u002F\u002F IDoc status + message class\u002Fnumber, OData error code, DLQ reason\n  target?: string        \u002F\u002F OData target path or IDoc segment\u002Ffield\n  text: string           \u002F\u002F runtime message text: untrusted input for any LLM step\n  retryCount: number\n}\n\n\u002F\u002F Same class, same runbook: fingerprint without volatile values\nconst fingerprint = (e: IntegrationError) =>\n  sha256([e.source, e.interface, e.code, e.target ?? '', stripVolatile(e.text)].join('|'))\n\u002F\u002F stripVolatile removes ids, numbers and timestamps, so\n\u002F\u002F \"material 4711 not found\" and \"material 4712 not found\" share one fingerprint",{"type":138,"content":295},[296,297,300],"Az ujjlenyomat teszi az áradatból listát. Kétszáz hibás rendelési IDoc ugyanazzal a hiányzó anyaggal egyetlen incidens lesz számlálóval és az érintett rendelések listájával, egyetlen jegyhez kötve. A futásidejű szöveget kezelje megbízhatatlan bemenetként: ügyfél által megadott szöveget is tartalmazhat, ezért az LLM-lépés csak osztályoz és összefoglal, és soha nem dönt a taxonómián kívüli műveletről. A saját ",{"tag":192,"children":298},[299],"jev-decide"," skillem ugyanilyen formájú, típusos döntés bizalmi szinttel, ahol az alacsony bizalom emberhez kerül, és az osztályozónak pontosan ezt kell visszaadnia: hibaosztály, újrapróbálható-e, gazda, bizalom.",{"type":156,"level":157,"id":116,"text":117},{"type":138,"content":303},[304],"Az újrapróbálás akkor biztonságos, ha a hiba átmeneti és a művelet idempotens, és csak akkor marad biztonságos, ha a próbálkozások száma korlátozott és időben elosztott. Minden más karantén plusz jegy. A runbook hibaosztályonként megnevezett műveletek rövid listája: automatikus újrapróbálás, karantén felelőssel, értesítés, jegy kontextussal, vagy leképezési változtatás javaslata.",{"type":287,"src":306,"alt":307,"wide":290,"caption":308},"\u002Fimages\u002Fblog\u002Ferp-integration-error-agent\u002Fdiagram-16.webp","Újrapróbálási döntési fa integrációs hibákhoz Egy hibás üzenet négy osztályra ágazik. Az átmeneti hibák, például időtúllépés, 5xx válasz és zárolás, korlátozott újrapróbálást kapnak visszalépéssel és jitterrel, csak idempotens műveleteknél. Az adat- és validációs hibák, például hiányzó anyag, karanténba kerülnek jeggyel a felelős csapatnak. Az üzleti szabályból eredő hibák, például hitelzár, kontextussal értesítik a belső értékesítést. A szabad szöveges üzenetekből származó ismeretlen hibákat LLM sorolja be, és az alacsony bizalmú eredmények emberhez kerülnek.","Az újrapróbálási döntési fa: csak az idempotens műveletek átmeneti hibáit próbáljuk újra; az adat- és üzleti hibák azokhoz kerülnek, akiké a javítás, az ismeretlen hibákat pedig bizalmi küszöbbel soroljuk be.",{"type":138,"content":310},[311,312,315,316,320,321,185],"Az idempotencia a fogadó oldal szerződése. A Stripe API a tiszta referencia: egy idempotenciakulccsal a hívó megismételheti a kérést anélkül, hogy a művelet kétszer lefutna, és ha a kulcsot más paraméterekkel használja újra, hibát kap (",{"tag":178,"href":62,"children":313},[314],"Stripe","). Minden hívásnak, amely vevői rendelést, szállítást vagy számlát hoz létre, ugyanilyen szerződés kell, mielőtt egy ágens újrapróbálhatná; a duplikált vevői rendelés az a hiba, amely valódi pénzbe kerül, ezért teszi az ",{"tag":150,"to":317,"children":318},"\u002Fblog\u002Fb2b-email-order-entry-llm",[319],"e-mailes rendelésrögzítés automatizálása"," a kulcsot a létrehozó hívásra. A visszalépés önmagában sem elég: az AWS 100 versengő klienssel végzett szimulációjában a korlátozott exponenciális visszalépéshez adott teljes jitter több mint felére csökkentette a hívások számát (",{"tag":178,"href":65,"children":322},[323],"AWS",{"type":192,"code":325},"\u002F\u002F Capped exponential backoff with full jitter, for idempotent operations only\nfunction retryDelayMs(attempt: number, baseMs = 1_000, capMs = 60_000): number {\n  const ceiling = Math.min(capMs, baseMs * 2 ** attempt)\n  return Math.random() * ceiling\n}\n\nconst MAX_ATTEMPTS = 5   \u002F\u002F bounded: after that, quarantine and open a ticket",{"type":138,"content":327},[328,329,333],"A runbook-könyvtár egyben a visszacsatolási kör is. Ha ugyanaz az ujjlenyomat újra és újra karanténba kerül, az ágens jegyben leképezési javítást javasol az adatgazdának, a számlálóval, az érintett rendelésekkel és egy minta-payloaddal. Így tűnnek el a visszatérő osztályok, ahelyett hogy örökké kezelni kellene őket. Az LLM API-hívások újrapróbálása hasonló szabályokat követ, de más hibamóddal, ezt az ",{"tag":150,"to":330,"children":331},"\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback",[332],"LLM rate limitek, újrapróbálás és szolgáltatói tartalék"," című cikk tárgyalja.",{"type":156,"level":157,"id":119,"text":120},{"type":138,"content":336},[337],"Tudja pontosan, mi kerül az egyes dead letter sorokba, mert a szabályok platformonként eltérnek, és egy ágens, amely rosszat feltételez, hibákat hagy figyelmen kívül. Három példa lefedi a legtöbb rendszert.",{"type":169,"ordered":170,"items":339},[340,352,363],[341,344,345,348,349,351],{"tag":142,"children":342},[343],"SAP Cloud Integration JMS-sorok:"," a nem kizárólagos JMS-soroknál, ahogy az SAP 2017-ben dokumentálta, az újrapróbálási időköz alapértéke egy perc, az exponenciális visszalépés minden hiba után megduplázza, és legalább 60 perces maximális időköz ajánlott (",{"tag":178,"href":47,"children":346},[347],"SAP Community","). Az ottani dead letter sor szűk: azokat az üzeneteket tartja, amelyek egy csomópont összeomlása miatt nem dolgozhatók fel, kétszer újrapróbálva, majd kézi beavatkozásra félretéve; a feldolgozási hiba miatt elbukó üzenetek nem kerülnek oda (",{"tag":178,"href":50,"children":350},[347],"). Az újabb kizárólagos sorok másként viselkednek, ezért ellenőrizze, melyik típust használja egy interfész.",[353,356,357,360,361,185],{"tag":142,"children":354},[355],"Amazon SQS:"," a ",{"tag":192,"children":358},[359],"maxReceiveCount"," értékkel beállított redrive szabály dead letter sorba helyezi az üzeneteket, amelyek lejárata az eredeti sorba állítás idejéhez igazodik, ezért a megőrzési idejének hosszabbnak kell lennie a forrássorénál (",{"tag":178,"href":56,"children":362},[323],[364,367,368,371,372,375,376,379,380,383],{"tag":142,"children":365},[366],"Azure Service Bus:"," a dead letter üzenetek ",{"tag":192,"children":369},[370],"DeadLetterReason"," és ",{"tag":192,"children":373},[374],"DeadLetterDescription"," mezőt hordoznak, például ",{"tag":192,"children":377},[378],"MaxDeliveryCountExceeded"," értéket az alapértelmezett 10 kézbesítés után, és a Microsoft azt javasolja, hogy a kivétel típusa és a veremkivonat ezekbe a mezőkbe kerüljön (",{"tag":178,"href":59,"children":381},[382],"Microsoft Learn","). Ez ingyenes bemenet az osztályozónak.",{"type":138,"content":385},[386,387,390,391,394],"A tartós végrehajtást biztosító motorok alapértelmezésként ugyanezeket a szabályokat kódolják. A Temporal exponenciális visszalépéssel próbálja újra a tevékenységeket, 2,0-s szorzóval az egymásodperces kezdőidőköztől 100 másodpercig, a nulla maximális próbálkozást korlátlannak tekinti, és dokumentációja a hibás bemeneti adatot nevezi meg a nem újrapróbálható hiba észszerű esetének (",{"tag":178,"href":53,"children":388},[389],"Temporal","). Ha a rendelési folyamatai ezen futnak, az ágens a hibáikat bármely más jelhez hasonlóan olvassa; magát a platformot a ",{"tag":150,"to":392,"children":393},"\u002Fblog\u002Ftemporal",[389]," című cikk értékeli.",{"type":156,"level":157,"id":122,"text":123},{"type":138,"content":397},[398,399,185],"Alapértelmezésben csak olvasás, műveletek csak engedélyezett listáról, próbafuttatási mód, műveletosztályonkénti jóváhagyási kapuk és teljes audit nyomvonal. Az OWASP LLM-alkalmazásokra vonatkozó Top 10 listája 2025-ös kiadásában LLM06 néven tartja nyilván a túlzott cselekvési jogkört, vagyis azt, ha egy LLM-vezérelt rendszer több funkciót, jogosultságot vagy önállóságot kap, mint amire a feladatához szüksége van (",{"tag":178,"href":71,"children":400},[401],"OWASP GenAI",{"type":403,"variant":404,"title":405,"body":406},"callout","warn","Az „ügyfélrekord javítása” soha nem ágensművelet",[407],[408,409,413],"Az ágens újrapróbálhat egy idempotens hívást, karanténba tehet egy üzenetet, értesíthet valakit vagy kontextussal ellátott jegyet nyithat. Törzsadatot, leképezést vagy rendelési tartalmat viszont nem módosíthat, még akkor sem, ha biztos a javításban. Ezek a változtatások javaslatként kerülnek a felelős csapathoz. Az átadás mintáit az ",{"tag":150,"to":410,"children":411},"\u002Fblog\u002Fhuman-in-the-loop-ai-agents",[412],"emberi jóváhagyással dolgozó AI ágensekről"," szóló cikk tárgyalja.",{"type":138,"content":415},[416],"Egy jó jegy a haszon fele. Tartalmazza az interfészt, az IDoc-számot vagy üzenetazonosítót, az üzenetosztályt és -számot, az entitáskulcsot, az ujjlenyomat számlálóját, az érintett rendeléseket és a runbook linkjét. Ilyen jegyeket naponta nyitok egy 20 eszközös Jira MCP szerveren keresztül, és a kontextussal ellátott és a kontextus nélküli jegy közötti különbség elemzői percekben mérhető.",{"type":156,"level":157,"id":125,"text":126},{"type":138,"content":419},[420],"Annyit ér, amennyi integrációs időt felszabadít, és amennyi hibás rendelést láthatóvá tesz, mielőtt az ügyfelek észrevennék. Az osztályozás automatizálásával megtakarított elemzői órákra vagy egy hibás B2B rendelés költségére nincs publikált szám, ezért az indoklás kontextusszámokra és a saját alapértékére épül.",{"type":169,"ordered":170,"items":422},[423,431],[424,427,428,185],{"tag":142,"children":425},[426],"Integrációs terhelés:"," a MuleSoft 2026-os Connectivity Benchmarkja, amely 1050 IT-vezetőt kérdezett meg 2025 októbere és novembere között, szerint az IT-csapatok idejük 36%-át egyedi integrációk tervezésével, építésével és tesztelésével töltik, egy átlagos szervezet 957 alkalmazást futtat, ebből 27% összekötött, és az IT-projektek 26%-a lekéste a határidőt (",{"tag":178,"href":68,"children":429},[430],"MuleSoft",[432,435,436,440],{"tag":142,"children":433},[434],"A rendelési hibák elvándorlást okoznak:"," a Sana Commerce 2024 szeptemberi, 750 B2B vásárlót megkérdező tanulmányában 33% számolt be a webshop pontatlan adatai miatti rendelési hibákról, és 75% fontolóra venné a beszállítóváltást egy jobb élményért (",{"tag":178,"href":437,"children":438},"https:\u002F\u002Fprocurementmag.com\u002Fprocurement-strategy\u002Fsana-real-time-data-key-to-persuading-b2b-buyers",[439],"Procurement Magazine","; szállítói felmérés).",{"type":138,"content":442},[443],"Egy e-kereskedelmi üzemeltetési vagy ERP-integrációs vezető a pilot előtt négy alapértéket rögzítsen: interfészenkénti heti hibás üzenetek, hibaosztályonkénti megoldási idő, az ember nélkül megoldott esetek aránya, és hibás rendelésenkénti kézi beavatkozások. Utána számolja meg a leképezési javításokkal megszűnő visszatérő osztályokat; ezt a számot egy operatív igazgató is érti.",{"type":156,"level":157,"id":128,"text":129},{"type":138,"content":446},[447],"Ne építsen ilyet, ha kevés az üzenet, ha minden jel már strukturált, ha nincs olvasható megfigyelhetőség, vagy ha a valódi probléma egy megoldatlan tervezési hiba korábbi ponton. Ilyenkor egy szabálymotor riasztással nyer, az LLM pedig költséget és új hibamódot hoz, többletjelet nem.",{"type":156,"level":157,"id":131,"text":132},{"type":169,"ordered":290,"items":450},[451,453,455,457,459,461,463,465],[452],"Válasszon a pilothoz egy interfészt és egy hibaosztályt, például a bejövő rendelési IDocokat.",[454],"A taxonómiát valódi állapotkódokból és hibaobjektumokból írja meg, osztályonként felelőssel.",[456],"Minden jelet egy rekordformára normalizáljon, és változó értékek nélkül képezzen ujjlenyomatot.",[458],"Előbb szabályokkal osztályozzon; csak az illeszkedés nélküli szabad szöveget küldje az LLM-nek, bizalmi küszöbbel.",[460],"Engedélyezett listán rögzítse a műveleteket, próbafuttatással induljon, és műveletosztályonként kérjen jóváhagyást.",[462],"Csak idempotens hívásokat próbáljon újra, korlátozottan, visszalépéssel és jitterrel.",[464],"Naplózzon minden döntést és műveletet az ujjlenyomattal, a szabály- vagy modellverzióval és az eredménnyel.",[466],"Rögzítse a négy mérőszám alapértékét, és havonta tekintse át a visszatérő osztályokat az adatgazdákkal.",{"type":138,"content":468},[469,470,474],"Egy interfészre szűkített, rögzített hatókörű osztályozó pilot írott taxonómiával, runbook-könyvtárral, deduplikációs riportokkal és a saját naplóiból készült előtte-utána összevetéssel jól körülhatárolt projekt. Ha segítség kell a tervezéshez, nézze meg a ",{"tag":150,"to":471,"children":472},"\u002Fexpertise\u002Fb2b-ecommerce-developer",[473],"B2B e-kereskedelmi munkámat",".",{"type":156,"level":157,"id":134,"text":135},{"type":169,"ordered":290,"items":477},[478,481,484,487,490,493,496,499,502,505,508,511],[479],{"tag":178,"href":38,"children":480},[37],[482],{"tag":178,"href":41,"children":483},[40],[485],{"tag":178,"href":44,"children":486},[43],[488],{"tag":178,"href":47,"children":489},[46],[491],{"tag":178,"href":50,"children":492},[49],[494],{"tag":178,"href":53,"children":495},[52],[497],{"tag":178,"href":56,"children":498},[55],[500],{"tag":178,"href":59,"children":501},[58],[503],{"tag":178,"href":62,"children":504},[61],[506],{"tag":178,"href":65,"children":507},[64],[509],{"tag":178,"href":68,"children":510},[67],[512],{"tag":178,"href":71,"children":513},[70],[515,574,647,717],{"slug":516,"published":517,"minutes":518,"category":7,"tags":519,"keywords":524,"about":535,"sources":545,"cover":567,"og":568,"expertise":569,"locales":570,"lang":78,"title":571,"description":572,"coverAlt":573},"agent-tool-design-descriptions-errors","2026-10-17",11,[13,520,521,522,523],"Tool use","Function calling","MCP","Agent design",[525,526,527,528,529,530,531,532,533,534],"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",[536,539,542],{"name":537,"url":538},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":540,"url":541},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":543,"url":544},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[546,549,552,555,558,561,564],{"title":547,"url":548},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":550,"url":551},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":553,"url":554},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":556,"url":557},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":559,"url":560},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":562,"url":563},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":565,"url":566},"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","ai-engineer",[76,77,78],"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":575,"published":517,"minutes":518,"category":7,"tags":576,"keywords":582,"about":595,"sources":605,"cover":641,"og":642,"expertise":569,"locales":643,"lang":78,"title":644,"description":645,"coverAlt":646},"coding-agents-legacy-codebase-migration",[577,578,579,580,581],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[583,584,585,586,587,588,589,590,591,592,593,594],"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",[596,599,602],{"name":597,"url":598},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":600,"url":601},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":603,"url":604},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[606,609,611,614,617,620,623,626,629,632,635,638],{"title":607,"url":608},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":610,"url":601},"Wikipedia: Characterization test",{"title":612,"url":613},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":615,"url":616},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":618,"url":619},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":621,"url":622},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":624,"url":625},"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":627,"url":628},"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":630,"url":631},"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":633,"url":634},"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":636,"url":637},"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":639,"url":640},"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",[76,77,78],"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":648,"published":517,"minutes":649,"category":7,"tags":650,"keywords":654,"about":666,"sources":676,"cover":711,"og":712,"expertise":569,"locales":713,"lang":78,"title":714,"description":715,"coverAlt":716},"background-agents-async-pr-workflow",12,[578,651,652,581,653],"Pull requests","CI","Automation",[655,656,657,658,659,660,661,662,663,664,665],"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",[667,670,673],{"name":668,"url":669},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":671,"url":672},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":674,"url":675},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[677,678,681,684,687,690,693,696,699,702,705,708],{"title":639,"url":640},{"title":679,"url":680},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":682,"url":683},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":685,"url":686},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":688,"url":689},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":691,"url":692},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":694,"url":695},"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":697,"url":698},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":700,"url":701},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":703,"url":704},"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":706,"url":707},"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":709,"url":710},"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",[76,77,78],"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":718,"published":719,"minutes":720,"category":7,"tags":721,"keywords":727,"about":739,"sources":747,"cover":780,"og":781,"expertise":569,"locales":782,"lang":78,"title":783,"description":784,"coverAlt":785},"context-rot-compaction-long-running-agents","2026-10-16",10,[722,723,724,725,726],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[728,729,730,731,732,733,734,735,736,737,738],"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",[740,743,746],{"name":741,"url":742},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":744,"url":745},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":537,"url":538},[748,751,754,757,760,762,765,768,771,774,777],{"title":749,"url":750},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":752,"url":753},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":755,"url":756},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":758,"url":759},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":761,"url":619},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":763,"url":764},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":766,"url":767},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":769,"url":770},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":772,"url":773},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":775,"url":776},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":778,"url":779},"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",[76,77,78],"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.",1792337025433]