Kompaktowanie kontekstu to decyzja, a nie próg
Długa trajektoria agenta dochodzi do limitu kontekstu, rusztowanie streszcza wszystko, co dotąd zaszło, do zwięzłej notatki, a streszczenie ląduje w środku na wpół ukończonego dowodu. Agent miał w ręku trzy z czterech lematów. Teraz ma akapit, który mówi, że „pracował nad dowodem”, oraz cztery lematy, które musi odkryć na nowo. Kompaktowanie nie zawiodło dlatego, że streszczenie było złe. Zadziałało w niewłaściwym momencie.
Większość agentów kodujących kompaktuje kontekst na podstawie stałego wyzwalacza: gdy zgromadzone tokeny przekroczą próg, należy streścić i kontynuować. Wyzwalacz jest liczbowy, ale koszt kompaktowania ma charakter strukturalny. Zadziałanie w połowie wyprowadzenia odrzuca częściowe wyniki, które model musi potem zrekonstruować, a to najdroższy moment na zapominanie. Praca z czerwca 2026 roku, Self-Compacting Language Model Agents, dowodzi, że to model powinien decydować, kiedy i jak kompaktować, oraz pokazuje, że wersja oparta na decyzji dorównuje progowi lub go przewyższa, przy ułamku jego kosztu tokenowego.1
Ten wynik na nowo formułuje problem, który traktowałem jako detal instalacyjny. Kompaktowanie kontekstu to nie obowiązek zarządzania pamięcią, który zadziała na licznik. To osąd dotyczący tego, kiedy zapominanie jest bezpieczne, a agent jest w lepszej pozycji do podjęcia tego osądu niż budżet tokenowy.
TL;DR
- Rusztowania agentów, łącznie z Claude Code, kompaktują kontekst, gdy zbliża się on do limitu okna. Wyzwalaczem jest liczba tokenów, więc działa on bez względu na to, gdzie agent znajduje się w swojej pracy.
- Zadziałanie w połowie wyprowadzenia lub w połowie wyszukiwania to najgorszy przypadek: streszczenie wyrzuca częściowe wyniki, za których obliczenie model zapłacił, a potem musi obliczyć je ponownie.
- Self-Compacting Language Model Agents (2026) łączy narzędzie kompaktujące, które model może wywołać, z rubryką mówiącą mu, kiedy zadziałać (podzadanie rozwiązane, trajektoria zbiega się), a kiedy się wstrzymać (w połowie wyprowadzenia, w impasie). Żadna z połówek nie działa samodzielnie.
- Metoda nie wymaga dostrajania ani zewnętrznego nadzoru. W sześciu testach porównawczych i siedmiu modelach pokonała linię bazową bez streszczania nawet o 18,1 punktu w matematyce oraz o 5 do 9 w wyszukiwaniu agentowym, przy koszcie na pytanie niższym o 30 do 70 procent.
- Wniosek wykracza poza streszczanie: właściwy wyzwalacz zapominania jest semantyczny (czy praca znajduje się na bezpiecznej granicy?), a nie liczbowy (czy bufor jest pełny?).
Próg to niewłaściwy wyzwalacz
Kompaktowanie istnieje, ponieważ długie trajektorie ulegają zepsuciu. Łańcuchy myśli i wywołań narzędzi piętrzą się, nieaktualna treść zakotwicza późniejsze generacje, aż w końcu ślad przerasta okno. Standardowe rozwiązanie polega na streszczaniu w stałym odstępie, wyzwalanym, gdy suma tokenów przekroczy próg.1 To oczywisty ruch inżynierski i właśnie tak robią produkcyjne rusztowania, gdy sesja przeciąga się: Claude Code, zgodnie z własną dokumentacją, „kompaktuje automatycznie, gdy zbliżasz się do limitu”.2
Problem polega na tym, że próg zna rozmiar kontekstu, lecz nic nie wie o jego kształcie. Licznik tokenów nie potrafi odróżnić trajektorii, która właśnie czysto zamknęła podzadanie, od takiej, która jest na trzecim kroku pięciokrokowego wyprowadzenia. Obie wyglądają dla licznika identycznie: jako liczba, która przekroczyła linię. Rusztowanie kompaktuje więc obie tak samo, a w drugim przypadku streszcza i usuwa dokładnie te wyniki pośrednie, których agent potrzebuje, by skończyć.
Obserwowałem, jak dzieje się to w moich własnych pętlach autonomicznych. Długie uruchomienie dochodzi do limitu w trakcie refaktoryzacji obejmującej wiele plików, rusztowanie kompaktuje, a agent wraca, zapomniawszy, które pliki już zedytował. Praca nie została utracona w żadnym katastrofalnym sensie. Agent wyprowadził ją na nowo. Lecz ponowne wyprowadzanie to właśnie koszt, a jest to koszt, który próg narzuca na ślepo, ponieważ próg nie widzi, że moment był zły.
Ta porażka różni się od tej, o której pisałem w kompoundowaniu kontekstu. Kompoundowanie dotyczy tego, co projekt zachowuje między sesjami: konwencji, hooków i wspomnień, które sprawiają, że sesja 500 jest szybsza niż sesja 1. Kompaktowanie dotyczy tego, co pojedyncza sesja odrzuca w swoim obrębie. Te dwie rzeczy ciągną w przeciwnych kierunkach, a kompaktowanie jest tym, czego nikt nie stroi, ponieważ próg sprawia, że wydaje się automatyczne.
Co zmienia SelfCompact
Propozycja z pracy, SelfCompact, przenosi decyzję z rusztowania do modelu. Łączy dwa elementy działające w czasie wnioskowania.1
Narzędzie kompaktujące. Model otrzymuje narzędzie, które może wywołać, by streścić swój zgromadzony kontekst, tak samo jak wywołuje każde inne narzędzie. Kompaktowanie staje się działaniem, które agent podejmuje, a nie przerwaniem narzuconym przez środowisko uruchomieniowe.
Rubryka określająca, kiedy zadziałać. Lekka instrukcja mówi modelowi, kiedy kompaktowanie jest właściwe (podzadanie zostało rozwiązane lub trajektoria się zbiega), a kiedy je stłumić (model jest w połowie wyprowadzenia lub w impasie). Rubryka to osąd, którego brakuje licznikowi tokenów.
Praca wprost stwierdza, że obie połówki są konieczne, a powód jest tu częścią najciekawszą. Modele o otwartych wagach posługują się narzędziem nierównomiernie: wywołują je w mało pomocnych momentach albo pomijają je całkowicie. Pozostawione własnym instynktom modele nie są wiarygodne w zauważaniu psucia się własnego kontekstu. Sama rubryka nie potrafi nic zdziałać, ponieważ to jedynie instrukcje pozbawione mechanizmu działania. Razem dają adaptacyjne kompaktowanie bez żadnego dostrajania ani zewnętrznego nadzoru.1 Model już ma zdolność dobrego streszczania; brakuje mu metapoznawczego wyczucia, kiedy streszczanie jest warte straty. Rubryka dostarcza tego wyczucia.
To ujęcie ma znaczenie, ponieważ rozdziela dwie zdolności, które ludzie zwykle utożsamiają. Wiedza o tym, jak skompresować trajektorię, to umiejętność generacyjna, a najlepsze modele dobrze ją opanowały. Wiedza o tym, kiedy kompresja jest bezpieczna, to umiejętność samomonitorowania, a w niej modele bez podpowiedzi wypadają słabo. SelfCompact nie próbuje uczynić modelu mądrzejszym w streszczaniu. Daje modelowi listę kontrolną dla decyzji o momencie, którą inaczej podjąłby błędnie.
Liczby
Ewaluacja obejmuje sześć testów porównawczych rozpostartych na matematyce konkursowej i wyszukiwaniu agentowym, w siedmiu modelach.1 Punktami odniesienia są linia bazowa bez streszczania oraz podejście progowe ze stałym odstępem.
Wobec braku streszczania SelfCompact poprawił wyniki nawet o 18,1 punktu w matematyce oraz o 5 do 9 punktów w wyszukiwaniu agentowym, przy koszcie na pytanie niższym o 30 do 70 procent.1 Ta różnica to koszt psucia się kontekstu: model tonący we własnym nieaktualnym śladzie radzi sobie mierzalnie gorzej i płaci więcej niż taki, który przycina inteligentnie.
Wobec streszczania ze stałym odstępem najważniejsza jest wydajność. SelfCompact dorównał jakości progu lub ją przewyższył, przy ułamku jego kosztu tokenowego.1 Kompaktowanie na podstawie osądu, a nie zegara, oznacza, że agent kompaktuje rzadziej i w lepszych momentach, więc płaci za mniej przebiegów streszczania i rekonstruuje mniej odrzuconych wyników. Próg nie był jedynie sporadycznie źle zsynchronizowany. Był systematycznie droższy przy takiej samej lub gorszej jakości.
Obniżenie kosztu o 30 do 70 procent w zadaniach o długim horyzoncie to nie błąd zaokrąglenia. Dla każdego, kto uruchamia agenty na dużą skalę, polityka kompaktowania jest pozycją kosztową, a praca mówi, że domyślna polityka, którą dostarcza większość rusztowań, płaci za przebiegi streszczania, których nie potrzebuje.
Co to oznacza dla osób uruchamiających agenty
Praktyczny wniosek nie brzmi „idź i wdróż SelfCompact już teraz”. Większość operatorów nie kontroluje bezpośrednio wyzwalacza kompaktowania swojego agenta. Wniosek brzmi, że kompaktowanie jest dostrajalną polityką o realnych konsekwencjach dla jakości i kosztu, a domyślny próg warto kwestionować.
Traktuj granice kompaktowania jako semantyczne, a nie liczbowe. Strukturyzując długie zadanie, należy dać agentowi naturalne punkty zatrzymania: skończyć plik, zamknąć podzadanie, dojść do punktu kontrolnego. Agent, który kompaktuje na granicy podzadania, nie traci niczego, czego potrzebuje. Agent, który kompaktuje na granicy tokenowej, traci to, co akurat trzymał. Zadaniem operatora jest po części takie ukształtowanie trajektorii, by bezpieczne momenty i momenty kompaktowania pokrywały się.
Wypatruj ponownego wyprowadzania jako objawu. Jeśli agent wraca z kompaktowania i powtarza pracę, którą już wykonał, wyzwalacz zadziałał w niewłaściwym miejscu. Ponowne wyprowadzanie to obserwowalny podpis źle zsynchronizowanego kompaktowania i jest to koszt, który można dostrzec w śladzie, jeśli się go szuka.
Spodziewaj się, że wyzwalacz przeniesie się do modelu. SelfCompact nie wymaga dostrajania, co oznacza, że jest to wzorzec oparty na podpowiedzi i narzędziu, który może przyjąć każde rusztowanie. Czysty wynik na modelach o otwartych wagach sugeruje, że stanie się to domyślne: agenty, które same decydują o swoim kompaktowaniu, zamiast czekać, aż środowisko uruchomieniowe je wymusi. Próg będzie z perspektywy czasu wyglądał jak artefakt traktowania kontekstu jako bufora do opróżnienia, a nie jako pamięci roboczej do zarządzania.
Szerszy wzorzec to taki, na który raz po raz natrafiam przy agentach. Trudna część rzadko polega na zdolności. Najlepsze modele potrafią dobrze streścić trajektorię. Trudna część to metapoznanie: wiedza o tym, kiedy zrobić rzecz, którą już potrafi się zrobić. Moment kompaktowania, podobnie jak wiedza o tym, kiedy poprosić o potwierdzenie lub kiedy zatrzymać pętlę badawczą, to decyzja samomonitorująca, a samomonitorowanie to obszar, w którym obecne pokolenie jest najsłabsze. Rozwiązanie w każdym przypadku ma ten sam kształt, którego używa SelfCompact: przestań liczyć na to, że model zauważy, i wręcz mu jawną rubrykę dla osądu.
Najważniejsze wnioski
Dla operatorów agentów: - Sprawdź, kiedy twoje rusztowanie kompaktuje. Jeśli działa na progu tokenowym, działa bez względu na to, czy agent jest w połowie zadania. - Strukturyzuj długie zadania wokół jawnych punktów kontrolnych, aby granice kompaktowania przypadały na bezpieczne momenty zamiast na dowolne. - Traktuj ponowne wyprowadzanie po kompaktowaniu jako błąd wyzwalacza, a nie kaprys modelu.
Dla osób budujących rusztowania: - Narzędzie kompaktujące wraz z rubryką działania/tłumienia pokonuje stały odstęp przy niższym koszcie, bez wymaganego dostrajania. - Rozdziel obie zdolności: modele dobrze streszczają, lecz słabo oceniają moment. Poświęć wysiłek projektowy na rubrykę momentu, a nie na samo streszczanie.
Dla każdego, kto planuje budżet uruchomień agentów: - Polityka kompaktowania to pozycja kosztowa. Wyzwalacz oparty na osądzie obniżył koszt na pytanie o 30 do 70 procent w badaniu, przy równej lub lepszej jakości.
FAQ
Czym jest kompaktowanie kontekstu?
Kompaktowanie kontekstu to streszczanie zgromadzonej trajektorii agenta (jego łańcucha myśli i wywołań narzędzi) do krótszej formy, tak aby ślad nie przerósł okna kontekstu modelu. Wymienia ono szczegółowość na miejsce. Wykonane dobrze, usuwa nieaktualną treść, zachowując to, czego agent wciąż potrzebuje. Wykonane w niewłaściwym momencie, odrzuca częściowe wyniki, które agent musi ponownie obliczyć.
Dlaczego próg tokenowy to zły wyzwalacz kompaktowania?
Próg tokenowy mierzy rozmiar kontekstu, lecz nie jego strukturę. Nie potrafi stwierdzić, czy agent właśnie skończył podzadanie, czy jest w połowie wyprowadzenia. Zadziałanie w drugim przypadku wyrzuca wyniki pośrednie, za których obliczenie model zapłacił, wymuszając kosztowne ponowne wyprowadzanie. Wyzwalacz powinien odzwierciedlać to, gdzie agent znajduje się w swojej pracy, czego licznik nie widzi.
Jak SelfCompact decyduje, kiedy kompaktować?
Łączy narzędzie kompaktujące, które model może wywołać, z rubryką określającą, kiedy zadziałać (podzadanie rozwiązane, trajektoria się zbiega), a kiedy stłumić (w połowie wyprowadzenia lub w impasie). Model już dobrze streszcza; rubryka dostarcza osądu o momencie, którego bez podpowiedzi mu brakuje. Podejście nie wymaga dostrajania ani zewnętrznego nadzoru.
Czy to wymaga specjalnego modelu?
Nie. Praca oceniła siedem modeli, w tym takie o otwartych wagach, a wzorzec działa wyłącznie poprzez podpowiedź i użycie narzędzia. To sprawia, że może go przyjąć każde rusztowanie bez ponownego treningu.
Ile oszczędza kompaktowanie oparte na osądzie?
W badaniu SelfCompact dorównał streszczaniu ze stałym odstępem lub je przewyższył, wydając o 30 do 70 procent mniej na pytanie, a linię bazową bez streszczania pokonał nawet o 18,1 punktu w matematyce oraz o 5 do 9 w wyszukiwaniu agentowym.
Źródła
- Tianjian Li, Jingyu Zhang, William Jurayj, Xi Wang, Chuanyang Jin, Mehrdad Farajtabar, Eric Nalisnick i Daniel Khashabi, „Self-Compacting Language Model Agents”, arXiv, 22 czerwca 2026: arxiv.org/abs/2606.23525
- Anthropic, „Explore the context window”, dokumentacja Claude Code, o automatycznym kompaktowaniu w pobliżu limitu kontekstu: code.claude.com/docs/en/context-window
- Powiązane doświadczenie produkcyjne dotyczące pętli autonomicznych i zarządzania kontekstem: architektura agenta Ralph, kompoundowanie kontekstu oraz podręcznik operatora agenta
-
Li i in., „Self-Compacting Language Model Agents”, arXiv:2606.23525 (22 czerwca 2026). Streszczenie podaje konstrukcję narzędzie-plus-rubryka, konieczność obu komponentów, wynik bez dostrajania, ewaluację na sześciu testach porównawczych i siedmiu modelach oraz zyski ilościowe: ponad linię bazową bez streszczania nawet o 18,1 punktu w matematyce i o 5 do 9 punktów w wyszukiwaniu agentowym przy koszcie na pytanie niższym o 30 do 70 procent; oraz dorównanie streszczaniu ze stałym odstępem lub jego przewyższenie przy ułamku kosztu tokenowego. ↩↩↩↩↩↩↩
-
Anthropic, „Explore the context window”, dokumentacja Claude Code: „Claude Code kompaktuje automatycznie, gdy zbliżasz się do limitu, więc pełne okno kontekstu nie kończy twojej sesji”. code.claude.com/docs/en/context-window ↩