Caveman Claude ma 41 000 gwiazdek, #1 na Hacker News i omówienia w Decrypt. I liczbę “75% oszczędności” w każdym miejscu, w którym się o nim pisze. Tyle że to liczba z wybranego wycinka tokenów wyjściowych, a nie z całej sesji. Realny wpływ: 4-10%. Tu pokazuję, skąd ta rozbieżność i kiedy Caveman faktycznie ma sens.

Wracamy do głównego artykułu: Claude Code: jak przestać palić tokeny.

Co dokładnie jest w README

Na stronie juliusbrussee/caveman są dwie liczby. Tytuł repo: ”🪨 why use many token when few token do trick - Claude Code skill that cuts 65% of tokens by talking like caveman”.

Sekcja benchmark podaje średnio 65% oszczędności na tokenach wyjściowych (output tokens), zakres 22-87%, 10 zadań testowych, tokenizer tiktoken, model Claude API. Tweety i omówienia prasowe podciągają to do okrągłych 75%.

Obie liczby są prawdziwe, ale tylko w kontekście, w jakim zostały zmierzone. A ten kontekst mocno odbiega od typowej sesji Claude Code.

Issue #234: co zarzuca Kanevry

Issue #234, otwarty od tygodni, nierozwiązany. Zgłaszający (Kanevry) pobrał repo ewaluacyjne autora (evals/snapshots/results.json) i przeliczył dane inaczej.

Autor porównuje Cavemana z domyślnym Claude’em. Ale w danych jest też wariant __terse__, czyli zwykły prompt “be concise, no pleasantries, no filler”. To jest właściwa grupa kontrolna: jeśli chcesz zmierzyć, co Caveman daje ponad prosty prompt o zwięzłość, porównaj go z __terse__, a nie z rozwlekłym wariantem domyślnym.

Wynik Kanevry’ego:

  • Caveman vs domyślny Claude: -65% (tak jak podaje README)
  • Caveman vs __terse__ (poprawna kontrola): mediana -50%

Czyli połowę oszczędności Cavemana dałby zwykły prompt “bądź zwięzły”. Druga połowa to wartość dodana struktury “jaskiniowca” (równoważniki zdań, bez rodzajników).

-50% względem __terse__ to nadal sporo. Ale to nie jest -75% z marketingu.

Dlaczego “proza to ~25% sesji”

Druga warstwa problemu: nawet -50% na tokenach wyjściowych prozy nie przekłada się liniowo na oszczędność w sesji. Sesja Claude Code dzieli się mniej więcej tak (mój pomiar na trzech różnych typach zadań, estymacja tiktoken):

Składnik sesjiUdziałCzy Caveman to kompresuje?
system prompt + tools + CLAUDE.md15-25%nie (bazowe obciążenie)
historia konwersacji (ponowne czytanie)20-40%tylko częściowo
wyjścia narzędzi (git, testy, cat)25-45%nie (to kod/dane, nie proza)
wyjście Claude’a (proza, wyjaśnienia)15-30%tak
thinking tokens (extended thinking)5-20%nie

Caveman łapie tylko prozę w odpowiedzi modelu, czyli 15-30% sesji. Jeśli na tym kawałku oszczędzi 50% (po skorygowaniu do uczciwego punktu odniesienia), to:

0.5 × 0.25 = 0.125, czyli ~12,5% całej sesji

To wariant optymistyczny. Pesymistyczny: 4-8%. Pokrywa się to z niezależnymi analizami na Medium i blogach, których autorzy próbowali odtworzyć ten benchmark na realnych sesjach.

Czego Caveman nie robi

Zanim zainstalujesz, sprawdź te punkty:

  • Nie tyka kodu. Kod, ścieżki, URL-e, komendy, nagłówki zostają nietknięte. To dobrze (nie psuje wyjścia), ale ogranicza zasięg.
  • Nie tyka thinking tokens. Extended thinking jest wewnętrzny dla modelu, Caveman nic z tym nie zrobi.
  • Nie tyka wyjścia narzędzi. git log trafia do Claude’a taki sam, bo to narzędzie, nie model.
  • Nie skraca historii ponownego czytania. Kontekst rośnie tak samo, tylko odpowiedź w każdej turze jest trochę krótsza.

Jedyny mierzalny punkt styku to tekst, który model wypluwa po kompresji. Reszta sesji idzie “obok”.

Kiedy Caveman faktycznie pomaga

