Skip to main content

Zamieniam powtarzalną pracę w Twojej firmie w narzędzia, które robią ją za Ciebie.

Umów darmową rozmowę (30 min) Zobacz, co zbudowałem

Bartosz Gaca, aplikacje i automatyzacje AI dla firm

Zamieniam żmudną, powtarzalną pracę w Twojej firmie w narzędzia, które robią ją za Ciebie. Aplikacje, chatboty i automatyzacje. Pierwszy działający efekt w 2-4 tygodnie. Szybki start produktu od 15 000 PLN, opieka na abonament od 5 000 PLN/mies, pakiet automatyzacji od 3 000 PLN/mies.

Usługi: pierwszy działający efekt w 2-4 tygodnie

  • Szybki start produktu: działające narzędzie w 2-4 tygodnie
  • Opieka na abonament: Twój programista na stałe, bez etatu
  • Pakiet automatyzacji: usprawnienia, które oszczędzają Twój czas
Umów bezpłatną 30-minutową rozmowę

Najczęstsze pytania

Ile to trwa?

Pierwszy działający efekt zwykle w 2-4 tygodnie. Zamiast slajdów dostajesz rozwiązanie, które od razu przetestujesz u siebie.

Ile kosztuje współpraca?

Szybki start produktu od 15 000 PLN jednorazowo, opieka na abonament od 5 000 PLN/mies, pakiet automatyzacji od 3 000 PLN/mies. Dokładna wycena po rozmowie.

Nie znam się na technologii, dam radę?

Tak. Rozmawiamy po ludzku, bez żargonu. Ty mówisz, co Cię uwiera w firmie, a ja biorę na siebie całą techniczną stronę.

Dla kogo jest ta oferta?

Dla firm, które tracą godziny na powtarzalną, ręczną pracę i chcą to usprawnić bez budowania własnego zespołu programistów.

Jak zacząć współpracę?

Umów bezpłatną 30-minutową rozmowę na /audit. Dostajesz konkretny plan: co da się zrobić, ile to zajmie i ile kosztuje.

Optymalizacja tokenów Claude Code — co naprawdę działa (case study caveman)

Płacę Anthropic za Claude Code kilkaset dolarów miesięcznie. Mogłem płacić 3× tyle. Tnę różnicę trzema dźwigniami: prompt caching, model routing, context pruning. Pokazuję co działa — z liczbami z mojego setupu i kodem z projektu który mnie zainspirował.

Inspiracja: github.com/JuliusBrussee/caveman — token-optimization wrapper dla Claude Code. Krótki kod, parę bardzo dobrych pomysłów. Plus pokazuję mój własny stack: .claude/settings.json, smart-router skill, hooki, fewer-permission-prompts.

Skąd biorą się koszty Claude Code?

Claude Code to LLM-driven coding assistant z dużym kontekstem. Sesja 2-godzinna typowo zużywa:

  • Input tokens: 2-5 milionów (system prompt + tools + cały conversation history + każdy plik który wczytałeś)
  • Output tokens: 100-300 tysięcy (kod, wyjaśnienia, narracja)
  • Cache reads: 60-90% input (dobrze skonfigurowane sesje)

Cennik Claude Sonnet 4.6 (kwiecień 2026):

  • Input bez cache: $3 / 1M tokenów
  • Cache write: $3.75 / 1M (1.25× input)
  • Cache read: $0.30 / 1M (0.1× input — 10× taniej)
  • Output: $15 / 1M tokenów

Bez cache = 3M input × $3/M = $9 sama sesja, plus output. Z dobrym cache hit ratio (80%) = 2.4M cache read × $0.30/M + 0.6M write × $3.75/M = $0.72 + $2.25 = $2.97. Trzykrotnie taniej za tę samą pracę. Skala miesiąca: zamiast $300 → $100.

Dźwignia 1: prompt caching — twój największy wpływ

Prompt caching to mechanizm Anthropic API: za małą opłatę cache write przy pierwszym requeście, dostajesz 5-minutowy TTL na powtórne odczyty z 10× niższą ceną.

