Ako si AI agent pamätá bez preplneného kontextu: LangChain opisuje päť techník proti „hnilobe“

Pri dlhých úlohách sa AI agenti zahlcujú vlastnými údajmi a ich presnosť klesá. LangChain vysvetľuje, ako jeho open source nástroj Deep Agents presúva kontext do súborov, súhrnov a subagentov a nič pritom nemaže.

Ako si AI agent pamätá bez preplneného kontextu: LangChain opisuje päť techník proti „hnilobe“
Foto: Pexels / Pixabay

Najdôležitejšie

  • Pri dlhých úlohách agentovi rastie kontext a klesá jeho presnosť, tento jav sa nazýva context rot.
  • Deep Agents používa päť techník: odkladanie, sumarizáciu, zručnosti, subagentov a dlhodobú pamäť.
  • Veľké výstupy sa ukladajú do súborov, sumarizácia sa spúšťa predvolene pri 85 % zaplnení okna.
  • Pamäť agenta sú obyčajné súbory, preto ju možno zachovať aj pri zmene modelu alebo poskytovateľa.

Kto sa niekedy učil na skúšku celú noc pred termínom, pozná to: čím viac nových informácií do hlavy natlačí, tým viac sa mu strácajú prvé kapitoly. Firma LangChain na svojom blogu ukazuje, že AI agenti majú veľmi podobný problém. V článku opisuje, ako ho rieši jej open source nástroj Deep Agents. Hlavná myšlienka je jednoduchá. Agent nemusí mať v „pracovnej pamäti“ všetko naraz. Stačí, keď vie, kde potrebnú informáciu nájde.

Čo je „hniloba kontextu“ a prečo vzniká

Jazykový model vidí v každom kroku len obmedzené množstvo textu, takzvané kontextové okno. Ak tento pojem nepoznáte, vysvetľujeme ho v článku Tokeny a kontextové okno jednoducho. Agent na dlhšej úlohe postupne zbiera pokyny, výsledky nástrojov, obsahy súborov, poznámky a rozpracované verzie textov. Všetko to zaberá miesto v okne.

LangChain upozorňuje, že čím viac histórie, šumu a výstupov z nástrojov model so sebou nesie, tým horšie zvyčajne uvažuje a tým je menej presný. V komunite vývojárov sa tomu hovorí context rot, voľne preložené hniloba kontextu. Problém teda nie je len v tom, že sa okno zaplní. Model sa zhorší už skôr, keď sa v ňom stratí to podstatné.

Päť techník, ktoré presúvajú kontext mimo okna

LangChain chápe agenta ako model obalený „postrojom“ (anglicky harness). Je to softvérová vrstva, ktorá rozhoduje o tom, čo model v danej chvíli uvidí. Techniky na zvládanie kontextu delí do dvoch skupín. Prvá skupina bráni tomu, aby sa do okna vôbec dostalo zbytočné množstvo údajov. Druhá upratuje to, čo už v okne je. Deep Agents na to používa päť postupov:

  • Odkladanie (offloading): keď je výsledok nástroja väčší ako približne 20-tisíc tokenov, uloží sa celý do súboru. Model dostane len krátku ukážku, teda prvých a posledných pár riadkov, a cestu k súboru. Podobne sa spracujú aj veľmi dlhé správy od používateľa, napríklad vložený prepis hovoru. Pri nich je hranica 50-tisíc tokenov.
  • Sumarizácia: keď zaplnenie okna prekročí predvolene 85 percent, samostatné volanie modelu zhrnie staršie správy. Najnovšie správy zostanú v pôvodnom znení. Zhrnuté časti sa navyše uložia do súboru, takže agent sa k nim môže vrátiť.
  • Zručnosti (skills): sú to priečinky s návodmi, prípadne so skriptami a referenčnými dokumentmi. Model má na začiatku k dispozícii len ich krátke popisy. Celý návod si načíta až vtedy, keď ho naozaj potrebuje.
  • Subagenti: prácu, ktorá vytvára veľa šumu, robí samostatný agent vo vlastnom kontextovom okne. Hlavnému agentovi vráti iba výsledok.
  • Dlhodobá pamäť: to, čo sa agent naučí, sa zapíše do súboru, ktorý je k dispozícii aj v ďalšej konverzácii.

Všetkých päť techník má spoločné to, že informácie nemažú. Iba ich presúvajú mimo aktívneho okna, odkiaľ sa dajú v prípade potreby znovu načítať.

Ako to vyzerá v praxi: týždenná analýza konkurencie

LangChain ukazuje princíp na agentovi, ktorý každý pondelok skúma päť konkurenčných firiem a píše o nich správu podľa tímovej šablóny. Pri každej firme stiahne rozsiahly export trhových dát s desaťtisícami riadkov, prehľadá správy, prečíta niekoľko článkov a urobí si poznámky. Nakoniec napíše návrh správy, upraví ho podľa pripomienok a naformátuje.

