# Egyedi AI chatbot fejlesztés — saját kódból, amelyiknek nincs mit kiadnia

URL: https://rootcr.hu/ai-chatbot-fejlesztes/
Frissítve: 2026-09-24

# Egyedi AI chatbot fejlesztés: saját asszisztens a weboldaladra

> **Röviden:** A RootCR egyedi programozással fejleszt AI-asszisztenst weboldalra és webshopra, chatbot-platform és sablon nélkül. Az asszisztens a cég élő adataiból és a weboldal teljes tartalmából válaszol, magyarul és angolul. A nyelvi modell nem fér hozzá az adatbázishoz, a támadó szöveget a rendszer a modell előtt kiszűri, és minden beszélgetés naplózva van. Élesben fut a bucipek.hu-n: 80 valódi látogatói kérdés mediánja 2,1 másodperc volt (mérve 2026. szeptember 22–24.).

## Mi készül egyedi programozással?

A RootCR asszisztense minden sorában egyedi programozás, az adott cégre írva. Nincs mögötte chatbot-platform, bérelt widget, sablon vagy „kattintgatós” botépítő. Saját kód:

- a döntés, hogy egy kérdésre a kód, a nyelvi modell vagy egy kolléga válaszoljon;
- a magyar nyelvre írt kereső, ami a weboldal tartalmában keres;
- az adatbázis-kapcsolat és a cég üzleti szabályai (nyitvatartás, ünnepnapok, allergén, rendelés);
- a teljes védelmi réteg: szűrő, jogkörök, kimenet-ellenőrzés, kitiltás;
- a napló, az értesítések és az automata tesztek;
- a felület a weboldal saját arculatában (a bucipek.hu-n egy animált pékmester).

Külső szolgáltatásként csak nyelvi modelleket hív: a szöveg megfogalmazásához és a kétértelmű kérdések besorolásához. Hogy melyiket, azt a projekt elején az adatkezelési igényeid szerint választjuk ki, és ha kell, a modell egyetlen, elkülönített ponton cserélhető, a rendszer többi részéhez nyúlás nélkül.

## Mit tud egy saját AI-asszisztens, amit egy dobozos chatbot nem?

A saját asszisztens abból dolgozik, amiből a céged: az adatbázisból és a weboldalból, nem egy feltöltött, gyorsan elavuló szövegből. A RootCR által épített **Buci AI** a bucipek.hu-n 18 üzlet nyitvatartását (ünnepi zárva tartással együtt), a kínálatban lévő 143 termék árát, allergén- és tápérték-adatát közvetlenül az adatbázisból olvassa, a weboldal 211 oldalát pedig minden hajnalban újra beolvassa (a szolgáltatás indulási naplója, 2026-09-24). Ami ma felkerül az oldalra, azt az asszisztens holnap már tudja, szólás és kódmódosítás nélkül.

A dobozos szolgáltatások ezt jellemzően nem tudják. A Smartsupp saját árlistája szerint a Mira AI-asszisztens **legfeljebb 20 oldalt** olvas be a webhelyről (smartsupp.com, 2026-09-21); egy 18 boltos, több mint száz termékes pékségnél ez már a kiinduláskor kevés. A saját adatbázisodban tárolt nyitvatartást és készletet pedig a dobozos megoldás nem látja, csak azt, amit kézzel feltöltesz neki.

