spinny:~/writing $ less agentic-infrastructure-stack.md
12Gyakran beszéltünk ügynöki keretekről. LangGraph, CrewAI, AutoGen, különféle SDK-k, ciklus, eszközhívás, memória, tervező, kritikus, felügyelő. Minden hasznos szó, az isten szerelmére. De minél többet nézem a ténylegesen használt ágenseket, annál inkább úgy tűnik számomra, hogy az érdekes rész a keretszint alá került.34A kérdés már nem csak az: melyik könyvtárat használjam egy lépésmodell gondolkodásra?56Az igazi kérdés az: hol él ez az ügynök, amikor már nem demo?78Mert egy komoly ügynök nem olyan függvény, amely modellt hív és szöveget ad vissza. Ez egy kis elosztott rendszer. Be kell olvasnia a környezetet, használnia kell az eszközöket, futtatnia kell a kódot, meg kell érintenie a fájlokat, emlékeznie kell a döntésekre, engedélyt kell kérnie, sikertelennek kell lennie, újra kell indítania, meg kell hagynia a naplókat, nem égetheti el a költségvetést, és nem változhat buldózerré a termelési tárolóban.910A keret a kormánykerék. Az infrastruktúra az út, a fékek, a garázs, a biztosítás és az ember, aki tudja, hol vannak a kulcsok.1112## Mert most sok szó esik róla13142023-ban és 2024-ben a beszélgetés nagyon modellközpontú volt. Melyik LLM? Mennyi kontextus? Mennyibe kerül? Mennyire ért a programozáshoz?15162025-ben és 2026-ban a beszélgetés eltolódott. A modellek elég jók a valódi munkához, de ezért válnak láthatóvá az unalmas részek: futásidő, biztonság, csatlakozók, identitás, megfigyelhetőség, kódvégrehajtás, telepítés, visszaállítás.1718Ez a természetes átmenet a varázslatról a mérnöki pályára.1920Ha egy ügynöknek csak választ kell generálnia, elég egy chat. Amikor meg kell nyitnia egy lekérést, le kell kérdeznie egy adatbázist, fel kell hívnia egy CRM-et, elindítani egy munkát, navigálnia kell egy webhelyen, olvasnia kell a Slacket, le kell fordítania a kódot és frissítenie kell egy dokumentumot, akkor operációs rendszerre van szüksége.2122Nem szó szerinti értelemben. Szervezeti értelemben.2324## Az első darab: egy futási idő, ahol az ügynök kitart2526Egy ügynök gyakran lépésekben dolgozik. Nézze meg az állapotot, válasszon egy műveletet, használjon eszközt, figyelje meg az eredményt, frissítse a tervet, ismételje meg.2728Ha ez a hurok egyetlen HTTP-kérésben él, akkor azonnal problémába ütközik. Egyes műveletek lassúak. Néhányan emberi közreműködésre várnak. Néhányan kudarcot vallanak, és újra meg kell próbálni. Néhányuknak túl kell élniük a telepítést vagy az időtúllépést.2930Itt jönnek képbe a tartós munkafolyamatok, sorok, munkaháttér és állapotgépek. Nem elbűvölőek, de ez jelenti a különbséget egy ügynök között, aki okosnak tűnik a bemutatón, és egy olyan ügynök között, akit otthagyhat a munkahelyén, miközben kávézni megy.3132Számomra az ügynöki futtatókörnyezetnek nagyon konkrét kérdésekre kell válaszolnia:3334- hol menthetem meg az államot egyik és másik lépés között?35- mi történik, ha a folyamat félúton elhal?36- megállhatok és jóváhagyást kérhetek?37- Lejátszhatom egy futást, hogy megértsem, miért döntött így?38- korlátozhatom az időtartamot, a memóriát, az eszközöket és a költségeket?3940A Vercel keményen dolgozik ezen a területen az AI SDK-kkal, funkciókkal, munkafolyamatokkal és eszközökkel a webalkalmazásokon belüli ügynökök építéséhez. De a lényeg nem csak Vercel. A lényeg az, hogy az ügynöknek egy működő otthonra van szüksége, nem egyetlen végpontra.4142## A második darab: homokozó, mert az ügynöknek törés nélkül be kell szennyeződnie4344Amint egy ügynök kódot ír vagy parancsokat hajt végre, szükség van egy homokozóra.4546Szakszónak tűnik, de az ötlet hazai: adj neki egy munkapadot. Fájlokat nyithat meg, függőségeket telepíthet, teszteket futtathat, kísérleteket végezhet, kimenetet generálhat. Ha rosszul csinálja, megfékezte a kárt. Ha működik, népszerűsítse az eredményt.4748Az ügynöki homokozónak rendelkeznie kell néhány tulajdonsággal:4950- izolált fájlrendszer;51- CPU, memória és időkorlátok;52- vezérelt hálózat;53- a titkok csak szükség esetén rögzíthetők;54- teljes naplók;55- Lehetőség műtárgyak exportálására;56- Tiszta visszaállítás a futtatások között, ha szükséges.5758A Vercel Sandbox pontosan ebbe az irányba megy: izolált környezetek kód futtatásához, függőségek telepítéséhez, fájlokkal való munkavégzéshez és melléktermékek előállításához anélkül, hogy mindent a fő alkalmazás futási környezetében futtatnának.5960Ez a dolog fontosabb, mint amilyennek látszik. Sok ügynöki prototípus közvetlenül a modellből ugrik át a valós rendszerbe. A modell hívhat szerszámot. Az eszközök képesek tenni dolgokat. Minden elegánsnak tűnik az első rossz parancsig, az első rossz helyre telepített függőségig, az első tokenig, amely egy naplóba kerül.6162A homokozó a felnőttek mondása: menj előre, de itt.6364## A harmadik darab: MCP és a csatlakozó probléma6566A Model Context Protocol az ökoszisztéma egyik legérdekesebb részévé vált, mert megpróbál szabványosítani valamit, ami egyébként gyorsan kezelhetetlenné válik: azt, hogy egy modell hogyan fedezi fel és használja fel a külső eszközöket.6768Szabvány nélkül minden egyes integráció egy kis sziget. Egy összekötő a GitHubhoz egyféleképpen készült, egy a Slackhez másként, egy a különböző szemantikával rendelkező adatbázisokhoz, egy a böngészőautomatizáláshoz, amely semminek tűnik.6970Az MCP közös nyelvet javasol a kliens és a szerver között: eszközök, erőforrások, promptok, jogosultságok, szállítás, felfedezés. Nem varázsütésre oldja meg a kormányzást és a biztonságot, de nyelvtant ad.7172És a nyelvtan számít. Amikor egy ügynök sok eszközhöz tud csatlakozni, a kérdés nem csak az, hogy „meg tudja csinálni?”. A probléma az, hogy "érti-e, mit tehet, milyen korlátokkal, kinek a nevében és milyen nyomot hagy maga után?".7374Számomra az MCP nem hype, mert "szerszámhívást végez". Ezt már megtettük. Ez felhajtás, mert a súlypontot az egyszeri integrációról az operatív szerszámkatalógusra helyezi át.7576Egy jó ügynöki architektúrában az MCP egyfajta patch panellé válik:7778- GitHub kódhoz és problémákhoz;79- Laza a társalgási kontextushoz;80- Lineáris vagy Jira a tervezett munkához;81- csak olvasható adatbázis az elemzésekhez;82- külső oldalakhoz vezérelt böngésző vagy lehúzó;83- irattárolás;84- elszigetelt végrehajtási környezetek;85- szigorú engedélyekkel kitett belső rendszerek.8687A trükkös rész az, hogy a politikamentes eszközkatalógus csak egy elegánsabb módja a káosz létrehozásának.8889## A negyedik darab: identitás és engedélyek9091Ez az a terület, ahol sok demó hunyja a szemét.9293Az ügynök valaki nevében jár el. Tehát világosnak kell lennie, hogy ki az akció alanya.9495Felhasználói jogosultságokat használ? Egy szolgáltatási számláról? Egy munkaterületről? Van ideiglenes vagy állandó hozzáférése? Mindent el tud olvasni, vagy csak néhány forrást? Tudsz írni? Le tudod mondani? Tud valódi embereknek üzenni?9697Ha nem válaszol jól ezekre a kérdésekre, előbb-utóbb épít egy asszisztenst a házkulcsokkal, és nem emlékszik arra, hogy ki adta neki azokat.9899A hüvelykujjszabály, amit szeretek, a következő: az ügynöknek kevesebbre kell tudnia tenni, mint az ember, nem többet, mint az ember. És amikor valami kockázatosabb dolgot kell tennie, meg kell állnia és kérnie kell.100101Ez azt jelenti, hogy OAuth, jogkivonat hatóköre, titkos kezelés, ellenőrzési napló, eszközházirend, engedélyezési lista, jóváhagyási lépés. Nem túl romantikus cucc. Szükséges cuccok.102103## Az ötödik darab: memória és kontextus, de szemét felhalmozása nélkül104105Az ügynököknek szükségük van a memóriára, de a memória veszélyes, ha padlássá válik.106107Legalább háromféle memória létezik:108109- futási memória: mi történt ebben a végrehajtásban;110- projektmemória: konvenciók, döntések, megszorítások;111- személyes vagy csapat memória: preferenciák, hangnem, rituálék, folyamatok.112113Ha mindent a promptba tesz, az a parancsikon. Addig működik, amíg már nem működik. A hasznos memóriáról gondoskodni kell: indexelve, frissítve, lejárt, ellenőrizve, idézhetővé kell tenni.114115Egy ügynök, aki rosszul emlékszik, rosszabb, mint egy ügynök, aki nem emlékszik. Mert magabiztosan beszél.116117Ezért az infrastruktúrának tartalmaznia kell visszakeresést, utasításfájlokat, tudásbázist, szükség esetén beágyazást, de a tisztítást is. Szükségünk van az emlékezés kultúrájára: mi lép be, ki hagyja jóvá, mikor bomlik, hogyan javítsam ki.118119## A hatodik darab: megfigyelhetőség, eval és újrajátszás120121Ha egy ügynök hibát követ el, a "modellnek hívott" napló nem elegendő.122123Látni akarja az útvonalat. Milyen kontextust kapott? Milyen eszközök álltak rendelkezésre? Melyik eszközt választottad? Milyen érvekkel? Milyen választ kaptál? Mennyibe került? Hol akadt el? Jóváhagyott valamit az ember? A hibamodell, eszköz, prompt, adat vagy engedély hiba?124125Itt az ügynökök inkább elosztott rendszerek, mint chatbotok.126127Olvasható nyomokra van szüksége, nem csak szövegnaplókra. Egy futást újra le kell tudni játszani. Össze kell hasonlítani ugyanazon ügynök két verzióját ismert feladatokon. Mérnünk kell a regressziókat: nemcsak "jobban válaszol", hanem "bezárja a megfelelő jegyet anélkül, hogy megérintené a kéretlen fájlokat".128129Az ügynökértékelések nehezebbek, mint a szöveges értékelések, mert cselekvéseket tartalmaznak. Nem elég egy várt karakterlánc összehasonlítása. Meg kell nézni a szekvenciákat, a mellékhatásokat, a műtárgy minőségét, az időt, a költségeket, az emberi beavatkozások számát.130131A vicces az, hogy mindig visszatérünk oda: szoftverfejlesztés. Tesztek, környezetek, nyomkövetések, visszagörgetések. Kivéve, hogy a kód most azt is eldönti, hogy mi legyen a következő lépés.132133## A hetedik darab: emberi interfészek134135Az ügynöknek nem kell csak egy chatben élnie.136137Néhány ügynöknek táblára van szüksége. Mások egy oldal állapottal és naplóval. Mások egy „jóváhagyás” gomb. További inline megjegyzések. Megint mások a CLI-ből.138139A felhasználói felület megváltoztatja a viselkedést. Ha az ügynök irányításának egyetlen módja egy hosszú üzenet írása, a felhasználó homályos utasításokat ad az ügynöknek. Ha azonban látja a tervet, a különbséget, a forrásokat, a kockázatokat és a következő lépést, akkor pontosan beavatkozhat.140141Egy tisztességes ügynök-infrastruktúra vezérlőfelületeket tartalmaz:142143- jelenlegi állapot;144- szerkeszthető terv;145- előállított műtárgyak;146- diff;147- jóváhagyási kérelmek;148- kronológia;149- stop gomb;150- újrapróbálkozás gomb;151- látható engedélyek.152153Triviálisnak tűnik, de nem az. A „hátborzongató AI” és a „megbízható asszisztens” közötti különbség gyakran csak az, hogy az utóbbi megmutatja, hol van a keze.154155## A mentális verem156157Ha ma meghúznám, a minimális ügynökkészlet a következő lenne:1581591. Modell: érvelés, generálás, eszközhívás, szükség esetén multimodális.1602. Hangszerelés: hurok, lépés, tervező, irányelv, ember a hurokban.1613. Tartós futási idő: munkafolyamat, sor, újrapróbálkozás, szüneteltetés, folytatás.1624. Sandbox: kódvégrehajtás, elszigetelt fájlrendszer, korlátozások, műtermékek.1635. Eszközréteg: MCP, belső API, böngésző, adatbázis, repository.1646. Identitásréteg: OAuth, hatókör, titkos, audit, házirend.1657. Memóriaréteg: projektkörnyezet, visszakeresés, utasítások, lejárat.1668. Megfigyelhetőség: nyomkövetési, visszajátszási, értékelési, költség- és minőségi mérőszámok.1679. A termék felülete: csevegjen, amikor elég, irányítópult, ha szükséges, tekintse át, amikor fontos.168169Az ügynöki keret főleg a 2. pontot és az 1. pont egy részét fedi le. A többi az igazi munka.170171## Mit tennék a gyakorlatban172173Ha egy csapat azt mondaná nekem, hogy „ügynököket akarunk a termelésben”, nem kezdenék tíz ügynökkel.174175Egy kicsi, ismétlődő és megfigyelhető munkafolyamattal kezdeném. Például: nyissa meg a karbantartási PR-eket, frissítse a lezárt problémákból származó dokumentációt, készítsen heti felülvizsgálatot, osztályozza a duplikált hibákat, készítsen teszteket az érintett fájlokhoz.176177Akkor nagyon világos határokat szabnék:178179- nincs írás ágak vagy homokozó nélkül;180- nincs titok a promptban;181- eszközök az engedélyezési listában;182- emberi jóváhagyás a külső tevékenységekhez;183- kötelező napló és nyomkövetés;184- futásonkénti költségvetés;185- a kimenet mindig ellenőrizhető.186187Csak akkor bővíteném.188189Az ügynökök nem csak azért buknak el, mert a modellek tévednek. Elbuknak, mert homályos környezetbe helyezzük őket, zavaros engedélyekkel és színházi elvárásokkal.190191## Olvasásom192193Az ügynöki infrastruktúra a legjobb módon unalmas.194195Nem ez a rész késztet tapsolni a demóban. Ez az a rész, amely lehetővé teszi a demó tényleges használatát hétfő reggel, valódi emberekkel, valós adatokkal és valós következményekkel.196197Az ügynökök jövőjét nem csak az fogja eldönteni, hogy kinek van a legjobb példaképe. Az dönti el, hogy ki építi fel a legjobb helyet, ahol munkára készteti: elszigetelt, amikor kísérletezik, ha szükséges, össze van kötve, mindig megfigyelhető, kritériumokkal felhatalmazható és elég alázatos ahhoz, hogy megálljon, ha nem tudja.198199Ez az a pont, ahol az ügynökök abbahagyják a játék szerepét, és infrastruktúrává válnak.200201## Források202203- [Vercel: AI-ügynökök létrehozása a Vercel és az AI SDK segítségével](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Vercel Docs: Sandbox](https://vercel.com/docs/sandbox)205- [Vercel Docs: Working with Sandbox](https://vercel.com/docs/sandbox/working-with-sandbox)206- [Vercel Docs: MCP](https://vercel.com/docs/mcp)207- [Model Context Protocol: specifikáció](https://modelcontextprotocol.io/specification)208- [OpenAI: Új eszközök építőanyagokhoz](https://openai.com/index/new-tools-for-building-agents/)209- [Cloudflare Blog: Agents on Cloudflare](https://blog.cloudflare.com/agents-on-cloudflare/)210
:Az ügynöki infrastruktúra és az új háttérrendszerlines 1-210 (END) — press q to close