Διαδρομή 02Μάθημα 6 / 6

Κάντε debugging με ελέγξιμες υποθέσεις

Χρησιμοποιήστε agent για να συγκρίνετε εξηγήσεις και να συλλέξετε αποδεικτικά στοιχεία. Αποφύγετε επαναλαμβανόμενες αλλαγές χωρίς επαληθευμένη αιτία.

Πρακτικό επίπεδο10 minΕλέγχθηκε

Εκδότης Πώς γράφουμε

Ελέγξτε τι κατανοήσατεΈνα αίτημα αποτυγχάνει μόνο μετά το deployment, αλλά λειτουργεί τοπικά. Τι πρέπει να κάνει πρώτα ο agent;Κάντε την άσκηση
Ένα αίτημα αποτυγχάνει μόνο μετά το deployment, αλλά λειτουργεί τοπικά. Τι πρέπει να κάνει πρώτα ο agent;

Τι θα μάθετε

  • Περιγράψτε με ακρίβεια την αναμενόμενη και την παρατηρούμενη συμπεριφορά.
  • Επιλέξτε μια παρατήρηση που διαχωρίζει ανταγωνιστικές εξηγήσεις.
  • Επαληθεύστε μια διόρθωση χωρίς να συγχέετε την άρση του συμπτώματος με την άρση της αιτίας.

Περιγράψτε την αστοχία πριν προτείνετε διόρθωση

Ένα χρήσιμο αίτημα debugging δηλώνει την αναμενόμενη συμπεριφορά, την παρατηρούμενη συμπεριφορά και την επηρεαζόμενη έκταση. Συμπεριλάβετε την έκδοση, τη σχετική είσοδο και το σφάλμα. Αφαιρέστε διαπιστευτήρια και ιδιωτικές εγγραφές από τα logs πριν τα δώσετε σε εργαλείο AI.

Το «η εξαγωγή δεν λειτουργεί» δίνει λίγη καθοδήγηση. Μια καλύτερη περιγραφή είναι: «Η εξαγωγή πετυχαίνει τοπικά. Στο staging, το ίδιο αίτημα manager επιστρέφει 403 μετά το τελευταίο deployment. Τα άλλα routes εξακολουθούν να λειτουργούν».

Αυτή η περιγραφή δεν αποδεικνύει την αιτία. Εντοπίζει διαφορές που μπορούν να καθοδηγήσουν μια διερεύνηση.

Κρατήστε διαθέσιμες πολλές εξηγήσεις

Ζητήστε από τον agent ένα μικρό σύνολο εύλογων αιτιών και τα αποδεικτικά στοιχεία για καθεμία. Μην του ζητάτε να δεσμευτεί στην πρώτη πειστική εξήγηση.

Για την πλασματική αστοχία εξαγωγής, πιθανές αιτίες είναι ένα δικαίωμα που λείπει από την ταυτότητα της υπηρεσίας, μια αλλαγμένη αντιστοίχιση ρόλων ή ένα αίτημα προς λάθος περιβάλλον. Κάθε εξήγηση προβλέπει διαφορετικά αποδεικτικά στοιχεία.

ΥπόθεσηΠαρατήρηση που βοηθά στη διάκρισή της
Η ταυτότητα της υπηρεσίας δεν μπορεί να διαβάσει τα δεδομένα εξαγωγήςΗ ταυτότητα της υπηρεσίας λαμβάνει άρνηση πρόσβασης για τον πόρο-στόχο
Η αντιστοίχιση ρόλων άλλαξεΤο αίτημα φτάνει στην εφαρμογή με διαφορετικό ενεργό ρόλο
Το αίτημα χρησιμοποιεί λάθος περιβάλλονΤο endpoint στο οποίο καταλήγει ή το αναγνωριστικό πόρου διαφέρει από τον επιδιωκόμενο στόχο

Ο πίνακας είναι σημείο εκκίνησης. Μια απόκριση 403 μπορεί να προέρχεται από διαφορετικά επίπεδα. Εντοπίστε ποιο συστατικό την παρήγαγε πριν υποθέσετε ότι απέτυχε η εξουσιοδότηση της εφαρμογής.

Επιλέξτε μια ασφαλή παρατήρηση

