Optymalizacja tokenów LLM w stylu jaskiniowca: oszczędność do 87%
Deweloperzy odkryli, że wymuszenie na LLM stylu jaskiniowca – krótkie frazy bez artykułów, uprzejmości i konstrukcji wprowadzających – redukuje zużycie tokenów wyjściowych o 65% średnio. W zadaniach takich jak wyjaśnianie błędów React lub konfiguracja PostgreSQL oszczędność sięga 87%. To podejście zachowuje precyzję i techniczną istotę, usuwając jedynie słowną otoczkę.
Przykład na React re-render (standardowa odpowiedź: 69 tokenów):
The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object.
Styl jaskiniowca (19 tokenów):
New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.
Co jest usuwane i co pozostaje
RLHF sprawia, że współczesne modele są gadatliwe: 'Oczywiście, pomogę', 'Rozbierzmy to krok po kroku'. Styl jaskiniowca filtruje to, skupiając się na istocie.
| Element | Działanie |
|---------|----------|
| Wyjaśnienia | Usuwa wodę, zostawia istotę |
| Bloki kodu | Nie dotyka |
| Terminy techniczne | Zachowuje (polimorfizm pozostaje polimorfizmem) |
| Artykuły (a/an/the) | Usunięte |
| Uprzejmość | Usunięta |
| Ostrożne sformułowania | Usunięte |
Bezużyteczne frazy, marnowujące tokeny:
- 'I'd be happy to help you with that' — 8 tokenów
- 'The reason this is happening is because' — 7 tokenów
- 'I would recommend that you consider' — 7 tokenów
- 'Sure, let me take a look at that for you' — 10 tokenów
Benchmarki wydajności
Pomiary przez Claude API pokazują rozpiętość oszczędności od 22% do 87%:
| Zadanie | Standardowy (tokeny) | Jaskiniowiec (tokeny) | Oszczędność |
|--------|-------------------|-------------------|----------|
| Błąd re-render React | 1180 | 159 | 87% |
| Naprawa auth middleware | 704 | 121 | 83% |
| Pool PostgreSQL | 2347 | 380 | 84% |
| git rebase vs merge | 702 | 292 | 58% |
| Callback → async/await | 387 | 301 | 22% |
| Mikrousługi vs monolit | 446 | 310 | 30% |
| PR review bezpieczeństwo | 678 | 398 | 41% |
| Docker multi-stage | 1042 | 290 | 72% |
| Race condition PostgreSQL | 1200 | 232 | 81% |
| React error boundary | 3454 | 456 | 87% |
Średnio: 1214 → 294 tokeny, 65% oszczędności. Większa korzyść w zadaniach wyjaśniających.
Badanie z 2026 r. potwierdza: ograniczenie zwięzłości zwiększa precyzję o 26 p.p. w benchmarkach – model unika halucynacji od zbędnych słów.
Poziomy jaskiniowca
- Lite: Bez wody, ale czytelnie.
Your component re-renders because you create a new object reference each render. Inline object props fail shallow comparison every time. Wrap it in useMemo.
- Full: Krótkie frazy.
New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.
- Ultra: Maksimum kompresji.
Inline obj prop → new ref → re-render. useMemo.
Kompresja tokenów wejściowych
Caveman Compress przepisuje pliki pamięci (CLAUDE.md) w stylu jaskiniowca dla Claude Code. Polecenie:
/caveman-compress CLAUDE.md
Wynik: skompresowany CLAUDE.md (dla modelu) + oryginał (do edycji).
| Plik | Przed (tokeny) | Po (tokeny) | Oszczędność |
|------|--------------|-----------------|----------|
| claude-md-preferences.md | 706 | 285 | 59.6% |
| project-notes.md | 1145 | 535 | 53.3% |
| claude-md-project.md | 1122 | 687 | 38.8% |
| todo-list.md | 627 | 388 | 38.1% |
| mixed-with-code.md | 888 | 574 | 35.4% |
Średnio: 45% oszczędności. Razem z jaskiniowcem – optymalizacja wejścia/wyjścia.
Co jest ważne
- Oszczędność tokenów wyjściowych: 65% średnio, do 87% na skomplikowanych wyjaśnieniach.
- Techniczna precyzja zachowana: kod, terminy, błędy – bez zmian.
- Trzy tryby od Lite do Ultra dla balansu zwięzłości i czytelności.
- Kompresja plików wejściowych: 45% na CLAUDE.md i podobnych.
- Potwierdzenie badań: zwięzłość zwiększa precyzję o 26 p.p.
— Editorial Team
Brak komentarzy.