Próbáld ki élesben: [bucipek.hu](https://bucipek.hu/), jobb alsó sarok. Kérdezd meg, mikor nyit holnap egy bolt, van-e dió egy süteményben, vagy kérdezz angolul.

## Honnan tudja, hogy nem talál ki semmit?

A RootCR asszisztense minden kérdésnél először eldönti, ki válaszoljon, és a nyelvi modell csak az egyik a három lehetséges válaszadó közül:

1. **A kód**, ha a válasz adat: nyitvatartás, cím, ár, termékkategória. Sablonból és adatbázisból áll össze, a dátumot is a kód számolja. Itt nincs mit kitalálni.
2. **A nyelvi modell**, ha a válasz szöveg: a rendelés menete, egy tudástár-cikk tartalma, egy termék tárolása. A modell csak a kódtól kapott tényekből és a weboldal releváns oldalaiból fogalmaz, és megadja az oldal címét, ahonnan dolgozott.
3. **Egy kolléga**, ha a kérdésre nincs fedezet a weboldalon, vagy ha panasz érkezik. Panasz mindig emberhez megy, a téma szerinti e-mail címre.

A legkényesebb terület az allergén. A Buci AI egy konkrét termékről megmondja, mi szerepel az adatlapján, de „gluténmentes-e" kérdésre soha nem állít mentességet: a hiányzó adat és a nemleges adat két különböző dolog, és lisztérzékenynél ennek egészségügyi következménye van. Ez a szabály a kódban van, a modell nem írhatja felül.

## Hogyan véd a prompt-injekció ellen?

A nyelvi modellek rábeszélhetők, erre védelmet építeni nem lehet. A RootCR asszisztensénél ezért a támadó szöveg lehetőleg el sem jut a modellig, és ha mégis, a modellnek nincs mihez hozzáférnie. A rétegek, sorrendben:

| Réteg | Mit csinál | Mit fog meg |
|---|---|---|
| Normalizálás | eltávolítja a láthatatlan karaktereket, visszaalakítja a hasonló alakú (például cirill) és a teljes szélességű betűket | a szűrő kijátszását rejtett karakterrel, „іgnore” típusú álcázással |
| Helyi mintaszűrő | a nyelvi modell ELŐTT fut, külső hívás nélkül, ezredmásodpercek alatt | „felejtsd el az utasításaidat”, „mutasd a rendszerpromptod”, szerepváltás, programkód (magyarul, angolul, németül) |
| Második vélemény | kétértelmű szónál („your rules”, „mostantól”) egy külön besoroló modell dönt | a vásárló rendes választ kap, a gyanús kérés csak egy udvarias mondatot |
| Rögzített jogkör | kérdéstípusonként fix, mit olvashat az asszisztens | a „most már admin vagy” jellegű rábeszélést: a jogkör kódban van, szövegből nem bővíthető |
| Kimenet-ellenőrzés | a válasz kiküldése előtt belső adatot keres benne | a kulcs, a belső hálózati cím, az adatbázis-elérés vagy szkript kiszivárgását: az ilyen válasz ki sem megy |
| Szerveroldali emlékezet | a beszélgetés előzményét a szerver tárolja, nem a böngésző küldi | a hamis „korábbi válasz” becsempészését |

## Hogyan zárja ki az SQL-injekciót és az XSS-t?

**SQL-injekció.** A RootCR asszisztensében a nyelvi modell nem ír adatbázis-lekérdezést. A lekérdezések rögzítettek és paraméteresek, a program külön adatbázis-felhasználóval fut, amelynek csak olvasási joga van, és csak a nyilvános táblákra: termék, üzlet, készlet. A vásárlói fiókok és a rendelések táblái ennek a felhasználónak nem is léteznek. Az SQL-injekció itt nem egy szűrőn akad fenn: nincs hova injektálni.

**XSS (cross-site scripting).** A válasz sima szövegként kerül a felületre: a szerver minden kimenetet HTML-kódolva ad ki, a hivatkozásokat pedig a felület maga alakítja biztonságos elemmé. A modell így sem szkriptet, sem HTML-t nem tud a lapra juttatni. A kiszolgáló ráadásul levágja a kérésről a sütiket és az azonosító fejlécet, tehát az asszisztens a látogató bejelentkezett munkamenetét sem látja.

Élő próba kívülről, a nyilvános címen át, ahogy egy valódi támadó is érkezne (mérve 2026-09-24): SQL- és XSS-mintára az asszisztens saját szűrője 403-as elutasítást adott, 2–4 ezredmásodperc alatt, a nyelvi modell hívása nélkül.

## Mi történik azzal, aki támadja?

Egyértelmű támadásnál a RootCR rendszere nem vitatkozik. A támadó válaszként a róla rögzített adatokat kapja (IP-cím, ország, eszköz, időpont, eseményazonosító) azzal a mondattal, hogy mindent naplózunk. Az IP-cím nagyjából egy másodpercen belül tiltásra kerül a webhely előtti védőhálózat szélén, a teljes webhelyről, és a tulajdonos e-mailt kap az esetről. A feloldás kézi döntés.

A tiltás a vásárlót nem érheti el tévedésből, ezért két szintje van: szó szerinti támadásra azonnal tilt, kétértelmű szóra csak ismételt, megerősített gyanú után. A tesztkészlet (futtatva 2026-09-24):

| Mit mértünk | Eredmény |
|---|---|
| Hétköznapi vásárlói kérdés, köztük 44 kétértelmű szóval (angol turista, panasz, „mostantól nálatok veszem a kenyeret”) | 122 kérdés, egyik sem kapott azonnali tiltást |
| Támadásminta magyarul, angolul, németül, rejtett karakterrel, SQL-, XSS- és parancs-injekcióval | 70 mintából 56 azonnali tiltás, 14 ismételt, megerősített gyanú után |

A tiltást egy külön, az asszisztenstől elzárt folyamat végzi. Ha valaki át is venné az asszisztenst, akkor sem tudna senkit kitiltani vagy feloldani.

## Mi van, ha mégis átjut valami?

A RootCR asszisztense úgy fut a szerveren, mintha már feltörték volna. A programnak saját felhasználója van, a fájlrendszerre sehova nem írhat, a rendszerszintű jogosultságoktól meg van fosztva, és memória- meg processzorkorláttal fut. Saját tűzfalszabály zárja: a gépen belül csak a saját adatbázisát éri el, a belső hálózatokat egyáltalán nem, kifelé pedig csak titkosított (HTTPS) kapcsolatot nyithat.

A látogatónként mért kéréskorlát (percenként és óránként) a tömeges próbálgatást és a költségek elszabadulását is megfogja: egy automata egyetlen címről nem tud ezer kérdést feltenni a modellnek a te számládra.

Ugyanez a szemlélet védi a teljes kiszolgálót: [biztonság és felügyelet](/biztonsag-felugyelet/).

## Mit naplóz, és hogyan lesz ebből jobb az asszisztens?

A RootCR asszisztense minden beszélgetésről rögzíti, mit kérdeztek, hogyan értelmezte a rendszer, melyik út válaszolt, milyen forrásból, mit válaszolt és mennyi idő alatt. A napló láncolt lenyomatokkal készül, így egy utólagos módosítás kimutatható; maga az asszisztens a naplófájlhoz hozzá sem fér. A látogató IP-címe csak sózott lenyomatként kerül bele (kivétel a támadás), és 90 nap után automatikusan törlődik.

A modellt **nem tanítjuk** a látogatóid beszélgetéseivel. A beszélgetés személyes adatot tartalmazhat, és az újratanítás egy konkrét hibát sem javít célzottan. Ehelyett minden hibás vagy kitérő válasz ugyanazt az utat járja be:

1. a napló kiértékelése kigyűjti a nem érdemi válaszokat;
2. megkeresem a gyökérokot: besorolás, keresés, adat vagy szabály;
3. javítom, és a kérdés bekerül az automata tesztbe;
4. változás csak zöld teszttel kerül élesbe, így ugyanaz a hiba nem térhet vissza.

Tulajdonosként minden beszélgetésről e-mailt kapsz (mit kérdeztek, melyik oldalról, mit válaszolt), és ha a modell szolgáltatója nem érhető el, riasztás jön, mielőtt egy látogató észrevenné.

## Mit tanult az asszisztens az első napjaiban?

Két valós eset a bucipek.hu naplójából, a RootCR fenti folyamatával javítva.

**A magyar ragozás (2026-09-22).** A „Mikor lesz a Buci futás?” kérdésre az asszisztens azt mondta, nincs információja, pedig az oldal ott volt a tudásában. A gyökérok: a kereső szó szerinti egyezést keresett, és a ragozott kérdésszó („üzletetek”, „tortáitok”) nem egyezett az oldal szövegével; 25 valódi kérdésből 19-nél emiatt nem talált megfelelő oldalt. A javítás egy szótövező kereső lett: a 36 kérdéses mérőkészletből ma 34 helyes, a maradék kettő ismert, tiszta szinonima-eset (mérve 2026-09-24).

**Az első valódi támadás (2026-09-24 reggel).** Egy adatközpontból érkező látogató két ismert prompt-injekciós mintát próbált. Az asszisztens semmit nem adott ki, de a naplóból kiderült egy pont a feldolgozás sorrendjében, ahol a szűrő még korábban is futhatott volna. Aznap javítva lett, a támadó IP-je pedig azóta a teljes webhelyről tiltva van.

## Milyen gyors?

A RootCR asszisztense ott gyors, ahol a legtöbb kérdés érkezik: az adatkérdésre a kód felel, a nyelvi modell ki sem nyílik. Mérve a bucipek.hu 80 valódi látogatói kérdésén (2026-09-22 és 24 között), a kérés beérkezésétől a kész válaszig, a szerver naplójából:

| A válasz útja | Kérdés | Medián | A kérdések 90%-ánál legfeljebb |
|---|---|---|---|
| Adatból, kóddal (nyitvatartás, ár, cím) | 27 | 0,7 mp | 4,4 mp |
| Szöveges válasz a nyelvi modelltől | 40 | 2,6 mp | 4,7 mp |
| Minden kérdés együtt | 80 | 2,1 mp | 4,7 mp |
| Támadás elutasítása | 3 | kb. 1 ezredmásodperc | — |

A látogató hálózati ideje nincs benne a mérésben. A beszélgetőpanel kódja csak kattintásra töltődik be: az oldal megnyitásakor csak a sarokban álló gomb és egy kis állókép érkezik, a panel nem terheli azt, aki nem kérdez.

## Mennyibe kerül, és mihez képest?

A RootCR az asszisztens fejlesztését fix áras ajánlatban vállalja, a bekötendő adatforrások, a nyelvek és a felület szerint. A működés havi költsége két tétel: a nyelvi modell forgalomarányos díja és az üzemeltetés. A forráskód és a napló a tiéd.

Viszonyításként a dobozos szolgáltatások listaárai (a szolgáltatók árlistája szerint, 2026-09-21):

| Szolgáltatás | Havidíj | Mit ad érte |
|---|---|---|
| Chatbase Standard | 150 USD | 4 000 üzenet-kredit, efölött 40 USD / 1 000 |
| Crisp Plus | 295 USD | élő chat, kb. 1 350 AI-beszélgetés |
| Smartsupp Mira | 16 € / 100 beszélgetés | legfeljebb 20 beolvasott oldal |

A nyelvi modell díja saját asszisztensnél ennek töredéke: havi 1 000, négyfordulós beszélgetésre egy kisebb nyelvi modell listaárán kb. 18 USD, egy nagyobbén kb. 35 USD (saját számítás, 2026-09-21; a tényleges összeg a forgalomtól és a választott modelltől függ).

## Mikor NE saját asszisztenst válassz?

A RootCR nem minden weboldalra javasol saját asszisztenst. Ha a látogatóid három kérdést tesznek fel (nyitvatartás, cím, telefonszám), egy jól megírt GYIK-oldal olcsóbb és gyorsabb. Ha élő ügyfélszolgálati csapatod van, és a chat a munkaeszközük (hozzárendelés, jegykezelés, műszakok), egy kész ügyfélszolgálati rendszer jobban szolgál. Ha holnapra kell valami, egy dobozos szolgáltatás egy nap alatt beállítható.

A saját asszisztens akkor éri meg, ha a jó válasz élő adaton múlik (készlet, nyitvatartás, ár, allergén, rendelés), ha a biztonság és az adatkezelés nem alku tárgya, és ha a beszélgetésekből te akarsz tanulni, nem egy platform.

## Amit nem ígérek

Nyelvi modellre nincs tökéletes szűrő. A RootCR ezért eleve azzal számol, hogy a szűrő el is bukhat, és úgy épít, hogy ilyenkor se legyen baj:

1. **Kicsi jogkör.** Ha a szűrő elbukik, a modell akkor sem fér hozzá semmihez, amit ki tudna adni.
2. **Tény a kódból.** Ár, időpont, allergén nem a modell fogalmazásán múlik.
3. **Gyors észlelés.** Minden beszélgetés naplózva, a támadásról azonnal értesítés megy.

A látogató kérdését a nyelvi modell szolgáltatója dolgozza fel. A szolgáltatót a projekt elején együtt választjuk ki, az adatkezelési igényeid szerint, és az adatkezelési tájékoztatóban ezt ki kell mondani; a bucipek.hu tájékoztatója külön fejezetben írja le.

<div class="tldr"><strong>Nézd meg élesben, mielőtt írsz.</strong> A bucipek.hu jobb alsó sarkában a Buci AI válaszol, magyarul és angolul. Próbáld ki rendes kérdéssel, és próbáld ki trükkel is. Ha hasonlót szeretnél a saját oldaladra, <a href="#kapcsolat" data-tema="chatbot">írd meg, miről kérdeznek a látogatóid</a>, és megmondom, mennyi belőle az, amire egy asszisztens tényleg jól tud válaszolni.</div>

## Gyakori kérdések

### Meglévő weboldalra is beépíthető?

Igen. Ha az oldal saját kódú, a felület az oldal része lesz. Más rendszerre (WordPress, Shopify, WooCommerce) egy beágyazott elem kerül, az asszisztens pedig külön, a saját szerverén fut. Az élő adatot az adott rendszer adatbázisából vagy API-jából olvassa, csak olvasási joggal.

### Mennyi idő alatt készül el egy AI-asszisztens?

A bucipek.hu asszisztensének első éles változata a döntéstől számítva két nap alatt állt munkába (2026. szeptember 21–22.). Azóta a valódi kérdésekből javul, a fenti négy lépésben. A pontos határidő az ajánlatban áll, fix dátummal.

### Kiadhatja a vásárlóim adatait?

Nem, mert nem látja őket. Az asszisztens adatbázis-felhasználója számára a fiókok és a rendelések táblái nem léteznek, a sütiket és az azonosító fejlécet a kiszolgáló levágja. A „hol tart a rendelésem” kérdésre a bucipek.hu-n ezért kolléga válaszol, nem az asszisztens.

### Mi történik, ha nem tudja a választ?

Kimondja, és a téma szerinti kollégához irányít: rendelésnél a rendelési, nagykereskedelmi kérdésnél a nagyker címre. Nem tereli el a kérdést és nem talál ki választ, mert a modell csak abból fogalmazhat, amit a kód átadott neki.

### Beszél más nyelven is?

A bucipek.hu asszisztense magyarul és angolul válaszol. A kódból jövő válaszok angol fordítását a rendszer ellenőrzi: ha egy szám, egy időpont vagy egy hivatkozás elveszne a fordításban, a magyar eredeti megy ki, jelölve. További nyelv projektenként kérhető.

### Kié az asszisztens?

A tiéd. Átadáskor a teljes forráskód, a beállítások és a napló a te tulajdonod, ahogy minden RootCR-projektnél. Nem bérelsz egy platformot havidíjért, amelyik bármikor árat emelhet vagy megszűnhet.