Tak, są typy zadań, w których to ma sens:

  • Długie wyjaśnienia architektoniczne, gdy Claude na pół strony tłumaczy, czemu polecił X zamiast Y
  • Code review: Caveman tnie “Let me explain what I see in this code…” do “Look: auth missing rate limit. Fix: middleware layer. Test: simulate 1000 req/s.”
  • Dyskusje planistyczne, gdy planujesz funkcjonalność, a Claude ma skłonność do rozwlekania
  • Programowanie w parach w trybie konwersacyjnym, gdzie długość odpowiedzi ma znaczenie, bo czytasz ją na bieżąco

Tu oszczędność jest wyraźna i widoczna od razu. Subiektywnie też lepiej się to czyta: styl równoważników zdań pasuje do debugowania i rozwiązywania problemów.

Typy zadań, w których Caveman jest prawie niewidzialny:

  • Implementacja z testami: dominują wywołania narzędzi i kod
  • Debugowanie błędów uruchomieniowych: wyjście to głównie stacktrace’y, nie proza
  • Migracje: kod, kod i jeszcze raz kod, prawie zero prozy

Porównanie z prostym promptem

Zanim zainstalujesz pluginy, hooki i skills, sprawdź, czy samym promptem nie osiągniesz porównywalnego efektu. Dodaj do CLAUDE.md:

# Response style
- Be concise. Fragments OK.
- No preamble, no pleasantries, no "Let me...", no "I'll...".
- Skip explanations unless I ask.
- Technical substance exact. Drop filler.

To daje realnie ~50-60% tego, co Caveman, bez instalacji, bez hooków i bez ryzyka Ultra "slips" (Issue #233: w długich sesjach poziom Ultra “wycieka” i Claude wraca do normalnego stylu).

Jeśli po tym eksperymencie chcesz jeszcze mocniej, Caveman jest krokiem dalej. Ale zacznij od promptu.

Tryb Wenyan, ciekawostka z gwiazdką

Caveman ma poziom wenyan, czyli klasyczną chińszczyznę. Wenyan to wariant literacki, znacznie bardziej skondensowany niż mandaryński, każdy znak niesie więcej znaczenia. Claude potrafi używać go poprawnie i teoretycznie kompresja jest większa niż w angielskim Ultra.

Problemy:

  • Jeśli nie czytasz po chińsku, czytasz własne wyjście przez translator
  • Czasem model miesza wenyan z mandaryńskim albo japońskim kanji
  • Dla zadań technicznych (Rust lifetimes, TypeScript generics) znaki chińskie nie są oczywistym medium opisu

To bardziej ciekawostka niż praktyczna funkcja. Ale jeśli czytasz po chińsku, sprawdź.

Co instaluję razem z Cavemanem

Jeśli już decydujesz się na Cavemana, nie zatrzymuj się na nim samym. Połącz go z czymś, co faktycznie robi ciężką robotę:

  • Caveman + RTK: Caveman tnie prozę, RTK tnie wyjście narzędzi. Razem dają 30-50% łącznej oszczędności.
  • Caveman + Context Mode: Caveman tnie wyjście modelu, Context Mode tnie dane wchodzące. Uzupełniają się.
  • Caveman sam: dla dyskusji architektonicznych i code review to wystarcza.

Czego nie robić: instalować Cavemana, Token Optimizer MCP i Token Optimizer (alexgreensh) jednocześnie. Powstaje konflikt hooków, a Caveman sam już modyfikuje instrukcję systemową.

Werdykt

Caveman nie jest oszustwem. Ma mierzalny efekt, jest na licencji MIT, dobrze utrzymywany, a instalacja to dwie komendy. Problem jest tylko z liczbami w marketingu.

Realistyczne oczekiwania:

  • Oszczędność wyłącznie na prozie w odpowiedzi modelu
  • ~50% na tym wycinku względem wariantu kontrolnego “bądź zwięzły”
  • ~12% całej sesji w optymistycznym wariancie
  • Najlepiej widoczny na sesjach dyskusyjnych, nie implementacyjnych

Jeśli wchodzisz z nastawieniem “75% oszczędności”, będziesz rozczarowany. Jeśli wchodzisz z nastawieniem “ciekawa modyfikacja stylu, oszczędność przy okazji, fajnie się czyta”, dostaniesz to, po co przyszedłeś.


Wracając do głównego artykułu: Claude Code: jak przestać palić tokeny. Konkretne narzędzia, które oszczędzają więcej: RTK i Claude Context offline.