Ηγέτες σκέψης

Το AI Γράφει Κώδικα, Αλλά Μπορεί Η Υποδομή Σας Να Την Αντιμετωπίσει;

mm
Προσθέστε το Unite.AI στις προτιμώμενες πηγές σας στο Google

Ζούμε μια από τις πιο περίεργες αναστροφές στην ιστορία του λογισμικού. Για δεκαετίες, ο στόχος ήταν η детерμινισμός· η κατασκευή συστημάτων που συμπεριφέρονται με τον ίδιο τρόπο κάθε φορά. Τώρα, επικαλύπτουμε προβαλλομένους παράγοντες AI πάνω σε αυτή τη βάση, παράγοντας κώδικα σε τρομακτική κλίμακα και ταχύτητα. Και ειλικρινά; Η περισσότερη από την υποδομή μας δεν χτίστηκε για αυτό.

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

Το Πρόβλημα Ήδη Είναι Εδώ

Μια μελέτη του 2025 GitClear βρήκε ότι σχεδόν το 7% των commits περιέχουν κώδικα που παράγεται από το AI. Η πρώτη ανάλυση τους από 153 εκατομμύρια γραμμές κώδικα που άλλαξαν αποκάλυψε το κόστος: “κίνηση κώδικα” – κώδικας που ξαναγράφεται ή διαγράφεται μέσα σε δύο εβδομάδες – διπλασιαζόταν μέχρι το 2024 σε σύγκριση με τις προ- AI βάσεις.

Οι επιπτώσεις ασφαλείας είναι εξίσου δραματικές. Πρόσφατη ανάλυση από 80 επιλεγμένες εργασίες προγραμματισμού σε πάνω από 100 μεγάλους μοντέλους γλωσσών βρήκε ότι ο κώδικας που παράγεται από το AI εισάγει ευπάθειες ασφαλείας στο 45% των περιπτώσεων. Η πραγματική επίδραση; Ένα στα πέντε CISO αναφέρουν πλέον σημαντικά περιστατικά που προκλήθηκαν trực tiếp από τον κώδικα που παράγεται από το AI.

Οι κέρδη ταχύτητας είναι πραγματικά, αλλά και τα κόστη σταθερότητας.

Το Αποτέλεσμα Ενίσχυσης

Ένα πράγμα που έχω μάθει είναι ότι το AI ενισχύει τα πάντα. Αν έχετε καλές πρακτικές, το AI τις κάνει καλύτερες και ταχύτερες. Αν οι διαδικασίες σας είναι ακατάστατες, το AI ενισχύει αυτή τη混亂. Αυτό αντικατοπτρίζει ένα μοτίβο που εμφανίζεται κάθε χρόνο στις έρευνες DevOps του DORA: λιγότερες μεταβλητές οδηγούν σε καλύτερα αποτελέσματα. Οι επιτυχημένες ομάδες стандαρδοποιούν λιγότερα λειτουργικά συστήματα, λιγότερες γλώσσες προγραμματισμού, λιγότερους τρόπους για να κάνουν πράγματα. Μειώνουν τη сложκότητα σκόπιμα.

Οι παράγοντες AI ακολουθούν το ίδιο μοτίβο. Δώστε τους ένα συνεπές περιβάλλον όπου η Python σημαίνει την ίδια έκδοση σε κάθε μηχάνημα προγραμματιστή, όπου οι εξαρτήσεις είναι κλειδωμένες και παρακολουθούνται, και θα excelling. Βάλε τους να πλοηγηθούν σε 17 διαφορετικές ρυθμίσεις, κάθε μία με μικρές διαφορές, και καίτε tokens για να κατανοήσετε περιβαλλοντικές ιδιορρυθμίες αντί να λύσετε πραγματικά προβλήματα.

Το Παράδοξο του Determinism

Αυτό δημιουργεί μια ενδιαφέρουσα ένταση. Για χρόνια, η επιστήμη των υπολογιστών καταδίωκε τον детерμινισμός ως το τελικό στόχο. Τώρα τρέχουμε προβαλλομένους φορείς, μοντέλα AI που κυριολεκτικά δεν μπορούν να εγγυηθούν την ίδια έξοδο δύο φορές, πάνω σε συστήματα που σχεδιάστηκαν για προβλέψιμη συμπεριφορά.

