Ο ενθουσιασμός για τον κώδικα με τεχνητή νοημοσύνη είναι πραγματικός, αλλά το ίδιο ισχύει και για το τεχνικό χρέος
Ο ενθουσιασμός για τον κώδικα με AI είναι πραγματικός, αλλά το ίδιο ισχύει και για το τεχνικό χρέος
Ας είμαστε ειλικρινείς: το να βλέπεις ένα μοντέλο τεχνητής νοημοσύνης να παράγει εκατοντάδες γραμμές κώδικα σε δευτερόλεπτα μοιάζει με μαγεία. Όλοι μας το έχουμε βιώσει. Περιγράφετε αυτό που θέλετε, πατάτε enter και παρακολουθείτε τα tokens να ρέουν. Είναι συναρπαστικό, παραγωγικό και μερικές φορές τρομακτικό, όταν συνειδητοποιείτε ότι δεν καταλαβαίνετε πλήρως τι ακριβώς γράφτηκε.
Η κοινότητα των προγραμματιστών αντιμετωπίζει ολοένα και περισσότερο μια ένταση που κανείς δεν ήθελε να ονομάσει δυνατά: τα εργαλεία κωδικοποίησης με AI είναι πραγματικά εντυπωσιακά, αλλά παράγουν επίσης ένα συγκεκριμένο είδος χάους στον κώδικα που μπορεί να μας στοιχειώσει για χρόνια.
Περισσότερος κώδικας, περισσότερα προβλήματα;
Ο όρος «involution» (εσωστρέφεια/αυτοκατάπτωση) έχει αρχίσει να κυκλοφορεί στους κύκλους της τεχνολογίας—μια ένταση δανεισμένη από την αγροτική οικονομία, που περιγράφει ένα σύστημα όπου όλοι δουλεύουν σκληρότερα αλλά κανείς δεν προοδεύει πραγματικά. Αν εφαρμόσετε αυτή την έννοια στην ανάπτυξη με AI, αρχίζετε να βλέπετε το μοτίβο.
Τα σύγχρονα μοντέλα AI μπορούν να παράγουν κώδικα σε πρωτοφανή κλίμακα. Μπορούν να δημιουργούν υπο-πράκτορες (subagents), να διατηρούν το πλαίσιο (context) σε τεράστιες ροές εργασίας και να συνεχίζουν να λειτουργούν ακόμα και όταν η αρχική εργασία γίνεται ασαφής. Αυτό είναι πραγματικά χρήσιμο για τη δημιουργία πρωτοτύπων και την εξερεύνηση. Αλλά να τι δεν αναλύεται αρκετά: αυτά τα μοντέλα συχνά δίνουν προτεραιότητα στην ολοκλήρωση έναντι της ορθότητας, και λατρεύουν να δημιουργούν υπερβολικά πολύπλοκες λύσεις για απλά προβλήματα.
Η «Πυθωνοποίηση» των πάντων
Ένα μοτίβο που αναδύεται σε πολλά μοντέλα AI είναι η υπερβολική εξάρτηση από την Python ως καθολικό διαλύτη. Χρειάζεται να επεξεργαστείτε ένα αρχείο διαμόρφωσης; Python. Θέλετε να αναλύσετε κάποιο JSON; Python. Χρειάζεται να εκτελέσετε μια εντολή bash; Γιατί να μην εκκινήσετε πρώτα την Python, η οποία θα καλέσει την Node.js, που με τη σειρά της θα εκτελέσει εντολές PowerShell;
Αυτό δεν είναι εντελώς έκπληξη—η Python είναι ευέλικτη και διαθέτει πλούσιες βιβλιοθήκες—αλλά δημιουργεί εφιάλτες συντηρησιμότητας. Ορίστε ένα πραγματικό σενάριο: ένας πράκτορας AI που εργαζόταν σε ένα έργο TypeScript αποφάσισε ότι χρειαζόταν να χειριστεί αρχεία. Αντί να χρησιμοποιήσει τυπικές λειτουργίες αρχείων, έγραψε ένα σενάριο Python για να διαχειριστεί τα πάντα. Όταν αυτό το σενάριο έπρεπε να εκτελεστεί σε μια απομακρυσμένη μηχανή Windows, εκκίνησε την Node.js, η οποία στη συνέχεια εκτέλεσε εντολές PowerShell.
Τεχνικά, μπορείτε να ακολουθήσετε τη λογική. Αλλά μπορείτε να κάνετε αποσφαλμάτωση (debug); Μπορείτε να το παραδώσετε σε έναν αρχάριο προγραμματιστή; Μπορείτε έστω να το διαβάσετε χωρίς να νιώθετε ότι αποκρυπτογραφείτε αρχαία ρουνικά σύμβολα;
Το πραγματικό πρόβλημα: Αόρατοι συμβιβασμοί
Όταν οι προγραμματιστές χρησιμοποιούν εργαλεία κωδικοποίησης με AI, συχνά κάνουν σιωπηρούς συμβιβασμούς χωρίς να το συνειδητοποιούν.