BlogKoszty

Jak kontrolować kontekst, który agent kodujący wnosi do zadania

Zmniejszaj kontekst, przenosząc to, co ważne tylko czasem, poza warstwę ładowaną zawsze, a nie usuwając to: procedury do skilli albo reguł wczytywanych na żądanie, konwencje pakietów do plików zawężonych do ścieżek, obszerne wyniki narzędzi za filtry albo do subagentów. Kilka ograniczeń, które muszą obowiązywać wszędzie, zostaw w warstwie ładowanej zawsze, krytyczne zabezpiecz sprawdzeniami poza kontekstem, a koszt i wyniki porównaj na tych samych zadaniach przed zmianą i po niej.

Zaktualizowano

Dlaczego kontekst kosztuje podwójnie

Dokumentacja kosztów Claude Code mówi, że koszt tokenów rośnie z rozmiarem kontekstu, a sesja przy każdym żądaniu wysyła całą rozmowę. Prompt caching sprawia, że powtarzana część jest tańsza, ale nie darmowa, a pierwsza wiadomość po wygaśnięciu cache'u przetwarza cały kontekst od nowa.

Drugi koszt to jakość. Artykuł Anthropic o context engineering opisuje context rot: wraz ze wzrostem liczby tokenów spada zdolność modelu do przywoływania informacji z tego kontekstu. Zaleca się najmniejszy zestaw wartościowych tokenów, który czyni pożądany wynik prawdopodobnym. Więcej instrukcji może więc oznaczać gorsze przestrzeganie tych, które naprawdę mają znaczenie.

Wiedz, co wczytuje się przed pierwszym promptem

Zacznij od inwentaryzacji dla każdego narzędzia. W Claude Code pliki CLAUDE.md, auto memory, nazwy narzędzi MCP i opisy skilli wczytują się, zanim cokolwiek wpiszesz, a /context pokazuje bieżący podział. Definicje narzędzi MCP są domyślnie odkładane, więc do czasu użycia narzędzia do kontekstu trafiają tylko nazwy i instrukcje serwera. W Cursorze reguły stosowane zawsze są na początku kontekstu, CLAUDE.md jest stosowany zawsze, a plik wskazany w regule przez @ jest czytany dopiero w razie potrzeby, a nie wklejany.

Przypisz każdą instrukcję do poziomu

  • Zawsze wczytywane: ograniczenia obowiązujące w każdej sesji, których agent nie wywnioskuje z kodu, na przykład komendy budowania i testów, ścieżki, których nigdy nie wolno mu edytować, i zasady bezpieczeństwa. Ta warstwa ma być krótka.
  • Zawężone do ścieżek: konwencje jednego pakietu lub typu plików, w zagnieżdżonych plikach instrukcji albo regułach ze ścieżkami lub globami, które wczytują się, gdy agent dotyka pasujących plików.
  • Na żądanie: procedury, takie jak pisanie migracji albo przygotowanie wydania, jako skille wczytywane tylko po wywołaniu albo gdy zostaną uznane za istotne.
  • Nigdzie: wszystko, co agent może odczytać z samego kodu, i wszystko, co już egzekwuje linter albo CI.

Ograniczenie, które musi obowiązywać niezależnie od kontekstu, należy dodatkowo do uprawnień, hooków albo CI. Claude Code traktuje pliki instrukcji jako kontekst, a nie konfigurację, więc skrót, który usuwa regułę z kontekstu, nie może być jedyną rzeczą między agentem a chronioną ścieżką.

Pułapka długich sesji

Przeniesienie instrukcji do zakresów na żądanie zmienia to, kiedy są obecne. Dokumentacja Claude Code opisuje, co dzieje się przy kompaktowaniu: CLAUDE.md z katalogu głównego projektu i reguły bez ścieżek są ponownie wstrzykiwane z dysku, ale reguły zawężone do ścieżek i zagnieżdżone pliki CLAUDE.md zostają streszczone i wracają dopiero wtedy, gdy agent znów przeczyta pasujący plik. Treść wywołanych skilli wraca obcięta do 5 000 tokenów na skill i 25 000 łącznie, z zachowaniem początku każdego pliku.