Η απάντησή μου; Διατηρήστε όσο το δυνατόν περισσότερο του στακ deterministic. Αν μπορείτε να διατηρήσετε το 80% της υποδομής σας σε επίπεδο детерμινισμού, οι παράγοντες AI σας έχουν λιγότερες μεταβλητές να διαχειριστούν. Δεν ξοδεύουν παράθυρα контекστού σε “Γιατί δεν εγκαταστάθηκε αυτή η εξάρτηση;” ή “Ας δοκιμάσω αυτή τη διαταγή κατασκευής ξανά.” Είναι εστιασμένοι στο πραγματικό έργο που τους ζητάτε να κάνουν.

Σκεφτείτε το: όταν ένας παράγοντας προσπαθεί να συντάξει κάτι και οι εγγενείς συνδέσεις αποτυγχάνουν γιατί η ImageMagick δεν είναι εγκατεστημένη, αυτό είναι μια detour που κοστίζει tokens. Αν το περιβάλλον σας ήδη περιλαμβάνει όλα όσα χρειάζονται (συνταγητές, βιβλιοθήκες, ολόκληρο το δέντρο εξαρτήσεων μέχρι το libc), ο παράγοντας einfach δουλεύει. Χωρίς αποσφαλμάτωση, χωρίς δοκιμή και λάθος, απλά πρόοδος.

Η Προδιαγραφή και Η Επικύρωση είναι Κλειδιά

Τι γίνεται σαφές είναι ότι η ανάπτυξη που οδηγείται από το AI μας αναγκάζει να σκεφτούμε πιο σκληρά για δύο ιστορικά υποτιμημένες ικανότητες: προδιαγραφή και επικύρωση. Πρέπει να артикуλιруете τι ακριβώς κατασκευάζετε, και πρέπει να έχετε robust τρόπους για να επικυρώσετε ότι το έχετε.

Έχω παρατηρήσει κάτι ενδιαφέρον: οι άνθρωποι με προφίλ διαχείρισης προϊόντων ή μηχανικής προϊόντων είναι συχνά πιο επιτυχημένοι με τους παράγοντες AI αυτή τη στιγμή. Είναι ήδη εκπαιδευμένοι να σκέφτονται σε όρους απαιτήσεων, κριτηρίων επιτυχίας και συμβιβασμών. Είναι άνετοι να ρωτούν “Γιατί έκανες αυτή την επιλογή;” και να調整ουν βάσει του λόγου.

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

Εμπιστεύεστε, Αλλά Επικυρώστε (Και Ελέγχετε)

Υπάρχει ένα αίσθημα που αρχίζω να ενστερνίζομαι: πρέπει να υποθέσουμε ότι ο κώδικας που παράγεται από το AI είναι εχθρικός μέχρι να αποδειχθεί αλλιώς. Όχι γιατί το AI είναι κακόβουλο, αλλά γιατί απλώς δεν ξέρουμε. Δεν μπορούμε να ελέγξουμε κάθε γραμμή όταν οι παράγοντες παράγουν χιλιάδες γραμμές την ημέρα.

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

Αυτός είναι ο λόγος για τον οποίο η αναπαραγωγιμότητα γίνεται απαραίτητη. Όταν μπορείτε να αποδείξετε μαθηματικά ότι το artifact που ελέγξατε τοπικά είναι идентικό με αυτό που τρέχει στην παραγωγή – ίδια εισόδους, ίδια εξόδους, ίδια κλείσιμο εξαρτήσεων – μπορείτε να αρχίσετε να λαμβάνετε έξυπνες αποφάσεις. Ίσως δεν χρειάζεται να ξανατρέξετε μονάδες ελέγχου στο CI αν ήδη τιςτρέξατε τοπικά και τίποτα δεν άλλαξε. Ίσως να μπορείτε να χαρτογραφήσετε κάλυψη ελέγχου σε αλλαγές κώδικα και να παραλείψετε άσχετες σουίτες ελέγχου.

Τι Ερχεται Επόμενο

Βρισκόμαστε σε ένα σημείο εκτροπής. Οι ομάδες που ήδη είχαν καλές πρακτικές βλέπουν τεράστια κέρδη παραγωγικότητας με το AI. Οι ομάδες που αγωνίζονταν τώρα αγωνίζονται γρηγορότερα.

