Συνεντεύξεις

Καθηγητής Eran Yahav, Συνιδρυτής και Συν-Διευθύνων της Tabnine – Σειρά Συνεντεύξεων

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

Καθηγητής Eran Yahav, Συνιδρυτής και Συν-Διευθύνων της Tabnine είναι καθηγητής πληροφορικής στο Τεχνολογικό Ινστιτούτο Ισραήλ, του οποίου η έρευνα επικεντρώνεται στις γλώσσες προγραμματισμού, το машинικό μάθηση και την ανάπτυξη λογισμικού, ιδιαίτερα τη σύνθεση προγράμματος και την ανάλυση κώδικα μεγάλης κλίμακας. Παράλληλα με το ακαδημαϊκό του έργο, συνίδρυσε την Tabnine (πρώην Codota) για να εφαρμόσει χρόνια έρευνας σε πρακτικά εργαλεία για προγραμματιστές, βοηθώντας να πioniere το AI-κίνητο κώδικα και αυτοματοποίηση. Το έργο του γεφυρώνει την ακαδημαϊκή και βιομηχανική έρευνα, με επίκεντρο την κάνων να κάνει τον AI-γεννημένο κώδικα πιο αξιόπιστο, ασφαλή και контекστο-ευαίσθητο για πραγματικές επιχειρηματικές περιβάλλοντα.

Tabnine είναι μια πλατφόρμα κωδικοποίησης που βασίζεται στο AI, σχεδιασμένη για να βοηθήσει τους προγραμματιστές σε όλη τη διάρκεια του κύκλου ζωής της ανάπτυξης λογισμικού, από τη γραφή και τον εντοπισμό σφαλμάτων του κώδικα έως την δημιουργία δοκιμών και τεκμηρίωσης. Αρχικά, η πλατφόρμα εκκίνησε ως εργαλείο ολοκλήρωσης κώδικα, έχει εξελιχθεί σε μια ευρύτερη πλατφόρμα που επικεντρώνεται στις επιχειρήσεις, που ενσωματώνει γεννητικά AI και εργαλεία ροής, επιτρέποντας στις ομάδες να αυτοματοποιούν σύνθετα εργαλεία ανάπτυξης ενώ διατηρούν ισχυρό έλεγχο над την ιδιωτικότητα, την ασφάλεια και τη συμμόρφωση. Με υποστήριξη για δεκάδες γλώσσες προγραμματισμού και ενσωματώσεις σε κύριες IDE, η Tabnine στοχεύει να βελτιώσει την παραγωγικότητα των προγραμματιστών, διασφαλίζοντας ότι ο AI-γεννημένος κώδικας παραμένει αξιόπιστος και ευθυγραμμισμένος με τα πρότυπα της οργάνωσης.

Έχετε περάσει χρόνια ερευνώντας την ανάλυση και σύνθεση προγράμματος στο Τεχνολογικό Ινστιτούτο Ισραήλ και προηγουμένως εργάστηκα στο IBM Research. Ποιο πρόβλημα στην ανάπτυξη λογισμικού σας έπεισε να συνιδρύσετε την Tabnine, και πώς η ακαδημαϊκή σας έρευνα διαμόρφωσε την αρχική οράμα της εταιρείας;

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

Αρχικά, εργάστηκα στη σύνθεση προγράμματος για ταυτόχρονα προγράμματα, προσπαθώντας να αυτοματοποιήσω τη δημιουργία ταυτόχρονων προγραμμάτων από ακολουθιακά. Μετά, μετατόπισε στη γενική εφαρμογή της σύνθεσης προγράμματος χρησιμοποιώντας машинικό μάθηση.

Η σύνθεση προγράμματος χρησιμοποιώντας машинικό μάθηση ήταν επίσης η θεμελιώδης ιδέα που έδωσε ενέργεια στην Tabnine. Η ιδέα, που τώρα φαίνεται σαφής, ήταν ότι τα μοντέλα θα μπορούσαν να μάθουν μοτίβα κωδικοποίησης直接 από μεγάλα σώματα κώδικα και να βοηθήσουν τους προγραμματιστές σε πραγματικό χρόνο. Αυτή η γενική ιδέα είναι εφαρμόσιμη σε όλα τα στάδια του κύκλου ζωής της ανάπτυξης λογισμικού – από τη δημιουργία κώδικα έως την αναθεώρηση κώδικα, την ανάπτυξη και πέρα.

