Błędy TypeScript
Agent: Uruchom tsc i napraw wszystkie błędy TypeScript
Z trybem YOLO Agent iteruje aż build przejdzie
Debugowanie to już nie dodawanie instrukcji print ręcznie i wpatywanie się w stack trace. Z pomocą AI Cursor możesz diagnozować problemy w minuty, które tradycyjnie zajęłyby godziny, automatycznie naprawiać błędy, a nawet zapobiegać błędom zanim się pojawią.
Najpotężniejszy wzorzec debugowania: pozwól AI dodać logowanie, uruchomić kod, przeanalizować output i automatycznie naprawić problemy.
AI dodaje strategiczne logowanie
Agent: Dodaj logowanie aby zrozumieć dlaczego sesje użytkowników wygasają
Uruchom kod z instrumentacją
Agent wykonuje kod, przechwytuje cały output logów
AI analizuje logi
Na podstawie logów: "Sesje wygasają bo cookie brakujeflagi Secure na połączeniach HTTPS"
Automatyczne generowanie naprawy
Agent naprawia problem i weryfikuje rozwiązanie
Użytkownik: Przetwarzanie płatności czasami zawodzi
Agent: Dodam strategiczne logowanie aby zdiagnozować ten problem.
[Dodaje logowanie wokół wywołań API płatności, transakcji bazy danych,i obsługi błędów]
Uruchamiam przepływ płatności 10 razy aby wychwycić wzorzec...
Analiza: Problem występuje gdy:1. Pula połączeń bazy danych jest wyczerpana (8/10 awarii)2. Osiągnięto limit częstości API płatności (2/10 awarii)
Naprawię oba problemy:- Dodanie logiki retry dla puli połączeń- Implementacja exponential backoff dla wywołań API
[Implementuje naprawy][Uruchamia 50 więcej testów - 100% wskaźnik sukcesu]
Sporadyczne awarie są teraz rozwiązane.
Użyj @Linter-errors
aby automatycznie naprawić problemy jakości kodu:
Błędy TypeScript
Agent: Uruchom tsc i napraw wszystkie błędy TypeScript
Z trybem YOLO Agent iteruje aż build przejdzie
Problemy ESLint
Agent: Napraw wszystkie ostrzeżenia i błędy ESLint
AI rozumie intencję za zasadami lint
Podpowiedzi typów Python
Agent: Dodaj brakujące podpowiedzi typów na podstawie outputu mypy
Kompleksowa bezpieczeństwo typów bez ręcznej pracy
Format i styl
Agent: Uruchom prettier i napraw całe formatowanie
Spójny styl kodu automatycznie utrzymywany
# Utwórz komendę pre-PR która uruchamia wszystkie sprawdzenia{ "scripts": { "pre-pr": "npm run lint && npm run test && npm run build" }}
Następnie po prostu:
Agent: Uruchom npm run pre-pr i napraw wszelkie problemy aż przejdzie
Połącz Cursor ze śledzeniem błędów produkcyjnych dla automatycznego rozwiązywania:
Użytkownik: Sprawdź Sentry pod kątem ostatnich błędów i stwórz naprawy
Agent: Analizuję dashboard Sentry...
Znaleziono 3 krytyczne problemy:1. NullPointerException w UserService.getProfile() - 147 wystąpień2. Timeout API w PaymentGateway - 23 wystąpienia3. Nieprawidłowy format daty w ReportGenerator - 89 wystąpień
Zaczynam od najczęstszego problemu:
[Otwiera UserService.java]Null pointer występuje gdy user.getPreferences() zwraca nullale nie sprawdzamy przed wywołaniem .getTheme().
Tworzę naprawę z bezpieczeństwem null:
Użyj bug finder Cursor przed commitowaniem:
Komenda: Ctrl+Shift+P → "bug finder"
Agent analizuje twoje zmiany i identyfikuje:- Potencjalne wyjątki null pointer- Brakującą obsługę błędów- Luki w zabezpieczeniach- Problemy wydajnościowe- Błędy logiki
Wyniki Bug Finder:
1. 🔴 Krytyczne: Potencjalne SQL injection w UserQuery.java:45 - Input użytkownika bezpośrednio konkatenowany do zapytania - Sugerowana naprawa: Używaj parametryzowanych zapytań
2. 🟡 Ostrzeżenie: Brakujące sprawdzenie null w calculateTotal(): - Parametr items może być null - Sugerowana naprawa: Dodaj klauzulę guard null
3. 🟡 Ostrzeżenie: Nieefektywna pętla w processOrders(): - Wykryto wzorzec zapytań N+1 - Sugerowana naprawa: Używaj batch loading
Agent: Czy chcesz żebym naprawił te problemy?
AI może identyfikować i naprawiać wąskie gardła wydajności:
Agent: Profiluj wolny endpoint i zidentyfikuj wąskie gardła
Uruchamiam profiler wydajności...
Wyniki:- 45% czasu w zapytaniach bazy danych- 30% czasu w serializacji JSON- 15% czasu w logice biznesowej- 10% inne
Główne wąskie gardło: Brakujący indeks bazy danych na user_id
Agent: To zapytanie zajmuje 2.3 sekundy. Optymalizuję...
Znalezione problemy:1. Brakujący indeks na często odpytywanej kolumnie2. Niepotrzebny JOIN z nieużywaną tabelą3. SELECT * zamiast konkretnych kolumn
Po optymalizacji: 0.087 sekund (26x szybciej)
Agent: Analizuję wzorce użycia pamięci...
Znaleziono potencjalny wyciek: EventListeners nie są usuwanew ComponentManager. Każde mount dodaje listenery aleunmount ich nie czyści.
Dodaję czyszczenie w componentWillUnmount()
Agent: Porównaj działającą wersję (commit abc123) z zepsutą wersjąaby zidentyfikować co spowodowało regresję
Analizuję różnice...
Problem został wprowadzony w commit def456:- Zmieniono przepływ uwierzytelniania- Usunięto krok walidacji sesji- To powoduje natychmiastowe wylogowanie przy odświeżeniu strony
Cofam problematyczną zmianę i dodaję test aby zapobiec regresji
Agent: Debuguj dlaczego zamówienia zawodzą w architekturze mikroserwisów
Śledzenie przepływu żądania:1. ✓ Order Service odbiera żądanie2. ✓ Inventory Service rezerwuje przedmioty3. ✗ Payment Service timeout4. ✗ Order Service rollback zawodzi
Główna przyczyna: Pula połączeń bazy danych Payment Service wyczerpanaDrugorzędny problem: Transakcja rollback brakuje obsługi timeout
Naprawiam oba problemy...
Agent: Ten test przechodzi lokalnie ale zawodzi w CI. Badanie...
Dodaję logi czasowe wokół krytycznych sekcji...
Znaleziono race condition:- Test zakłada że wywołanie API kończy się przed aktualizacją UI- W CI (wolniejsze środowisko) UI aktualizuje się pierwszy- Test sprawdza dane które się jeszcze nie załadowały
Dodaję odpowiednie async/await i warunki oczekiwania
Agent: Ostatnie wdrożenie spowodowało błędy. Cofam...
1. Identyfikuję ostatnią działającą wersję z tagów Git2. Tworzę PR revert dla problematycznych zmian3. Uruchamiam testy aby upewnić się że rollback jest czysty4. Wdrażam poprzednią stabilną wersję5. Tworzę raport incydentu z główną przyczyną
# Konfiguruj zachowania samonaprawiająceAgent: Monitoruj zdrowie aplikacji i auto-naprawiaj częste problemy:
- Jeśli użycie pamięci > 80%: Uruchom garbage collection- Jeśli czas odpowiedzi > 2s: Wyczyść cache i restart workerów- Jeśli wskaźnik błędów > 5%: Przełącz na tryb ograniczony- Jeśli połączenie z bazą danych zawodzi: Próbuj reconnect z backoff
Frontend + Backend
Agent śledzi problemy przez cały stos, od UI do bazy danych
Operacje asynchroniczne
AI dodaje logi czasowe aby zidentyfikować race conditions i deadlocki
API zewnętrzne
Mockuj zewnętrzne serwisy aby izolować problemy i testować przypadki błędów
Produkcja vs lokalne
Agent pomaga odtworzyć problemy produkcyjne w środowisku lokalnym
Test zawodzi: UserAuthentication.test.js
Agent: Pozwól mi debugować tę awarię testu.
1. Uruchamiam test w izolacji - ZAWODZI2. Dodaję verbose logging do testu3. Test oczekuje 'user.role' ale otrzymuje undefined4. Sprawdzam ostatnie zmiany...5. Znaleziono: Migracja schematu dodała 'role' ale dane seed nie zostały zaktualizowane6. Aktualizuję fixtures testowe polem role7. Test teraz przechodzi ✓
PILNE: Użytkownicy nie mogą się zalogować - problem produkcyjny
Agent: Badam awarię logowania...
1. Sprawdzam ostatnie wdrożenia (2 godziny temu)2. Analizuję logi błędów: "Invalid JWT secret"3. Zmienna środowiskowa JWT_SECRET nie jest ustawiona w produkcji4. Tworzę hotfix: - Dodanie fallback dla brakującej zmiennej env - Logowanie ostrzeżenia przy użyciu fallback - Tworzenie pilnego PR
Naprawa wdrożona. Logowanie przywrócone.Całkowity czas rozwiązania: 8 minut.
Gdy sam Cursor ma problemy:
Rozwiązanie:1. Uruchom diagnostykę sieciową: Ustawienia → Sieć → Uruchom diagnostykę2. Sprawdź ustawienia firewall/proxy3. Spróbuj fallback HTTP/1.1 jeśli HTTP/2 jest zablokowane4. Sprawdź połączenie internetowe
Rozwiązanie:1. Sprawdź czy indeksowanie jest w toku2. Wyłącz problematyczne rozszerzenia: cursor --disable-extensions3. Wyczyść cache i restart4. Monitoruj logi serwera MCP pod kątem problemów
Rozwiązanie:1. Sprawdź czy quota API nie została przekroczona2. Sprawdź ustawienia trybu prywatności3. Upewnij się że pliki są indeksowane: Ustawienia → Indeksowanie i dokumentacja4. Spróbuj przełączyć modele AI
Kodowanie defensywne
Pozwól AI dodać sprawdzenia null, walidację input i granice błędów
Wczesne testowanie
Pisz testy z implementacją aby wychwycić problemy natychmiast
Bezpieczeństwo typów
Używaj TypeScript/podpowiedzi typów aby zapobiec błędom runtime
Przeglądy kodu
BugBot wychwytuje problemy zanim dotrą do produkcji
Śledź te metryki aby zobaczyć poprawę:
Opanuj debugowanie z pomocą AI: