Twój agent oparty na LLM może działać idealnie podczas demonstracji, by po kilku turach zwolnić i drastycznie zwiększyć koszty. Ukrytym winowajcą nie jest niestabilny model – to token drift, czyli stopniowe rozrastanie się promptu, który model musi przetwarzać przy każdym wywołaniu.

Token drift występuje, gdy każda interakcja dodaje więcej tekstu do kontekstu wejściowego modelu. Historia rozmowy, schematy narzędzi, odpowiedzi API i pobrane dokumenty gromadzą się, przez co każde kolejne wywołanie niesie ze sobą większy ładunek danych. Ponieważ czas przetwarzania i cena modelu rosną wraz z liczbą tokenów wejściowych, koszty rosną kwadratowo, a nie liniowo.

Dlaczego problem pojawia się w środowisku produkcyjnym, a nie w demonstracjach

Wdrożenia produkcyjne zachowują wszystko: każde wypowiedzenie użytkownika, każdy wynik narzędzia, każdy fragment pobranej wiedzy. Akumulacja pozostaje niewidoczna, dopóki nie nastąpi skok opóźnień i nie nadejdzie faktura.

Typowe źródła token driftu

  • Powtarzające się transkrypcje – zachowywanie każdej starej wiadomości w prompcie zamiast jej streszczania lub usuwania.
  • Ciężkie schematy narzędzi – przesyłanie dużych definicji JSON możliwości narzędzi przy każdej turze.
  • Obszerne wyniki narzędzi – dołączanie pełnych odpowiedzi API lub wierszy z bazy danych, które zawierają więcej danych, niż agent faktycznie potrzebuje.
  • Przerost RAG – generowanie wspomagane wyszukiwaniem (RAG), które dodaje wiele fragmentów dokumentów, z których niektóre są nieaktualne lub nieistotne.
  • Zduplikowana pamięć – łączenie podsumowania, obiektu stanu i surowej transkrypcji, co powoduje trzykrotne powtarzanie tych samych informacji.

Każdy z tych elementów dodaje tokeny, które nie wnoszą nowej mocy rozumowania, a mimo to zwiększają rozmiar promptu.

Jak utrzymać budżet tokenów pod kontrolą

1. Zastosuj warstwową strukturę kontekstu

  • Stabilne instrukcje – umieść instrukcje systemowe i zasady bezpieczeństwa na początku i odwołuj się do nich, zamiast przesyłać je ponownie w każdej turze.
  • Ustrukturyzowany stan – przechowuj zwartą reprezentację celów, decyzji i identyfikatorów, którą agent może szybko odczytać.
  • Skompresowana historia – streszczaj starsze tury w krótkim, czytelnym dla człowieka akapicie, aktualizując go dopiero po przekroczeniu określonego progu.
  • Ostatnie tury – dołączaj ostatnie kilka wiadomości dosłownie, aby zachować ciągłość.

Oddzielenie tekstu stałego od treści nadających się do streszczenia zapobiega wielokrotnemu przesyłaniu tych samych słów.

2. Ograniczaj wyniki narzędzi

  • Wyodrębniaj tylko te pola, których agent faktycznie używa; usuwaj szczegółowe opisy.
  • Zastępuj duże wyniki zwięzłym podsumowaniem lub identyfikatorem referencyjnym, a pełny ładunek przechowuj w bazie danych, pamięci cache lub magazynie obiektowym (blob store).
  • Gdy narzędzie zwraca listę, przesyłaj tylko N najważniejszych elementów istotnych dla bieżącej decyzji.

3. Zastosuj inteligentne streszczanie

  • Nie streszczaj po każdej turze; dodatkowe przetwarzanie generuje narzut.
  • Odświeżaj podsumowanie tylko wtedy, gdy skumulowana liczba tokenów ze starszych tur przekroczy ustalony limit.
  • Przechowuj kluczowe fakty — identyfikatory, kwoty, znaczniki czasu — w ustrukturyzowanym magazynie zamiast osadzać je w tekście ciągłym, dzięki czemu podsumowanie pozostanie krótkie.

4. Monitoruj odpowiednie metryki

  • Loguj zużycie tokenów na każde wywołanie modelu, a nie tylko na każde żądanie użytkownika. Pozwala to wykryć ukryty wzrost po stronie wejściowej.
  • Monitoruj liczbę tokenów wejściowych dodawanych w każdej turze; nagły skok wskazuje na źródło dryfu.
  • Rozdzielaj tokeny z pamięci podręcznej (ponownie używane z poprzednich wywołań) od nowo wygenerowanych tokenów; tylko te pierwsze napędzają dryf.

Traktuj prompt jako zasób skończony, a nie nieskończoną transkrypcję. Poprzez celowe mierzenie, streszczanie i ograniczanie danych, utrzymasz swojego agenta LLM jako szybki, niedrogi i gotowy do skalowania produkcyjnego.

Podsumowanie: Token drift po cichu zwiększa koszty i spowalnia agentów. Zidentyfikuj części promptu, które rosną, skompresuj je lub przenieś na zewnątrz, i monitoruj zużycie tokenów przy każdym wywołaniu. Zdyscyplinowane podejście zamienia nieprzewidywalne szoki cenowe w zarządzalną, budżetową operację.