---
title: "Caveman Claude a rzeczywistość: co pokazuje README, a co tsbench"
description: "README Cavemana mówi o 65-75% redukcji. Issue"
author: Maciej Olszewski
date: 2026-05-07
tags:
  - claude-code
  - ai
url: "https://inprojects.ai/blog/claude-code-caveman-liczby/"
language: pl
---

# Caveman Claude a rzeczywistość: co pokazuje README, a co tsbench

> README Cavemana mówi o 65-75% redukcji. Issue

> 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](https://inprojects.ai/blog/claude-code-oszczedzanie-tokenow/).

## Co dokładnie jest w README

Na stronie [juliusbrussee/caveman](https://github.com/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](https://github.com/JuliusBrussee/caveman/issues/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 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:

```markdown
# 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](https://inprojects.ai/blog/claude-code-rtk-konfiguracja/): 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](https://inprojects.ai/blog/claude-code-oszczedzanie-tokenow/). Konkretne narzędzia, które oszczędzają więcej: [RTK](https://inprojects.ai/blog/claude-code-rtk-konfiguracja/) i [Claude Context offline](https://inprojects.ai/blog/claude-code-context-offline/).
