[{"data":1,"prerenderedAt":925},["ShallowReactive",2],{"blog-temporal-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":23,"sources":36,"cover":112,"og":113,"expertise":114,"locales":115,"lang":118,"title":119,"description":120,"coverAlt":121,"metaTitle":122,"takeaways":123,"faq":129,"toc":142,"blocks":170,"others":654},"temporal","2026-10-07",8,"agents",[9,10,11,12,13],"Durable execution","Workflow orchestration","Human in the loop","AI agents","Self-hosting",[15,16,17,18,19,20,21,22],"temporal workflow","temporal ai agents","durable execution for ai agents","temporal vs langgraph","temporal cloud pricing","temporal openai agents sdk","self-hosted temporal","temporal determinism rules",[24,27,30,33],{"name":25,"url":26},"Temporal","https:\u002F\u002Ftemporal.io",{"name":28,"url":29},"Workflow engine","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWorkflow_engine",{"name":31,"url":32},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":34,"url":35},"Human-in-the-loop","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHuman-in-the-loop",[37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109],{"title":38,"url":39},"Temporal Cloud pricing","https:\u002F\u002Ftemporal.io\u002Fpricing",{"title":41,"url":42},"Temporal Cloud pricing documentation","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fpricing",{"title":44,"url":45},"OpenAI Agents SDK integration for Python","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fintegrations\u002Fopenai-agents",{"title":47,"url":48},"Workflow definition and determinism","https:\u002F\u002Fdocs.temporal.io\u002Fworkflow-definition",{"title":50,"url":51},"Retry policies","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fretry-policies",{"title":53,"url":54},"Activity timeouts","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fdetecting-activity-failures",{"title":56,"url":57},"Cloud actions reference","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Factions",{"title":59,"url":60},"Event history limits","https:\u002F\u002Fdocs.temporal.io\u002Fworkflow-execution\u002Fevent",{"title":62,"url":63},"Message passing in Python: signals, queries and updates","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fmessage-passing",{"title":65,"url":66},"Human-in-the-loop AI agent sample","https:\u002F\u002Fdocs.temporal.io\u002Fai\u002Fcookbook\u002Fhuman-in-the-loop-python",{"title":68,"url":69},"Cloud security model","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fsecurity",{"title":71,"url":72},"Cloud service regions","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fregions",{"title":74,"url":75},"Data processing agreement","https:\u002F\u002Ftemporal.io\u002Fdpa",{"title":77,"url":78},"Self-hosted deployment guide","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fdeployment",{"title":80,"url":81},"Self-hosted production checklist","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fproduction-checklist",{"title":83,"url":84},"Self-hosted visibility stores","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fvisibility",{"title":86,"url":87},"Temporal Server architecture","https:\u002F\u002Fdocs.temporal.io\u002Ftemporal-service\u002Ftemporal-server",{"title":89,"url":90},"Temporal server LICENSE file","https:\u002F\u002Fgithub.com\u002Ftemporalio\u002Ftemporal\u002Fblob\u002Fmain\u002FLICENSE",{"title":92,"url":93},"Temporal integrations index","https:\u002F\u002Fdocs.temporal.io\u002Fintegrations",{"title":95,"url":96},"LangGraph integration with Temporal","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fintegrations\u002Flanggraph",{"title":98,"url":99},"LangGraph persistence","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fpersistence",{"title":101,"url":102},"LangGraph interrupts","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Finterrupts",{"title":104,"url":105},"Self-hosted guide and development server","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide",{"title":107,"url":108},"Python SDK reference: workflow.wait_condition","https:\u002F\u002Fpython.temporal.io\u002Ftemporalio.workflow._context.html",{"title":110,"url":111},"Python SDK reference: ApplicationError","https:\u002F\u002Fpython.temporal.io\u002Ftemporalio.exceptions.ApplicationError.html","\u002Fimages\u002Fblog\u002Ftemporal\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftemporal\u002Fog.jpg","ai-engineer",[116,117,118],"en","de","hu","Temporal teszt: ügynökök, amelyek túlélik az összeomlást és emberekre várnak","A Temporal tartós workflow-kként futtat ügynökfutásokat: az újrapróbálások, jóváhagyások és időzítők túlélik az összeomlást. Költség, adatvédelem, mikor ne használd.","Négy egymásra rakott lap oszlopban keskeny pilléren, kapu körrel és egy figura.","Temporal teszt: ügynökök, amelyek várnak · Balázs Csorba",[124,125,126,127,128],"A Temporal olyan ügynökfutásokhoz illik, amelyek percektől napokig tartanak, több rendszert érintenek és emberekre várnak. Egy néhány másodperc alatt kész chat-válaszhoz túlzás.","A szerver MIT-licencű. A Temporal Cloud fizetés szerint működik, havi $0-tól, az Actions pedig milliónként $50, az első 5 millióig. A Business csomag havi $500-tól indul.","A workflow-kódnak determinisztikusnak kell lennie. A modellhívások és az eszközök activity-be tartoznak, a futó workflow-k kódjának módosításához pedig verziókezelés kell.","Az activity-k alapértelmezés szerint korlátlanul próbálkoznak újra, ezért minden modell-activity-hez kell retry policy és azoknak a hibatípusoknak a listája, amelyeket soha nem szabad újrapróbálni.","A Cloud namespace-ek futhatnak olyan EU-s régiókban, mint Frankfurt és Írország, adatfeldolgozási szerződés és szabványos szerződési záradékok mellett. Önhosztolásnál ez a kérdés a saját tárhelyszolgáltatódhoz kerül.",[130,133,136,139],{"q":131,"a":132},"Ingyenesen önhosztolható a Temporal?","A szerver MIT-licencű, és az árlap szerint a platform a saját infrastruktúrádon futhat, a Temporaltól származó díj nélkül. Az adatbázis, a keresőtár, a gépek és a működtetésükhöz szükséges emberek költsége továbbra is a tiéd.",{"q":134,"a":135},"Mibe kerül egy ügynökfutás a Temporal Cloudon?","Egy futás, amelyben van egy indítás, tizenkét activity-indítás, két újrapróbálás, egy update, egy signal és egy időzítő, körülbelül 18 Actions. Milliónként $50 mellett ez egy tized centnél kevesebb az Actionsben, a tárhely és a 10 százalékos supportdíj előtt.",{"q":137,"a":138},"Megismétli egy összeomlás a modellhívásaimat?","A befejezetteket nem. A Temporal a workflow-t a rögzített előzményeiből játssza újra, és kihagyja a már befejezett activity-ket. Az az activity, amely futott, amikor a worker leállt, a start-to-close timeout lejártával próbálkozik újra, ezért az activity-kódnak idempotensnek kell lennie.",{"q":140,"a":141},"Temporal vagy LangGraph?","A LangGraph kevesebb üzemeltetést igényel, ha az ügynök egyetlen gráf egyetlen Python-folyamatban, és egy PostgreSQL checkpointer elég. A Temporal olyan futásokhoz illik, amelyek napokig tartanak, több szolgáltatást fognak át, vagy amelyeknél a platform rögzíti az újrapróbálásokat és az időzítőket. A kettő össze is kombinálható, mert a LangGraph futhat Temporal-workflow-n belül, ami public preview állapotban van.",[143,146,149,152,155,158,161,164,167],{"id":144,"title":145},"what-it-is","Mi ez",{"id":147,"title":148},"how-it-works","Hogyan működik",{"id":150,"title":151},"getting-started","Első lépések",{"id":153,"title":154},"retries-and-timeouts","Újrapróbálkozások és időkorlátok",{"id":156,"title":157},"human-approval","Emberi jóváhagyás signalokkal",{"id":159,"title":160},"cost-and-deployment","Költség és üzemeltetés",{"id":162,"title":163},"where-it-falls-short","Hol gyengébb",{"id":165,"title":166},"verdict","Ítélet",{"id":168,"title":169},"sources","Források",[171,175,178,181,205,206,217,223,234,235,246,248,266,267,270,287,289,308,311,312,323,325,345,346,349,404,407,410,437,443,449,450,488,489,492,513,516,541,550,551],{"type":172,"content":173},"paragraph",[174],"A Temporal nyílt forráskódú, tartós végrehajtási platform. Az ügynököt hagyományos kódként írod meg, a platform pedig minden lépést rögzít, így egy futás túléli az összeomlásokat, a deployokat és a napokig tartó várakozást. Az ítéletem előre: olyan ügynökfutásokhoz való, amelyek percektől napokig tartanak, több rendszert érintenek, és egy lépést ember hagy jóvá. Egy néhány másodperc alatt kész chat-válaszhoz túlzás.",{"type":172,"content":176},[177],"Két egyszerűbb dologgal versenyez, amelyeket a legtöbb csapat már üzemeltet: a LangGraph-hoz hasonló gráf-checkpointerrel és egy állapottáblás job queue-val. Ezek a helyes választ jelentik addig, amíg egy folyamat egy tizenkét lépéses futás közepén el nem hal, és a futásnak onnan kell folytatódnia, ahol abbahagyta. Ha senki nem vállalja a workflow-kódot, önhosztolásnál pedig a klasztert, hagyd ki a Temporalt.",{"type":179,"level":180,"id":144,"text":145},"heading",2,{"type":182,"ordered":183,"items":184},"list",false,[185,195,200],[186,190,194],{"tag":187,"children":188},"strong",[189],"Egy parancs a kipróbáláshoz. ",{"tag":191,"children":192},"code",[193],"temporal server start-dev"," laptopon futtatja a szolgáltatást és a webes felületet, külső függőség nélkül.",[196,199],{"tag":187,"children":197},[198],"Kétféleképpen futtatható. ","Saját szerveren önhosztolhatod, vagy használhatod a Temporal Cloudot, amelynek régiói között van AWS Frankfurt és Írország. A szerver MIT-licencű.",[201,204],{"tag":187,"children":202},[203],"Hagyományos kód. ","A workflow-k és az activity-k egyszerű függvények Go, Java, Python, TypeScript, .NET, Ruby vagy PHP nyelven, az SDK-tól függően.",{"type":179,"level":180,"id":147,"text":148},{"type":172,"content":207},[208,209,212,213,216],"A ",{"tag":187,"children":210},[211],"workflow"," dönti el, mi történik ezután. Egy ",{"tag":187,"children":214},[215],"activity"," végzi a munkát: meghív egy modellt, API-t hív, vagy fájlt ír. A Temporal minden döntést és minden activity-eredményt a workflow eseménytörténetében tárol. Összeomlás után egy worker ehhez a történethez játssza vissza a workflow-kódot, kihagyja a befejezett activity-ket, és az első befejezetlen lépésnél folytatja. Az ügynök szépen illeszkedik ehhez a szétválasztáshoz: a ciklus, az eszközválasztás és az átadások a workflow-ban élnek, és minden modell- vagy eszközhívás egy activity.",{"type":218,"src":219,"alt":220,"wide":221,"caption":222},"image","\u002Fimages\u002Fblog\u002Ftemporal\u002Fdiagram-6.webp","Hogyan halad egy tartós ügynökfutás a Temporalon át Egy kliens elindítja a workflow-t, és signalokat és update-eket küld a Temporal Service-nek, amely tárolja az eseménytörténetet és az időzítőket. Egy worker lekérdezi a task queue-t, a szolgáltatástól feladatokat kap, és eredményeket küld vissza. A workerben a workflow-kód determinisztikusan futtatja az ügynökciklust, és minden modell- vagy eszközhívást egy activity-nek ad át. Az activity-k hívják a külső LLM- és eszköz-API-kat, és ezeket a hívásokat nem játsszák vissza.",true,"A workflow dönt, az activity-k végzik a be- és kimenetet, a szolgáltatás pedig megőrzi azt az előzményt, amely miatt az újraindítás ártalmatlan.",{"type":172,"content":224},[225,226,229,230,233],"A visszajátszás a korlát. A workflow-kódnak minden visszajátszáskor ugyanazokat a hívásokat kell ugyanabban a sorrendben megtennie. Ezért ha benne API-t hívsz, órát olvasol vagy véletlen számot húzol, a visszajátszás megtörik. Ezt a munkát activity-kbe tedd, vagy Pythonban használd a ",{"tag":191,"children":227},[228],"workflow.now()"," és a ",{"tag":191,"children":231},[232],"workflow.random()"," függvényeket. A futó végrehajtásokkal rendelkező workflow módosításához verziókezelés kell. Egy activity típusának vagy azonosítójának megváltoztatása nem biztonságos, a bemenetei és időkorlátai viszont módosulhatnak.",{"type":179,"level":180,"id":150,"text":151},{"type":172,"content":236},[237,238,241,242,245],"A legegyszerűbb kezdés az OpenAI Agents SDK integráció, amely a ",{"tag":191,"children":239},[240],"temporalio-openai-agents"," csomagként érhető el. Az ügynököt a szokásos SDK-val írod meg egy workflow-n belül, majd az ",{"tag":191,"children":243},[244],"OpenAIAgentsPlugin","-t a klienshez és a workerhez csatolod. Minden modellhívás activity lesz, így tartósan újrapróbálkozik, és visszajátszáskor nem ismétlődik meg.",{"type":191,"code":247},"from datetime import timedelta\nfrom agents import Agent, Runner\nfrom temporalio import workflow\nfrom temporalio.client import Client\nfrom temporalio.openai_agents import ModelActivityParameters, OpenAIAgentsPlugin\n\n\n@workflow.defn\nclass HelloWorldAgent:\n    @workflow.run\n    async def run(self, prompt: str) -> str:\n        agent = Agent(name='Assistant', instructions='You only respond in haikus.')\n        result = await Runner.run(agent, input=prompt)\n        return result.final_output\n\n\n# worker.py: the plugin sets the timeout for each model activity\nclient = await Client.connect(\n    'localhost:7233',\n    plugins=[\n        OpenAIAgentsPlugin(\n            model_params=ModelActivityParameters(\n                start_to_close_timeout=timedelta(seconds=30)\n            )\n        ),\n    ],\n)\n\n# starter.py: the same plugin, so payloads are converted the same way\nclient = await Client.connect('localhost:7233', plugins=[OpenAIAgentsPlugin()])\nresult = await client.execute_workflow(\n    HelloWorldAgent.run,\n    'Tell me about recursion in programming.',\n    id='my-workflow-id',\n    task_queue='openai-agents-basic-task-queue',\n)",{"type":172,"content":249},[250,253,254,257,258,261,262,265],{"tag":191,"children":251},[252],"ModelActivityParameters"," határozza meg, hogyan ütemeződnek a modell-activity-k. A ",{"tag":191,"children":255},[256],"start_to_close_timeout"," paraméter alapértelmezett értéke 60 másodperc. Eszközöknél a ",{"tag":191,"children":259},[260],"activity_as_tool()"," az I\u002FO-t activity-ként futtatja, a sima ",{"tag":191,"children":263},[264],"@function_tool"," viszont a workflow-n belül fut, és determinisztikusnak kell lennie. Integráció van Google ADK-hoz, Pydantic AI-hoz, Mastra-hoz és a Vercel AI SDK-hoz is. A LangGraph-integráció public preview állapotban van.",{"type":179,"level":180,"id":153,"text":154},{"type":172,"content":268},[269],"Az újrapróbálás az a pont, ahol a tartós végrehajtás megtérül, és ahol az alapértelmezések fájnak. Egy sikertelen activity exponenciális visszatartással próbálkozik újra, az első másodperctől indulva, a próbálkozások között legfeljebb 100 másodpercet várva, a próbálkozások számának korlátja nélkül. Egy fizetés rögzítése pontosan ezt kívánja. Az a kérés, amely soha nem sikerülhet, például egy nem létező megrendelés lekérdezése, ezért egyáltalán nem szabad újrapróbálni. Három beállítás határozza meg a viselkedést:",{"type":182,"ordered":183,"items":271},[272,277,282],[273,276],{"tag":187,"children":274},[275],"Start-to-close ","korlátozza egy próbálkozást. Nincs alapértelmezett értéke, a Temporal pedig erősen javasolja a beállítását.",[278,281],{"tag":187,"children":279},[280],"Schedule-to-close ","az egész activity-t korlátozza az újrapróbálásokkal együtt, így azt szabja meg, mennyi ideig futhat összesen egy modell-lépés.",[283,286],{"tag":187,"children":284},[285],"Retry policy ","a próbálkozások számának korlátját és azokat a hibatípusokat adja meg, amelyeket soha nem szabad újrapróbálni.",{"type":191,"code":288},"import httpx\nfrom datetime import timedelta\nfrom temporalio import activity\nfrom temporalio.common import RetryPolicy\nfrom temporalio.exceptions import ApplicationError\nfrom temporalio.openai_agents import ModelActivityParameters\n\nmodel_params = ModelActivityParameters(\n    start_to_close_timeout=timedelta(seconds=60),\n    schedule_to_close_timeout=timedelta(minutes=5),\n    retry_policy=RetryPolicy(maximum_attempts=5),\n)\n\n\n@activity.defn\nasync def lookup_order(order_id: str) -> dict:\n    async with httpx.AsyncClient() as client:\n        response = await client.get(f'https:\u002F\u002Fshop.example.com\u002Fapi\u002Forders\u002F{order_id}')\n    if response.status_code == 404:\n        # Retrying cannot make a missing order appear.\n        raise ApplicationError('Order not found', type='OrderNotFound', non_retryable=True)\n    response.raise_for_status()\n    return response.json()",{"type":290,"variant":291,"title":292,"body":293},"callout","warn","Minden újrapróbálás egy második modellhívás",[294],[295,296,299,300,303,304,307],"Az újrapróbálás újra elküldi a kérést, és minden kísérlet egy újabb Actiont jelent. Állítsd be a ",{"tag":191,"children":297},[298],"maximum_attempts"," értéket minden modell-activity-n, és azokra a kérésekre, amelyek nem sikerülhetnek, dobj ",{"tag":191,"children":301},[302],"ApplicationError"," hibát ",{"tag":191,"children":305},[306],"non_retryable=True"," beállítással.",{"type":172,"content":309},[310],"Az activity-kódnak emellett idempotensnek kell lennie, mert a Temporal azzal számol, hogy az activity-k hiba után újra lefutnak. Egy e-mailt küldő eszköznek olyan idempotency-kulcs kell, amelyet a fogadó rendszer elfogad.",{"type":179,"level":180,"id":156,"text":157},{"type":172,"content":313},[314,315,318,319,322],"Itt a Temporal már nem csupán egy újrapróbálási könyvtár. A ",{"tag":187,"children":316},[317],"signal"," aszinkron üzenet egy futó workflow-nak. A Temporal human-in-the-loop mintája a döntést egy signal-kezelőben tárolja, és a ",{"tag":191,"children":320},[321],"workflow.wait_condition"," hívással vár rá. Amíg vár, az állapot az eseménytörténetben van, az időzítők pedig túlélik az újraindulásokat. A minta alapértelmezett időkorlátja öt perc, ami egy teszthez jó. Jóváhagyási sorhoz én napokat használnék.",{"type":191,"code":324},"import asyncio\nfrom datetime import timedelta\nfrom typing import Optional\nfrom temporalio import workflow\n\n\n@workflow.defn\nclass ApprovalWorkflow:\n    def __init__(self) -> None:\n        self.decision: Optional[str] = None\n\n    @workflow.signal\n    async def approval_decision(self, decision: str) -> None:\n        self.decision = decision\n\n    @workflow.run\n    async def run(self, request: str) -> str:\n        # propose_action and execute_action are activities defined elsewhere\n        proposal = await workflow.execute_activity(\n            propose_action, request, start_to_close_timeout=timedelta(seconds=60)\n        )\n        try:\n            await workflow.wait_condition(\n                lambda: self.decision is not None,\n                timeout=timedelta(days=3),\n            )\n        except asyncio.TimeoutError:\n            return 'no decision within three days'\n        if self.decision != 'approve':\n            return 'rejected'\n        return await workflow.execute_activity(\n            execute_action, proposal, start_to_close_timeout=timedelta(seconds=60)\n        )",{"type":172,"content":326},[208,327,330,331,334,335,338,339,344],{"tag":187,"children":328},[329],"query"," állapotot olvas anélkül, hogy megváltoztatná. Az ",{"tag":187,"children":332},[333],"update"," olyan kérés, amelyre a hívó vár, a validátor pedig még azelőtt elutasíthatja, hogy bekerülne a történetbe. Az elutasított update is egy Actionnek számít. A hosszú munkamenetek kemény korlátokba ütköznek: a végrehajtás 51 200 esemény, 2000 update vagy 10 000 signal felett leáll. Ezért a chat-szerű workflow-knak Continue-As-New kell. A ",{"tag":191,"children":336},[337],"workflow.info().is_continue_as_new_suggested()"," jelzi, mikor javasolja ezt a szerver. Hogy a jóváhagyási kapuk hová kerüljenek, az tervezési kérdés, amelyet a ",{"tag":340,"to":341,"children":342},"link","\u002Fblog\u002Fhuman-in-the-loop-ai-agents",[343],"Human in the loop AI-ügynököknél"," című cikkemben járok körül.",{"type":179,"level":180,"id":159,"text":160},{"type":172,"content":347},[348],"Önhosztolásnál nincs licencdíj. A Temporal Cloud fizetés szerint működik, minimális költés nélkül, az új fiókok pedig 90 napig $150 kreditet kapnak. A táblázat a listaárakat mutatja, 2026 októberének állapota szerint.",{"type":350,"head":351,"rows":360},"table",[352,354,356,358],[353],"Opció",[355],"Ár",[357],"Benne van",[359],"Mi változik",[361,370,379,388,397],[362,364,366,368],[363],"Önhosztolt",[365],"Ingyenes, MIT",[367],"Semmi a Temporaltól",[369],"Te üzemelteted a szolgáltatásokat, az adatbázist, a keresőtárat és a frissítéseket",[371,373,375,377],[372],"Cloud fizetés szerint",[374],"$0 alapdíj, plusz 10% support a használatra",[376],"Semmi",[378],"Actions milliónként $50, az első 5 millióig havonta",[380,382,384,386],[381],"Cloud Business",[383],"A havi $500 vagy a használat 10%-a, amelyik nagyobb",[385],"2,5 M Actions, 2,5 GB active, 100 GB retained",[387],"SAML benne van, a SCIM havi $500 extra",[389,391,393,395],[390],"Cloud Enterprise",[392],"Éves, kapcsolatfelvétel az értékesítéssel",[394],"10 M Actions, 10 GB active, 400 GB retained",[396],"SCIM benne van, P0 válaszidő 30 percen belül",[398,400,401,402],[399],"Cloud Mission Critical",[392],[394],[403],"Dedikált platform architect, P0 válaszidő 15 percen belül",{"type":172,"content":405},[406],"A használati szabályok többet mozgatnak a számlán, mint a főcím. Az Actions minden activity-indítást és újrapróbálást számolnak, valamint minden signalt, időzítőt, update-et, query-t és workflow-indítást. A példám 18 Actions, így 100 000 ilyen futás körülbelül $90 az Actionsben, a tárhely és a support előtt. Egy GB aktív tárhely egy hónapig tartva körülbelül $31, egy GB retained tárhely körülbelül 78 cent. Ha a Fairness be van kapcsolva, minden óra Actionsei 10 százalékkal nőnek.",{"type":172,"content":408},[409],"A Business inkább a supportért, a SCIM-ért és a kötelezettségvállalási kedvezményekért éri meg, mint az Actionsökért. Az $500-os minimum 2,5 millió Actiont tartalmaz, ami több mint 130 000 ilyen futásra elég, mint a példám.",{"type":172,"content":411},[412,415,416,419,420,423,424,427,428,431,432,436],{"tag":187,"children":413},[414],"Hová mennek az adatok. ","Egy namespace egyetlen régióban jön létre. A régiólistán szerepel az AWS Frankfurt (",{"tag":191,"children":417},[418],"eu-central-1","), Írország (",{"tag":191,"children":421},[422],"eu-west-1",") és London (",{"tag":191,"children":425},[426],"eu-west-2","), valamint a GCP Frankfurt (",{"tag":191,"children":429},[430],"europe-west3","). A payloadokat a workereiden a Data Converterrel titkosíthatod, mielőtt elhagynák a workert. A Codec Server pedig a csapatodnak megengedi a történetek olvasását a webes felületen, kulcsok átadása nélkül. A megőrzött történetek a Cloudban legfeljebb 90 napig maradnak meg, így a hosszabb megőrzés exportot jelent. A tágabb kérdésekhez lásd: ",{"tag":340,"to":433,"children":434},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[435],"GDPR és LLM-adatrezidencia",".",{"type":172,"content":438},[439,442],{"tag":187,"children":440},[441],"Az adatfeldolgozási szerződés. ","A Temporal szerződése, amely 2024. október 10-től hatályos, tartalmazza az EU szabványos szerződési záradékait és egy UK-addendumot. Az alvállalkozói melléklet az AWS-t nevezi meg az infrastruktúrához, a Google Cloudot a GCP-régiókban lévő namespace-ekhez, a Datastaxot, az Auth0-t, az Elasticet és a WorkOS-t pedig bizonyos szolgáltatásokhoz. Új alvállalkozó ellen a közzétételtől számított 15 napon belül tiltakozhatsz. A biztonsági mentéseket 30 napig őrzik, az ügyféladatokat a szerződés megszűnésekor törlik. A Temporal szerint SOC 2 Type 2 tanúsítvánnyal rendelkezik, és megfelel a GDPR-nek és a HIPAA-nak. Ezt tekintsd a felülvizsgálatod kiindulópontjának, nem jogi tanácsnak.",{"type":172,"content":444},[445,448],{"tag":187,"children":446},[447],"Önhosztolás. ","Ez ezeket a kérdéseket a saját tárhelyszolgáltatódra hárítja, az adatbázis, a keresőtár, a mentések és a frissítések pedig nálad maradnak. A szervernek négy szolgáltatása van, amelyek függetlenül skálázhatók: frontend, history, matching és worker. Elasticsearch vagy OpenSearch ajánlott, amint néhány végrehajtásnál többet futtatsz, a Docker Compose minta PostgreSQL-lel és Elasticsearch-csel fut. A Temporal azt javasolja, hogy egyszerre egy kisverziót lépj, a kiadások pedig akár kéthetente megjelenhetnek. A shardok száma build-időben rögzített, RBAC vagy auditnaplózás pedig nincs a dobozból. A gyártó ellenőrzőlistája a személyzetet jelentős költségnek nevezi. A hardvert nem árazom be, mert az a shardok számától és a terheléstől függ.",{"type":179,"level":180,"id":162,"text":163},{"type":182,"ordered":183,"items":451},[452,457,462,467,472],[453,456],{"tag":187,"children":454},[455],"A determinizmus szokás kérdése. ","A futó végrehajtások közben módosított kód megtörheti a visszajátszást, a verziókezelés pedig régi kódutakat hagy karbantartásra.",[458,461],{"tag":187,"children":459},[460],"Kemény előzmény-határok. ","A végrehajtások 51 200 esemény, 2000 update vagy 10 000 signal felett leállnak, ezért a hosszú munkamenetekhez az elejétől Continue-As-New kell.",[463,466],{"tag":187,"children":464},[465],"Az újrapróbálás költségkeret. ","A korlátlan alapértelmezés az infrastruktúrának jó, a modellhívásoknak rosszul illik.",[468,471],{"tag":187,"children":469},[470],"Részben még preview. ","Az OpenTelemetry- és a LangGraph-integráció public preview, a sandbox-támogatás kiadás előtti, a streaming pedig kísérleti.",[473,476,477,480,481,229,484,487],{"tag":187,"children":474},[475],"Nem minden tartós. ","Az MCP-szerverek a workflow-n kívül futnak, és minden MCP-hívás activity-ként fut. ",{"tag":191,"children":478},[479],"LocalShellTool",", a ",{"tag":191,"children":482},[483],"ComputerTool",{"tag":191,"children":485},[486],"SQLiteSession"," nem támogatott.",{"type":179,"level":180,"id":165,"text":166},{"type":172,"content":490},[491],"A Temporal a megfelelő alapértelmezés hosszú életű ügynökökhöz, amelyek több rendszert érintenek és emberekre várnak, feltéve, hogy valaki vállalja a workflow-kódot, önhosztolásnál pedig a klasztert is. Egyetlen modellhívásra egy HTTP-kérés mögött viszont rossz alapértelmezés.",{"type":182,"ordered":221,"items":493},[494,499,503,508],[495,498],{"tag":187,"children":496},[497],"Válaszd, ha ","egy futás órákig vagy napokig tart, és egy újraindulás nem ismételhet meg egy fizetést, e-mailt vagy modellhívást.",[500,502],{"tag":187,"children":501},[497],"egy ember olyan lépéseket hagy jóvá, amelyek napokkal később jönnek, és a várakozásnak túl kell élnie az újraindulásokat.",[504,507],{"tag":187,"children":505},[506],"Hagyd ki, ha ","az ügynök másodpercek alatt válaszol. Egy időkorlát és egy újrapróbálás a modellhívás körül elég.",[509,512],{"tag":187,"children":510},[511],"Csak akkor önhosztolj, ha ","valaki gyakori frissítésekkel viszi a klasztert. Különben a Temporal Cloudot használd.",{"type":172,"content":514},[515],"Három alternatíva lefedi a legtöbb esetet, amikor a Temporal túlzás:",{"type":182,"ordered":183,"items":517},[518,527,532],[519,522,526],{"tag":187,"children":520},[521],"LangGraph-checkpointok ",{"tag":340,"to":523,"children":524},"\u002Fblog\u002Flanggraph",[525],"LangGraph",", ha az ügynök egy Python-gráf, az állapot kicsi, és a PostgreSQL már rendelkezésre áll. Az interruptjai emberi jóváhagyáshoz szüneteltetik a gráfot.",[528,531],{"tag":187,"children":529},[530],"Job queue állapottáblával ","ha a folyamat rögzített sorozata idempotens lépéseknek. Az újrapróbálásokat és az időzítőket magadnak kell megírnod, ez öt lépésnél rendben van, ötvennél fárasztó.",[533,536,540],{"tag":187,"children":534},[535],"Csak az OpenAI Agents SDK ",{"tag":340,"to":537,"children":538},"\u002Fblog\u002Fopenai-agents-sdk",[539],"OpenAI Agents SDK",", ha minden futás rövid, egy folyamatban marad, és soha nem kell túlélnie egy újraindulást.",{"type":290,"variant":542,"title":543,"body":544},"tip","Kezdj kicsiben",[545],[546,547,549],"Kezdd a ",{"tag":191,"children":548},[193]," parancsot, és használd a $150 Cloud-kreditet. Klaszterre csak akkor térj át, ha egy rezidenciaszabály vagy egy mért volumen indokolja.",{"type":179,"level":180,"id":168,"text":169},{"type":182,"ordered":183,"items":552},[553,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,646,650],[554],{"tag":555,"href":39,"children":556},"a",[557],"Temporal Cloud: árak",[559],{"tag":555,"href":42,"children":560},[561],"Temporal Cloud: árdokumentáció",[563],{"tag":555,"href":45,"children":564},[565],"OpenAI Agents SDK integráció Pythonhoz",[567],{"tag":555,"href":48,"children":568},[569],"Workflow-definíció és determinizmus",[571],{"tag":555,"href":51,"children":572},[573],"Újrapróbálási szabályzatok",[575],{"tag":555,"href":54,"children":576},[577],"Activity-időkorlátok",[579],{"tag":555,"href":57,"children":580},[581],"Cloud actions referencia",[583],{"tag":555,"href":60,"children":584},[585],"Eseménytörténet korlátai",[587],{"tag":555,"href":63,"children":588},[589],"Üzenetkezelés Pythonban: signalok, query-k és update-ek",[591],{"tag":555,"href":66,"children":592},[593],"Human-in-the-loop AI-ügynök minta",[595],{"tag":555,"href":69,"children":596},[597],"Cloud biztonsági modell",[599],{"tag":555,"href":72,"children":600},[601],"Cloud szolgáltatási régiók",[603],{"tag":555,"href":75,"children":604},[605],"Adatfeldolgozási szerződés",[607],{"tag":555,"href":78,"children":608},[609],"Önhosztolás telepítési útmutató",[611],{"tag":555,"href":81,"children":612},[613],"Önhosztolt éles üzem ellenőrzőlista",[615],{"tag":555,"href":84,"children":616},[617],"Önhosztolt láthatósági tárolók",[619],{"tag":555,"href":87,"children":620},[621],"A Temporal Server architektúrája",[623],{"tag":555,"href":90,"children":624},[625],"A Temporal szerver LICENSE fájlja",[627],{"tag":555,"href":93,"children":628},[629],"Temporal integrációk áttekintése",[631],{"tag":555,"href":96,"children":632},[633],"LangGraph integráció a Temporallal",[635],{"tag":555,"href":99,"children":636},[637],"LangGraph perzisztencia",[639],{"tag":555,"href":102,"children":640},[641],"LangGraph interruptok",[643],{"tag":555,"href":105,"children":644},[645],"Önhosztolási útmutató és fejlesztői szerver",[647],{"tag":555,"href":108,"children":648},[649],"Python SDK referencia: workflow.wait_condition",[651],{"tag":555,"href":111,"children":652},[653],"Python SDK referencia: ApplicationError",[655,713,786,856],{"slug":656,"published":657,"minutes":658,"category":7,"tags":659,"keywords":664,"about":675,"sources":685,"cover":707,"og":708,"expertise":114,"locales":709,"lang":118,"title":710,"description":711,"coverAlt":712},"agent-tool-design-descriptions-errors","2026-10-17",11,[12,660,661,662,663],"Tool use","Function calling","MCP","Agent design",[665,666,667,668,669,670,671,672,673,674],"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",[676,679,682],{"name":677,"url":678},"Intelligent agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FIntelligent_agent",{"name":680,"url":681},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io\u002F",{"name":683,"url":684},"Poka-yoke","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke",[686,689,692,695,698,701,704],{"title":687,"url":688},"Anthropic Engineering: Writing effective tools for agents, with agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fwriting-tools-for-agents",{"title":690,"url":691},"Anthropic Engineering: Building effective agents (Dec 2024)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"title":693,"url":694},"Claude Platform Docs: Define tools","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fdefine-tools",{"title":696,"url":697},"Claude Platform Docs: Handle tool calls","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fhandle-tool-calls",{"title":699,"url":700},"Claude Platform Docs: Tool search tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Ftool-search-tool",{"title":702,"url":703},"Model Context Protocol specification 2025-11-25: Tools","https:\u002F\u002Fmodelcontextprotocol.io\u002Fspecification\u002F2025-11-25\u002Fserver\u002Ftools",{"title":705,"url":706},"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",[116,117,118],"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":714,"published":657,"minutes":658,"category":7,"tags":715,"keywords":721,"about":734,"sources":744,"cover":780,"og":781,"expertise":114,"locales":782,"lang":118,"title":783,"description":784,"coverAlt":785},"coding-agents-legacy-codebase-migration",[716,717,718,719,720],"Legacy migration","Coding agents","Strangler fig","Testing","Code review",[722,723,724,725,726,727,728,729,730,731,732,733],"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",[735,738,741],{"name":736,"url":737},"Legacy code","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLegacy_code",{"name":739,"url":740},"Characterization test","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCharacterization_test",{"name":742,"url":743},"Strangler fig pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FStrangler_fig_pattern",[745,748,750,753,756,759,762,765,768,771,774,777],{"title":746,"url":747},"Martin Fowler: Strangler Fig (2024)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FStranglerFigApplication.html",{"title":749,"url":740},"Wikipedia: Characterization test",{"title":751,"url":752},"Google Research: Accelerating code migrations with AI (2024)","https:\u002F\u002Fresearch.google\u002Fblog\u002Faccelerating-code-migrations-with-ai\u002F",{"title":754,"url":755},"Ziftci et al.: Migrating Code At Scale With LLMs At Google (arXiv 2504.09691)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.09691",{"title":757,"url":758},"Anthropic: Effective harnesses for long-running agents (2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-harnesses-for-long-running-agents",{"title":760,"url":761},"Anthropic: Redesigning source control at Anthropic (2026)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fredesigning-source-control",{"title":763,"url":764},"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":766,"url":767},"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":769,"url":770},"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":772,"url":773},"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":775,"url":776},"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":778,"url":779},"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",[116,117,118],"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":787,"published":657,"minutes":788,"category":7,"tags":789,"keywords":793,"about":805,"sources":815,"cover":850,"og":851,"expertise":114,"locales":852,"lang":118,"title":853,"description":854,"coverAlt":855},"background-agents-async-pr-workflow",12,[717,790,791,720,792],"Pull requests","CI","Automation",[794,795,796,797,798,799,800,801,802,803,804],"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",[806,809,812],{"name":807,"url":808},"Software agent","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSoftware_agent",{"name":810,"url":811},"Pull request","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDistributed_version_control",{"name":813,"url":814},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[816,817,820,823,826,829,832,835,838,841,844,847],{"title":778,"url":779},{"title":818,"url":819},"GitHub Docs: Risks and mitigations for Copilot cloud agent","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Fconcepts\u002Fagents\u002Fcloud-agent\u002Frisks-and-mitigations",{"title":821,"url":822},"OpenAI Developers: Codex cloud environments","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcloud\u002Fenvironments",{"title":824,"url":825},"Anthropic: Use Claude Code in the cloud","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fclaude-code-on-the-web",{"title":827,"url":828},"Google Jules: Limits and plans","https:\u002F\u002Fjules.google\u002Fdocs\u002Fusage-limits\u002F",{"title":830,"url":831},"Google Jules: Getting started","https:\u002F\u002Fjules.google\u002Fdocs\u002F",{"title":833,"url":834},"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":836,"url":837},"GitHub Docs: Models and pricing for GitHub Copilot","https:\u002F\u002Fdocs.github.com\u002Fen\u002Fcopilot\u002Freference\u002Fcopilot-billing\u002Fmodels-and-pricing",{"title":839,"url":840},"OpenAI Developers: Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":842,"url":843},"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":845,"url":846},"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":848,"url":849},"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",[116,117,118],"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":857,"published":858,"minutes":859,"category":7,"tags":860,"keywords":866,"about":878,"sources":886,"cover":919,"og":920,"expertise":114,"locales":921,"lang":118,"title":922,"description":923,"coverAlt":924},"context-rot-compaction-long-running-agents","2026-10-16",10,[861,862,863,864,865],"Context rot","Compaction","Context engineering","Long-running agents","Agent memory",[867,868,869,870,871,872,873,874,875,876,877],"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",[879,882,885],{"name":880,"url":881},"Context window","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model#Context_window",{"name":883,"url":884},"Attention (machine learning)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAttention_(machine_learning)",{"name":677,"url":678},[887,890,893,896,899,901,904,907,910,913,916],{"title":888,"url":889},"Chroma: Context Rot: How Increasing Input Tokens Impacts LLM Performance (Jul 2025)","https:\u002F\u002Fresearch.trychroma.com\u002Fcontext-rot",{"title":891,"url":892},"Liu et al.: Lost in the Middle: How Language Models Use Long Contexts (2023)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2307.03172",{"title":894,"url":895},"Modarressi et al.: NoLiMa: Long-Context Evaluation Beyond Literal Matching (2025)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.05167",{"title":897,"url":898},"Anthropic: Effective context engineering for AI agents (Sep 2025)","https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Feffective-context-engineering-for-ai-agents",{"title":900,"url":758},"Anthropic: Effective harnesses for long-running agents (Nov 2025)",{"title":902,"url":903},"Claude API docs: Compaction at a token threshold","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-threshold",{"title":905,"url":906},"Claude API docs: Compaction on demand","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcompaction-on-demand",{"title":908,"url":909},"Claude API docs: Context editing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcontext-editing",{"title":911,"url":912},"Claude API docs: Memory tool","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagents-and-tools\u002Ftool-use\u002Fmemory-tool",{"title":914,"url":915},"OpenAI API docs: Compaction","https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Fcompaction",{"title":917,"url":918},"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",[116,117,118],"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.",1792261158881]