Co cache'ować:

  • System prompt (zawsze ten sam dla projektu)
  • Definicje toolu (Read, Edit, Bash itd. — schema zmienia się rzadko)
  • CLAUDE.md (instrukcje projektu, statyczne)
  • Pliki dokumentacji projektu które są referenced wiele razy

Claude Code domyślnie cache'uje system + tools. Ale w długich sesjach (3+ godziny) trzeba pilnować TTL — co 5 min cache wygasa, kolejny request to write zamiast read.

Mój trik: jeśli sesja przekracza 30 minut bezczynności, restartuj klauzulę. Nie kontynuuj — wygasł cache, każdy kolejny prompt to write. Lepiej zacząć fresh sesję ze świeżym cache niż dopalać starej która już płaci pełną cenę.

Dźwignia 2: model routing — Haiku/Sonnet/Opus

Trzy modele Claude 4.X:

ModelInput $/1MOutput $/1MUse case
Haiku 4.5$1$5routine: lint fixes, format, simple search-replace, status summaries
Sonnet 4.6$3$15typical coding: feature dev, bug fix, refactor, code review
Opus 4.7$15$75złożone: architectural decisions, multi-file refactors, security audit

Heurystyka która mi się sprawdza: 80% tasków idzie do Haiku albo Sonneta. 20% do Opusa. Klasyfikacja:

  • „popraw literówkę w README" → Haiku
  • „dodaj endpoint POST /webhook do server.js" → Sonnet
  • „refaktor systemu autoryzacji żeby wspierał multi-tenant" → Opus

W moim setupie używam ~/.claude/skills/smart-router skill. Klasyfikuje task na podstawie keywords w prompt (np. „prosty/typowy/złożony", „1 plik/wiele plików") i wybiera model. Routing logic w SKILL.md + delegacja do subagenta z konkretnym modelem.

Dźwignia 3: context pruning

Trzecia dźwignia — najtrudniejsza ale najbardziej efektywna w długich sesjach. Claude Code domyślnie trzyma cały conversation history w kontekście. Po 2 godzinach masz 1.5M tokenów input z których 80% to pliki które już nie są relevant.

Co robić:

  • Subagent dla każdej dużej eksploracji. Zamiast czytać 30 plików w głównym kontekście — odpalasz subagenta przez Agent tool, on robi research, wraca z 200-słowowym podsumowaniem. Główny kontekst nie spuchnie.
  • /compact co godzinę-dwie. Wbudowana komenda Claude Code. Robi summary całej dotychczasowej rozmowy, kontynuuje z 30K tokenów zamiast 1.5M.
  • Świadome pliki Read. Jeśli plik ma 2000 linii a potrzebujesz tylko getUser() na linii 450 — użyj offset+limit. Nie wczytuj całości.
  • Hook na koniec rozmowy. ~/.claude/settings.json → hook Stop który przypomina „session zużyła X tokenów, kontynuować czy nowa?".

Co robi caveman

caveman to ~90-line wrapper Python który automatyzuje 3 trick:

  1. Skraca system prompt — domyślny system prompt Claude Code ma ~2K tokenów. caveman trzyma essential 800 tokenów (bez pełnych descriptions toolów które LLM zna).
  2. Rotuje cache co 4 minuty — żeby nie wpaść w 5-min TTL expiry. Cache jest ZAWSZE świeży, każdy kolejny request to read (nie write).
  3. Detektuje „nadmiarowe" toole w prompt — jeśli zadanie to pure code editing, nie ładuje schemas dla WebFetch/Bash itd. Mniejszy system = mniej tokenów input.

