01 Az alapok
Ágens és neuronháló, röviden
A neuronháló egy sok apró számoló egységből (neuronból) álló, rétegekbe rendezett függvény: bemenetből kimenetet számol, és a súlyai hangolásával mintázatokat tanul meg az adatból.
Az ágens ezt használó, célvezérelt rendszer: érzékeli a környezetét, dönt, cselekszik, majd a visszajelzésből tanul — esetünkben a felhasználók viselkedését figyeli meg, és ez alapján generál új adatot.
02 A tanulás
Hogyan működik a betanítás?
A modell egy adaton előrejelzést ad, egy hibafüggvény megméri, mennyire tévedett a valós értékhez képest, majd a súlyokat egy kicsit a jó irány felé módosítjuk (visszaterjesztés + gradiens). Ezt sok-sok mintán, sokszor ismételve a hiba fokozatosan csökken.
Betanítási módszerek
Supervised
Címkézett példákból tanul: minden bemenethez ismert a helyes kimenet. „Ezt a mintát így kell folytatni.”
Unsupervised
Címkék nélkül keres struktúrát: klasztereket, mintázatokat, eloszlásokat. Feltárja a tipikus viselkedésmintákat — hogyan használják jellemzően az oldalt a felhasználók.
Reinforcement
Próbálkozás és jutalom: az ágens cselekszik, visszajelzést kap, és a jutalmat maximalizáló viselkedést tanulja meg.
Önfelügyelt cél: a következő esemény jóslása
A mi modellünk nem kap külön címkéket. A tanítás önfelügyelt: minden lépésnél a következő eseményt kell megjósolnia egy munkameneten belül — a „helyes válasz” egyszerűen a ténylegesen következő esemény. Így minden rögzített session magától tanítópéldává válik, kézi annotálás nélkül.
Gyakorlati fogalmak
Epoch & batch
Egy epoch a teljes tanítóhalmaz egyszeri átnézése; a batch a kis adagokra bontás, amin egyszerre frissülnek a súlyok. Sok epochon át ismételünk.
Veszteségfüggvény
Az esemény-előrejelzésnél kereszt-entrópia méri, mennyire tér el a jósolt eseménytípus a valóstól. A tanítás ezt a hibát minimalizálja.
Túltanulás → validáció
Ha a modell bemagolja a tanítóadatot, egy külön validációs halmazon romlik. Korai leállással és regularizációval védekezünk ellene.
03 Modellválasztás
Melyik modell erre a konkrét célra?
Az autoregresszív, szekvencia-alapú megközelítésen belül három jelölt van erre a feladatra: egy LSTM, egy GRU (könnyített rekurrens háló) és egy kis transformer. Mindhárom eseményről eseményre modellezi a munkameneteket — a különbség az adatigényben, a tanítási sebességben és a hosszú távú összefüggések kezelésében van.
LSTM
Lépésről lépésre olvassa a szekvenciát, és egy rejtett állapotban „emlékszik” az eddigiekre. Erős szekvenciális előfeltevése miatt kevesebb adatból is stabilan tanul.
GRU
Az LSTM egyszerűsített rokona: kevesebb kapu, nincs külön cellaállapot. Kevesebb paraméterrel, gyorsabban tanul, és sok feladaton az LSTM-mel egyenértékű eredményt ad.
Kis transformer
Önfigyeléssel (attention) egyszerre látja az egész szekvenciát, így a távoli események közti kapcsolatokat is jól megfogja. A tanítás párhuzamosítható, és több adattal jól skálázódik.
| Szempont | LSTM | GRU | Kis transformer |
|---|---|---|---|
| Adatigény | alacsony | alacsony | magas |
| Tanítási sebesség | lassabb (szekvenciális) | közepes (szekvenciális, könnyebb) | gyorsabb (párhuzamos) |
| Hosszú távú függőségek | közepes | közepes | erős |
| Modellméret / komplexitás | kicsi | legkisebb | közepes |
| Skálázódás sok adattal | korlátozott | korlátozott | kiváló |
04 A mi témánk · 1. lépés
A felhasználók viselkedésének felvétele
A weboldalon a felhasználó minden interakciója egy esemény: oldalletöltés, kattintás, görgetés, mezőkitöltés, űrlapküldés, elnavigálás. Ezeket időbélyeggel és kontextussal rögzítjük — így áll össze egy-egy munkamenet (session): egy felhasználó útja az oldalon.
Nem magukat az embereket tároljuk, hanem a viselkedésmintát: mit, milyen sorrendben, mennyi idő alatt csinálnak.
05 A mi témánk · 2. lépés
Milyen adatként adjuk át a modellnek?
A nyers eseményeket a modell számára emészthető, strukturált formára hozzuk. Minden esemény egy rekord néhány mezővel; a munkamenet ezek sorozata. Ebből a formából már milliószámra lehet gyűjteni és betanításra adni.
Szekvencia és időzítés
Az események sorrendje és a köztük eltelt idő maga is információ — a modell ezt a ritmust tanulja meg.
Kategorikus + numerikus mezők
Eseménytípus, mező neve, oldal, beírt szöveg hossza… A szöveges mezők kódolva, a számok (idő, hossz) normalizálva kerülnek a hálóba.
{
"session_id": "abc123",
"events": [
{ "t": 0, "type": "FOCUS", "field": "diagnózis", "page": "/beteg/uj" },
{ "t": 1200, "type": "INPUT_DONE", "field": "diagnózis", "len": 45, "page": "/beteg/uj" },
{ "t": 1400, "type": "BLUR", "field": "diagnózis", "page": "/beteg/uj" },
{ "t": 1450, "type": "FOCUS", "field": "gyógyszerelés", "page": "/beteg/uj" },
{ "t": 5100, "type": "VALIDATION_ERROR", "field": "gyógyszerelés", "page": "/beteg/uj", "context": { "hiba": "kötelező" } },
{ "t": 5300, "type": "INPUT_DONE", "field": "gyógyszerelés", "len": 12, "page": "/beteg/uj" },
{ "t": 5350, "type": "BLUR", "field": "gyógyszerelés", "page": "/beteg/uj" },
{ "t": 5400, "type": "CLICK", "field": "mentés_gomb", "page": "/beteg/uj" }
]
}
06 A mi témánk · 3. lépés
Tanulás után: tesztadat generálása
Ha a modell megtanulta a valós munkamenetek eloszlását, akkor mintavételezni tud belőle: új, sosem látott — de élethű — eseménysorokat állít elő. Ezek statisztikailag úgy néznek ki, mintha igazi felhasználók hagyták volna őket, valós személyes adat nélkül.
Így annyi szintetikus tesztadatot gyártunk, amennyit csak akarunk: terheléshez, fejlesztéshez, edge-case-ek lefedéséhez.
07 A mi témánk · 4. lépés
A generált adat elküldése MCP szerverre
Az MCP (Model Context Protocol) egységes csatorna eszközök és szerverek eléréséhez. A célrendszer egy MCP szervert ad, ami egy eszközt (pl. ingest_test_data) kínál; a mi oldalunk egy MCP kliens, ami ezt az eszközt meghívja (tool call), és a generált adat a hívás paramétere. A szerver eltárolja, betölti a tesztkörnyezetbe, vagy továbbküldi.
ingest_test_data eszközét. (Ágenst csak akkor érdemes közbeiktatni, ha amúgy is orchesztrál valamit.)A kliens csatlakozik az MCP szerverhez, és lekéri az elérhető eszközöket (pl. ingest_test_data).
Meghívja az eszközt a generált munkamenetek batch-ével — strukturált, validált formában.
A szerver visszaigazolja a befogadást, és a tesztadat elérhetővé válik a felhasználó rendszerében.
{
"method": "tools/call",
"params": {
"name": "ingest_test_data",
"arguments": {
"dataset": "synthetic_form_sessions_v1",
"generated_by": "behavior-transformer",
"count": 500,
"sessions": [
{
"session_id": "syn_0001",
"events": [
{ "t": 0, "type": "FOCUS", "field": "diagnózis", "page": "/beteg/uj" },
{ "t": 1300, "type": "INPUT_DONE", "field": "diagnózis", "len": 38, "page": "/beteg/uj" },
{ "t": 4800, "type": "VALIDATION_ERROR", "field": "gyógyszerelés", "page": "/beteg/uj" },
{ "t": 5200, "type": "CLICK", "field": "mentés_gomb", "page": "/beteg/uj" }
]
}
]
}
}
}
08 Eszközök
Mi kell egy ilyen modell elkészítéséhez?
A tipikus eszközkészlet a nyers eseménygyűjtéstől a betanított modellen át az MCP-integrációig. Az alábbiak bevett választások — nem az egyetlen lehetséges út, de jó kiindulópont.
Események a weboldalról
Kliensoldali eseménygyűjtő, ami a FOCUS/INPUT_DONE/BLUR/… eseményeket rögzíti, egy backend végpont fogadja, és egy naplóba / adatbázisba kerülnek.
Adatfeldolgozás
Az események tisztítása, munkamenetekbe rendezése, tokenizálása/kódolása és a számok normalizálása — a modell bemenetéhez.
Deep learning keretrendszer
A háló (GRU/LSTM/transformer) építése és betanítása. A beépített rétegek gyorsítják a fejlesztést; a tanítás GPU-n a leggyorsabb.
Mérés & kiértékelés
A tanítási/validációs veszteség és a metrikák követése, futások összevetése, a korai leállás megtalálása.
Modell + generáló
A betanított modell mentése (checkpoint), majd egy szolgáltatás, ami mintavételezéssel legenerálja a szintetikus munkameneteket.
09 Összefoglalás
A teljes folyamat egy képen
A valós viselkedéstől a szintetikus tesztadatig — a teal a valós/megfigyelt oldal, a borostyán a generált/szintetikus oldal.