spinny:~/writing $ vim agentic-infrastructure-stack.md
1~2Gyakran 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.3~4A kérdés már nem csak az: melyik könyvtárat használjam egy lépésmodell gondolkodásra?5~6Az igazi kérdés az: hol él ez az ügynök, amikor már nem demo?7~8Mert 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.9~10A 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.11~12## Mert most sok szó esik róla13~142023-ban és 2024-ben a beszélgetés nagyon modellközpontú volt. Melyik LLM? Mennyi kontextus? Mennyibe kerül? Mennyire ért a programozáshoz?15~162025-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.17~18Ez a természetes átmenet a varázslatról a mérnöki pályára.19~20Ha 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.21~22Nem szó szerinti értelemben. Szervezeti értelemben.23~24## Az első darab: egy futási idő, ahol az ügynök kitart25~26Egy ü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.27~28Ha 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.29~30Itt 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.31~32Számomra az ügynöki futtatókörnyezetnek nagyon konkrét kérdésekre kell válaszolnia:33~34- 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?39~40A 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.41~42## A második darab: homokozó, mert az ügynöknek törés nélkül be kell szennyeződnie43~44Amint egy ügynök kódot ír vagy parancsokat hajt végre, szükség van egy homokozóra.45~46Szakszó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.47~48Az ügynöki homokozónak rendelkeznie kell néhány tulajdonsággal:49~50- 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.57~58A 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.59~60Ez 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.61~62A homokozó a felnőttek mondása: menj előre, de itt.63~64## A harmadik darab: MCP és a csatlakozó probléma65~66A 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.67~68Szabvá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.69~70Az 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.71~72É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?".73~74Szá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.75~76Egy jó ügynöki architektúrában az MCP egyfajta patch panellé válik:77~78- 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.86~87A 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.88~89## A negyedik darab: identitás és engedélyek90~91Ez az a terület, ahol sok demó hunyja a szemét.92~93Az ügynök valaki nevében jár el. Tehát világosnak kell lennie, hogy ki az akció alanya.94~95Felhaszná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?96~97Ha 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.98~99A 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.100~101Ez 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.102~103## Az ötödik darab: memória és kontextus, de szemét felhalmozása nélkül104~105Az ügynököknek szükségük van a memóriára, de a memória veszélyes, ha padlássá válik.106~107Legalább háromféle memória létezik:108~109- 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.112~113Ha 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.114~115Egy ügynök, aki rosszul emlékszik, rosszabb, mint egy ügynök, aki nem emlékszik. Mert magabiztosan beszél.116~117Ezé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.118~119## A hatodik darab: megfigyelhetőség, eval és újrajátszás120~121Ha egy ügynök hibát követ el, a "modellnek hívott" napló nem elegendő.122~123Lá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?124~125Itt az ügynökök inkább elosztott rendszerek, mint chatbotok.126~127Olvasható 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".128~129Az ü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.130~131A 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.132~133## A hetedik darab: emberi interfészek134~135Az ügynöknek nem kell csak egy chatben élnie.136~137Né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.138~139A 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.140~141Egy tisztességes ügynök-infrastruktúra vezérlőfelületeket tartalmaz:142~143- 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.152~153Triviá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.154~155## A mentális verem156~157Ha ma meghúznám, a minimális ügynökkészlet a következő lenne:158~1591. 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.168~169Az ügynöki keret főleg a 2. pontot és az 1. pont egy részét fedi le. A többi az igazi munka.170~171## Mit tennék a gyakorlatban172~173Ha egy csapat azt mondaná nekem, hogy „ügynököket akarunk a termelésben”, nem kezdenék tíz ügynökkel.174~175Egy 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.176~177Akkor nagyon világos határokat szabnék:178~179- 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ő.186~187Csak akkor bővíteném.188~189Az ü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.190~191## Olvasásom192~193Az ügynöki infrastruktúra a legjobb módon unalmas.194~195Nem 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.196~197Az ü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.198~199Ez az a pont, ahol az ügynökök abbahagyják a játék szerepét, és infrastruktúrává válnak.200~201## Források202~203- [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~
NORMAL · agentic-infrastructure-stack.md [readonly]210 lines · :q to close