Ścieżka 02Lekcja 6 / 6

Debuguj za pomocą sprawdzalnych hipotez

Używaj agenta do porównywania wyjaśnień i zbierania dowodów. Unikaj kolejnych zmian bez zweryfikowanej przyczyny.

Praktyka10 minSprawdzono

Wydawca Jak piszemy

Czego się nauczysz

  • Precyzyjnie opisz oczekiwane i zaobserwowane zachowanie.
  • Wybierz obserwację rozróżniającą konkurencyjne wyjaśnienia.
  • Sprawdź poprawkę bez mylenia usunięcia objawu z usunięciem przyczyny.

Opisz błąd przed zaproponowaniem poprawki

Przydatne zlecenie debugowania określa oczekiwane zachowanie, obserwowany wynik i zakres problemu. Dodaj wersję, istotne dane wejściowe i błąd. Usuń dane uwierzytelniające i prywatne rekordy z logów przed przekazaniem ich narzędziu AI.

„Eksport nie działa” daje mało wskazówek. Lepszy opis brzmi: „Eksport działa lokalnie. W stagingu to samo żądanie menedżera zwraca 403 po ostatnim wdrożeniu. Inne trasy nadal działają”.

Ten opis nie ustala przyczyny. Wskazuje różnice, które mogą ukierunkować badanie.

Zachowaj kilka możliwych wyjaśnień

Poproś agenta o mały zestaw prawdopodobnych przyczyn i dowody dla każdej. Nie każ mu wybierać pierwszego przekonującego wyjaśnienia.

W fikcyjnej awarii eksportu możliwe przyczyny obejmują brak uprawnienia tożsamości usługi, zmianę mapowania ról lub żądanie wysłane do niewłaściwego środowiska. Każde wyjaśnienie przewiduje inne dowody.

HipotezaObserwacja pomagająca ją odróżnić
Tożsamość usługi nie może czytać danych eksportuTożsamość usługi otrzymuje odmowę dostępu do zasobu docelowego
Zmieniło się mapowanie rólŻądanie dociera do aplikacji z inną efektywną rolą
Żądanie używa niewłaściwego środowiskaRozwiązany endpoint lub identyfikator zasobu różni się od zamierzonego celu

Tabela jest punktem wyjścia. Odpowiedź 403 może pochodzić z różnych warstw. Ustal, który komponent ją wygenerował, zanim założysz błąd autoryzacji aplikacji.

Wybierz bezpieczną obserwację

Zacznij od obserwacji, która niewielkim kosztem rozróżni wyjaśnienia. Porównaj wdrożoną wersję i konfigurację bez sekretów. Sprawdź właściwy błąd i identyfikator żądania. Jeśli to możliwe, odtwórz problem w dozwolonym środowisku testowym.

Nie przyznawaj szerokich uprawnień tylko po to, aby zobaczyć, czy błąd zniknie. To zmienia granicę bezpieczeństwa i może ukryć rzeczywiste brakujące uprawnienie. Nie wklejaj pełnego logu produkcyjnego do modelu, gdy wystarczy zanonimizowany błąd i ścieżka żądania.

Określ, co osłabi każdą hipotezę. Pomoże to agentowi zmieniać wyjaśnienie zamiast bronić pierwszej odpowiedzi.

Zmieniaj jedną przyczynę naraz

Gdy dowody wskażą prawdopodobną przyczynę, wprowadź skupioną poprawkę. Nie łącz zmiany uprawnień, aktualizacji biblioteki i przepisania handlera. Gdyby objaw zniknął, nie byłoby wiadomo, która zmiana pomogła.

Sprawdź pierwotny warunek błędu. Sprawdź też sąsiednią granicę. Jeśli poprawiasz dostęp menedżera, potwierdź, że nieuprawniony użytkownik nadal otrzymuje odmowę.

Dla powtarzającego się błędu dodaj kontrolę regresji w warstwie, która go wykryje. Test jednostkowy nie wykrywa każdego błędu konfiguracji wdrożenia. Czasem potrzebna jest kontrola integracyjna lub kontrolowana weryfikacja po wdrożeniu.

Zatrzymaj powtarzane próby bez nowych dowodów

Agent może wygenerować wiele wariantów poprawki. Więcej prób nie musi poprawić diagnozy. Jeśli powtarza się ten sam błąd, zapytaj, jaką nową obserwację przyniesie kolejna próba.

Ustal limit czasu lub liczby prób dla badania o niepewnym wyniku. Po jego osiągnięciu przedstaw bieżące dowody, odrzucone hipotezy i nierozstrzygnięte pytanie. Ten zapis pozwoli kolejnej osobie kontynuować bez powtarzania tych samych eksperymentów.

Po przywróceniu działania zapisz przyczynę i warunek, który pozwolił jej dotrzeć do danego środowiska. Poprawka usuwa bezpośredni błąd. Przydatne działanie następcze zmniejsza szansę jego powrotu.

Wykonaj ćwiczenie

Przygotuj notatkę o niedawnym błędzie. Uwzględnij zachowanie oczekiwane, zaobserwowane, zakres problemu i trzy możliwe przyczyny. Dla każdej wskaż obserwację, która osłabiłaby hipotezę. Zacznij od najtańszej bezpiecznej obserwacji.

Pobierz arkusz (Markdown)

Sprawdź zrozumienie

Żądanie zawodzi tylko po wdrożeniu, ale działa lokalnie. Co agent powinien zrobić najpierw?

Źródła i dalsza lektura

Powiązana lektura od Taiga