Η οράμα ήταν πάντα να ενισχύσει τον ανθρώπινο προγραμματιστή δίνοντάς του εργαλεία που επιταχύνουν τη διαδικασία ανάπτυξης και αφαιρούν την τριβή. Η ανάπτυξη λογισμικού είναι μια δημιουργική και λύση προβλημάτων дисциплина, και ο στόχος ήταν για το AI να αφαιρέσει την τριβή από τη διαδικασία χειρίζοντας τις руτίνες εργασίες και βοηθώντας τους προγραμματιστές να παραμείνουν στη ροή. Αυτή η οράμα εξακολουθεί να μας οδηγεί σήμερα, αν και η τεχνολογία έχει εξελιχθεί σημαντικά από εκείνες τις πρώτες μέρες.

Η Tabnine πρωτοπόρησε στις βοηθούς κωδικοποίησης AI χρόνια πριν γίνει mainstream με εργαλεία όπως τα μοντέλα της OpenAI. Οπισθοσκοπικά, πώς έχει εξελιχθεί ο ρόλος του AI στην ανάπτυξη λογισμικού από εκείνες τις πρώτες μέρες, και ποια μαθήματα έμαθε η βιομηχανία από την πρώτη κυμαία των βοηθών κωδικοποίησης;

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

Τι έχει αλλάξει με τις αλλαγές είναι ότι το AI μπορεί τώρα να χειρίζεται εργασίες με μεγαλύτερη αυτονομία, μέχρι το σημείο όπου μπορούμε να θεωρήσουμε τους агώντες (με την κατάλληλη καθοδήγηση) ως ανεξάρτητους νεότερους προγραμματιστές.

Αλλά αυτό έχει επίσης διδάξει τη βιομηχανία ένα σημαντικό μάθημα. Η сыраία ικανότητα του μοντέλου δεν είναι αρκετή για την ανάπτυξη λογισμικού επιχείρησης. Μοντέλα εκπαιδευμένα σε δημόσιες δεδομένα μπορούν να παράγουν εντυπωσιακές εξόδους, αλλά συχνά λείπουν της επίγνωσης της αρχιτεκτονικής, των εξαρτήσεων και των συμβάσεων της οργάνωσης.

Γι’ αυτό το επόμενο στάδιο της εξέλιξης δεν είναι μόνο για μεγαλύτερα μοντέλα ή μεγαλύτερα παράθυρα контекστού, αλλά για τη σύνδεση αυτών των μοντέλων με τον πραγματικό контекστο στον οποίο κατασκευάζεται το λογισμικό.

Πολυάριθμες επιχειρήσεις ανακαλύπτουν ότι η κλιμάκωση των एजέντων AI απαιτεί περισσότερο από μεγαλύτερα μοντέλα – απαιτεί μεγαλύτερο οργανωτικό контекστο. Γιατί πιστεύετε ότι ο контекστος γίνεται η πραγματική μετωπική για την αξιόπιστη AI-κίνητο ανάπτυξη;

Οι συστήματα λογισμικού είναι σύνθετα δίκτυα σχέσεων. Μια seule αλλαγή μπορεί να επηρεάσει πολλαπλά υπηρεσίες, API ή κατωτέρω компоненты.

Τα μοντέλα AI σήμερα είναι πολύ καλά στην παραγωγή πιθανού κώδικα, αλλά συχνά λειτουργούν χωρίς μια δομημένη κατανόηση αυτών των σχέσεων. Χωρίς αυτή την κατανόηση, το AI δεν μπορεί να λογικευτεί με αξιόπιστο τρόπο τις συνέπειες μιας αλλαγής.

Τι ανακαλύπτουν οι επιχειρήσεις είναι ότι η αξιοπιστία των συστημάτων AI εξαρτάται από την ποιότητα του контекστού στον οποίο λειτουργούν. Αν ένα σύστημα AI κατανοεί την αρχιτεκτονική του συστήματος, τις εξαρτήσεις μεταξύ υπηρεσιών και τα πρότυπα κωδικοποίησης της οργάνωσης, μπορεί να παράγει κώδικα που ευθυγραμμίζεται πολύ πιο στενά με τον τρόπο που λειτουργεί το σύστημα.

Σε αυτή τη σημασία, ο контекστος γίνεται η επόμενη μετωπική για την ανάπτυξη AI επιχείρησης.

Η νέα σας Μηχανή Κοντέκστου Επιχείρησης στοχεύει να δώσει στους एजέντες AI μια δομημένη κατανόηση της αρχιτεκτονικής, των εξαρτήσεων και των πρακτικών μηχανικής της οργάνωσης. Πώς αυτή η προσέγγιση διαφέρει από τις κοινές μεθόδους όπως η αναπαραγωγή-αυξημένη γεννήτρια που πολλές εταιρείες χρησιμοποιούν σήμερα;

