Przejdź do głównej zawartości

Sztuczki wydajności

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.

  • 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

Największy zysk wydajności to czyszczenie kontekstu przy przechodzeniu między zadaniami:

/rename payment-bug-investigation
/clear

Nieaktualny 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).

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.
# Compact instructions
When 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 approaches

Dodaj do ~/.zshrc lub ~/.bashrc:

Okno terminala
# Quick question -- ask Claude without starting a session
alias cq='claude -p'
# Continue last session
alias cc='claude -c'
# Review current changes
alias cr='git diff | claude -p "Quick review: only flag CRITICAL and HIGH issues."'
# Explain a file
explain() {
claude -p "Explain what $1 does, its key functions, and how it fits into the project."
}
# Generate tests for a file
gentest() {
claude -p "Generate comprehensive tests for $1. Follow existing test patterns in this project."
}
# Debug an error
debug() {
echo "$@" | claude -p "Analyze this error and suggest a fix. Read the relevant source files."
}

Gdy potrzebujesz ustrukturyzowanego wyjścia:

Okno terminala
claude -p "List all API endpoints with their HTTP method, path, and handler file" \
--output-format json | jq '.result'

Dla gwarantowanej struktury wyjścia:

Okno terminala
claude -p "Analyze the test coverage of src/api/" \
--json-schema '{"type":"object","properties":{"total_files":{"type":"number"},"covered_files":{"type":"number"},"uncovered_files":{"type":"array","items":{"type":"string"}}}}'

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.

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.md
When running tests after a change, run only the tests related to the modified file.
Use: npx jest [file] --no-coverage
Only run the full test suite when I ask for it or before committing.
# In CLAUDE.md
Never read these files:
- package-lock.json
- yarn.lock
- any file in dist/ or build/
- any file in node_modules/
- any .map file
Okno terminala
# Work on a frontend app with access to the shared library
claude --add-dir ../shared-components
Okno terminala
claude -p "Quick task" --fallback-model sonnet

Jeśli Opus jest przeciążony, automatycznie przechodzi na Sonnet zamiast zwracać błąd.

Okno terminala
# Create a session linked to a PR
claude --from-pr 123

To ładuje kontekst z PR-a, ułatwiając odpowiadanie na komentarze z przeglądu.

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.