Bez správy kontextu by agent v záverečnej fáze stále nosil päť surových exportov, desiatky výsledkov vyhľadávania a dva zastarané návrhy. Pri formátovaní finálneho dokumentu ich vôbec nepotrebuje. S odkladaním však model z exportu uvidí len ukážku. Keď neskôr potrebuje napríklad štvrťročné tržby jednej z firiem, nalistuje si ich v uloženom súbore. Vyhľadávacie metódy ako RAG pomáhajú dostať do okna len relevantné údaje. Podľa autorov však riešia iba polovicu problému, pretože aj presný agent si časom nahromadí zbytočné medzivýsledky.

Middleware: kód, ktorý zasahuje do slučky agenta

Agent pracuje v cykle. Model sa rozhodne, čo urobí, zavolá nástroj, prečíta výsledok a opakuje to, kým úlohu nedokončí. Deep Agents vkladá jednotlivé techniky do tohto cyklu ako takzvaný middleware. Je to kód, ktorý sa spustí v určitom bode, napríklad pred štartom agenta, okolo každého volania modelu alebo okolo každého volania nástroja. V tom bode môže kontext prečítať a upraviť skôr, ako sa vykoná ďalší krok. Podľa LangChainu je väčšina týchto mechanizmov už vstavaná, takže vývojár nemusí nič programovať, ak nechce niečo prispôsobiť.

Za zmienku stojí aj to, že sumarizácia prebieha v kolách. Keď sa okno znovu zaplní, nový súhrn obsahuje aj ten predchádzajúci. Zhrnúť konverzáciu sa dá aj vtedy, keď sa zmení téma, nielen pri dosiahnutí hranice tokenov.

Čo to znamená pre slovenské firmy a používateľov

Bežného používateľa chatbotu sa táto téma priamo netýka. Vysvetľuje však, prečo asistenti pri veľmi dlhých konverzáciách niekedy „zabúdajú“ alebo sa im zhoršujú odpovede. Pre firmy, ktoré uvažujú o nasadení AI agentov na opakované úlohy, ako sú reporty, rešerše alebo spracovanie dokumentov, je podstatnejšia. Ukazuje, že kvalita agenta nezávisí len od výberu modelu, ale aj od toho, ako sa riadi tok informácií okolo neho.

Prakticky dôležitý je aj spôsob ukladania pamäte. Podľa LangChainu ukladá Deep Agents pamäť agenta ako obyčajné súbory v úložisku, ktoré má pod kontrolou používateľ. Firma tak môže zmeniť model alebo poskytovateľa a to, čo sa agent naučil, jej zostane. To znižuje závislosť od jedného dodávateľa. Zároveň to dáva väčšiu kontrolu nad tým, kde sú uložené citlivé údaje, čo sa hodí aj z pohľadu ochrany osobných údajov a európskej regulácie.

Menšie úspory vyplývajú aj z úspory tokenov. Pokyny, ktoré sa použijú raz za štvrťrok, netreba posielať modelu pri každom volaní. Pri platených API to znamená nižšie náklady aj rýchlejšie odpovede.

Riziká a otázniky

Opísaný prístup nie je zadarmo. Sumarizácia je vždy stratová. Keď model zhrnie staršie správy, môže vynechať detail, ktorý sa neskôr ukáže ako dôležitý. Dá sa síce dohľadať v uloženom súbore, ale len vtedy, ak agent zistí, že mu niečo chýba. Podobne pri odkladaní model vidí iba začiatok a koniec veľkého výstupu a musí sám odhadnúť, kedy si má prečítať zvyšok.

Druhým rizikom je samotná pamäť v súboroch. Ak sa do nej dostanú chybné alebo citlivé informácie, budú sa prenášať do ďalších konverzácií. Firmy by preto mali tieto súbory pravidelne kontrolovať a riadiť k nim prístup rovnako ako k iným interným dátam. Treba tiež pamätať na to, že ide o materiál výrobcu nástroja. Ten pochopiteľne ukazuje svoje riešenie v dobrom svetle a jeho účinnosť si treba overiť vlastným testovaním.

Celkovo však článok dobre ukazuje, kam sa vývoj agentov posúva. Väčšie kontextové okno samo osebe nestačí. Rovnako dôležité je rozhodovať, čo model v danom kroku naozaj potrebuje vidieť.

Časté otázky

Čo znamená pojem context rot?

Označuje zhoršovanie presnosti a uvažovania modelu, keď má v kontextovom okne priveľa histórie, šumu a výstupov z nástrojov. Objavuje sa hlavne pri agentoch, ktoré pracujú na dlhých úlohách.

Stráca agent pri sumarizácii informácie natrvalo?

Podľa LangChainu nie. Zhrnuté správy sa ukladajú do súboru a agent si z neho môže potrebný detail neskôr prečítať.

Čo je zručnosť (skill) v Deep Agents?

Je to priečinok s návodom na konkrétnu úlohu, prípadne so skriptami a dokumentmi. Model vidí najprv len krátky popis a celý obsah si načíta, až keď ho potrebuje.

Je Deep Agents platený nástroj?

LangChain ho uvádza ako open source nástroj, ktorý sa dá použiť s modelom podľa vlastného výberu.

Zdroje

Mohlo by vás zaujímať

Päť vecí o AI, ktoré treba vedieť. Každý piatok.

Bez spamu a bez hype. Odhlásenie na požiadanie cez kontakt.