Optymalizacja kosztów kontekstu w agentach AI
ENOptymalizacja kosztów kontekstu w agentach programistycznych to zmniejszanie liczby tokenów na jedną zaakceptowaną zmianę, a nie ograniczanie korzystania z agenta. W Claude Code, Codeksie i Cursorze największe dźwignie to pomiar zużycia, wąski zakres zadania, mały kontekst startowy, czyszczenie między zadaniami i strojenie poziomu rozumowania (effort) przed zmianą modelu. Tańsza sesja liczy się tylko, gdy testy wciąż potwierdzają wynik.
Jest trzeci tydzień miesiąca. W tym tygodniu już dwa razy wyczerpałeś limit w Claude Code, a kolega na tym samym planie ma jeszcze zapas i dowozi tyle samo. Różnica rzadko polega na tym, jak często używa agenta: jego sesje po prostu wożą mniej balastu. Ta strona jest dla programistów, którzy chcą, żeby plan albo budżet API wystarczył na cały miesiąc, i dla tech leadów, którzy potrzebują punktu odniesienia dla wydatków zespołu bez utraty jakości.
Co zyskasz dzięki kontroli kosztów kontekstu
Dział zatytułowany „Co zyskasz dzięki kontroli kosztów kontekstu”- Sposób, żeby w każdym z trzech narzędzi zobaczyć, na co poszły tokeny w jednej sesji.
- Sześć promptów do skopiowania, które zawężają, grupują, delegują, audytują i porównują pracę agenta pod kątem kosztu.
- Tabelę doboru modelu i poziomu
effortzgodną z domyślnymi ustawieniami samych dostawców. - Limity wydatków dla uruchomień headless i CI oraz miarę kosztu na zaakceptowaną zmianę, która pokazuje, czy oszczędność nie odbyła się kosztem jakości.
Na co idą pieniądze w sesji agenta?
Dział zatytułowany „Na co idą pieniądze w sesji agenta?”Sesja agenta to nie jedno zapytanie. Każda tura wysyła od nowa prompt systemowy, CLAUDE.md lub AGENTS.md, listę narzędzi i całą dotychczasową rozmowę, razem z każdym przeczytanym plikiem i każdym wynikiem komendy. Każde wywołanie narzędzia dokłada kolejne zapytanie z tymi wynikami. Koszt rośnie więc jak rozmiar kontekstu pomnożony przez liczbę tur, a jednolinijkowe pytanie pod koniec długiej sesji wciąż płaci za wszystko, co jest nad nim.
O tym, ile z tego zapłacisz, decydują cztery mechanizmy:
- Cache promptów. Powtarzany kontekst jest rozliczany według znacznie niższej stawki za odczyt z cache, dopóki cache jest „ciepły”. Dokumentacja kosztów Anthropic (czytana we wrześniu 2026) podaje dla Claude Code godzinny czas życia cache na subskrypcji (pięć minut, gdy korzystasz już z kredytów za dodatkowe zużycie) i domyślnie pięć minut na kluczu API lub u dostawcy chmurowego, więc pierwsza wiadomość po dłuższej przerwie przetwarza cały kontekst od nowa.
- Tokeny myślenia. Rozumowanie jest rozliczane jak tokeny wyjściowe. Poziom
effortdecyduje, ile go model zużyje. - Subagenci i agenci równoległi. Każdy wysyła własne zapytania, niezależnie od twoich. Według dokumentacji Anthropic zespoły agentów (funkcja eksperymentalna, domyślnie wyłączona) zużywają mniej więcej siedem razy więcej tokenów niż zwykła sesja, gdy członkowie zespołu pracują w trybie planowania.
- Kompaktowanie. Streszczenie długiej rozmowy samo w sobie jest dużym zapytaniem. Nowy start przez
/clearnic nie kosztuje.
To, jak przekłada się to na pieniądze, zależy od sposobu płatności. Na subskrypcji (Claude Pro, Max, miejsca Team lub Enterprise; plany ChatGPT z Codeksem) zużycie uszczupla kroczące limity pięciogodzinne i tygodniowe, a marnotrawstwo oznacza wcześniejsze zderzenie z limitem. Na kluczu API albo we własnym kluczu (BYOK) każdy token to pozycja na fakturze. Ceny za token zmieniają się często, więc serwis trzyma je w jednym miejscu: na stronie porównania modeli. Dla skali: Anthropic podaje dla Claude Code w firmach średnio około 13 USD na programistę na aktywny dzień i 150–250 USD na programistę miesięcznie (dokumentacja kosztów Claude Code, sprawdzone 2026-09-26). Ceny planów i ich dopasowanie porównuje analiza cen.
Zmierz punkt wyjścia, zanim cokolwiek przytniesz
Dział zatytułowany „Zmierz punkt wyjścia, zanim cokolwiek przytniesz”Optymalizuj to, co widzisz. Wykonaj dwa lub trzy typowe zadania tak jak zwykle, a potem przeczytaj widok zużycia, zanim zmienisz jakikolwiek nawyk.
/usagepokazuje liczby tokenów w sesji i szacowany koszt według cennika, linięPrompt cache (main)z udziałem tokenów wejściowych obsłużonych z cache i liczbą chybień, a na planach Pro, Max, Team i Enterprise także rozbicie, które przypisuje ostatnie zużycie skillom, subagentom, pluginom i poszczególnym serwerom MCP./contextrysuje bieżący kontekst jako siatkę i wskazuje narzędzia oraz pliki pamięci, które zajmują najwięcej miejsca.- Pasek statusu może stale pokazywać zajętość kontekstu; zobacz okna kontekstu.
/statuspokazuje konfigurację bieżącej sesji i zużycie tokenów./usagepokazuje zużycie konta w pięciogodzinnym i tygodniowym oknie planu oraz pozwala wykorzystać reset limitu.- W uruchomieniach skryptowych
codex exec --jsonwypisuje strumień zdarzeń, razem ze zużyciem, jako JSONL, który możesz zapisywać dla każdego uruchomienia.
- Otwórz widok zużycia w panelu konta Cursora i porównaj zużycie tokenów według modeli z kilku dni normalnej pracy.
- Tryby Auto w Cursorze rozliczają się po cenie katalogowej modelu, do którego trafia dane żądanie, a modele zewnętrzne w planach Teams i Enterprise mają dodatkowo opłatę Cursor Token Rate (dokumentacja Cursora, sprawdzone 2026-10-12). Ceny planów są na cursor.com/pricing; wliczone zużycie czytaj z własnego panelu, a nie z opublikowanych tabel. Zarządzanie tokenami w Cursorze opisuje ustawienia specyficzne dla Cursora.
Zawęź zadanie, zanim agent zacznie eksplorować
Dział zatytułowany „Zawęź zadanie, zanim agent zacznie eksplorować”Nieukierunkowana eksploracja to największy koszt, którego da się uniknąć. „Napraw błąd w logowaniu” każe agentowi czytać każdy plik, który wygląda na powiązany. Wskazanie pliku, objawu i twojej hipotezy daje mu punkt startu i punkt zatrzymania.
| Prompt | Co agent robi najpierw | Ryzyko |
|---|---|---|
| „Coś jest nie tak z logowaniem, oto cały katalog auth” | Czyta wszystko, co wklejono, a potem szuka dalej | Wysoki koszt, niejasny cel |
„Napraw sporadyczny TokenExpiredError w src/auth/login.ts; podejrzewam rozjazd zegarów między token.ts a weryfikacją” | Czyta dwa pliki i sprawdza hipotezę | Może poprosić o jedną zależność i to jest w porządku |
Większość pracy robią cztery zasady: nazwij pliki, podaj hipotezę, nawet jeśli nie masz pewności, zdefiniuj, co znaczy „gotowe” (który test ma przejść), i łącz w jedno zlecenie tylko zmiany naprawdę ze sobą powiązane.
Utrzymuj mały kontekst ładowany na starcie
Dział zatytułowany „Utrzymuj mały kontekst ładowany na starcie”Za wszystko, co ładuje się na starcie sesji, płacisz w każdej turze każdej sesji. Trzy rzeczy rosną tam niepostrzeżenie.
-
Przytnij plik instrukcji. Zostaw w
CLAUDE.mdlubAGENTS.mdkomendy, konwencje i ograniczenia, które agent regularnie łamie. Anthropic zaleca, żebyCLAUDE.mdmiał mniej niż 200 linii. Reguły dotyczące konkretnych obszarów przenieś do zagnieżdżonych plików, które ładują się tylko wtedy, gdy agent pracuje w danym katalogu. Krótki, trafny plik oszczędza też tokeny, które agent wydałby na ponowne odkrywanie komend budowania i testów. Przycinanie plików kontekstu pokazuje, jak udowodnić, że każda linia jest warta swoich tokenów. -
Przenieś instrukcje procesów do skilli. Skill ładuje swoją treść dopiero po wywołaniu; na starcie agent widzi tylko nazwę i opis, co według specyfikacji Agent Skills zajmuje około 100 tokenów (specyfikacja agentskills, sprawdzone 2026-09-26). Checklista code review albo procedura migracji prawie nic nie kosztuje w dni, w które z niej nie korzystasz.
-
Odłącz nieużywane serwery MCP. Claude Code i Codex odkładają definicje narzędzi MCP przez wyszukiwanie narzędzi (tool search), więc bezczynny serwer kosztuje dużo mniej niż kiedyś, ale jego nazwa, instrukcje i każdy pobrany wynik narzędzia wciąż trafiają do kontekstu. Wyłącz to, czego nie potrzebujesz:
/mcpw Claude Code, a w Codeksie ustawenabled = false(albo wypisz tylko potrzebne narzędzia wenabled_tools) w sekcji[mcp_servers.NAME]plikuconfig.toml. Tam, gdzie wystarczy CLI, na przykładgh, wybierz je: nie dodaje żadnej listy narzędzi. Więcej w artykule jak zmniejszyć koszt tokenów MCP.
Czyść, kompaktuj lub deleguj między zadaniami
Dział zatytułowany „Czyść, kompaktuj lub deleguj między zadaniami”Za nieaktualny kontekst płacisz w każdej kolejnej turze. Gdy jedno zadanie się kończy, zdecyduj, czego następne z niego potrzebuje: niczego (wyczyść), streszczenia (skompaktuj) czy tylko wyniku (deleguj).
/clearzaczyna nową rozmowę z pustym kontekstem i nic nie kosztuje. Jeśli chcesz później wrócić do starej sesji przez/resume, najpierw nadaj jej nazwę przez/rename./compact Focus on the failing test and the files changedzostawia ukierunkowane streszczenie. Samo kompaktowanie to duże zapytanie, więc rób je świadomie, a nie co kilka tur.- Rozwlekłą pracę, taką jak pełny przebieg testów czy czytanie logów, oddaj subagentowi, żeby wróciło tylko jego podsumowanie. Tanich subagentów przypnij do mniejszego modelu przez
model: haikuwe frontmatterze subagenta; w przeciwnym razie mogą odziedziczyć model twojej sesji. Zobacz subagenci o wąskim zakresie. - Hook
PreToolUsemoże przepisywać komendy testowe tak, żeby wypisywały tylko błędy, co zamienia dziesiątki tysięcy tokenów wyniku udanych testów w kilkaset. Zobacz hooki jako zabezpieczenia.
/newzaczyna nowy czat w tej samej sesji;/compactstreszcza rozmowę, żeby nie dojść do limitu kontekstu./sideotwiera rozmowę poboczną w efemerycznym forku, co pasuje do szybkiego pytania, które nie powinno trafić do głównego wątku.- Żeby kontynuować wcześniejszą pracę bez ponownego tłumaczenia projektu, wznów ją:
codex resume --lastz powłoki (otwiera w TUI ostatnią sesję) albocodex exec resume --last "Now add rate limiting to the endpoints you created"ze skryptu. - Trzymaj
AGENTS.mdwarstwowo: krótki plik w katalogu głównym isrc/api/AGENTS.mdlubsrc/web/AGENTS.mdz regułami dla danego obszaru.
- Zaczynaj nowy czat dla każdego zadania, zamiast przeciągać czat z debugowania w nową funkcję.
- Wskazuj potrzebne pliki przez
@, zamiast pozwalać agentowi przeszukiwać cały projekt. - Eksplorację zlecaj subagentom, żeby wyniki wyszukiwania nie trafiały do głównego czatu, a reguły (Rules) trzymaj krótkie i zawężone tak samo jak plik instrukcji.
Najpierw poziom effort, dopiero potem model
Dział zatytułowany „Najpierw poziom effort, dopiero potem model”Zasada, której trzyma się ten serwis, wzięta z zaleceń samych dostawców: zacznij od domyślnego modelu narzędzia, najpierw dostrój poziom effort, a model zmieniaj dopiero wtedy, gdy uzasadniają to twoje własne ewaluacje. Dokumentacja Claude Code podaje, że Opus 5.5 na poziomie medium dorównuje Opusowi 5 na high lub go przewyższa, dlatego obniżenie poziomu effort przy rutynowej pracy jest zwykle pierwszą dźwignią kosztu, a nie przełącznik modelu.
| Zadanie | Claude Code | Codex |
|---|---|---|
| Trudne zadania agentowe (domyślnie) | Claude Opus 5.5 z domyślnym poziomem effort medium; podnoś przez /effort high tylko wtedy, gdy zadanie tego wymaga | GPT-6.1 Sol, domyślny model (domyślny poziom effort: low) |
| Codzienna praca | Opus 5.5 z domyślnym poziomem effort albo Claude Sonnet 5.5, gdy liczy się koszt | GPT-6.1 Sol (domyślny) |
| Tania praca w dużej skali (klasyfikacja, ekstrakcja, proste edycje, wielu subagentów) | Claude Haiku 5.5 (w Claude Code od v2.1.293, kanał latest na 2026-10-12) | GPT-6 Luna |
| Najdłuższe zadania i najtrudniejsze rozumowanie, wybierane świadomie | Claude Fable 5.1 (/model fable), nigdy domyślny, może być rozliczany z kredytów | GPT-6 Astra, wybierany ręcznie, z wyższym poziomem effort |
Potrzebne komendy: w Claude Code /model i /effort w sesji albo claude --model sonnet --effort low przy starcie. W Codeksie /model wybiera jednocześnie model i poziom rozumowania (effort); przy starcie użyj codex -m gpt-6-luna albo codex -c model_reasoning_effort="low". Domyślne ustawienia Claude Code z tabeli obowiązują od v2.1.280 na obu kanałach wydań (sprawdzone 2026-10-12), więc sprawdź /model, zamiast zakładać. Cursor nie wskazuje jednego modelu domyślnego, a ceny modeli są na jego stronie o modelach i cenach (sprawdzone 2026-10-12); tę samą ewaluację zastosuj do modeli dostępnych w twoim planie. Aktualne ceny wszystkich modeli są na stronie porównania modeli, a routing modeli zamienia tę tabelę w politykę zespołu.
Łącz powiązane zmiany w jedno zlecenie
Dział zatytułowany „Łącz powiązane zmiany w jedno zlecenie”Każde osobne zapytanie ładuje od nowa bazowy kontekst: instrukcje, listę narzędzi i historię. Trzy małe prompty dotykające tych samych plików zwykle kosztują więcej niż jeden, który robi wszystkie trzy rzeczy, ale tylko wtedy, gdy praca jest naprawdę powiązana. Nie ma stałego mnożnika, więc porównaj widok zużycia przed i po.
Ogranicz wydatki w uruchomieniach headless i w CI
Dział zatytułowany „Ogranicz wydatki w uruchomieniach headless i w CI”Automatyzacja mnoży koszt, bo każdy pull request czy harmonogram startuje nową sesję, której nikt nie pilnuje. Ustaw twardy limit tam, gdzie narzędzie go oferuje, i tańszy model tam, gdzie pozwala na to jakość.
- Claude Code:
claude -pprzyjmuje--max-budget-usd, które zatrzymuje uruchomienie w trybie print po przekroczeniu kwoty w dolarach (na przykładclaude -p --max-budget-usd 2 --model sonnet "Summarize this diff for the PR description"). Flaga działa tylko z--print. - Codex:
codex execnie ma flagi budżetu w wersji 0.157.1 (sprawdzone 2026-09-26). Ogranicz go modelem (-m gpt-6-lunado triażu), limitem czasu joba w CI i limitami wydatków na kluczu API lub w workspace. - Każdy dostawca: ustaw limity wydatków na kluczach API używanych przez automatyzację, żeby zapętlony proces uderzył w sufit, a nie w fakturę.
Tanie, ograniczone zadania (opisy PR, etykiety triażu) uruchamiaj przy każdym pull requeście; szerokie (analiza całego repozytorium) według harmonogramu, a nie dla każdego PR. Agenci w CI powinni mieć dostęp tylko do odczytu, chyba że job musi zapisywać, a sekrety pobieraj z magazynu sekretów CI; bezpieczną konfigurację pokazuje strona potoki CI/CD.
Jak udowodnić, że tańsza konfiguracja nie obniżyła jakości?
Dział zatytułowany „Jak udowodnić, że tańsza konfiguracja nie obniżyła jakości?”Sama liczba tokenów to zły cel. Śledź koszt na zaakceptowaną zmianę: tokeny lub dolary wydane na daną klasę zadań podzielone przez zmiany, które zostały scalone i przeszły CI bez poprawki w ciągu dwóch tygodni. Ustawienie, które o połowę zmniejsza tokeny, ale podwaja poprawki, pogorszyło sytuację.
Żeby sprawdzić zmianę modelu, poziomu effort lub kontekstu bez czytania każdego diffa:
- Ustal zestaw zadań. Wybierz pięć do dziesięciu niedawnych zadań jednej klasy o znanym, dobrym wyniku.
- Oceniaj bramkami, nie wrażeniem. Uruchomienie zalicza się tylko wtedy, gdy przechodzą sprawdzanie typów, lint i odpowiednie testy, a agent do code review albo ciągłe ewaluacje nie zgłaszają nowych problemów.
- Porównuj zużycie i odsetek zaliczonych razem, na podstawie
/usage,/statusalbo panelu Cursora, i przez dwa tygodnie obserwuj odsetek poprawek w scalonych zmianach. - Zapisz decyzję. Tech lead zatwierdza nowe ustawienie domyślne dla tej klasy zadań i notuje dowody, żeby przy następnym wydaniu modelu przetestować go na tym samym zestawie.
Etap testów w cyklu życia opisuje pętlę weryfikacji, do której podpinają się te bramki.
Kiedy optymalizacja kosztów kontekstu się mści
Dział zatytułowany „Kiedy optymalizacja kosztów kontekstu się mści”Najtańszy model dostaje trudne zadanie. Wynik wymaga trzech rund poprawek i kosztuje więcej niż model domyślny. Wyjście: dobieraj model według klasy zadań z tabeli powyżej, a o obniżeniu decyduje bramka A/B, nie cennik.
Kompaktowanie gubi ograniczenie. Po /compact agent wraca do podejścia, które wcześniej odrzuciłeś. Wyjście: trwałe ograniczenia zapisuj w pliku instrukcji, a nie w czacie, i dawaj /compact instrukcję, na czym się skupić. Co przetrwa streszczenie, opisują okna kontekstu.
Długa przerwa podraża następną wiadomość. Cache wygasł i cały kontekst jest przetwarzany od nowa. Wyjście: po przerwie wyczyść sesję albo zacznij nową, jeśli nie potrzebujesz historii; na planach Claude Code Pro i Max przyjmij propozycję wznowienia od streszczenia.
Wielu subagentów po cichu mnoży zużycie. Agenci równolegli mają własny kontekst i własne zapytania. Wyjście: sprawdź rozbicie zużycia w /usage, przypnij subagentów do mniejszego modelu i dziel równoległą pracę na małe, samodzielne zadania.
Job headless zapętla się na noc. Wyjście: --max-budget-usd w claude -p, limity czasu CI dla codex exec i limity wydatków na każdym kluczu automatyzacji.
Nikt w zespole nie widzi wydatków. Nikt nie zoptymalizuje czegoś, czego nie widzi. Wyjście: omawiajcie widoki zużycia na retrospektywach, a tech lead niech śledzi koszt na zaakceptowaną zmianę dla każdej klasy zadań. Przypisywanie kosztów i budżety w skali organizacji opisuje zarządzanie kosztami.
Ręcznie optymalizujesz każdy prompt. Dziesięć minut szlifowania promptu, żeby oszczędzić kilka tysięcy tokenów, kosztuje więcej, niż daje. Wyjście: popraw kilka największych źródeł kosztu z pomiaru wyjściowego (zakres, rozmiar pliku instrukcji, bezczynny kontekst, model i poziom effort) i na tym poprzestań. Jeśli przy dobrze zawężonej pracy wciąż wyczerpujesz limity, plan jest za mały: oceniaj plan po zaakceptowanych wynikach, zaoszczędzonym czasie i liczbie poprawek, i przejdź wyżej, gdy limit kosztuje cię więcej niż wyższy próg.