Zatruwanie kontekstu

Dowiedz się, czym jest zatruwanie kontekstu, jak je rozpoznać w sesji Bob Shell i jak je naprawić przez rozpoczęcie nowej sesji lub poprawę higieny kontekstu.

O zatruwaniu kontekstu

Zatruwanie kontekstu polega na tym, że błędne lub nieistotne informacje trafiają do okna kontekstu i pozostają w transkrypcie. Bob traktuje te informacje jako fakty przy kolejnych promptach. Odpowiedzi zaczynają odbiegać od tematu. Wywołania narzędzi stają się niedokładne. Cel pracy zostaje utracony.

Różni się to od jednorazowej złej odpowiedzi. Błędne dane pozostają w Wiadomościach (lub trafiły tam przez odczyt pliku, wklejenie wyjścia polecenia czy nieaktualny komentarz). Bob wysyła je ponownie przy każdym prompcie, dopóki nie zresetujesz sesji lub nie zaczniesz nowej.

Informacje o tym, jak wypełnia się okno i kiedy zacząć nową sesję, znajdziesz w dokumentacji Zarządzanie oknem kontekstu.

Objawy

Prawdopodobnie masz do czynienia z zatruwaniem kontekstu, gdy zauważasz którekolwiek z poniższych:

  • Gorsze wyniki: Sugestie się powtarzają, odbiegają od tematu lub przestają pasować do repozytorium.
  • Błędne użycie narzędzi: Kroki narzędzi w transkrypcie nie odpowiadają już temu, o co prosiłeś(-aś).
  • Zablokowana praca wieloetapowa: Długie przepływy z wieloma promptami zapętlają się lub utykają.
  • Krótkotrwałe poprawki: Korygujący prompt pomaga raz, ale problem wraca.
  • Dezorientacja narzędzi: Bob błędnie używa narzędzi, mimo że definicje narzędzi się nie zmieniły.

Jeśli Wiadomości są już duże, najpierw sprawdź zużycie tokenów. Zatruwanie i przepełnione okno często występują razem.

Typowe przyczyny

PrzyczynaCo się dzieje
Błędne fakty w sesjiBob stwierdza coś nieprawidłowego. Późniejsze wymiany traktują to jako prawdę w Wiadomościach.
Nieaktualny lub błędny tekst z repozytoriumNieaktualne komentarze, fragmenty README lub wygenerowane dokumenty wprowadzają w błąd przy odczycie plików.
Zbyt duże wklejeniaLogi lub fragmenty z szumem, ucięciami lub ukrytymi znakami trafiają do Wiadomości.
KondensacjaBob podsumowuje starsze Wiadomości. Przydatne szczegóły znikają. To, co zostaje, może zdominować sesję.
Nieistotny kontekstNiezwiązane pliki, stare plany lub poprzedni cel pracy nadal istnieją w transkrypcie.

Gdy zły kontekst trafi do Wiadomości, utrzymuje się przy każdym kolejnym prompcie. Bob nie ignoruje wiarygodnego tekstu tylko dlatego, że jest błędny.

Ograniczenia korygujących promptów

Wklejenie definicji narzędzi, reguł lub surowego korygującego promptu do rozmowy może maskować problem przez jedno lub dwa wymiany. Historia Wiadomości z zatruciem nadal tam jest. Następne pytanie nie na temat może przywrócić ten sam błąd.

Niezawodnym rozwiązaniem jest nowa sesja: zamknij i uruchom bob ponownie, aby zacząć od nowa. Czyści to zatrute Wiadomości, zachowując Reguły i pliki projektu na dysku.

Przywracanie

  • Rozpocznij nową sesję, zamykając Bob i uruchamiając bob ponownie. Czyści to zatrute Wiadomości, zachowując Reguły i pliki projektu na dysku.
  • Wklejaj mniej. Wysyłaj tylko te linie logów lub błędy, których Bob potrzebuje. Duże zrzuty zwiększają Wiadomości i wprowadzają więcej ryzyka.
  • Podziel cel pracy. Używaj oddzielnych sesji dla niezwiązanych kroków, aby nieaktualny transkrypt nie przechodził dalej.
  • Sprawdzaj wyjście narzędzi. Jeśli narzędzie zwraca bzdury, zatrzymaj się i zacznij nową sesję, zamiast pozwalać Bob budować na tym w Wiadomościach.
  • Ufaj testom, nie tekstowi. Gdy komentarze i kod się nie zgadzają, wskaż Bob na uruchamialne testy. To te same wskazówki co w najlepszych praktykach okna kontekstu.

Zapobieganie

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

  • Zdefiniuj cel pracy przed eksploracją repozytorium (zarządzanie oknem kontekstu).
  • Utrzymuj AGENTS.md i Reguły krótkie i operacyjne.
  • Dodawaj pliki i logi w razie potrzeby, nie z góry.
  • Resetuj, gdy Wiadomości rosną bez postępu.

Do czytania całego repozytorium używaj subagentów, aby sesja widziała wyniki subagentów, a nie każdy krok narzędzia w Wiadomościach.

Dowiedz się więcej

Jak oceniasz ten temat?