Wzorce produktywności
Głębokie zanurzenie w skróty klawiszowe, szablony promptów i przepływy pracy oszczędzające czas dla codziennego rozwoju.
Agent właśnie zrefaktoryzował twój moduł uwierzytelniania. Przeniósł funkcje między plikami, zaktualizował importy i dodał nową warstwę walidacji. Testy przechodzą — ale strona logowania wyświetla biały ekran w przeglądarce. Terminal nie pokazuje błędów. Agent jest pewny że jego zmiany są poprawne. Witaj w rzeczywistości rozwoju wspomaganego przez AI: kod wygląda dobrze, przechodzi lint i psuje się w sposób subtelny i frustrujący. Ten artykuł to twój przewodnik terenowy do diagnozowania i odzyskiwania dokładnie z takich sytuacji.
Błędy generowane przez AI różnią się od błędów ludzkich. Zrozumienie różnicy zmienia sposób debugowania:
| Błędy ludzkie | Błędy generowane przez AI |
|---|---|
| Literówki i błędy off-by-one | Strukturalnie poprawne ale semantycznie błędne |
| Zapomniane przypadki brzegowe | Pewność co do błędnych założeń |
| Błędy kopiowania-wklejania | Spójny wzorzec zastosowany do złego kontekstu |
| Błędy logiczne w złożonych przepływach | Działający kod który rozwiązuje zły problem |
Najbardziej niebezpieczne błędy AI to te które wyglądają całkowicie rozsądnie. Kod kompiluje się, typy się zgadzają, testy przechodzą — ale zachowanie jest subtelnie błędne ponieważ agent źle zrozumiał wymaganie lub zastosował wzorzec z niewłaściwej części twojej bazy kodu.
Cursor tworzy checkpoint przed każdym zestawem zmian które agent wprowadza. To twoje najważniejsze narzędzie odzyskiwania.
Za każdym razem gdy agent modyfikuje pliki, Cursor zapisuje stan wszystkich zmienionych plików. Możesz zobaczyć checkpointy na osi czasu rozmowy jako numerowane znaczniki.
Dla złożonych zadań, twórz wyraźne punkty przywracania commitując do gita między fazami:
[Agent buduje schemat bazy danych] --> git commit[Agent buduje endpointy API] --> git commit[Agent buduje frontend] --> git commitJeśli praca nad frontendem pójdzie źle, możesz przywrócić checkpoint i nadal mieć pracę nad API bezpiecznie zacommitowaną w git.
Cursor oferuje dedykowany tryb debugowania dla błędów które są trudne do odtworzenia lub zrozumienia tylko z czytania kodu. Tryb debugowania przyjmuje inne podejście niż standardowy tryb Agent: zamiast natychmiast pisać poprawki, instrumentuje twój kod, zbiera dowody runtime i dopiero wtedy wprowadza celowane poprawki.
Przełącz na tryb debugowania z wyboru trybu (Cmd+.).
Opisz błąd
Formularz logowania wysyła się pomyślnie (odpowiedź 200) ale użytkownik nie jestprzekierowywany do dashboardu. Cookie sesji wygląda na poprawnie ustawione.To zaczęło się dziać po refaktoryzacji auth wczoraj.Agent generuje hipotezy
Agent eksploruje istotne pliki i proponuje wiele możliwych przyczyn.
Agent dodaje instrumentację
Wstawia celowane instrukcje logowania które wysyłają dane do lokalnego serwera debugowania działającego w rozszerzeniu Cursor.
Odtwarzasz błąd
Agent mówi ci dokładnie jakie kroki wykonać. Podążaj za nimi precyzyjnie.
Agent analizuje logi
Po odtworzeniu, przegląda zebrane dane i identyfikuje główną przyczynę.
Agent wprowadza celowaną poprawkę
Zamiast zgadywać, naprawia dokładną linię powodującą problem, na podstawie dowodów runtime.
Weryfikuj i czyść
Odtwórz ponownie aby potwierdzić poprawkę. Agent usuwa całą instrumentację.
Przed wysłaniem PR, przeprowadź agenta przez kompleksowe przejście czyszczące. To wyłapuje problemy które prześlizgnęły się przez rozmowy o pojedynczych zadaniach.
Ten pojedynczy prompt, z włączonym auto-run, obsługuje:
Agent iteruje nad każdą awarią aż build jest czysty. Przegląd na końcu wyłapuje semantyczne problemy które lintery pomijają.
Agent wprowadza zmianę, test nie przechodzi, cofa, próbuje innego podejścia, znowu nie przechodzi i zaczyna się powtarzać.
Poprawka: Naciśnij Escape aby go zatrzymać. Zacznij nową rozmowę z bardziej konkretnym kontekstem:
@src/auth/session.ts Test "should redirect after login" nie przechodziponieważ middleware sesji oczekuje że req.session będzie wypełnione,ale mock testu tego nie ustawia. Napraw mocka, nie kod produkcyjny.Kluczowa wskazówka: gdy agent się zapętla, stracił orientację w problemie. Świeża rozmowa z konkretną diagnozą przerywa pętlę.
Wszystko przechodzi w terminalu ale funkcja nie działa w przeglądarce lub przy ręcznym testowaniu.
Poprawka: Użyj trybu debugowania aby dodać instrumentację, lub poproś agenta aby dodał logowanie:
Wysyłanie formularza działa w testach ale nie działa w przeglądarce.Dodaj instrukcje console.log na każdym kroku handlera wysyłania formularzaw @src/handlers/form-submit.ts żebym mógł zobaczyć gdzie odchodziod oczekiwanego zachowania. Wkleję output konsoli z powrotem do ciebie.Uruchom aplikację, odtwórz problem, skopiuj output konsoli z powrotem do czatu. Agent ma teraz dowody runtime zamiast statycznej analizy.
Poprosiłeś o małą zmianę a agent przepisał połowę bazy kodu.
Poprawka: Przywróć checkpoint natychmiast. Następnie bądź bardziej konkretny:
Modyfikuj tylko src/services/billing.ts. Nie zmieniaj żadnych innych plików.Dodaj mechanizm prób ponownych do funkcji processPayment. Użyjistniejącego narzędzia prób ponownych w src/utils/retry.ts.Ograniczenia jak “modyfikuj tylko” i “nie zmieniaj” to instrukcje które agent respektuje. Im szerszy twój prompt, tym więcej plików uważa za uprawnione cele.
Testy które przechodziły teraz sporadycznie nie przechodzą.
Poprawka: To często wskazuje że agent wprowadził zależności czasowe lub współdzielony stan:
@src/services/billing.test.ts Te testy są teraz niestabilne -- przechodząindywidualnie ale nie przechodzą gdy uruchamiane razem. Sprawdź współdzielony stan międzytestami (połączenia bazodanowe, zmienne na poziomie modułu, niewyczyszczone mocki)i dodaj odpowiednią izolację.Agent przeniósł kod między plikami i niektóre importy są błędne.
Poprawka: Pozwól agentowi użyć kompilatora TypeScript aby znaleźć i naprawić wszystkie błędy importu:
Uruchom tsc i napraw wszystkie błędy importu. Nie zmieniaj żadnej logiki,tylko napraw ścieżki importu i brakujące eksporty.Czasami najlepsza strategia debugowania to wyrzucić zepsute zmiany i spróbować ponownie z lepszym promptem. To nie jest porażka — to celowa strategia.
Zacznij od nowa gdy:
Nie zaczynaj od nowa gdy:
Aby czysto zacząć od nowa:
git stash)Najlepsze debugowanie to debugowanie którego nigdy nie musisz robić. Te praktyki dramatycznie redukują częstość błędów generowanych przez AI:
@ do istniejących plików dają agentowi konkretne przykłady do naśladowaniaCzasami problem jest z Cursorem a nie wygenerowanym kodem:
AI nie odpowiada: Sprawdź status subskrypcji i połączenie internetowe. Przełącz modele jeśli jedno API nie działa.
Wysokie użycie CPU: Może działać indeksowanie. Sprawdź Ustawienia następnie Indeksowanie i dokumentacja. Jeśli się utrzymuje, spróbuj wyłączyć rozszerzenia z cursor --disable-extensions.
Błędy serwera MCP: Sprawdź panel Output (View następnie Output, wybierz serwer MCP). Zrestartuj Cursor jeśli serwer utknął.
Utracone zmiany po crashu: Sprawdź git stash, historię checkpointów Cursor i pliki backupowe w ~/.config/Cursor/Backups/.
Ukończyłeś szybki start Cursor. Stąd:
Wzorce produktywności
Głębokie zanurzenie w skróty klawiszowe, szablony promptów i przepływy pracy oszczędzające czas dla codziennego rozwoju.
Zaawansowane techniki
Eksploruj głębokie zanurzenia w trybie agenta, niestandardowe serwery MCP i strategie dużych baz kodu dla złożonych projektów.
Współdzielone przepływy pracy
Ucz się przepływów pracy między narzędziami które działają w Cursor, Claude Code i Codex.
Wskazówki i sztuczki
Przeglądaj kolekcję wskazówek dla sprawdzonych bojowo wzorców od doświadczonych użytkowników Cursor.