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 sesji | Udział | Czy Caveman to kompresuje? |
|---|---|---|
| system prompt + tools + CLAUDE.md | 15-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 logtrafia 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.