Podstawowe koncepcje

Zatrucie kontekstu

Dowiedz się, czym jest zatrucie kontekstu, jak rozpoznać je w rozmowie z Bobem i jak się z niego wycofać, zaczynając nową task albo poprawiając higienę kontekstu.

O zatruciu kontekstu

Zatrucie kontekstu to sytuacja, w której błędne albo nieistotne informacje trafiają do context window i zostają w transcript. Bob traktuje te informacje jak fakty w kolejnych promptach. Odpowiedzi odpływają od tematu. Wywołania tooli stają się niedokładne. work goal się gubi.

To coś innego niż pojedyncza zła odpowiedź. Złe dane zostają w Messages (albo dostały się tam przez odczyt pliku, wklejenie logów lub nieaktualny komentarz). Bob wysyła je ponownie przy każdym prompcie, dopóki nie zresetujesz albo nie skondensujesz kontekstu.

Jeśli chcesz zobaczyć, jak zapełnia się window i kiedy zacząć od nowa, zobacz Context window management. Praktyczny przewodnik po resecie znajdziesz w Create a new context window.

Objawy

Najpewniej masz do czynienia z zatruciem kontekstu, jeśli zauważasz którykolwiek z tych objawów:

  • Gorszy output: Sugestie się powtarzają, błądzą albo przestają pasować do repository.
  • Złe użycie tooli: Kroki tooli w transcript przestają odpowiadać temu, o co prosiłeś.
  • Zablokowana praca wieloetapowa: Długie przepływy przez wiele promptów zapętlają się albo stają w miejscu w Agent mode.
  • Krótkotrwałe poprawki: Korygujący prompt pomaga raz, ale potem problem wraca.
  • Zamieszanie z toolami: Bob źle używa tooli, mimo że Tool definitions się nie zmieniły.

Jeśli Messages jest już duże, najpierw sprawdź context window breakdown. Zatrucie i przepełnione window często występują razem.

Typowe przyczyny

PrzyczynaCo się dzieje
Błędne fakty w wątkuBob podaje coś niepoprawnego. Późniejsze wymiany traktują to jako prawdę w Messages.
Nieaktualny albo błędny tekst w repositoryNieaktualne komentarze, fragmenty README albo wygenerowane docs wprowadzają odczyty plików w błąd.
Zbyt duże wklejkiLogi albo snippet z szumem, ucięciami albo ukrytymi znakami trafiają do Messages.
CondensationBob podsumowuje starsze Messages. Przydatne szczegóły znikają. To, co zostaje, może zdominować wątek.
Nieistotny kontekstNiezwiązane pliki, stare plany albo wcześniejszy work goal nadal istnieją w transcript.

Kiedy zły kontekst trafi już do Messages, utrzymuje się przez każdy kolejny prompt. Bob nie ignoruje wiarygodnie brzmiącego tekstu tylko dlatego, że jest błędny.

Ograniczenia promptów korygujących

Wklejenie do rozmowy Tool definitions, zasad albo ścisłego korygującego promptu może zamaskować problem na jedną albo dwie wymiany. Zatruta historia Messages nadal tam jednak jest. Następne pytanie nie na temat może znowu uruchomić ten sam problem.

Pewnym rozwiązaniem jest nowa task: kliknij + (New task) w panelu czatu. Zobacz Create a new context window.

Odzyskiwanie

  • Uruchom nową task przez + (New Task). To czyści zatrute Messages, ale zostawia Rules i pliki projektu na dysku.
  • Wklejaj mniej. Wysyłaj tylko te linie logów albo błędy, których Bob naprawdę potrzebuje. Duże zrzuty zwiększają Messages i ryzyko.
  • Podziel work goal. Używaj osobnych task do niezwiązanych kroków, żeby stary transcript się nie ciągnął.
  • Sprawdzaj output tooli. Jeśli tool zwróci śmieci, zatrzymaj się i zresetuj zamiast pozwalać Bobowi budować na tym w Messages.
  • Ufaj testom bardziej niż tekstowi. Gdy komentarze i kod sobie przeczą, skieruj Boba do uruchamialnych sprawdzeń. To ta sama wskazówka co w context window best practices.

Zapobieganie

Większość zapobiegania wynika z dobrej higieny kontekstu:

  • Określ work goal przed eksplorowaniem repository (context window management).
  • Trzymaj AGENTS.md i Rules krótko i operacyjnie.
  • Dodawaj pliki i logi wtedy, gdy są potrzebne, a nie od razu.
  • Resetuj, gdy Messages rośnie bez postępu.

Przy odczytach obejmujących całe repository używaj subagents, żeby task widziała subagent results, a nie każdy krok toola w Messages.

Dowiedz się więcej

Jak oceniasz ten temat?