JetBrains mówi nie, mój komputer mówi 11,6 miliona
W lipcu 2026 JetBrains wydał około 320 $ kredytów API — 425 płatnych przebiegów — żeby sprawdzić rtk, proxy powłoki, które dziesiątki tysięcy programistów instalują dla oszczędności tokenów w Claude Code. Werdykt: sesje wyszły o 7,6% drożej w przeliczeniu na zadanie. Dwa tygodnie wcześniej ten sam zespół zmierzył caveman, skill reklamowany jako cięcie 65% tokenów, i uzyskał 8,5%. A na moim komputerze rtk gain raportuje 11,6 miliona zaoszczędzonych tokenów na 25 599 poleceniach.
Obie serie liczb są prawdziwe. Po prostu nie mierzą tego samego: jedna to koszt ukończonego zadania, druga to bajty wyjścia basha.
| Liczba | Co mierzy | Źródło |
|---|---|---|
| +7,6% na zadanie (p=0,004) | Całkowity koszt zadania z zainstalowanym rtk | JetBrains, 425 przebiegów, ~320 $ |
| 8,5% tokenów wyjściowych | Zmierzona oszczędność caveman w pracy agentowej | JetBrains, 82 sparowane zadania |
| 65% | Oszczędność deklarowana przez caveman | README caveman |
| 11,6 mln zaoszczędzone (41,6%) | Bajty wyjścia basha skompresowane przez rtk | rtk gain, 25 599 poleceń |
Oto ten stos czterech narzędzi: graphify, rtk, Superpowers i caveman — razem 575 612 gwiazdek na GitHubie na 2026-09-02. Każde dotyka innego kawałka rachunku.
| Narzędzie | Gwiazdki (2026-09-02) | Język | Licencja |
|---|---|---|---|
| Superpowers | 280 792 | Skille w Markdownie | MIT |
| graphify | 113 946 | Python | Apache-2.0 |
| caveman | 102 548 | Go | MIT (skill) |
| rtk | 78 326 | Rust | Apache-2.0 |
Gdzie naprawdę idą tokeny
Rachunek Claude Code ma dwie strony. Tokeny wejściowe to wszystko, co model czyta: wyjście każdego polecenia powłoki, twój prompt, prompt systemowy i cała historia rozmowy przesyłana od nowa przy każdym wywołaniu. Tokeny wyjściowe to wszystko, co model pisze.
Dokumentacja samego rtk rysuje dokładnie to drzewo i dodaje zdanie, którego nie było we wpisie premierowym: „Polecenie pokazujące o 90% mniej bajtów wyjścia nie sprawia, że twoja sesja jest o 90% tańsza".
JetBrains przypisał liczby stronie czytania, odtwarzając 83 sesje bazowe — 1,9 miliona znaków wyjścia narzędzi.
| Kawałek tego, co czyta model | Znaki | Udział |
|---|---|---|
| Wyjście powłoki, które rtk potrafi skompresować | 373 339 | 19,7% |
| Wyjście powłoki, dla którego rtk nie ma reguły | 879 326 | 46,3% |
| Narzędzia czytania i wyszukiwania, które omijają rtk | 646 613 | 34,0% |
Tylko piąta część tego, co model czyta, jest w ogóle kompresowalna przez proxy powłoki — wbudowane narzędzia Claude Code Read, Grep i Glob nigdy nie przechodzą przez hook Basha.
Stąd mapa czterech narzędzi: graphify zmniejsza to, co agent czyta, rtk zmniejsza to, co zwraca powłoka, Superpowers zmniejsza historię niesioną przez każde zadanie i wybiera, który model ją niesie, a caveman zmniejsza to, co agent mówi. Strona czytania to większa połowa rachunku, więc ranking zaczyna się właśnie tam.
graphify: węzły zamiast linii
graphify to skill, który zamienia bazę kodu — razem z dokumentacją, schematami SQL, konfiguracjami i PDF-ami — w odpytywalny graf wiedzy. Wpisujesz /graphify . w Claude Code, Cursorze, Codexie albo Gemini CLI, projekt zostaje raz zmapowany, a potem agent odpytuje graf zamiast grepować pliki.
Kod jest parsowany przez AST tree-sittera w około 40 językach: deterministycznie, bez wywołania LLM, nic nie opuszcza maszyny. Budowa kosztuje zero kredytów LLM. Powstają trzy pliki: graph.html do klikania, GRAPH_REPORT.md oraz graph.json — sam graf, odpytywalny bez ponownego czytania twoich plików. Każdy węzeł to pojęcie (plik, funkcja, klasa), a każda krawędź ma etykietę EXTRACTED, gdy była jawna w źródle, albo INFERRED, gdy graphify ją wywnioskował. Węzły grupowane są w podsystemy algorytmem Leidena.
Wbudowany benchmark uruchomiony na jednym z naszych projektów:
| Metryka | Wartość |
|---|---|
| Węzły | 34 031 |
| Krawędzie | 56 865 |
| Wykryte społeczności | 967 |
| Pochodzenie krawędzi | 76% EXTRACTED · 24% INFERRED |
| Naiwne czytanie całego korpusu | 1 701 550 słów ≈ 2 268 733 tokeny |
| Średnie zapytanie do grafu | ~24 702 tokeny |
| Redukcja | 91,8× mniej tokenów na zapytanie |
Rozrzut między pytaniami jest duży: 679,1× przy „what is the main entry point", 34,0× przy „what connects the data layer to the api".
Dwa ograniczenia. Porównanie jest z czytaniem wszystkiego, a sesja oparta na grepie nigdy tyle nie kosztowała, więc realny zysk jest mniejszy. I graf się starzeje — odświeżaj go przez graphify update <path>, --watch albo hooki gita — natomiast przebieg semantyczny po dokumentach, PDF-ach i obrazach faktycznie wywołuje model i faktycznie zużywa tokeny.
Instalacja: uv tool install graphifyy (nazwa pakietu ma podwójne y), potem graphify install.
rtk: proxy do shella na rozprawie
rtk to proxy CLI między Claude Code a twoją powłoką. Zwykłe polecenia jak ls, cat czy git status zwracają mnóstwo szumu, który agent musi przeczytać jako tokeny wejściowe: uprawnienia plików, paski postępu, sto linii przechodzących testów. rtk uruchamia to samo polecenie i oddaje zwięzłą wersję: jeden binarny plik w Ruście, ponad 100 obsługiwanych poleceń, poniżej 10 ms narzutu. Hook PreToolUse przepisuje każde kwalifikujące się wywołanie Basha (git status → rtk git status) przed uruchomieniem, więc agent nie musi o tym pamiętać.
Wpis premierowy autora deklarował 10,2 mln zaoszczędzonych tokenów w dwa tygodnie, 89,2%, z przykładami takimi jak cargo test schodzące ze 155 linii do 3. Nasz własny panel po 25 599 poleceniach:
| Polecenie | Wywołania | Zaoszczędzone tokeny | Wskaźnik |
|---|---|---|---|
rtk find |
354 | 2,2 mln | 46,6% |
rtk read |
3 504 | 2,2 mln | 10,4% |
rtk grep |
2 760 | 1,9 mln | 47,7% |
rtk ps aux |
24 | 1,1 mln | 98,0% |
rtk diff |
39 | 541,1 tys. | 92,2% |
| Razem | 25 599 | 11,6 mln | 41,6% |
Teraz rozprawa. JetBrains zainstalował rtk dokładnie tak, jak jest dostarczany, i uruchomił 86 zadań dwukrotnie na claude-sonnet-5.
| Ustalenie JetBrains | Wartość |
|---|---|
| Polecenia powłoki, które rtk potrafi przepisać | 349 z 1 056 (1 na 3) |
| Sufit całkowitej oszczędności | ~3% rachunku |
| Koszt na zadanie, niski reasoning effort | +7,6% (p=0,004) |
| Tury na zadanie | +13,8% (p=0,03) |
| Koszt na zadanie, wysoki effort | ±0% |
| Jakość zadań | Bez zmian |
README rtk mówi to teraz wprost: do 90% wyjścia basha, „co nie jest tym samym co obcięcie rachunku o 90%", a jego własne liczniki są szacowane jako bytes / 4.
Werdykt: jest darmowe, kompresja jest prawdziwa i — słowami JetBrains — „często gustowna". Zostaw je do sesji obciążonych bashem; nie licz, że ruszy rachunek.
Superpowers: najpierw rama, potem zadania za małe, by zawieść
Superpowers to wtyczka Jesse'ego Vincenta do Claude Code — 280 792 gwiazdki, czternaście skilli, jedno polecenie instalacji (/plugin install superpowers@claude-plugins-official). Oszczędza tokeny, nie kompresując niczego.
Wszystko zaczyna się od skilla brainstorming, który otwiera się twardą bramką: żadnego kodu, żadnego rusztowania, żadnego skilla implementacyjnego, dopóki nie zostanie zatwierdzona jawna intencja. Gdy skill się ładuje, agent staje się partnerem do burzy mózgów i w praktyce kilka fragmentów projektu zostaje przemyślanych na nowo, zanim cokolwiek powstanie. To najważniejszy etap, bo najdroższe tokeny to te wydane na budowanie niewłaściwej rzeczy.
Skill klasyfikuje pracę jako spike, zmianę ograniczoną albo architektoniczną, a reguła jest zapisana w pliku: „Gdy wahasz się między dwiema drogami, wybierz cięższą". Nazywa nawet tryb porażki — jest sekcja z antywzorcem „Too Simple To Need Approval". Droga architektoniczna daje spec, który zatwierdzasz, a potem plan wdrożenia.
Niezawodność bierze się z planu. Skill writing-plans tnie pracę na kroki po jednej czynności, 2–5 minut: napisz test, który nie przechodzi, uruchom go i potwierdź, że nie przechodzi, napisz minimalny kod, który go zalicza, uruchom testy ponownie, zrób commit. Plany pisze się przy założeniu, że inżynier ma zerowy kontekst. Tak małe zadanie mieści się z zapasem w świeżym oknie kontekstu, więc agent nigdy nie dociera do końca zadania z nasyconym oknem — a to z nasyconego okna bierze się halucynowany kod.
Ograniczeniem jest ceremoniał. Plik mówi, że skaluje się z zadaniem, ale bramka odpala się także przy poprawce jednej linijki, a to też są tokeny.
Superpowers: jedno zadanie, jeden subagent, jeden pasujący model
Potem plan rusza i arytmetyka tokenów się zmienia. Jedno zadanie, jeden subagent. Każdy subagent startuje ze świeżym kontekstem zawierającym wyłącznie jego zadanie, nigdy historię sesji, więc okno orkiestratora zostaje małe, a okno subagenta czyste. Po każdym zadaniu orkiestrator sprawdza wynik: OK — następne zadanie; nie OK — poprawka wraca do subagenta. Maksymalnie pięć rund na zadanie: rundy 1–3 kontynuuje pierwotny wykonawca, w rundzie 4 pracę dostaje nowy wykonawca na mocniejszym modelu, w rundzie 5 rozstrzyga sam orkiestrator.
Regułą, która za wszystko płaci, jest dobór modelu: „Używaj najsłabszego modelu zdolnego obsłużyć daną rolę, żeby oszczędzać koszty". Orkiestrator ocenia trudność każdego zadania i dobiera pasujący model.
| Typ zadania | Poziom modelu |
|---|---|
| Mechaniczne, dobrze wyspecyfikowane; plan zawiera już kod | Najtańszy / mały model |
| Koordynacja wielu plików, debugowanie | Model standardowy |
| Architektura, końcowy przegląd gałęzi | Najmocniejszy model |
| Model niepodany | Dziedziczy model sesji |
Niuans z tego samego pliku: „Liczba tur bije cenę tokena". Tani model, który potrzebuje trzech tur, nie jest tani. W praktyce to właśnie sprawia, że Opus i Fable dają się używać na planie Pro za 20 $ — drogi model dotyka garstki zadań zamiast całej sesji.
Ostatnia korzyść to dokumentacja. Każdy spec i każdy plan to plik markdown zapisany w docs/superpowers/specs/ i docs/superpowers/plans/YYYY-MM-DD-<feature-name>.md, commitowany na koniec pracy. W pipelinie tego kanału migracja na obecny silnik wideo to spec plus plan czternastu zadań, który wciąż można otworzyć, przywołać w nowej sesji i rozbudować. Nic z tego, co zrobiły agenty, nie zostaje nieudokumentowane.
caveman i styl Concise: mów mniej
Ostatni kawałek to to, co agent mówi. Agenty narracyjnie gadają — „jasne", „chętnie pomogę", „problem, którego doświadczasz, prawdopodobnie wynika z" — a to tokeny wyjściowe za nic.
caveman to skill Juliusa Brussee, 102 548 gwiazdek, który każe agentowi mówić jak jaskiniowiec: wyrzuć rodzajniki, wypełniacze, uprzejmości i asekuranctwo, trzymaj się wzorca [rzecz] [czynność] [powód]. [następny krok]. Kod, polecenia, ścieżki plików i dokładne komunikaty błędów nigdy nie są ruszane; skraca się tylko prozę wokół nich. Ma trzy poziomy (/caveman lite|full|ultra) i hook SessionStart włączający go na starcie.
Jego własna tabela, dziesięć promptów przez API Claude, daje średnio 1 214 tokenów wyjściowych bez skilla i 294 z nim — 65%, najlepszy przypadek 87%, najgorszy 22%.
Zderzenie z rzeczywistością serwuje samo README: skill skraca tylko wyjście, tokeny wejściowe i rozumowania się nie zmieniają, a jego własne reguły kosztują około 1–1,5 tys. tokenów wejściowych w każdej turze. JetBrains zmierzył go na 82 sparowanych zadaniach agentowych za około 106 $ kredytów.
| caveman | Deklarowane | Zmierzone (JetBrains) |
|---|---|---|
| Oszczędność tokenów wyjściowych | 65% | 8,5% (592 tys. → 542 tys.) |
| Wpływ na jakość | — | Brak wykrywalnego pogorszenia (test znaków p=0,82) |
Różnica jest strukturalna: wyjście agenta to w większości kod i wywołania narzędzi, których caveman słusznie nie rusza. Rekomendacja JetBrains: „używaj, jeśli ci się podoba. Jest zabawne i nie kosztuje nic mierzalnego pod względem jakości".
A od Claude Code v2.1.237 istnieje wbudowany odpowiednik — styl wyjścia Concise: Claude „zaczyna od wyniku, pomija wstępy i narrację i domyślnie trzyma odpowiedzi krótkie". Wybiera się go w /config → Output style; zapisuje się w .claude/settings.local.json i działa po /clear albo w nowej sesji. Wspólne ograniczenie obu: style wyjścia dotyczą tylko głównej rozmowy — subagent działa na własnym prompcie systemowym.
Werdykt: co rusza rachunek, a co tylko marginesy
Ranking według tego, co każde narzędzie faktycznie rusza, wraz z ceną, jaką za to płaci.
| Miejsce | Narzędzie | Co rusza | Zmierzony efekt | Cena |
|---|---|---|---|---|
| 1 | Superpowers | Historię na zadanie + który model ją czyta | Drogi model przy garstce zadań zamiast całej sesji | Bramka przy każdym zadaniu, nawet przy poprawce jednej linijki |
| 2 | graphify | To, co agent czyta | 91,8× mniej tokenów na zapytanie niż naiwne czytanie korpusu (nasz projekt) | Graf się starzeje; przebieg semantyczny zużywa tokeny |
| 3 | rtk | Bajty wyjścia basha | Sufit ~3% rachunku; +7,6% na zadanie przy niskim effort w teście JetBrains | Regułę ma tylko 1 na 3 polecenia powłoki |
| 4 | caveman / Concise | Prozę, którą pisze agent | 8,5% tokenów wyjściowych, bez utraty jakości | ~1–1,5 tys. tokenów wejściowych w każdej turze |
Wygrywa Superpowers i to nie dzięki żadnej kompresji: świeży kontekst na zadanie i najtańszy model, który podoła robocie, zmieniają to, co jest czytane, i to, kto czyta. graphify jest drugi, bo czytać mniej to większa połowa rachunku. rtk jest prawdziwe, darmowe i nieszkodliwe, ale dwie trzecie poleceń powłoki i wszystkie odczyty plików przechodzą obok niego. caveman albo styl Concise, który Claude Code teraz dostarcza sam, przycina najmniejszy kawałek.
Wszystkie cztery instaluje się za darmo — graphify i rtk na Apache-2.0, Superpowers na MIT, skill caveman na MIT. Ponad 570 000 gwiazdek mówi, że ludzie chcą cudu. Uczciwa wersja to ranking.
AIDive