Η αναπαραγωγή-αυξημένη γεννήτρια είναι một χρήσιμη τεχνική. Επιτρέπει στα μοντέλα να ανακαλέσουν σχετικές εγγραφές ή τμήματα κώδικα όταν παράγουν μια απάντηση.

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

Η Μηχανή Κοντέκστου Επιχείρησης σχεδιάστηκε για να πηγαίνει παραπέρα, κατασκευάζοντας μια δομημένη αναπαράσταση του περιβάλλοντος λογισμικού. Αναλύει αποθήκες, υπηρεσίες, εξαρτήσεις, API και αρχιτεκτονικές σχέσεις και τις οργανώνει σε ένα μοντέλο του πώς λειτουργεί πραγματικά το σύστημα.

Αυτό επιτρέπει στα συστήματα AI να λογικεύσουν τις σχέσεις μεταξύ των компонентів αντί να ανακαλέσουν μόνο κείμενο. Για σύνθετα περιβάλλοντα επιχείρησης, αυτή η διάκριση γίνεται πολύ σημαντική.

Τα εργαλεία κωδικοποίησης AI εξελίσσονται από προτάσεις ολοκλήρωσης σε αυτόνομους एजέντες ικανούς να εκτελέσουν πολύπλοκες εργασίες. Πώς βλέπετε την ισορροπία μεταξύ ανθρώπινων προγραμματιστών και συστημάτων να αλλάζει τα επόμενα πέντε χρόνια;

Οι एजέντες AI θα αναλάβουν ολοένα και περισσότερες руτίνες ανάπτυξης. Ήδη είναι ικανοί να εφαρμόσουν χαρακτηριστικά από άκρη σε άκρη, συμπεριλαμβανομένης της δοκιμής και της τεκμηρίωσης. Κάθε προγραμματιστής θα γίνει αρχηγός μιας ομάδας από AI προγραμματιστές. Η κύρια πρόκληση θα ήταν να επικοινωνήσουν τις απαιτήσεις σε αυτήν την ομάδα και να επιβεβαιώσουν ότι τα παραγόμενα αρχεία αντιστοιχούν στις περιγραφές.

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

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

Με άλλα λόγια, ο ρόλος των προγραμματιστών γίνεται πιο στρατηγικός καθώς το AI χειρίζεται περισσότερη μηχανική εργασία.

Η Tabnine έχει αναφέρει ότι οι επιχειρηματικοί χρήστες μπορούν να δουν το ποσοστό αποδοχής κώδικα AI να φτάσει το 80% σε ορισμένα περιβάλλοντα. Ποια μετρικά πρέπει οι οργανώσεις να χρησιμοποιήσουν για να καθορίσουν εάν τα εργαλεία κωδικοποίησης AI βελτιώνουν πραγματικά την παραγωγικότητα των προγραμματιστών και όχι απλά παράγουν περισσότερο κώδικα;

Το κλειδί είναι να μην ρωτήσετε πόσο κώδικα παράγει το AI, αλλά πόσο χρήσιμο έργο παράγει στην πραγματικότητα.

Υπάρχουν πολλά μετρικά που οι οργανώσεις πρέπει να παρακολουθούν. Ένα από αυτά είναι ο ρυθμός αποδοχής της πρώτης διόρθωσης, που μετρά πόσο συχνά ο κώδικας AI-γεννημένος μπορεί να χρησιμοποιηθεί χωρίς τροποποίηση. Ένα άλλο είναι ο χρόνος αναθεώρησης – πόσες επαναλήψεις απαιτούνται πριν από μια αίτηση ενσωμάτωσης.

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

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

Οι επιχειρήσεις παραμένουν προσεκτικές σχετικά με την έκθεση του ιδιωτικού κώδικα σε εξωτερικά μοντέλα. Πώς η έννοια του “Εμπιστευμένου AI Κωδικοποίησης” αντιμετωπίζει τις ανησυχίες διακυβέρνησης, ιδιωτικότητας και συμμόρφωσης που έχουν επιβραδύνει την υιοθέτηση επιχειρηματικών εργαλείων ανάπτυξης AI;

Η εμπιστοσύνη είναι ένας από τους πιο σημαντικούς παράγοντες στην υιοθέτηση επιχειρηματικών AI.

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

Για να αντιμετωπίσουμε αυτήν την πρόκληση, βασίζεται σε δύο κρίσιμους πυλώνες:

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

