Το τοπίο ανάπτυξης λογισμικού αλλάζει ταχέως, οδηγείται από τον πολλαπλασιασμό του εργαλεία τεχνητής νοημοσύνης. Αυτά τα εργαλεία κώδικα AI εμπίπτουν σε δύο βασικές κατηγορίες: γεννήτριες, οι οποίες στοχεύουν στην παραγωγή ολόκληρων κωδικών από προτροπές και βοηθοί, οι οποίοι ενσωματώνονται απευθείας στη ροή εργασίας του προγραμματιστή. Οι θεμελιώδεις αρχιτεκτονικές και φιλοσοφικές διαφορές μεταξύ αυτών των προσεγγίσεων αναμορφώνουν τον τρόπο λειτουργίας των προγραμματιστών.
Ο Ivan Liagushkin, ένας προγραμματιστής λογισμικού με πάνω από 10 χρόνια εμπειρίας στην οικοδόμηση εφαρμογών ιστού μεγάλης κλίμακας, προσφέρει πληροφορίες σε αυτόν τον εξελισσόμενο τομέα. Είναι υπεύθυνος για τη μηχανική στο Δυομια εκκίνηση copywriter AI υποστηριζόμενη από την Sequoia Capital.
Καθορισμός γεννήτριας κώδικα AI και βοηθοί
“Εργαλεία όπως το V0.DEV και το GitHub Copilot μπορεί να φαίνονται παρόμοια, αλλά είναι θεμελιωδώς διαφορετικά φιλοσοφικά”, δήλωσε ο Liagushkin. “Οι γεννήτριες ανταγωνίζονται κυρίως με πλατφόρμες μη κώδικα και χαμηλού κώδικα, που στοχεύουν σε επαγγελματίες που δεν είναι αναπτυγμένοι.
Οι γεννήτριες όπως το v0.dev από το Vercel και το Bolt.New από το StackBlitz έχουν σχεδιαστεί για να επιτρέπουν την ταχεία εκτόξευση πρωτοτύπων και MVP. Συχνά θεωρούν τις τεχνολογίες που χρησιμοποιούν, προωθώντας συγκεκριμένα εργαλεία και πλατφόρμες.
“Αυτές οι γεννήτριες είναι πολύ φιλόξενοι για τις τεχνολογίες που χρησιμοποιούν και συχνά προωθούν συγκεκριμένα εργαλεία για να εγγραφούν οι χρήστες”, δήλωσε ο Liagushkin. “Για παράδειγμα, τόσο το Bolt.New όσο και το Lovable προωθούν την πλατφόρμα ανάπτυξης Supabase, ενώ το V0.DEV προωθεί φυσικά τη φιλοξενία Vercel”.
Οι βοηθοί κωδικοποίησης, από την άλλη πλευρά, επικεντρώνονται στην απρόσκοπτη ενσωμάτωση σε υπάρχουσες ροές εργασίας, την κατανόηση των κωδικών και την παροχή καθολικών εργαλείων σε όλες τις τεχνολογίες. Έχουν σχεδιαστεί για να είναι χρήσιμα τόσο για τους μεμονωμένους προγραμματιστές όσο και για τις ομάδες.
“Οι βοηθοί κωδικοποίησης αποσκοπούν στη μετατροπή της καθημερινής κωδικοποίησης”, δήλωσε ο Liagushkin. “Είναι ζωτικής σημασίας για αυτούς να έχουν νόημα για τους μεμονωμένους προγραμματιστές και τις ομάδες ειδικότερα.
Η υποκείμενη αρχιτεκτονική αυτών των εργαλείων είναι παρόμοια, με την πρωταρχική διαφορά στο περιβάλλον διεπαφής χρήστη και στις προσεγγίσεις αύξησης του περιβάλλοντος. Το βασικό στοιχείο είναι το μεγάλο μοντέλο γλώσσας (LLM).
“Το βασικό στοιχείο είναι το ίδιο το LLM”, δήλωσε ο Liagushkin. “Όλες οι γεννήτριες που αναφέρονται βασίζονται στο CLAUDE 3,5 Sonnet του Anthropic, το μοντέλο κωδικοποίησης state-of-the-art για μεγάλο χρονικό διάστημα, που ξεπέρασε μόνο από τον διάδοχό του Claude 3.7 Sonnet.
Μέσα στην αρχιτεκτονική: Πώς λειτουργούν τα εργαλεία κωδικοποίησης AI
Αυτά τα εργαλεία συνήθως δεν συντονίζουν τα μοντέλα αλλά βασίζονται σε προηγμένες τεχνικές προτροπής. Εργαλεία ανοικτού κώδικα όπως το Bolt.New παρέχουν πληροφορίες για την αρχιτεκτονική.
“Χάρη στο Bolt.New Being Open-Source, μπορούμε να εξετάσουμε τι χρησιμοποιείται”, δήλωσε ο Liagushkin. “Η βασική γραμμή του συστήματος εξηγεί στο LLM το περιβάλλον εκτέλεσης και τις διαθέσιμες ενέργειες: δημιουργία και επεξεργασία αρχείων, εκτελώντας εντολές κελύφους, αναζήτηση κώδικα και χρησιμοποιώντας εξωτερικά εργαλεία.
Η διαχείριση του πλαισίου, ειδικά για τις μεγάλες κώδικες, αποτελεί σημαντική πρόκληση. Assistants Index Codebases και χρησιμοποιήστε βάσεις δεδομένων διανυσμάτων για αναζήτηση πλήρους κειμένου.
“Η μεγαλύτερη πρόκληση είναι η παροχή LLMS με το σωστό πλαίσιο”, δήλωσε ο Liagushkin. “Είναι απαραίτητο να τροφοδοτείτε τα σωστά τμήματα των σωστών αρχείων μαζί με τις αντίστοιχες ενότητες, την τεκμηρίωση και τις απαιτήσεις. Οι βοηθοί ευρετηρίου του κώδικα, δημιουργώντας δομές δεδομένων σχήματος δέντρων για την παρακολούθηση των αλλαγών αρχείων, στη συνέχεια τα αρχεία κομματιών και ενσωμάτωσης σε βάσεις δεδομένων διανυσμάτων για αναζήτηση πλήρους κειμένου”.
Το τελικό 30%
Παρά τη δύναμή τους, τα εργαλεία κωδικοποίησης AI έχουν περιορισμούς. Το “πρόβλημα 70%”, που διατυπώθηκε από τον Addy Osmani, υπογραμμίζει τον αγώνα τους με το τελικό 30% του κώδικα που απαιτεί ευρωστία και συντηρητικότητα.
“Το πρόβλημα” 70% “περιγράφει τέλεια τον θεμελιώδη περιορισμό των εργαλείων κωδικοποίησης AI: Μπορούν γρήγορα να δημιουργήσουν κώδικα που σας παίρνει το 70% του τρόπου με τον οποίο αγωνίζεται με το κρίσιμο τελικό 30% που κάνει την παραγωγή λογισμικού έτοιμη, διατηρήσιμη και ισχυρή”, δήλωσε ο Liagushkin.
Η αντιμετώπιση αυτών των περιορισμών συνεπάγεται τη βελτίωση της ακρίβειας του μοντέλου, την προώθηση των αρχιτεκτονικών των πρακτόρων και την ενίσχυση των τεχνικών προτροπής.
“Αυτό το πρόβλημα θα λυθεί με τρεις διαφορετικούς τρόπους”, δήλωσε ο Liagushkin. “Πρώτον, τα μοντέλα θα γίνουν πιο ακριβή, δεύτερον, η αρχιτεκτονική των βοηθών κωδικοποίησης θα προχωρήσει μέσω πρακτικών προσεγγίσεων. Τέλος, θα αλλάξουμε, όλοι θα μάθουν αποτελεσματικές τεχνικές προτροπής”.
Στο Twain, ο Liagushkin παρουσίασε παρόμοιους περιορισμούς στην ανάπτυξη copywriters AI. Στρατηγικές για την άμβλυνση αυτών περιλαμβάνουν την προσωρινή αποθήκευση αιτήματος LLM, το μοντέλο juggling και την πρόκληση προεπεξεργασίας.
“Η μόνη διαφορά μεταξύ των βοηθών κωδικοποίησης και του Twain είναι ότι οι βοηθοί κωδικοποίησης παράγουν κώδικα, ενώ ο Twain παράγει εξατομικευμένα μηνύματα ανθρώπινης ποιότητας”, δήλωσε ο Liagushkin. “Οι προκλήσεις παραμένουν οι ίδιες-για να είναι πολύτιμες, πρέπει να δημιουργήσουμε αντίγραφα γρήγορα, οικονομικά αποδοτικά και να τα κρατήσουμε απαλλαγμένα από ψευδαισθήσεις”.
Προβλέποντας το μέλλον
Κοιτάζοντας μπροστά, ο Liagushkin αναμένει σημαντικές εξελίξεις στην ποιότητα του μοντέλου και την εξέλιξη της ροής εργασίας. Ωστόσο, τονίζει ότι η υιοθέτηση της τεχνολογίας παραμένει ένας κρίσιμος παράγοντας.
“Η πρόοδος στην ποιότητα του μοντέλου AI είναι εκπληκτική και θα πρέπει να αναμένουμε ότι τα μοντέλα θα γίνουν ακόμα πιο ακριβή, σταθερά και οικονομικά αποδοτικά”, δήλωσε ο Liagushkin. “Ωστόσο, πιστεύω ότι οι πραγματικά μεταμορφωτικές αλλαγές στις διαδικασίες κωδικοποίησης δεν θα προέρχονται κυρίως από τις ανακαλύψεις μηχανικών και AI, αλλά από την εξέλιξη της ροής εργασίας και της νοοτροπίας”.
Οι ηθικές εκτιμήσεις, ιδιαίτερα η ασφάλεια των δεδομένων, είναι επίσης πρωταρχικές. Η Liagushkin προτείνει την ανάπτυξη κωδικοποίησης LLMS εντός των τοπικών δικτύων και τη χρήση εργαλείων περιορισμού ορατότητας.
“Οι ηθικές εκτιμήσεις αφορούν κυρίως την ασφάλεια των δεδομένων – ένα σημαντικό αλλά τεχνικά διαλυτό πρόβλημα”, δήλωσε ο Liagushkin. “Η κωδικοποίηση LLMs μπορεί να αναπτυχθεί στα τοπικά δίκτυα των οργανισμών, με εργαλεία περιορισμού ορατότητας που έχουν σχεδιαστεί για την απομόνωση ευαίσθητων τομέων κώδικα”.
Το μέλλον των εργαλείων κωδικοποίησης AI εξαρτάται από τις τεχνολογικές εξελίξεις και τη μετατόπιση της νοοτροπίας στην αναπτυξιακή κοινότητα.
VIA: DataConomy.com