A tokenfalon túl: miért rothad el a kontextus az AI-társaknál
A legtöbb AI-társ eleinte éles, aztán elmosódik. Nem a modell veszti el az érdeklődését — a beszélgetés kicsúszik abból az ablakból, amelyet még lát.
Az emlékezet illúziója
Egy átlagos AI-társsal töltött első óra hátborzongató. Felveszi a fonalat, emlékszik a húgod nevére, visszautal arra a vitára, amely két jelenettel korábban történt. Olyan érzés, mintha ismerne.
Aztán valahol a harmincadik üzenet körül sodródni kezd. Megkérdez valamit, amire már válaszoltál. Egy szereplő, aki kiment a szobából, hirtelen megszólal. A tegnapi seb kezelés nélkül begyógyul.
Semmi sem romlott el. Egyszerűen elérted annak a határát, amit a modell még látott.
A nyelvi modellnek a hívások között nincs memóriája. Minden kör új kérés, amely magával viszi az egész beszélgetést, ennek a kérésnek pedig méretkorlátja van — ez a kontextusablak. Ha túlnősz rajta, a legrégebbi anyag kiesik. Az első jeleneteid leperegnek a hátulján, és a modell szemszögéből sosem történtek meg.
Így néz ki valójában a kontextusrothadás
A legtöbb társalkalmazásban a hiba ritkán látványos. Inkább a konkrétság lassú elvesztése, ezért olyan könnyű a modell „lustaságára” fogni.
- Összemosódnak a nevek. Két mellékszereplő eggyé válik, vagy egy nevet új szereplő kap.
- Elpárolognak az ígéretek. A szereplő, aki megesküdött, hogy találkozik veled a kikötőben, nem érti, miről beszélsz.
- Lenullázódnak a tétek. Az adósság, a sérülés, a titok, amit valaki őriz — a cselekmény csendben visszalazul semleges állapotba.
- Megfordulnak a rögzített tények. Egy szereplő, aki nem tud úszni, úszni kezd.
Külön-külön mindegyik csak vállrándítás. Együtt azonban ezek jelentik a különbséget egy történet és kellemes, egymástól elszakadt jelenetek sora között — ezért fullad ki olyan gyakran a hosszú szerepjáték, ahelyett hogy véget érne.
Négy módszer a múlt megőrzésére
Négy elterjedt megközelítés létezik, és mind más ponton vall kudarcot.
| Megközelítés | Hogyan őrzi a múltat | Hol törik el |
|---|---|---|
| Csúszó ablak | Az utolsó N üzenet, szó szerint | Minden régebbi egyszerűen eltűnik. Az ablakon belül tökéletes felidézés, azon kívül teljes amnézia. |
| Nagyon nagy ablak | Tízezrek vagy százezrek tokenben, szó szerint | A költség és a késleltetés minden körrel nő, és a figyelem elvékonyodik a hosszú kontextus közepén — a modell láthat egy részletet, mégsem ad neki kellő súlyt. |
| Vektoros visszakeresés (RAG) | A korábbi üzenetek beágyazva, hasonlóság alapján keresve | Olyan szöveget ad vissza, amely relevánsnak hangzik. Nem tudja, mi igaz éppen, így egy tény és későbbi javítása egyformán jó találatnak látszik. |
| Strukturált történetállapot | Tények, szereplők, kapcsolatok és események, rögzítve, ahogy megtörténnek | Valódi munka naprakészen tartani, és csak annyira jó, amennyire jól rögzítik — ami nem kerül be, elveszik. |
Olyan világot akartam, amely leírja a dolgokat. Amikor felidézi a harmadik közös estéteket, az azért van, mert tényleg ott volt.
Alapító, projectDigo
Miért nem megoldás a nagyobb ablak
A kézenfekvő javítás az óriásira növelt ablak. Ez a legdrágább megoldás is, és nem azt nyújtja, amiben az emberek reménykednek.
A teljes kontextust minden egyes körben újra elküldik és újraolvassák, így egy százezer tokennyi előzményt hordozó beszélgetés minden üzenetnél ismét megfizeti ezt — és minden válaszra tovább vár. Rosszabb, hogy a modell nem egyenletesen olvas el egy nagyon hosszú kontextust: amit a szereplőd negyven jelenettel korábban mondott, technikailag jelen lehet, gyakorlatilag mégis láthatatlan.
A nagy ablak időt vásárol. Nem változtatja meg a probléma természetét, mert a gond nem a kapacitás — hanem az, hogy semmi sem dönti el, mi fontos.
Mit csinálunk helyette
A projectDigo nyilvántartást vezet a történetről.
Ami számít — ki létezik, mi történt köztük, mi igaz éppen — a történet saját állapotában marad, nem egy beszélgetésben, amely végül kigurul a látómezőből. A későbbi jelenetek erre az állapotra épülnek. A négyszázadik jelenet tudja, mit rögzített a harmadik, mert a harmadik jelenetet feljegyezték, nem csak elhangzott.
Ennek a nyilvántartásnak a felépítése, naprakészen tartása és újra munkába állítása az a rész, amellyel a legtöbbet foglalkoztunk — és amelyet megtartunk magunknak. Amit nyújt, elég egyszerű: folytonosságot, amely bármilyen hosszan tartó játékban kitart.
Az őszinte kompromisszum
Ez nem ingyen van. A nyilvántartás vezetése jelenetenként több munka, mint egy leirat továbbítása, és a történet csak arra emlékezhet, amit érdemes volt rögzíteni — ami kimarad, ugyanolyan biztosan elveszik, mintha egy csúszó ablak ejtette volna ki.
Cserébe a történet gyarapodik. Tíz óra után a világnak van múltja, amelyre rá lehet mutatni, a szereplők pedig úgy viselkednek, mint akik valóban átélték.
Gyakori kérdések
Miért nem elég egy egymillió tokenes kontextusablak?
Mert minden körben a teljes kontextusért fizetsz — pénzben és késleltetésben is —, és mert a figyelem elvékonyodik egy nagyon hosszú kontextus közepén: egy részlet jelen lehet, mégis ténylegesen figyelmen kívül maradhat. A nagy ablak elhalasztja a kontextusrothadást, nem szünteti meg.
Ez ugyanaz, mint a RAG?
Kapcsolódik hozzá, de nem ugyanaz. A visszakeresés a kérdéshez hasonló részleteket talál, ami hasznos kereséshez, de megbízhatatlan annak eldöntésére, mi igaz éppen: egy tény és későbbi javítása egyaránt jó találatnak tűnik. A történetnyilvántartás állapotot őriz — azt, mi igaz most —, nem hasonlóan hangzó szöveget.
Meddig tud valójában emlékezni egy szereplő?
A projectDigóban a munkamenet elejéig. A történet állapota marad fenn, nem minden üzenet pontos megfogalmazása, ezért a felidézés nem romlik, ahogy hosszabbodik a munkamenet.
Előfordul, hogy a modell ellentmond a saját emlékeinek?
Igen — ezért a projectDigo ellenőrzi a következetességet, mielőtt egy jelenet eljut hozzád. Többnyire olyan javítás történik, amelyet nem is látsz. Semmi sem fog meg minden hibát, de így az egyenletes sodródás helyett alkalmi botlás marad a hibamód.