Kontekst napędza koszt
Każdy plik, prompt i poprzednia tura są wysyłane ponownie przy każdej wiadomości. Rozdęty kontekst obciąża każdą turę, nie tylko pierwszą.
Twój rachunek za Claude Code po cichu urósł i nie potrafisz powiedzieć dlaczego. Jedna sesja przeskanowała całe repo, inna utrzymywała przy życiu przestarzały kontekst 80 plików przez tuzin niepowiązanych pytań, a szybkie „napraw lint” zamieniło się w odczyt całego drzewa. Lekarstwem nie jest używanie Claude rzadziej — jest karmienie go mniejszą porcją. Mniejszy, ostrzejszy kontekst jest tańszy i daje lepsze odpowiedzi, bo model nie rozprasza uwagi na plikach, które nie mają znaczenia.
/context, /clear, /compact, --add-dir i CLI zamiast MCPKoszt skaluje się z rozmiarem kontekstu: im więcej Claude czyta w każdej turze, tym więcej płacisz. Dwie rzeczy działają na Twoją korzyść automatycznie, a jedno powszechne założenie nie jest już prawdą.
Kontekst napędza koszt
Każdy plik, prompt i poprzednia tura są wysyłane ponownie przy każdej wiadomości. Rozdęty kontekst obciąża każdą turę, nie tylko pierwszą.
Cache'owanie jest automatyczne
Claude Code cache’uje stabilną treść (prompt systemowy, powtarzający się kontekst) i nalicza za nią z dużą zniżką. Nie włączasz tego — ale możesz to zepsuć.
Kompaktowanie jest automatyczne
Gdy zbliżasz się do limitu kontekstu, Claude Code podsumowuje za Ciebie starszą historię. Możesz tym sterować przez /compact.
Kontekst 1M nie jest darmowy
Fable 5, Opus 4.8 i Sonnet 4.6 mają okna 1M tokenów (Haiku 4.5 ma 200K). Większe okno usuwa twardy sufit, ale wciąż płacisz za token — dyscyplina nadal ma znaczenie.
Nie zoptymalizujesz tego, czego nie widzisz. Pierwszy ruch w każdej sesji, która wydaje się droga, to spojrzeć na to, co faktycznie jest załadowane.
/context wewnątrz REPL claude, aby zwizualizować, co zjada okno — pliki, definicje narzędzi MCP, historię rozmowy./cost, aby zobaczyć zużycie tokenów i wydatki bieżącej sesji.Jeśli /context pokazuje, że serwery MCP zjadają dużą część, zanim cokolwiek zrobiłeś, to szybka wygrana — zobacz sekcję o modelu i MCP poniżej.
Największe oszczędności biorą się z nieładowania tego, czego nie potrzebujesz. Claude Code przyjmuje Twój prompt pozycyjnie; nie przyjmuje ścieżek plików ani katalogów jako argumentów pozycyjnych. Aby poszerzyć jego zasięg, użyj --add-dir; aby utrzymać go wąskim, po prostu powiedz w promptcie, które pliki mają znaczenie, a resztę zrobi agentic search.
# Źle: ścieżki nie są argumentami pozycyjnymi# claude "refactor auth" auth/ middleware/ utils/
# Dobrze: nazwij punkt wejścia w promptcie; Claude eksploruje od niegoclaude "Analyze the auth flow starting from src/auth/core.ts and tell me wheresession validation happens."
# Dobrze: świadomie poszerz dostęp dla monorepoclaude --add-dir ../apps ../lib "Update the shared logger and every app that uses it."Następnie zarządzaj kontekstem przez całą sesję:
Czyść między niepowiązanymi zadaniami. /clear porzuca przestarzały kontekst, więc nie płacisz za ponowne wysyłanie plików poprzedniego zadania przy każdej nowej wiadomości.
Kompaktuj ze skupieniem, gdy musisz iść dalej. /compact Focus on the files we changed and the API contract podsumowuje historię, zachowując to, co istotne.
Sprawdź ponownie przez /context po dużych fazach, aby potwierdzić, że okno jest naprawdę szczupłe.
Automatyczne cache’owanie promptów pomaga tylko wtedy, gdy zacache’owany prefiks pozostaje stabilny. Najszybszy sposób na wyrzucenie zniżki to zmiana wczesnego, stabilnego kontekstu — przestawianie kolejności plików, podmiana promptu systemowego albo edycja pliku siedzącego blisko początku kontekstu — co unieważnia wszystko zacache’owane po nim.
Praktyczne reguły:
/clear) zamiast przetasowywać bieżącą. Czysta karta cache’uje się czysto.CLAUDE.md, aby był częścią zacache’owanego kontekstu systemowego, a nie był wklejany doraźnie za każdym razem.Niejasne prompty produkują rozwlekłe, eksploracyjne odpowiedzi; konkretne prompty dostają konkretne odpowiedzi i czytają mniej plików. Bądź zdecydowany co do zakresu i formatu wyjścia.
Refactor the auth middleware from the old-jwt library to new-jwt. Keep the public APIidentical. Change only src/middleware/auth.ts and its test. Reply with the diff, no prose.Bug: intermittent "Invalid token format" on mobile login.Likely site: JWT validation in src/mobile-auth.ts around line 42.Read only that file and its direct imports. Show the corrected function and a one-lineexplanation. Don't refactor anything else.Implement Redis caching for getThing():- check cache, on miss fetch + store with a 5-minute TTL- TypeScript, with error handling for a Redis outage (fail open to the source)Write the implementation and one test. Code first, brief notes after.Dopasuj model do zadania. Sonnet 4.6 obsługuje większość pracy z kodem niższym kosztem; rezerwuj Opus 4.8 do naprawdę trudnego rozumowania; sięgaj po Fable 5, gdy prędkość i jakość ważą więcej niż koszt — złożone refaktoryzacje wieloplikowe, budowanie od zera lub długotrwałe zadania wymagające szczytowej inteligencji; używaj Haiku 4.5 do błahych, masowych edycji. Przełączaj się w trakcie sesji przez /model albo ustaw to z góry.
Zmienna środowiskowa to ANTHROPIC_MODEL (nie CLAUDE_MODEL), a możesz użyć albo aliasu, albo pełnego ID modelu:
# Aliasy — najprostszeclaude --model sonnet "refactor the authentication system"claude --model haiku "fix the typo in README.md"
# Pełne ID przez zmienną środowiskową, np. dla najgłębszego przegląduANTHROPIC_MODEL=claude-opus-4-8 claude "Security-audit the auth module for token handling bugs."
# Fable 5 do najtrudniejszych zadań (2× koszt Opus; subagenci nadal automatycznie działają na Opus/Sonnet/Haiku)claude --model fable "Rebuild the payment flow — design, implement, and test end-to-end."Prawidłowe aliasy to haiku, sonnet, opus i fable; odpowiadające im pełne ID to claude-haiku-4-5, claude-sonnet-4-6, claude-opus-4-8 i claude-fable-5. Dla subagentów ustaw model: haiku w konfiguracji subagenta, aby tani pomocnicy nie działali na drogim modelu. Zobacz porównanie modeli po pełne zestawienie możliwości i cen.
Serwery MCP dodają definicje narzędzi do Twojego kontekstu w każdej turze, niezależnie od tego, czy ich używasz. Jeśli /context pokazuje, że zajmują miejsce, to darmowe pieniądze:
gh, aws, gcloud i sentry-cli nie kosztują trwałego kontekstu — Claude po prostu je uruchamia. Serwer MCP do tego samego zadania siedzi w kontekście bezczynnie./mcp, aby wylistować skonfigurowane serwery, i wyłącz te, których nie używasz w tej sesji.ERROR, zanim Claude go zobaczy, może obciąć dziesiątki tysięcy tokenów do setek. Skill „codebase-overview” wręcza Claude Twoją architekturę bezpośrednio, zamiast kazać mu czytać tuzin plików, aby ją wywnioskować.Do pracy interaktywnej /cost i status line wystarczą. Do uruchomień skryptowych lub CI wyciągnij ustrukturyzowane zużycie z trybu print, zamiast grepować interaktywne wyjście (które nie emituje linii per-token):
# Ustrukturyzowane zużycie + wynik, czytelne maszynowoclaude -p --output-format json "summarize today's changes" | jq '.usage, .total_cost_usd'
# Twardy sufit budżetu dla zautomatyzowanego uruchomienia — zatrzymuje się, zanim przekroczyclaude -p --max-budget-usd 2.00 "fix all type errors in src/"--max-budget-usd i --output-format json to flagi trybu print (-p). Dla bieżącej widoczności w całym zespole analityka zużycia Claude Code oraz metryki OpenTelemetry raportują wydatki na tokeny w czasie — podłącz je do swoich dashboardów zamiast ręcznie parsować logi.