Η υποδομή που τροφοδοτεί την ανάπτυξη που οδηγείται από το AI πρέπει να χτιστεί για αναπαραγωγιμότητα από την αρχή. Όχι να κολλήσει μετά με εργαλεία σάρωσης και ελέγχους, αλλά να είναι ενσωματωμένο στο πώς οι προγραμματιστές εργάζονται από την πρώτη ημέρα. Όταν το περιβάλλον ανάπτυξής σας είναι идентικό σε Mac και Linux, όταν κάθε εξάρτηση είναι παρακολουθούμενη και κλειδωμένη, όταν έχετε πλήρη προέλευση για κάθε artifact, οι παράγοντες AI γίνονται πολλαπλάσια αντί για γεννήτορες χάους.

Η μεγαλύτερη συμβουλή μου για τις ομάδες που προσπαθούν να επιτύχουν στην εποχή του AI είναι:

  • Σταθερεύστε απειθαρχικά. Λιγότερες μεταβλητές συσχετίζονται με υψηλότερη απόδοση. Κλειδώστε το τεχνολογικό σας στάκ, επιβάλετε συνεπή περιβάλλοντα σε όλες τις πλατφόρμες και εξαφανίστε την πλευστότητα ρύθμισης πριν το AI την ενισχύσει. Αν οι ασυμφωνίες της έκδοσης Python προκαλούν προβλήματα τώρα, θα προκαλέσουν 10 φορές περισσότερα προβλήματα όταν το AI παράγει κώδικα σε κλίμακα.

  • Χτίστε την επικύρωση στην ροή εργασίας σας, όχι στο τέλος. Με το AI που παράγει κώδικα γρηγορότερα από ό,τι οι άνθρωποι μπορούν να το αναθεωρήσουν, δεν μπορείτε να βασιστείτε μόνο στην αναθεώρηση κώδικα. Υλοποιήστε αυτόματους ελέγχους που επικυρώνουν όχι μόνο αν ο κώδικας τρέχει, αλλά αν λύνει την πραγματική απαίτηση. Κάντε την πιπελίνη CI/CD σας το δίχτυ ασφαλείας σας, με ισχυρούς ελέγχους κατά την εκτέλεση για αναπτύξεις παραγωγής.

  • Επενδύστε στην αναπαραγωγιμότητα ως υποδομή. Θεωρήστε τη συνεπαγωγή του περιβάλλοντος ως μια πρωταρχική ανησυχία υποδομής. Όταν μπορείτε να αποδείξετε μαθηματικά ότι το τοπικό σας περιβάλλον, το περιβάλλον CI και το περιβάλλον παραγωγής είναι идентικά, εξαφανίζετε μια ολόκληρη τάξη προβλημάτων “δουλεύει στο μηχάνημά μου”. Αυτή η детерμινιστική βάση είναι αυτό που σας επιτρέπει να στρώσετε προβαλλομένους φορείς AI με ασφάλεια.

Το ερώτημα δεν είναι αν το AI θα γράψει τον περισσότερο κώδικα μας. Ήδη το κάνει για πολλές ομάδες. Το ερώτημα είναι αν η υποδομή μας μπορεί να τη따ρεί.

Ο Michael Stahnke είναι ένας έμπειρος εκτελεστικός διευθυντής μηχανικής, έχοντας περάσει τα τελευταία 15+ χρόνια εργαζόμενος στο χώρο της ανάπτυξης και των εργαλείων λειτουργίας, όπου έκανε επίσης έρευνα και ήταν συγγραφέας των εκθέσεων State of DevOps της Puppet.

Ο Michael είναι τώρα VP of Engineering στο Flox. Προηγουμένως ήταν σε υψηλές θέσεις ηγεσίας μηχανικής στο CircleCI και Puppet, όπου αυξάνε τις ομάδες μηχανικής κατά 5 φορές ή περισσότερο. Έχει περάσει χρόνο xây dựng υψηλής απόδοσης ομάδες, οργανισμούς και ερευνώντας την αποτελεσματικότητα της μηχανικής, καθώς και hacking σε συστήματα πακέτου και κυκλώματος. Έχει μιλήσει σε εκδηλώσεις DevOps και Automation από το 2007. Ίδρυσε το αποθετήριο πακέτου Extra Packages for Enterprise Linux (EPEL) και έγραψε ένα βιβλίο για το OpenSSH το 2005.