Skip to main content

Za tokenovou zdí: proč se AI společníkům rozpadá kontext

Většina AI společníků začne bystře a postupně zamlží. Ne proto, že by model ztratil zájem — rozhovor jednoduše vypadl z okna, do kterého ještě vidí.

A line of glowing manuscript pages leads through a dark archive hall to a framed portrait of a woman, while the other pages dissolve into ash.

Iluzе paměti

První hodina s typickým AI společníkem je až znepokojivě přesvědčivá. Naváže na nit, pamatuje si jméno vaší sestry a vrátí se k hádce, kterou jste měli před dvěma scénami. Máte pocit, že vás opravdu zná.

Pak se někdy kolem třicáté zprávy začne ztrácet. Zeptá se na něco, na co jste už odpověděli. Postava, která odešla z místnosti, najednou znovu promluví. Včerejší rána se zahojila, aniž by ji kdokoli ošetřil.

Nic se nerozbilo. Jen jste dorazili na hranici toho, kam model ještě dohlédne.

Jazykový model mezi jednotlivými voláními žádnou paměť nemá. Každá replika je nový požadavek, který s sebou nese celý dosavadní rozhovor — a ten má omezenou velikost: kontextové okno. Jakmile ho překročíte, nejstarší materiál vypadne. První scény se odkutálejí za jeho okraj a z pohledu modelu se nikdy nestaly.

Jak rozpad kontextu vypadá v praxi

Ve většině aplikací s AI společníky nebývá selhání nijak dramatické. Jde o pomalou ztrátu konkrétnosti, a právě proto je tak snadné svést ji na to, že model je „líný“.

  • Jména se slévají. Dvě vedlejší postavy splynou v jednu, nebo se stejné jméno začne používat pro někoho nového.
  • Sliby se vypaří. Postava, která vám přísahala, že se s vámi sejde v přístavu, netuší, o čem mluvíte.
  • Sázky se vracejí na nulu. Dluh, zranění i tajemství, které někdo skrývá — děj se potichu uvolní zpět do neutrálu.
  • Ustálená fakta se převrátí. Postava, která neumí plavat, se jde koupat.

Každý z těchto přešlapů se dá samostatně přejít pokrčením ramen. Dohromady ale znamenají rozdíl mezi příběhem a sérií příjemných, nesouvisejících scén — a vysvětlují, proč dlouhé hraní rolí tak často vyšumí, místo aby skutečně skončilo.

Čtyři způsoby, jak uchovat minulost

Využívají se čtyři přístupy a každý selhává někde jinde.

PřístupJak uchovává minulostKde se láme
Posuvné oknoPosledních N zpráv, doslovaVšechno starší jednoduše zmizí. Dokonalé vybavování uvnitř okna, úplná amnézie mimo něj.
Velmi velké oknoDesítky nebo stovky tisíc tokenů, doslovaNáklady i odezva rostou s každou replikou a pozornost se v dlouhém kontextu rozředí — model detail vidí, ale přesto mu nemusí přikládat váhu.
Vektorové vyhledávání (RAG)Minulé zprávy převedené na vektory a vyhledávané podle podobnostiVrací text, který zní relevantně. Neví, co právě platí, takže fakt i jeho pozdější oprava vypadají stejně přesvědčivě.
Strukturovaný stav příběhuFakta, postavy, vztahy a události zapisované průběžněJeho udržování vyžaduje skutečnou práci a kvalita odpovídá tomu, co se podaří zapsat — co není zaznamenané, to je ztracené.

Chtěl jsem svět, který si věci zapisuje. Když si pamatuje váš třetí společný večer, je to proto, že u něj opravdu byla.

Zakladatel, projectDigo

Proč větší okno není řešení

Nejlogičtější opravou je udělat okno obrovské. Zároveň je to nejdražší varianta — a nefunguje tak, jak lidé doufají.

Celý kontext se při každé replice znovu odešle a znovu přečte. Rozhovor se stotisícovou historií tak za ni platí při každé další zprávě — a na každou odpověď čeká déle. Horší je, že model nečte velmi dlouhý kontext rovnoměrně: to, co vaše postava řekla před čtyřiceti scénami, může být technicky přítomné, ale prakticky neviditelné.

Velké okno kupuje čas. Nemění ale podstatu problému, protože problémem není kapacita — nýbrž to, že nic nerozhoduje, na čem záleží.

Co děláme jinak

projectDigo si vede záznam příběhu.

To podstatné — kdo existuje, co se mezi postavami odehrálo a co právě platí — uchovává jako vlastní stav příběhu, místo aby to nechávalo v rozhovoru, který se dříve či později odroluje z dohledu. Pozdější scény vznikají na základě tohoto stavu. Čtyřstá scéna ví, co se ustavilo ve scéně třetí, protože to bylo zaznamenáno, ne jen vysloveno.

Jak se tento záznam vytváří, udržuje aktuální a znovu využívá, je část, na které jsme strávili nejvíc času — a kterou si necháváme pro sebe. Výsledek se vysvětluje snadno: kontinuita, která vydrží bez ohledu na to, jak dlouho hrajete.

Poctivý kompromis

Není to zadarmo. Vést záznam vyžaduje na každou scénu víc práce než přeposlat přepis a příběh si může pamatovat jen to, co stálo za zaznamenání — cokoli přehlédnutého se ztratí stejně jistě, jako by to ztratilo posuvné okno.

Odměnou je příběh, který se vrství. Po deseti hodinách má svět historii, na kterou můžete ukázat, a postavy se chovají jako lidé, kteří u toho skutečně byli.

Nejčastější otázky

Proč jednoduše nepoužít model s kontextovým oknem o milionu tokenů?

Protože za celý kontext platíte při každé replice — penězi i časem — a pozornost se uprostřed velmi dlouhého kontextu rozředí. Detail tak může být přítomný, a přesto ho model v praxi přehlédne. Velké okno rozpad kontextu pouze odloží, neodstraní.

Je to totéž co RAG?

Souvisí to spolu, ale není to totéž. Vyhledávání najde pasáže podobné dotazu, což se hodí pro dohledávání informací, ale nespolehlivě určuje, co právě platí: fakt i jeho pozdější oprava vypadají jako dobré shody. Záznam příběhu uchovává stav — co platí teď — nikoli text, který jen zní podobně.

Jak daleko do minulosti si postava skutečně pamatuje?

V projectDigo až na začátek sezení. Uchovává se stav příběhu, ne přesné znění každé zprávy, takže schopnost vybavovat si minulost se s prodlužováním sezení nezhoršuje.

Může model někdy odporovat vlastní paměti?

Může — právě proto projectDigo kontroluje konzistenci ještě předtím, než se k vám scéna dostane. Obvykle tak opravu vůbec neuvidíte. Nic nezachytí úplně všechno, ale z občasného uklouznutí se stane problém, ne průběžné rozplétání příběhu.

← Všechny články