Επιπλέον, η Εμπιστευμένη AI Κωδικοποίηση σημαίνει να δώσετε στις οργανώσεις τον έλεγχο του πώς το AI αναπτύσσεται και να διασφαλίσετε την κεντρική διακυβέρνηση και τον έλεγχο.

Έχετε προτείνει ότι ο οργανωτικός контекστος μπορεί να γίνει μια θεμελιώδης στρώση στο επιχειρηματικό AI στάκ – παρόμοια με τις βάσεις δεδομένων ή την υποδομή cloud σε προηγούμενες εποχές υπολογιστών. Τι μοιάζει αυτή η μελλοντική αρχιτεκτονική;

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

Οι βάσεις δεδομένων έγιναν η βάση για τη διαχείριση δεδομένων. Οι πλατφόρμες cloud έγιναν η βάση για την εκτέλεση εφαρμογών σε κλίμακα.

Στην εποχή του AI, οι οργανώσεις θα χρειαστούν υποδομή που θα επιτρέπει στα συστήματα AI να κατανοούν την εσωτερική δομή της επιχείρησης – τα συστήματα, τις σχέσεις και τις λειτουργικές περιορισμούς.

Αυτή η στρώση υποδομής θα παρέχει δομημένο контекστο που πολλά συστήματα AI μπορούν να χρησιμοποιήσουν, είτε πρόκειται για βοηθούς κωδικοποίησης, εργαλεία υποστήριξης, είτε εργαλεία αυτοματοποίησης λειτουργιών.

Σε αυτή τη σημασία, ο контекστος γίνεται μια κοινή βάση για την επιχειρηματική AI.

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

Το οικοσύστημα AI εξελίσσεται πολύ γρήγορα. Νέα μοντέλα κυκλοφορούν συχνά, και διαφορετικά μοντέλα έχουν συχνά διαφορετικές ισχύσεις σε διαφορετικές περιοχές.

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

Η ευελιξία του μοντέλου επίσης επιτρέπει στις οργανώσεις να ισορροπήσουν απόδοση, κόστος, απαιτήσεις ιδιωτικότητας και περιορισμούς ανάπτυξης.

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

Για τους CTO και τους ηγέτες μηχανικής που αξιολογούν τις πλατφόρμες ανάπτυξης AI σήμερα, ποια είναι τα μεγαλύτερα λάθη που κάνουν οι οργανώσεις όταν αναπτύσσουν εργαλεία κωδικοποίησης AI, και πώς μπορούν να τα αποφύγουν;

Ένα κοινό λάθος είναι η εστίαση μόνο στην ικανότητα του μοντέλου. Μεγαλύτερα μοντέλα είναι σίγουρα ένα κρίσιμο συστατικό, αλλά η αξιοπιστία σε πραγματικά περιβάλλοντα εξαρτάται από το πώς καλά το AI κατανοεί το σύστημα στο οποίο λειτουργεί.

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

Τέλος, οι οργανώσεις đôiότερες φορές περιμένουν το AI να παράγει άμεσες κέρδη παραγωγικότητας χωρίς να προσαρμόσουν τις διαδικασίες ή να παρέχουν επαρκή контекστο. Οι επιτυχημένες αναπτύξεις συνήθως περιλαμβάνουν την ενσωμάτωση του AI σε υφιστάμενες διαδικασίες ανάπτυξης και τη σύνδεσή του με τον κώδικα και την αρχιτεκτονική της οργάνωσης.

Όταν αυτά τα στοιχεία έρχονται μαζί, το AI μπορεί να γίνει ένας ισχυρός επιταχυντής για την ανάπτυξη λογισμικού και όχι απλά ένα άλλο εργαλείο.

Ευχαριστούμε για τη μεγάλη συνέντευξη, οι αναγνώστες που επιθυμούν να μάθουν περισσότερα πρέπει να επισκεφθούν την Tabnine.

Ο Antoine είναι ένας οραματιστής ηγέτης και συνιδρυτής της Unite.AI, οδηγείται από μια αμετάβλητη страсть για το σχήμα και την προώθηση του μέλλοντος της τεχνητής νοημοσύνης και της ρομποτικής. Ένας σειριακός επιχειρηματίας, πιστεύει ότι η τεχνητή νοημοσύνη θα είναι τόσο διαταρακτική για την κοινωνία όσο και η ηλεκτρική ενέργεια, και συχνά πιάνεται να μιλάει για το δυναμικό των διαταρακτικών τεχνολογιών και της AGI.

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