Sztuczki wydajności
Sztuczki wydajności w Claude Code to drobne techniki, które sumują się do godzin zaoszczędzonych tygodniowo: czyszczenie kontekstu między niepowiązanymi zadaniami utrzymuje sesje szybkimi, aliasy i funkcje shell skracają liczbę naciśnięć klawiszy, ustrukturyzowane wyjście JSON zasila skrypty, a reguły w CLAUDE.md powstrzymują Claude od podsumowywania zmian lub uruchamiania pełnych zestawów testów po każdej edycji.
Deweloper, który oszczędza 10 minut na zadanie, nie wygląda imponująco. Ale w skali 30 zadań dziennie to 5 godzin tygodniowo. Te sztuczki wydajności to małe techniki, które składają się w ogromne zyski produktywności.
Co dają te sztuczki wydajności
Dział zatytułowany „Co dają te sztuczki wydajności”- Techniki zarządzania kontekstem, które utrzymują sesje lekkie i szybkie
- Triki z formatem wyjścia dla różnych workflow
- Aliasy i funkcje shell, które zmniejszają liczbę naciśnięć klawiszy
- Wzorce unikania typowych pułapek czasowych
Zarządzanie kontekstem
Dział zatytułowany „Zarządzanie kontekstem”Czyszczenie między niepowiązanymi zadaniami
Dział zatytułowany „Czyszczenie między niepowiązanymi zadaniami”Największy zysk wydajności to czyszczenie kontekstu przy przechodzeniu między zadaniami:
/rename payment-bug-investigation/clearNieaktualny kontekst z poprzedniego zadania sprawia, że każda kolejna wiadomość jest droższa (więcej przetwarzanych tokenów) i mniej dokładna (Claude używa nieistotnego kontekstu).
Ukierunkowane kompaktowanie
Dział zatytułowany „Ukierunkowane kompaktowanie”Gdy musisz pozostać w tej samej sesji, ale kontekst jest rozdęty:
/compact Keep: file paths I edited, test results, error traces. Remove: exploratory file reads, discussion about alternatives, my questions.Dodaj reguły kompaktowania do CLAUDE.md
Dział zatytułowany „Dodaj reguły kompaktowania do CLAUDE.md”# Compact instructionsWhen compacting, preserve:- Test results and error output- File paths and code changes made- Key decisions and their rationale
Remove:- Exploratory file reads that did not lead to changes- Verbose command output that has been summarized- Discussion of rejected approachesAliasy i funkcje shell
Dział zatytułowany „Aliasy i funkcje shell”Szybkie skróty Claude Code
Dział zatytułowany „Szybkie skróty Claude Code”Dodaj do ~/.zshrc lub ~/.bashrc:
# Quick question -- ask Claude without starting a sessionalias cq='claude -p'
# Continue last sessionalias cc='claude -c'
# Review current changesalias cr='git diff | claude -p "Quick review: only flag CRITICAL and HIGH issues."'
# Explain a fileexplain() { claude -p "Explain what $1 does, its key functions, and how it fits into the project."}
# Generate tests for a filegentest() { claude -p "Generate comprehensive tests for $1. Follow existing test patterns in this project."}
# Debug an errordebug() { echo "$@" | claude -p "Analyze this error and suggest a fix. Read the relevant source files."}Triki z formatem wyjścia
Dział zatytułowany „Triki z formatem wyjścia”JSON do konsumpcji przez skrypty
Dział zatytułowany „JSON do konsumpcji przez skrypty”Gdy chcesz wpiąć Claude w potok powłoki, poproś o odpowiedź w swobodnej formie i czytaj .result. Porównaj oba podejścia dla tego samego zadania:
# Przed: odpowiedź prozą, którą musisz ręcznie skopiować z terminalaclaude -p "List all API endpoints with their HTTP method, path, and handler file"
# Po: tekst czytelny dla maszyny, który możesz przekazać do grep, wc lub innego poleceniaclaude -p "List all API endpoints with their HTTP method, path, and handler file" \ --output-format json | jq -r '.result'Używaj zwykłego --output-format json (czytając z .result), gdy chcesz w skrypcie naturalną odpowiedź Claude; po --json-schema (następna sekcja) sięgaj tylko wtedy, gdy potrzebujesz odpowiedzi sparsowanej do konkretnych pól.
Ustrukturyzowane wyjście z JSON Schema
Dział zatytułowany „Ustrukturyzowane wyjście z JSON Schema”Dla gwarantowanej struktury wyjścia połącz --json-schema z --output-format json. Wynik zgodny ze schematem trafia do pola structured_output na najwyższym poziomie (obok metadanych sesji), więc przekazuj do .structured_output, a nie do .result:
claude -p "Analyze the test coverage of src/api/" \ --output-format json \ --json-schema '{"type":"object","properties":{"total_files":{"type":"number"},"covered_files":{"type":"number"},"uncovered_files":{"type":"array","items":{"type":"string"}}}}' \ | jq '.structured_output'To niezawodny sposób na podanie wyjścia Claude do innego skryptu: schemat wymusza kształt, a jq '.structured_output' zdejmuje opakowanie, więc dostajesz czysty JSON. Bez --output-format json flaga --json-schema jest ignorowana i otrzymujesz zwykły tekst.
Typowe pułapki czasowe i jak ich unikać
Dział zatytułowany „Typowe pułapki czasowe i jak ich unika攓Najpierw przeczytam wszystko”
Dział zatytułowany „“Najpierw przeczytam wszystko””Domyślnym zachowaniem Claude jest czytanie wielu plików przed działaniem. Dla skoncentrowanych zadań ogranicz zakres:
Fix the null pointer in src/api/users.ts line 42.Only read src/api/users.ts and its direct imports.Do not explore other files.“Podsumuję co zrobiłem”
Dział zatytułowany „“Podsumuję co zrobiłem””Claude często spędza tokeny na podsumowaniu zmian po ich dokonaniu. Dodaj do swojego CLAUDE.md:
After making changes, do not provide a summary unless I ask for one.Instead, just show the git diff of what changed.Uruchamianie pełnych pakietów testów po każdej zmianie
Dział zatytułowany „Uruchamianie pełnych pakietów testów po każdej zmianie”# In CLAUDE.mdWhen running tests after a change, run only the tests related to the modified file.Use: npx jest [file] --no-coverageOnly run the full test suite when I ask for it or before committing.Czytanie package-lock lub generowanych plików
Dział zatytułowany „Czytanie package-lock lub generowanych plików”# In CLAUDE.mdNever read these files:- package-lock.json- yarn.lock- any file in dist/ or build/- any file in node_modules/- any .map fileSzybkie zyski
Dział zatytułowany „Szybkie zyski”Użyj --add-dir do pracy z wieloma repozytoriami
Dział zatytułowany „Użyj --add-dir do pracy z wieloma repozytoriami”# Work on a frontend app with access to the shared libraryclaude --add-dir ../shared-componentsZapasowy model na okresy przeciążenia
Dział zatytułowany „Zapasowy model na okresy przeciążenia”claude -p "Quick task" --model opus --fallback-model sonnet,haikuJeśli Opus jest przeciążony, niedostępny lub zwróci inny kwalifikujący się niemożliwy do ponowienia błąd serwera, Claude Code próbuje w tej turze Sonnet, a potem Haiku. Błędy uwierzytelniania, rozliczeń, rate limitu, rozmiaru żądania i transportu nie uruchamiają fallbacku modelu. Flaga działa tylko w trybie print i przyjmuje do trzech modeli po usunięciu duplikatów.
Sesje powiązane z PR-ami
Dział zatytułowany „Sesje powiązane z PR-ami”# Wznów lokalną sesję powiązaną przy uruchomieniu gh pr createclaude --from-pr 123To wznawia lokalną sesję, która została automatycznie powiązana z PR-em w momencie jego utworzenia poleceniem gh pr create, dzięki czemu możesz wrócić do tej pracy, aby zająć się komentarzami z przeglądu. Polecenie samo nie pobiera zawartości PR-a — działa tylko dla PR-a, którego sesja źródłowa nadal istnieje na tej maszynie.
Kiedy sztuczki wydajności powodują problemy
Dział zatytułowany „Kiedy sztuczki wydajności powodują problemy”Aliasy kolidują z innymi narzędziami: Sprawdź konflikty nazw za pomocą which cq przed dodaniem aliasów. Wybieraj unikalne nazwy, które nie przesłaniają istniejących poleceń.
Kontekst został przypadkowo wyczyszczony: Wdróż nawyk używania /rename przed /clear. Sesje są zachowywane nawet po wyczyszczeniu, więc możesz do nich wrócić później.
Reguły wydajności w CLAUDE.md są zbyt restrykcyjne: Jeśli Claude wydaje się niezdolny do eksploracji, gdy jest to potrzebne, użyj “ignore efficiency rules for this task” aby tymczasowo nadpisać. Reguły to wskazówki, nie twarde blokady.
Co dalej z wydajnością
Dział zatytułowany „Co dalej z wydajnością”- Mistrzostwo terminala — Głębsza optymalizacja terminala
- Monitoring i koszty — Śledź wpływ swoich ulepszeń wydajności
- Porady dotyczące konfiguracji — Więcej optymalizacji konfiguracji