Poza murem tokenów: skąd bierze się erozja kontekstu w towarzyszach AI
Większość towarzyszy AI zaczyna z werwą, a potem robi się ogólnikowa. To nie model traci zainteresowanie — rozmowa wypada z okna, które model potrafi ogarnąć wzrokiem.
Iluzja pamięci
Pierwsza godzina z typowym towarzyszem AI potrafi zbić z tropu. Podejmuje wątek, pamięta imię twojej siostry, wraca do kłótni sprzed dwóch scen. Masz wrażenie, że ktoś naprawdę cię zna.
A potem, mniej więcej przy trzydziestej wiadomości, zaczyna się gubić. Pyta o coś, na co już odpowiedziałeś. Postać, która wyszła z pokoju, nagle znów się odzywa. Rana z wczoraj zagoiła się bez żadnego leczenia.
Nic się nie zepsuło. Po prostu dotarłeś do granicy tego, co model potrafił zobaczyć.
Model językowy nie ma pamięci między kolejnymi wywołaniami. Każda tura to nowe żądanie, do którego dołączona jest cała rozmowa — a takie żądanie ma limit rozmiaru: okno kontekstu. Gdy go przekroczysz, najstarszy materiał zostaje usunięty. Pierwsze sceny wypadają z końca, a z perspektywy modelu nigdy się nie wydarzyły.
Jak naprawdę wygląda erozja kontekstu
W większości aplikacji z towarzyszami AI problem rzadko pojawia się nagle. To powolna utrata szczegółów — dlatego tak łatwo zrzucić ją na karb „lenistwa” modelu.
- Imiona zaczynają się mieszać. Dwie drugoplanowe postacie zlewają się w jedną albo to samo imię dostaje ktoś nowy.
- Obietnice wyparowują. Postać, która przysięgała spotkać się z tobą w porcie, nie ma pojęcia, o czym mówisz.
- Stawka wraca do zera. Dług, rana, sekret, który ktoś ukrywa — fabuła po cichu wraca do stanu wyjściowego.
- Ustalone fakty się zmieniają. Postać, która nie umie pływać, idzie popływać.
Każda z tych rzeczy z osobna może najwyżej wzruszyć ramionami. Razem decydują o różnicy między opowieścią a serią przyjemnych, niepowiązanych scen — i wyjaśniają, dlaczego długie sesje roleplayu tak często rozmywają się zamiast dobiegać końca.
Cztery sposoby na zachowanie przeszłości
Stosuje się cztery podejścia, a każde z nich zawodzi w innym miejscu.
| Podejście | Jak zachowuje przeszłość | Gdzie się załamuje |
|---|---|---|
| Przesuwne okno | Ostatnie N wiadomości, słowo w słowo | Wszystko starsze po prostu znika. Pełna pamięć wewnątrz okna, całkowita amnezja poza nim. |
| Bardzo duże okno | Dziesiątki lub setki tysięcy tokenów, słowo w słowo | Koszt i opóźnienie rosną przy każdej turze, a uwaga rozprasza się w środku długiego kontekstu — model może widzieć szczegół, a mimo to nie nadawać mu odpowiedniej wagi. |
| Wyszukiwanie wektorowe (RAG) | Wiadomości z przeszłości zamienione na wektory i wyszukiwane na podstawie podobieństwa | Zwraca tekst, który brzmi podobnie. Nie rozpoznaje tego, co jest aktualnie prawdą, więc fakt i jego późniejsza korekta wyglądają równie przekonująco. |
| Ustrukturyzowany stan opowieści | Fakty, postacie, relacje i wydarzenia zapisywane na bieżąco | Wymaga prawdziwej pracy przy utrzymaniu, a jego jakość nigdy nie przekroczy jakości zapisu — czego nie odnotujesz, to stracisz. |
Chciałem świata, który zapisuje to, co się wydarzyło. Kiedy pamięta wasz trzeci wspólny wieczór, to dlatego, że naprawdę w nim uczestniczyła.
Założyciel projectDigo
Dlaczego większe okno nie rozwiązuje problemu
Najbardziej oczywiste rozwiązanie to zrobić ogromne okno. To także rozwiązanie najdroższe — i nie działa tak, jak wielu osobom się wydaje.
Cały kontekst jest wysyłany i odczytywany od nowa przy każdej turze. Rozmowa zawierająca sto tysięcy tokenów historii płaci więc za nie ponownie z każdą wiadomością — i dłużej czeka na każdą odpowiedź. Co gorsza, model czytający bardzo długi kontekst nie poświęca wszystkim jego fragmentom tyle samo uwagi: to, co twoja postać powiedziała czterdzieści scen wcześniej, może być technicznie obecne, a praktycznie niewidoczne.
Duże okno kupuje czas. Nie zmienia natury problemu, bo problemem nie jest pojemność — tylko brak mechanizmu, który decydowałby, co ma znaczenie.
Co robimy inaczej
projectDigo prowadzi zapis opowieści.
To, co ma znaczenie — kto istnieje, co wydarzyło się między postaciami i co jest prawdą w tej chwili — przechowujemy jako własny stan opowieści, zamiast zostawiać w rozmowie, która w końcu zniknie za krawędzią okna. Kolejne sceny powstają w odniesieniu do tego stanu. Scena czterysta wie, co ustalono w scenie trzeciej, bo scena trzecia została zapisana, a nie tylko wypowiedziana.
To, jak ten zapis powstaje, pozostaje aktualny i wraca do pracy, zajęło nam najwięcej czasu — i jest częścią, którą zachowujemy dla siebie. Efekt jest prosty: ciągłość, która nie pęka, niezależnie od tego, jak długo grasz.
Uczciwy kompromis
To nie jest darmowe. Prowadzenie zapisu wymaga więcej pracy przy każdej scenie niż przekazywanie samego transkryptu, a opowieść może pamiętać tylko to, co uznano za warte zapisania — wszystko pominięte ginie równie pewnie, jak zginęłoby w przesuwnym oknie.
W zamian dostajesz opowieść, która narasta. Po dziesięciu godzinach świat ma historię, do której możesz się odwołać, a postacie zachowują się jak ludzie, którzy naprawdę tam byli.
Najczęstsze pytania
Dlaczego po prostu nie użyć modelu z kontekstem mieszczącym milion tokenów?
Bo przy każdej turze płacisz za cały kontekst — pieniędzmi i czasem oczekiwania — a uwaga rozprasza się w środku bardzo długiego kontekstu. Szczegół może być obecny, a mimo to zostać praktycznie zignorowany. Duże okno odwleka erozję kontekstu, ale jej nie usuwa.
Czy to jest to samo co RAG?
Te podejścia są powiązane, ale nie takie same. Wyszukiwanie odnajduje fragmenty przypominające zapytanie, co przydaje się do sprawdzania informacji, ale zawodzi przy ustalaniu, co jest aktualnie prawdą: fakt i jego późniejsza korekta wyglądają jak równie dobre dopasowania. Zapis opowieści przechowuje stan — to, co jest prawdą teraz — a nie tekst, który tylko brzmi podobnie.
Jak daleko wstecz postać naprawdę może pamiętać?
W projectDigo — aż do początku sesji. Zachowuje się stan opowieści, a nie brzmienie każdej wiadomości, więc pamięć nie słabnie wraz z wydłużaniem sesji.
Czy model kiedykolwiek zaprzecza własnej pamięci?
Może się tak zdarzyć — dlatego projectDigo sprawdza spójność, zanim scena do ciebie trafi. Zwykle kończy się to korektą, której nawet nie zauważysz. Nic nie wyłapie wszystkiego, ale sporadyczna pomyłka zastępuje stałe dryfowanie.