Za zidom žetonov: zakaj spremljevalce AI razjeda kontekstna erozija
Večina spremljevalcev AI začne zbrano, nato postane nejasnih. Model ne izgublja zanimanja — pogovor preprosto zdrsne iz okna, ki ga še vidi.
Iluzija spomina
Prva ura z običajnim spremljevalcem AI je skoraj srhljiva. Pobere nit pogovora, spomni se imena vaše sestre, naveže se na prepir izpred dveh prizorov. Zdi se, kot da vas pozna.
Potem nekje okoli tridesetega sporočila začne odnašati. Vpraša nekaj, na kar ste že odgovorili. Lik, ki je zapustil sobo, nenadoma spregovori. Včerajšnja rana se je zacelila, ne da bi jo kdo oskrbel.
Nič se ni pokvarilo. Preprosto ste prišli do roba tega, kar model še vidi.
Jezikovni model med klici nima spomina. Vsak korak je nova zahteva, ki s sabo nosi ves pogovor, ta zahteva pa ima omejeno velikost — kontekstno okno. Ko ga prerastete, najstarejša vsebina odpade. Prvi prizori zdrsnejo z njegovega roba in z vidika modela se niso nikoli zgodili.
Kako je kontekstna erozija videti v praksi
V večini aplikacij s spremljevalci odpoved le redko nastopi dramatično. Gre za počasno izgubo konkretnosti, zato jo je tako lahko pripisati temu, da je model »len«.
- Imena se zabrišejo. Dva stranska lika se zlijeta v enega ali pa se isto ime uporabi za nekoga novega.
- Obljube izhlapijo. Lik, ki je prisegel, da se bo srečal z vami v pristanišču, nima pojma, o čem govorite.
- Vložki se ponastavijo. Dolg, poškodba, skrivnost, ki jo nekdo skriva — zaplet se neopazno vrne v nevtralno stanje.
- Ustaljena dejstva se obrnejo. Lik, ki ne zna plavati, gre plavat.
Vsaka zase je le skomig z rameni. Skupaj pa pomenijo razliko med zgodbo in nizom prijetnih, nepovezanih prizorov — ter pojasnijo, zakaj se dolgo igranje vlog tako pogosto preprosto izpoje, namesto da bi se končalo.
Štirje načini, kako ohraniti preteklost
V uporabi so štirje pristopi in vsak odpove drugje.
| Pristop | Kako ohranja preteklost | Kje odpove |
|---|---|---|
| Drseče okno | Zadnjih N sporočil, dobesedno | Vse starejše preprosto izgine. Popoln priklic znotraj okna, popolna amnezija zunaj njega. |
| Zelo veliko okno | Desetine ali stotine tisočev žetonov, dobesedno | Strošek in zakasnitev rasteta z vsakim korakom, pozornost pa se po sredini dolgega konteksta razredči — model podrobnost vidi, vendar ji vseeno ne pripiše teže. |
| Vektorsko pridobivanje (RAG) | Pretekla sporočila se vgradijo in iščejo po podobnosti | Vrne besedilo, ki zveni relevantno. Ne ve, kaj trenutno drži, zato sta dejstvo in njegov poznejši popravek videti enako dobra. |
| Strukturirano stanje zgodbe | Dejstva, liki, odnosi in dogodki, zapisani sproti | Za vzdrževanje zahteva resnično delo in je vedno le toliko dobro, kolikor je bilo zapisanega — kar ni zabeleženo, je izgubljeno. |
Želel sem svet, ki si stvari zapisuje. Ko se spomni vajinega tretjega večera skupaj, je to zato, ker ga je zares doživela.
Ustanovitelj, projectDigo
Zakaj večje okno ni odgovor
Očitna rešitev je ogromno kontekstno okno. Je tudi najdražja in ne naredi tega, kar ljudje pričakujejo.
Celoten kontekst se pri vsakem koraku znova pošlje in prebere, zato pogovor s sto tisoč žetoni zgodovine z vsakim sporočilom zanje znova plača — na odgovor pa čaka dlje. Še huje: model zelo dolgega konteksta ne bere enakomerno; nekaj, kar je vaš lik rekel pred štiridesetimi prizori, je lahko tehnično prisotno, v praksi pa nevidno.
Veliko okno kupi čas. Ne spremeni oblike težave, saj težava ni zmogljivost — temveč to, da nič ne odloča, kaj je pomembno.
Kaj naredimo namesto tega
projectDigo vodi zapis zgodbe.
Pomembno — kdo obstaja, kaj se je zgodilo med njimi, kaj je res prav zdaj — živi v lastnem stanju zgodbe, namesto da bi ostalo v pogovoru, ki bo prej ali slej zdrsnil iz pogleda. Poznejši prizori nastajajo ob tem stanju. Štiristoti prizor ve, kaj je vzpostavil tretji, ker je bil tretji zapisan, ne le izrečen.
Kako ta zapis gradimo, ga ohranjamo aktualnega in ga znova uporabljamo, je del, ki smo mu namenili največ časa — in ga zadržimo zase. Rezultat je dovolj preprost: kontinuiteta, ki zdrži ne glede na dolžino igranja.
Pošten kompromis
To ni zastonj. Vodenje zapisa zahteva več dela na prizor kot posredovanje prepisa, zgodba pa si lahko zapomni le tisto, kar je bilo vredno zapisa — kar zgrešimo, je izgubljeno prav tako zanesljivo, kot bi ga izgubilo drseče okno.
V zameno dobite zgodbo, ki se nabira. Po desetih urah ima svet zgodovino, na katero lahko pokažete, liki pa se vedejo kot ljudje, ki so jo doživeli.
Vprašanja, ki jih dobivamo
Zakaj ne bi preprosto uporabili modela z milijonskim kontekstnim oknom?
Ker pri vsakem koraku plačate za celoten kontekst — v denarju in zakasnitvi — ter ker se pozornost po sredini zelo dolgega konteksta razredči: podrobnost je lahko prisotna, pa je vseeno dejansko prezrta. Veliko okno kontekstno erozijo odloži, ne odpravi.
Ali je to isto kot RAG?
Povezano, vendar ni isto. Pridobivanje poišče odlomke, podobne poizvedbi, kar je uporabno za iskanje podatkov, nezanesljivo pa za ugotavljanje, kaj trenutno drži: dejstvo in njegov poznejši popravek sta oba videti kot dobra zadetka. Zapis zgodbe hrani stanje — kaj je res zdaj — ne podobno zvenečega besedila.
Kako daleč nazaj se lik zares lahko spomni?
V projectDigo do začetka seje. Ohranja se stanje zgodbe, ne ubeseditev vsakega sporočila, zato priklic z daljšanjem seje ne peša.
Ali model kdaj nasprotuje lastnemu spominu?
Lahko — zato projectDigo preveri doslednost, preden prizor pride do vas. Običajen izid je popravek, ki ga nikoli ne vidite. Nič ne ujame vsega, vendar napaka postane občasni zdrs namesto stalnega odnašanja.