Reguła, która musi obowiązywać przez całą sesję, nie powinna więc być zawężona do ścieżek, a najważniejsze linie skilla powinny być na górze. Dokumentacja mówi to samo: jeśli reguła musi przetrwać kompaktowanie, usuń jej ścieżki albo przenieś ją do pliku w katalogu głównym.

Dźwignie poza plikami instrukcji

  • Filtruj wyniki narzędzi, zanim zobaczy je agent. Dokumentacja Claude Code pokazuje hook, który ogranicza wynik testów do błędów.
  • Przekazuj obszerną pracę, na przykład analizę logów, subagentowi, który zwraca podsumowanie. Jego własne żądania nadal liczą się do zużycia, więc odchudza to główny kontekst, ale niekoniecznie obniża rachunek.
  • Wyłączaj nieużywane serwery MCP i wybieraj CLI tam, gdzie istnieje, co dokumentacja opisuje jako oszczędniejsze dla kontekstu.
  • Czyść sesję między niepowiązanymi zadaniami, bo stara rozmowa jest wysyłana z każdą wiadomością.

Zmierz skrót na tych samych zadaniach

Hipotetyczne sprawdzenie dla jednego repozytorium: odtwórz 20 zmergowanych zadań z obecną i z odchudzoną konfiguracją, po trzy razy. Każde uruchomienie startuje w izolowanej kopii, której historia kończy się przed zmianą, bez późniejszych refów, remote'ów, cache'y, pamięci i plików z wcześniejszych prób oraz bez dostępu sieciowego do zmergowanego rozwiązania. Agent widzi istniejące testy, a testy akceptacyjne dodane z każdą zmianą są wstrzymane do oceny. Zapisz koszt zaliczonego zadania, odsetek zaliczeń na wstrzymanych testach i liczoną skryptem liczbę naruszeń ograniczeń, na przykład edycji ścieżek z kodem generowanym. Przyjmij odchudzoną konfigurację, jeśli naruszeń nie przybywa, a odsetek zaliczeń mieści się w progu ustalonym wcześniej. Jeśli próba jest za mała, by to ocenić, wynik jest nierozstrzygnięty i zostajesz przy obecnej konfiguracji.

Pytania

Czy większe okno kontekstu rozwiązuje problem?

Przesuwa granicę, a nie kompromis. Anthropic zakłada, że okna kontekstu każdej wielkości nadal będą podatne na zanieczyszczenie kontekstu, a każdy dodatkowy token w sesji jest dalej wysyłany ponownie i rozliczany.

Czy prompt caching sprawia, że duże pliki instrukcji są darmowe?

Nie. Tokeny z cache'u są rozliczane po niższej stawce, po przerwie chybienie cache'u oznacza ponowne przetworzenie wszystkiego, a na koszt jakościowy zatłoczonego kontekstu caching nie wpływa.

Które instrukcje nigdy nie powinny opuszczać warstwy ładowanej zawsze?

Te, których naruszenie jest kosztowne i trudne do wychwycenia w review, na przykład ścieżki, których nie wolno edytować, albo komendy, których nie wolno uruchamiać. Egzekwuj je też w uprawnieniach albo CI, żeby instrukcja była przypomnieniem, a nie mechanizmem kontroli.

Porozmawiaj z inżynierem

Przyjdź z jednym zadaniem, które chcesz usprawnić. Rozmowa trwa 30 minut i nie wymaga dostępu do twoich systemów ani danych.

Rezerwacja odbywa się w Kalendarzu Google.

Wolisz najpierw napisać? Zostaw adres e-mail i kilka zdań, a odpowiemy, proponując terminy.

Przycisk przygotowuje e-mail w twoim własnym programie pocztowym, a wysyłasz go samodzielnie. Polityka prywatności (wersja robocza)