Czy używam caveman 1:1? Nie — moje use-case'y są różnorodne i niektóre wymagają full toolset. Ale 3 pomysły zaadaptowałem:

  • Skrócony system prompt dla skill subagentów (każdy skill ma własny system, krótszy niż globalny)
  • Cache TTL monitoring (nie rotacja co 4 min — ale alert „cache wygasa za 30s, kontynuuj prompt teraz albo restart")
  • Dynamic tool loading przez ToolSearch — toole nie ładują się od razu, dopiero gdy potrzebne

Mój setup — co konkretnie robię

Konfiguracja: ~/.claude/settings.json

{
 "permissions": {
 "allow": [
 "Bash(git status:*)",
 "Bash(npm test:*)",
 "Read(./)"
 ]
 },
 "hooks": {
 "Stop": [{ "command": "echo 'Session ended. Tokens used: $CLAUDE_TOKENS_USED'" }]
 },
 "env": {
 "CLAUDE_DEFAULT_MODEL": "sonnet"
 }
}

Skille:

  • smart-router — klasyfikuje task complexity, routuje do Haiku/Sonnet/Opus
  • fewer-permission-prompts — analizuje moje typowe Bash commands i auto-allowlistuje read-only (mniej przerwań = mniej tokenów na re-explanation)
  • update-config — modifikuje settings.json bez ręcznego edytowania

Hooki:

  • PreToolUse — loguje każdy tool call do ~/output/claude-tool-log.jsonl (mam metryki ile czego)
  • UserPromptSubmit — jeśli prompt ma <5 słów, dorzuca standardowy template „bądź zwięzły, odpowiadaj 1-2 zdaniami"
  • Stop — przypomina o /compact jeśli sesja >1h

Liczby z mojego setupu

Marzec 2026: $387 na Anthropic API + Pro subscription.
Kwiecień 2026 (po 3 tygodniach): $142 na ten sam workload.

Co zrobiłem:

  1. Włączyłem cache rotation alert — eliminuje cache writes w 4-godzinnych sesjach
  2. Smart-router skill — 60% tasków idzie teraz do Haiku zamiast Sonneta
  3. Hooki Stop — częściej robię /compact, mniej kontekstu się gromadzi

To 63% redukcji przy zachowaniu tej samej produktywności. Możliwe że jest niżej (kwiecień jeszcze nie skończony), ale nawet dotychczasowy stan to 3-4× ROI względem czasu który zainwestowałem w setup.

FAQ

Kiedy Sonnet vs Opus — jak decydować?

Domyślnie zaczynam Sonnet. Eskaluję do Opus tylko gdy: (1) zadanie wymaga rozumienia >5 plików równocześnie, (2) bezpieczeństwo / decyzje architektoniczne, (3) Sonnet pierwszą próbą daje gorsze wyniki niż oczekiwane. Nie odwrotnie.

Cache działa zawsze, czy są wyjątki?

Cache hit wymaga że pierwsze N tokenów requesta są identyczne z poprzednim. Każda zmiana system prompt, tool definitions, CLAUDE.md = cache miss, write zamiast read. Dlatego CLAUDE.md powinno być stabilne (nie modyfikuj go w środku sesji).

Czy 1M context window się opłaca?

Rzadko. Sonnet 4.6 z 1M context (mój CLI) płaci 2× za input powyżej 200K tokenów. Jeśli twoja sesja ma realnie 1M tokenów input — zwykle lepiej skomplikować strategię (subagenci, /compact) niż płacić premium za long context.

SDK vs CLI — różnica w kosztach?

SDK (Claude Agent SDK) daje ci pełną kontrolę nad cache control headers, model selection per-request, batch API. Drogi rocznie różnice mogą być >30% (taniej w SDK przy świadomej implementacji). CLI jest „dobre defaults" bez fine-tuning.

Ile realnie kosztuje moja sesja?

Anthropic Console pokazuje „Usage" per request. Plus mój hook PreToolUse loguje per-tool-call do JSONL — mogę zsumować po dniu/tygodniu. Bez tego latasz na ślepo. Pierwszy ruch w optymalizacji = włączyć metryki.

Chcesz zoptymalizować swoje koszty Claude Code?

Buduję narzędzia automatyzacji w Claude Code od początku 2025 — masa praktyki w optymalizacji kosztów. Jeśli twój zespół wydaje >$300/mc na Anthropic API i nie wiesz co z tym zrobić, umów Fit Call — w 30 minut zlokalizuję 2-3 konkretne dźwignie.

Plus zobacz moją bazę wiedzy i stronę Claude Code — uzupełniam je co tydzień o nowe trick. DM TOKEN na LinkedIn — wyślę ci snippety .claude/settings.json które redukują koszt sesji o 40-60%.