Akademia · Praktyka pracy z AI
Zestaw praktyk, skrótów i wzorców, które realnie przyspieszają codzienną pracę z agentem. Od powiadomień dźwiękowych po świadome zarządzanie kontekstem i optymalizację promptów. Wszystko z naszej własnej praktyki.
Ostatnia aktualizacja:
Gdy agent pracuje w tle, łatwo przegapić moment, w którym kończy. Hook na zdarzeniu zakończenia odpowiedzi zagra dźwięk i zwróci Twoją uwagę.
~/.claude/.~/.claude/settings.json.# skopiuj pliki do ~/.claude/
cp ~/Downloads/finish.wav ~/.claude/
cp ~/Downloads/play.js ~/.claude/
# test odtwarzania
node ~/.claude/play.js ~/.claude/finish.wav Menu /hooks służy dziś tylko do podglądu, więc hook dopisujesz w ustawieniach (albo prosisz agenta, żeby zrobił to za Ciebie). Zdarzenie Stop odpala się, gdy agent kończy odpowiedź:
{
"hooks": {
"Stop": [
{
"hooks": [
{ "type": "command", "command": "node ~/.claude/play.js ~/.claude/finish.wav" }
]
}
]
}
} Potem wpisz /hooks i sprawdź, czy przy zdarzeniu Stop widać nowy wpis.
Wskazówka: jeśli play.js nie odtwarza dźwięku, zleć rozwiązanie problemu samemu agentowi: poda komendę właściwą dla Twojego systemu (wymaga zainstalowanego Node.js). Chcesz sygnału także wtedy, gdy agent czeka na Twoją zgodę? Podepnij tę samą komendę pod zdarzenie Notification.
Ciągłe potwierdzanie każdej operacji spowalnia pracę. Flaga pomijająca pytania daje duży przyrost prędkości, ale wyłącza wszystkie kontrole:
claude --dangerously-skip-permissions Uwaga: ta flaga pomija WSZYSTKIE kontrole bezpieczeństwa. Agent wykona dowolną operację bez pytania. Używaj wyłącznie w izolowanych środowiskach (np. Docker), na maszynach testowych albo gdy masz pewność co do bezpieczeństwa skryptów.
Jeśli używasz jej często, schowaj ją za aliasem powłoki:
alias claude-fast='claude --dangerously-skip-permissions' Bezpieczniejsza alternatywa: tryb Auto pozwala agentowi działać bez ciągłych potwierdzeń, ale każdą akcję przed wykonaniem sprawdza osobny klasyfikator. Od wersji 2.1.283, jeśli nie ustawisz innego trybu w permissions.defaultMode, każda sesja w terminalu i w VS Code startuje właśnie w nim (do trybu Manual przejdziesz jednym Shift+Tab). To rozsądny kompromis między pełną kontrolą a --dangerously-skip-permissions. Masz przyspieszenie bez całkowitego wyłączania kontroli bezpieczeństwa.
Status line to pasek na dole terminala. Pokazuje na bieżąco model, zapełnienie okna kontekstu, koszt sesji czy gałąź gita — cokolwiek wypisze skrypt, który mu podłączysz. Nie musisz już sięgać po zewnętrzne paczki: Claude Code ma wbudowaną komendę /statusline, która sama wygeneruje skrypt i wpisze go do ustawień. Opisujesz po ludzku, co chcesz widzieć:
/statusline pokaż nazwę modelu i procent kontekstu z paskiem postępu Agent tworzy plik w ~/.claude/ i aktualizuje konfigurację za Ciebie. Co warto trzymać na pasku:
Pasek odświeża się sam podczas pracy. Chcesz go zmienić albo usunąć? Wywołaj /statusline jeszcze raz i powiedz, co poprawić (albo /statusline clear).
Wskazówka: pasek konfigurujesz w całości wbudowaną komendą. Zewnętrzne instalatory status line to zbędna zależność.
Auto-compact automatycznie kompresuje historię konwersacji, gdy okno kontekstu się zapełnia (na modelach z oknem 1M domyślnie przy ok. 967 tys. tokenów). W praktyce częściej szkodzi niż pomaga:
/compact z instrukcją (np. /compact skup się na poprawce logowania) zostawia to, co wskażesz.Wyłącz go przez /config: znajdź opcję „Auto-compact" i przełącz na false (spacją).
Nie chcesz wyłączać go całkiem? Komenda /autocompact ustawia próg, przy którym agent kompaktuje, np. /autocompact 500k (od 100 tys. do 1M tokenów), a /autocompact auto wraca do progu dobranego pod model.
Zanim zdecydujesz, co przyciąć, sprawdź, gdzie ucieka okno. Komenda /context rysuje zużycie kontekstu jako kolorową siatkę i pokazuje, co zżera najwięcej (system prompt, otwarte pliki, narzędzia serwerów MCP czy rozrośnięty CLAUDE.md), razem z podpowiedziami optymalizacji i ostrzeżeniem, gdy zbliżasz się do limitu. /context all rozwija pełną rozpiskę pozycja po pozycji.
Strategia kontekstu: gdy okno się zapełni, zamiast /compact użyj /clear i rozplanuj zadanie na nowo. Świeży start z lepszym planem daje znacznie wyższą skuteczność niż kompaktowanie. Pamiętaj tylko, że bez auto-compact sesja po dojściu do limitu zatrzyma się błędem, zamiast sama się streścić, więc pilnuj paska kontekstu.
W trybie planowania agent analizuje i planuje, ale nie zmienia plików — może za to czytać kod i uruchamiać komendy powłoki do eksploracji (read-only). To faza rozpoznania przed właściwymi zmianami. Shift+Tab przełącza tryby cyklicznie: default (Manual) → acceptEdits → plan → auto. Sesja startuje dziś w auto, więc do planu dochodzisz trzecim naciśnięciem. Wejdziesz też komendą /plan albo startując agenta z flagą --permission-mode plan.
Po wejściu w tryb opisz problem szczegółowo. Przykład:
Zaplanuj implementacje systemu autentykacji z OAuth2,
JWT, refresh tokenami i rate limitingiem dla REST API. Im głębiej agent myśli przed odpowiedzią, tym wyższy koszt czasu i tokenów. Steruje się tym na dwa sposoby: trwale komendą /effort i jednorazowo słowem w prompcie.
| Mechanizm | Co robi | Zasięg |
|---|---|---|
| /effort (low / medium / high / xhigh / max) | ustawia, jak głęboko agent myśli | zapamiętany dla modelu, aż zmienisz (max tylko na bieżącą sesję) |
ultracode (przełącznik w /effort albo słowo w prompcie) | rozpisuje większe zadania na workflow wielu subagentów | cała sesja albo jeden prompt |
| ultrathink (w treści promptu) | jednorazowo podbija myślenie na tę jedną odpowiedź | tylko bieżący prompt |
Wskazówka: na Opusie 5.5 domyślny jest medium i w codziennej pracy z jasno opisanym zakresem wystarcza. high bierz przy poprawkach błędów, gdzie liczy się weryfikacja, xhigh rezerwuj na długie zadania agentowe, a max na realnie graniczne problemy (bywa przekombinowany). ultracode nie zmienia poziomu myślenia: przy każdym większym zadaniu agent planuje workflow wielu równoległych podagentów, co kosztuje więcej tokenów i szybciej zjada limity planu. Głębsze myślenie zostaw na trudne decyzje: architekturę, duży refactoring, niejasne błędy.
Zamiast ogólników jedna zasada z praktyki: odwołuj się do tras i ścieżek (np. /trainings), nie do nazw tabel czy szczegółów implementacji. Resztę tła agent i tak ma w CLAUDE.md.
ZLE: "Hej, moglbys mi pomoc zeby w aplikacji byla funkcja
wysylania maili do uzytkownikow z tabeli szron_training_participants"
DOBRZE: "Dodaj funkcje wysylki maili do uczestnikow w /trainings"
ZLE: "Czy moglbys sprawdzic baze i powiedziec jakie sa wszystkie tabele i co robia?"
DOBRZE: "Lista tabel w DB z opisami" Możesz też poprosić agenta, by po każdym zadaniu sam podpowiadał lepszą wersję Twojego promptu. Wpisz tę zasadę do CLAUDE.md, a każde zadanie stanie się darmową lekcją prompt engineeringu. Z czasem Twoje pierwsze prompty zbliżą się do tych zoptymalizowanych.
Agent poszedł w złą stronę, a zorientowałeś się dwa kroki za późno? Nie musisz zaczynać sesji od zera. Claude Code odkłada checkpointy w trakcie pracy, więc da się wrócić do stanu sprzed nieudanej zmiany. Służy do tego komenda /rewind (aliasy: /checkpoint, /undo): cofa rozmowę i/lub kod do wybranego punktu albo streszcza część historii: od zaznaczonej wiadomości w przód albo wszystko, co było przed nią.
Menu otwierasz komendą /rewind albo podwójnym Esc. Wybierasz wtedy, co przywrócić:
Jedno zastrzeżenie: checkpointy śledzą tylko edycje zrobione narzędziami agenta do plików. Zmian z komend powłoki (rm, mv, cp) ani większości edycji subagentów /rewind nie cofnie. Od tego jest git.
Wskazówka: pojedynczy Esc przerywa pracę agenta w locie; podwójny Esc otwiera to samo menu cofania co /rewind (jeśli w polu promptu jest tekst, najpierw go czyści). To szybsza pętla niż dorzucanie korekty kolejnym promptem na końcu, zwłaszcza gdy agent zdążył już naruszyć kilka plików.
Wpisujesz w kółko ten sam prompt: „przejrzyj diff pod kątem bugów", „dodaj endpoint z obsługą błędów i typami"? Zamień go w komendę raz, wołaj jednym /. Plik markdown w katalogu .claude/skills/<nazwa>/SKILL.md tworzy komendę /<nazwa>. Starszy zapis .claude/commands/<nazwa>.md działa tak samo. W nowszych wersjach własne komendy zostały scalone ze Skills.
Każdy SKILL.md to nagłówek YAML (name, description) i treść w markdown z instrukcją:
---
name: code-review
description: Przeglada diff pod katem bugow i luk bezpieczenstwa.
---
Przejrzyj zmiany w gicie. Zglos tylko realne bugi
i podatnosci — zwiezle, bez czepiania sie nazewnictwa. Dwie rzeczy robią tu największą różnicę:
.claude/skills/ i komitujesz do repozytorium; każdy w zespole ma od ręki te same SOP-y. Wersja osobista (~/.claude/skills/) jedzie z Tobą po wszystkich projektach.description mówi agentowi, kiedy włączyć skill bez Twojego /. Komendę odpalasz ręcznie, skill może wskoczyć sam, gdy pasuje do zadania. Listę dostępnych masz pod /skills.Komendy przyjmują argumenty ($ARGUMENTS albo pozycyjnie $0, $1, liczone od zera), więc jeden skill obsłuży wiele wariantów. Przykład z praktyki: skill prototype, który zamiast jednego widoku generuje od razu pięć wariantów UI obok siebie w jednym pliku — wybierasz najlepszy zamiast prosić o poprawki w nieskończoność.
Te triki to dopiero początek. Wdrożenie to dwa kwartały na Waszym kodzie, z pomiarem efektu w DEVLens. Audyt 90 minut wystarczy, żeby sprawdzić, czy ma to u Was sens.