Wzorce · 12 / 15

Debugowanie z AI

Jak szukać błędów z AI szybciej, nie tracąc rozumienia kodu.

Stan na: 7.11.2026

Pętla debugowania

Ta sama pętla, której używa człowiek, tylko z AI na każdym kroku. AI nie zastępuje rozumienia kodu, ale mocno je przyspiesza.

1. Odtwórz błąd

Opisz go dokładnie. Ogólny opis daje ogólną odpowiedź.

Słabo:  „Aplikacja czasem się wywala”.
Dobrze: „POST /api/faktury zwraca 500, gdy tablica pozycje ma ponad 50
         elementów. Przy mniejszej liczbie działa.
         Błąd: PayloadTooLargeError: request entity too large”.

2. Daj kontekst

Wklej cały błąd ze stosem wywołań, nie samą wiadomość.

Error: Cannot read properties of undefined (reading 'id')
    at pobierzUzytkownika (src/lib/auth.ts:42:18)
    at handler (src/routes/uzytkownicy.ts:15:24)

Dołącz: czego się spodziewałeś, co się stało, co wywołało błąd i jakie jest środowisko (wersja Node, system, przeglądarka). Agent z dostępem do terminala może sam uruchomić polecenie i przeczytać wynik.

3. Hipotezy przed poprawką

Najpierw pytaj o przyczyny, nie o poprawkę.

Na podstawie tego błędu i stosu wywołań podaj trzy najbardziej
prawdopodobne przyczyny. Jeszcze nic nie poprawiaj.

Skok prosto do poprawki często leczy objaw zamiast przyczyny.

4. Poprawka

Gdy zgadzacie się co do przyczyny, poproś o poprawkę.

pobierzUzytkownika() dostaje null, gdy ciasteczko sesji wygasło.
Obsłuż ten przypadek i zwróć 401 zamiast wywracać proces.

5. Sprawdzenie

Uruchom testy i sprawdź, czy coś się zepsuło.
Dopisz test na wygasłą sesję.

Szablony zgłoszeń dla AI

Błąd w działaniu:

Dostaję ten błąd, gdy [działanie]:
[pełny błąd i stos]
Pliki: src/routes/faktury.ts (handler), src/lib/baza.ts (zapytanie)
Oczekiwane: [co ma się stać]
Jest: [co się dzieje]

Test, który nie przechodzi:

Ten test nie przechodzi: [nazwa i ścieżka]
Wynik: [pełny wynik z asercją]
Kod: src/services/rozliczenia.ts
Test przechodził przed [commit albo zmiana].

Błąd tylko w CI:

Lokalnie testy przechodzą, w CI nie.
Log CI: [fragment]
Lokalnie: Node 22, macOS. CI: Node 22, Ubuntu.
Zmiany od ostatniego zielonego przebiegu: [diff albo link]

Częste pytania do AI

W czym AI jest dobre

Gdzie AI się myli

Triki

Logi przed pytaniem

console.log('uzytkownik:', JSON.stringify(uzytkownik));
console.log('wejscie:', JSON.stringify(req.body));

Wartości z działania plus kod dają szybszą diagnozę.

Metoda diffu

Błąd pojawił się po scaleniu tego pull requesta: [git diff main..galaz]
Która zmiana najpewniej go wprowadziła?

Najpierw obserwowalność

Zanim poprawisz błąd, poproś o porządne logowanie w tym miejscu. Następny podobny błąd złapiesz szybciej.

Wyszukiwanie binarne w Git

git bisect start
git bisect bad          # bieżący commit ma błąd
git bisect good abc123  # ten działał
# git podaje kolejne commity do sprawdzenia

Wynik pokaż AI: „Błąd wszedł w commicie xyz789, oto jego zmiany”.

Gumowa kaczka

Samo ułożenie problemu w jasne polecenie często podsuwa odpowiedź, zanim AI zdąży odpisać. Pisz pełne polecenie mimo to. Jeśli nie rozwiążesz sam, AI dostanie dobrze postawione pytanie.