Ξεκινήστε με παρατήρηση που μπορεί να διαχωρίσει εξηγήσεις με χαμηλό κόστος. Συγκρίνετε την εγκατεστημένη έκδοση και τη διαμόρφωση που δεν περιέχει μυστικά. Εξετάστε το σχετικό σφάλμα και το αναγνωριστικό αιτήματος. Αναπαραγάγετε το πρόβλημα σε εξουσιοδοτημένο περιβάλλον δοκιμών όταν είναι δυνατόν.

Μην παραχωρείτε ευρέα δικαιώματα μόνο για να δείτε αν εξαφανίζεται το σφάλμα. Αυτή η ενέργεια αλλάζει το όριο ασφάλειας και μπορεί να κρύψει το πραγματικό δικαίωμα που λείπει. Μην επικολλάτε ολόκληρο log παραγωγής στο μοντέλο όταν αρκούν ένα σφάλμα από το οποίο έχουν αφαιρεθεί ευαίσθητα στοιχεία και η διαδρομή αιτήματος.

Δηλώστε τι θα αποδυνάμωνε κάθε υπόθεση. Αυτό βοηθά τον agent να αναθεωρεί την εξήγησή του αντί να υπερασπίζεται την πρώτη του απάντηση.

Αλλάξτε μία αιτία κάθε φορά

Αφού τα αποδεικτικά στοιχεία υποδείξουν πιθανή αιτία, κάντε εστιασμένη διόρθωση. Αποφύγετε να συνδυάσετε αλλαγή δικαιωμάτων, αναβάθμιση βιβλιοθήκης και επανεγγραφή χειριστή. Αν εξαφανιστεί το σύμπτωμα, δεν θα γνωρίζετε ποια αλλαγή είχε σημασία.

Επαληθεύστε την αρχική συνθήκη αστοχίας. Ελέγξτε επίσης το γειτονικό όριο. Αν διορθώσετε την πρόσβαση ενός manager, επιβεβαιώστε ότι ένας μη εξουσιοδοτημένος χρήστης εξακολουθεί να απορρίπτεται.

Για επαναλαμβανόμενο ελάττωμα, προσθέστε regression check στο επίπεδο που μπορεί να το εντοπίσει. Ένα unit test δεν μπορεί να εντοπίσει κάθε σφάλμα διαμόρφωσης deployment. Ορισμένες αστοχίες χρειάζονται integration check ή ελεγχόμενη επαλήθευση μετά το deployment.

Σταματήστε τις επαναλαμβανόμενες προσπάθειες χωρίς νέα στοιχεία

Ένας agent μπορεί να παράγει πολλές παραλλαγές διόρθωσης. Οι περισσότερες προσπάθειες δεν βελτιώνουν απαραίτητα τη διάγνωση. Αν επαναλαμβάνεται η ίδια αστοχία, ρωτήστε ποια νέα παρατήρηση θα προσφέρει η επόμενη προσπάθεια.

Θέστε χρονικό όριο ή όριο προσπαθειών για διερεύνηση με αβεβαιότητα. Όταν φτάσετε εκεί, αναφέρετε τα τρέχοντα αποδεικτικά στοιχεία, τις απορριφθείσες υποθέσεις και το ανεπίλυτο ερώτημα. Αυτή η καταγραφή επιτρέπει σε άλλο άτομο να συνεχίσει χωρίς να επαναλάβει τα ίδια πειράματα.

Μετά την ανάκτηση, καταγράψτε την αιτία και τη συνθήκη που επέτρεψε στο ελάττωμα να φτάσει στο επηρεαζόμενο περιβάλλον. Μια διόρθωση αφαιρεί το άμεσο ελάττωμα. Μια χρήσιμη επόμενη ενέργεια μειώνει την πιθανότητα επανεμφάνισης της ίδιας αστοχίας.

Κάντε την άσκηση

Γράψτε σημείωμα debugging για πρόσφατο ελάττωμα. Συμπεριλάβετε την αναμενόμενη συμπεριφορά, την παρατηρούμενη συμπεριφορά, την επηρεαζόμενη έκταση και τρεις πιθανές αιτίες. Για κάθε αιτία, ονομάστε μία παρατήρηση που θα την αποδυνάμωνε. Επιλέξτε πρώτα την ασφαλή παρατήρηση με το μικρότερο κόστος.

Λήψη φύλλου εργασίας (Markdown)
Ελέγξτε τι κατανοήσατε ↑

Συνεχίστε τη μάθηση

Πηγές και πρόσθετη μελέτη

Σχετικό υλικό από την Taiga

← Προηγούμενο μάθημα: Αλλάξτε με ασφάλεια ένα υπάρχον σύστημα