News · Η Datadog επιβεβαίωσε το Codex μέσω των δικών της παλαιότερων συμβάντων πριν το εφαρμόσει
Η Datadog επιβεβαίωσε το Codex μέσω των δικών της παλαιότερων συμβάντων πριν το εφαρμόσει
Η ομάδα ΤΝ DevX της Datadog δοκίμασε έναν agent κώδικα αναπαράγοντας παλαιότερα συμβάντα, και στη συνέχεια τον διέθεσε σε πάνω από 1.000 μηχανικούς ως σύστημα αξιοπιστίας και όχι ως συντόμευση ελέγχου.
Το πραγματικό τεστ είναι το εργαλείο αναπαραγωγής συμβάντων
Οι περισσότερες ιστορίες υιοθέτησης εργαλείων ελέγχου κώδικα με ΤΝ βασίζονται σε εντυπώσεις: οι μηχανικοί λένε ότι οι προτάσεις φαίνονται έξυπνες, η χρήση αυξάνεται, και όλοι προχωρούν. Η ομάδα ΤΝ DevX της Datadog, με επικεφαλής τον Brad Carter, έκανε κάτι πολύ πιο δύσκολο να παραποιηθεί. Έφτιαξαν ένα εργαλείο αναπαραγωγής συμβάντων που ανασυνέθεσε pull requests τα οποία είχαν συμβάλει σε πραγματικά συμβάντα παραγωγικού περιβάλλοντος, έτρεξαν το Codex σε καθένα από αυτά σαν να αποτελούσε μέρος της αρχικής αξιολόγησης, και στη συνέχεια ρώτησαν τους μηχανικούς που είχαν διαχειριστεί αυτά τα συμβάντα αν η ανατροφοδότηση του Codex θα είχε κάνει τη διαφορά.
Ο σχεδιασμός έχει σημασία γιατί εξαλείφει τις δύο «διαφυγές» που συνήθως φουσκώνουν αυτές τις αξιολογήσεις. Τα pull requests είχαν ήδη περάσει από ανθρώπινο έλεγχο τη στιγμή εκείνη, οπότε κάθε κίνδυνο που εντόπισε το Codex τον είχαν χάσει πραγματικοί ελεγκτές. Και οι κριτές ήταν οι ίδιοι οι υπεύθυνοι των συμβάντων, όχι κάποιο benchmark ή αξιολόγηση προμηθευτή.
Το αποτέλεσμα: το Codex εντόπισε ζητήματα που θα είχαν σημασία σε πάνω από 10 περιπτώσεις, περίπου το 22% των συμβάντων που εξέτασε η Datadog — περισσότερο από κάθε άλλο εργαλείο που αξιολόγησε η ομάδα. Πρόκειται για έναν συγκεκριμένο, επαληθεύσιμο ισχυρισμό συνδεδεμένο με το ιστορικό διακοπών λειτουργίας μιας εταιρείας, όχι για ένα γενικό ποσοστό ακρίβειας.
Γιατί τα εργαλεία τύπου linter αγνοούνταν συνεχώς
Η Datadog είναι ξεκάθαρη ως προς το γιατί προηγούμενα εργαλεία ελέγχου με ΤΝ αποτύγχαναν στη ροή εργασίας τους: πολλά συμπεριφέρονταν σαν προηγμένα linters, εντοπίζοντας επιφανειακά ζητήματα αλλά χάνοντας τις λεπτές αποχρώσεις του συστήματος. Οι μηχανικοί έβρισκαν τις προτάσεις είτε πολύ επιφανειακές είτε πολύ θορυβώδεις και απλά τις αγνοούσαν. Αυτή είναι η ειλικρινής αφετηρία που οι περισσότερες ανακοινώσεις προσπερνούν.
Η διάκριση που κάνει η Datadog έχει να κάνει με το πλαίσιο. Σύμφωνα με την πηγή, το Codex συγκρίνει την πρόθεση ενός pull request με τις υποβληθείσες αλλαγές, συλλογίζεται πάνω σε ολόκληρη τη βάση κώδικα και τις εξαρτήσεις της, και εκτελεί κώδικα και δοκιμές για να επικυρώσει τη συμπεριφορά. Τα συγκεκριμένα αποτελέσματα που αναφέρθηκαν από τους μηχανικούς ήταν αλληλεπιδράσεις με modules που δεν είχαν αγγιχτεί στο diff, ελλιπής κάλυψη δοκιμών σε περιοχές με σύζευξη μεταξύ υπηρεσιών, και αλλαγές σε συμβόλαια API που έφεραν κίνδυνο σε επόμενα στάδια.
Ήταν το πρώτο εργαλείο που φαινόταν πραγματικά να λαμβάνει υπόψη το diff στο ευρύτερο πλαίσιο του προγράμματος. Αυτό ήταν κάτι νέο και εντυπωσιακό.Montana Labs
Πρόκειται για έναν στενό, επαληθεύσιμο ισχυρισμό σχετικά με τη συμπεριφορά του εργαλείου — τον συλλογισμό πάνω σε modules που δεν αγγίχτηκαν — και όχι για μια γενική υπόσχεση νοημοσύνης. Εξηγεί επίσης την αλλαγή συμπεριφοράς: οι μηχανικοί αναφέρουν ότι αντιμετωπίζουν πλέον τα σχόλια του Codex ως πραγματική ανατροφοδότηση ελέγχου και όχι ως θόρυβο που προσπερνούν.
Οργανική ανατροφοδότηση στο Slack αντί για μετρήσεις εντός εργαλείου
Μια λεπτομέρεια λειτουργίας ξεχωρίζει. Η Datadog έχει πλέον πάνω από 1.000 μηχανικούς που χρησιμοποιούν τακτικά το Codex, αλλά η εταιρεία αναφέρει ότι η ανατροφοδότηση προκύπτει σε μεγάλο βαθμό οργανικά και όχι μέσω επίσημων μετρήσεων εντός του εργαλείου. Οι μηχανικοί δημοσιεύουν στο Slack χρήσιμες παρατηρήσεις και στιγμές όπου το Codex τους βοήθησε να σκεφτούν διαφορετικά.
Κατά τη διάρκεια της πιλοτικής φάσης, η μέτρηση ήταν ακόμη πιο απλή: οι μηχανικοί αντιδρούσαν στα σχόλια του Codex με «thumbs up» ή «thumbs down» σε ένα μεγάλο, ιδιαίτερα χρησιμοποιούμενο repository όπου κάθε pull request ελέγχονταν αυτόματα. Το σήμα που εμπιστεύτηκε περισσότερο η Datadog ήταν το αν οι άνθρωποι διάβαζαν εθελοντικά τα σχόλια.
Αξίζει να σημειωθεί γιατί αντιστρατεύεται τη συνήθη τάση να φτιάχνεις πρώτα ένα dashboard. Η Datadog αντιμετώπισε το εργαλείο αναπαραγωγής ως την αυστηρή αξιολόγηση και άφησε την καθημερινή υιοθέτηση να αποδείξει από μόνη της αν οι μηχανικοί έβρισκαν το αποτέλεσμα άξιο της προσοχής τους.
Επαναπροσδιορισμός του ελέγχου κώδικα με επίκεντρο την πρόληψη συμβάντων, όχι τον χρόνο κύκλου
Η δηλωμένη επίπτωση για τη Datadog είναι ένας επαναπροσδιορισμός του σκοπού του ελέγχου κώδικα. Ο Carter είναι ξεκάθαρος ότι η εξοικονόμηση χρόνου, όσο πραγματική και να είναι, δεν αποτελεί το ζητούμενο στην κλίμακα που λειτουργούν — η πρόληψη συμβάντων είναι. Η ομάδα περιγράφει πλέον το Codex ως ένα βασικό σύστημα αξιοπιστίας και όχι ως σημείο ελέγχου για τον εντοπισμό σφαλμάτων ή τη βελτιστοποίηση της ταχύτητας ελέγχου.
Το Codex με έκανε να αλλάξω γνώμη για το τι πρέπει να είναι ο έλεγχος κώδικα. Δεν έχει να κάνει με την αναπαραγωγή των καλύτερων ανθρώπινων ελεγκτών μας. Έχει να κάνει με τον εντοπισμό κρίσιμων σφαλμάτων και ακραίων περιπτώσεων που οι άνθρωποι δυσκολεύονται να δουν όταν ελέγχουν αλλαγές μεμονωμένα.Montana Labs
Για ομάδες που εξετάζουν παρόμοια εργαλεία, το μεταφερόμενο δίδαγμα είναι η μέθοδος αξιολόγησης, όχι η επιλογή προμηθευτή. Μια εταιρεία που γνωρίζει ήδη το δικό της ιστορικό συμβάντων μπορεί να αξιολογήσει οποιοδήποτε εργαλείο ελέγχου με βάση διακοπές λειτουργίας που πραγματικά συνέβησαν και να ρωτήσει όσους τις βίωσαν αν το εργαλείο θα είχε βοηθήσει. Αυτό οδηγεί σε μια τεκμηριωμένη απόφαση υιοθέτησης — και, στην περίπτωση της Datadog, σε έναν σαφή καταμερισμό εργασίας όπου ο agent εντοπίζει κινδύνους μεταξύ υπηρεσιών και οι ανθρώπινοι ελεγκτές επικεντρώνονται στην αρχιτεκτονική και τον σχεδιασμό.
Find this story relevant to you?
Contact us to find a unique solution
Χρειάζεστε συνεργάτη AI engineering που μπορεί να παραδώσει;
Βοηθάμε ομάδες στην Ελλάδα να ενσωματώσουν AI, να δημιουργήσουν AI-powered προϊόντα, να αυτοματοποιήσουν κρίσιμες ροές εργασίας και να εκσυγχρονίσουν τα συστήματα που τα στηρίζουν.
Σχετικά άρθρα
Περισσότερη ανάλυση για την παράδοση προϊόντων, τη λειτουργική ΤΝ και τη δουλειά στα συστήματα που κάνει την ανάπτυξη να αντέχει στην πράξη.