Συνεντεύξεις
Itamar Friedman, CEO & Co-Founder of CodiumAI – Συνέντευξη Σειράς

Ο Itamar Friedman είναι ο CEO και συνιδρυτής της CodiumAI. Η Codium εστιάζει στην πλευρά της “ακεραιότητας του κώδικα” της γεννήσεως κώδικα — δημιουργώντας αυτοματοποιημένα τεστ, εξηγήσεις κώδικα και αναθεωρήσεις. Έχουν κυκλοφορήσει έρευνα για τη δημιουργία λύσεων κώδικα για προκλήσεις προγραμματισμού που υπερβαίνουν το Google DeepMind.
Πότε και πώς αρχίσατε να ενδιαφέρεστε για την τεχνητή νοημοσύνη;
Το 2009, εργαζόμουν στη Mellanox (Acq. από την NVIDIA (NVDA )) και σπούδαζα ηλεκτρολογικό μηχανικό. Κατανοώντας ότι πολλές από τις μονότονες διαδικασίες ανάπτυξης στη Mellanox θα μπορούσαν να αυτοματοποιηθούν από αλγόριθμους μηχανικής μάθησης, άλλαξα τις σπουδές μου σε βελτιστοποίηση και μηχανική μάθηση και ολοκλήρωσα einen MSc στο χώρο. Μέχρι το 2010 ήμουν ήδη εργαζόμενος σε ένα проект με βαθύ μάθηση (με 3 στρώσεις νευρωνικού δικτύου) και έθεσα τις βάσεις για την εποχή μου στην Alibaba, όπου ηγήθηκα μιας ερευνητικής ομάδας που ειδικεύτηκε στην αναζήτηση νευρωνικής αρχιτεκτονικής, την εκπαίδευση μοντέλων και την κατασκευή εργαλείων AutoML για τους développers. Γύρω στο 2021, δεν ήταν πλέον ντροπή να ονομάσουμε τη δουλειά μας “Τεχνητή Νοημοσύνη”, καθώς τα μεγάλα μοντέλα γλωσσών έγιναν ισχυρά εργαλεία και η φαντασία μου για ό,τι θα μπορούσε να επιτευχθεί με αυτά αυξήθηκε.
Η προηγούμενη εταιρεία σας, η Visualead, η οποία εστιάζει στην οπτική αναγνώριση, τελικά αγοράστηκε από την Alibaba Group. Ποια ήταν αυτή η εταιρεία και ποια ήταν κάποια από τα βασικά συμπεράσματα από αυτή τη εμπειρία;
Η Visualead ειδικευόταν στην σάρωση λογότυπων, QR κωδικών και mọiTHING μεταξύ τους, συμπεριλαμβανομένης της ασφάλισης και απόκρυψης πληροφοριών σε εικόνες για να ενεργοποιήσει ασφαλείς συναλλαγές P2P και συμμετοχή. Στη Visualead, τρέχαμε αλγόριθμους σε κινητές συσκευές από το 2012, συμπεριλαμβανομένων μοντέλων. Ήταν μια πρόκληση και μια δυσκολία να το κάνουμε εκείνη την εποχή και μάθαμε πολλά για την κατασκευή αποτελεσματικών μοντέλων και φραγμών γύρω από αυτά τα στατιστικά πλάσματα.
Μέχρι σήμερα, ακόμη εφαρμόζω τα μαθήματα που έμαθα από εκείνη την εποχή στις τρέχουσες δουλειές μου – για παράδειγμα, όταν κατασκευάσαμε το ανοικτό εργαλείο λύσεων AlphaCodium εισαγάγαμε την έννοια της Flow Engineering και εφαρμόσαμε αυτή την έννοια για να κατασκευάσουμε μια ροή για να φυλάξουμε τα μοντέλα LLM.
Μπορείτε να μοιραστείτε την ιστορία πίσω από την εκκίνηση της CodiumAI;
Στην Alibaba, είδα από πρώτο χέρι πώς ένα σφάλμα στο κώδικα θα μπορούσε να οδηγήσει σε ένα πρόβλημα ενός εκατομμυρίου δολαρίων και τις προκλήσεις που αντιμετωπίζουν οι développers για να διατηρήσουν την ποιότητα και την ακεραιότητα του κώδικα. Αυτό το πρόβλημα επιμένει και σήμερα ο κακός κώδικας έχει αποδοθεί σε ένα πρόβλημα ενός τρισεκατομμυρίου δολαρίων που συνεχίζει να αυξάνεται.
Η ομάδα της CodiumAI ειδικεύεται στην κατασκευή εργαλείων που ενδυναμώνονται από την τεχνητή νοημοσύνη σε κλίμακα και οδηγείται να αντιμετωπίσει τις προκλήσεις που αντιμετωπίζουν οι développers. Με τη γέννηση νέων LLM και ικανοτήτων AI, καταλάβαμε ότι αυτή ήταν η ευκαιρία μας να κατασκευάσουμε μια ολιστική πλατφόρμα ακεραιότητας κώδικα για να βοηθήσουμε τις απασχολημένες ομάδες σαν την δική μας να μειώσουν τα σφάλματα και να ελαττώσουν άλλα προβλήματα ακεραιότητας. Όσο περισσότερος κώδικας παράγεται από την AI, το πρόβλημα της αξιολόγησης αυτού του κώδικα και της διασφάλισης ότι λειτουργεί όπως προορίζεται γίνεται ένα κρίσιμο πρόβλημα και ένα που είμαστε αποφασισμένοι να λύσουμε. Η κατασκευή εργαλείων που ενδυναμώνονται από την τεχνητή νοημοσύνη σε κλίμακα και, επομένως, η αξιολόγηση είναι μια βασική έννοια για εμάς.
Ως ομάδα εμπειροπόλεων développers, το καταλαβαίνουμε – η αντιμετώπιση των μονότονων εργασιών όπως τα τεστ και η αναθεώρηση κώδικα θα μπορούσε να είναι εκνευριστική. Είμαστε υψηλά αποστολικοί για να ενεργοποιήσουμε τελικά τις απασχολημένες ομάδες να αυξήσουν και να διαχειριστούν την ακεραιότητα του κώδικα τους.
Μπορείτε να περιγράψετε ποια είδη μη τριβίας ανάλυσης thựcίζει η CodiumAI στο κώδικα και πώς αυτή η ανάλυση υποστηρίζει τους développers στην βελτίωση της ποιότητας του κώδικα;
Μέχρι πρόσφατα, τα υπάρχοντα εργαλεία που ήταν διαθέσιμα στους développers προσφέρονταν λίγη αξία – αλλά με την άφιξη των LLM (ChatGPT, Copilot, κ.λπ.) οι ικανότητες αρχίζουν να υπερβαίνουν τις προσδοκίες και η υποστήριξη που είναι διαθέσιμη στους développers δεν είναι πλέον τριβής.
Ο κωδικός-πράκτορας της CodiumAI, ο Codiumate, προσφέρει στους développers μοναδικά εργαλεία για να βελτιώσουν την εργασία τους και να ενισχύσουν τη γεννήσεως κώδικα. Ο Codiumate ροώνει τη διαδικασία ανάπτυξης παρέχοντας αυτοματοποιημένη βοήθεια καθ’ όλη τη διάρκεια της εργασίας κωδικοποίησης. Χρησιμοποιώντας τα υπάρχοντα τμήματα κώδικα που ένας ανθρώπινος développer υπογραμμίζει στο περιβάλλον του, ο πράκτορας μπορεί να σχεδιάσει αυτόματα ένα εύκολο να ακολουθηθεί και συνολικό σχέδιο ανάπτυξης, να γράψει κώδικα σύμφωνα με αυτό το σχέδιο, να αναγνωρίσει διπλότυπο κώδικα που ο développer μπορεί να θέλει να χρησιμοποιήσει ή να αφαιρέσει, να σχεδιάσει τεκμηρίωση και να προτείνει τεστ για να διασφαλίσει ότι ο κώδικας λειτουργεί σωστά πριν από την ανάπτυξή του σε ένα ζωντανό περιβάλλον.
Ο Codiumate παρέχει στους développers αναλυτική ανάλυση συμπεριφοράς – φωτίζοντας πιθανές συμπεριφορές και κλάδους που ο κώδικας-υπό-έλεγχο περιλαμβάνει. Αυτό επιτρέπει στον développer να εξετάσει τον παραγόμενο κώδικα και να δημιουργήσει τεστ που (κλάδος) καλύπτουν όλες τις συμπεριφορές, βελτιώνοντας έτσι τον κώδικα περισσότερο από ό,τι αν ο développer είχε λογαριασμό για όλες τις πιθανές περιπτώσεις μόνος του.
Τι είδη λειτουργιών παρέχει ο πράκτορας PR για την ανάλυση αιτήσεων pull και πώς ροώνει τη διαδικασία αναθεώρησης σε πλατφόρμες όπως το GitHub και το GitLab (GTLB );
Ο πράκτορας PR προσφέρει eine ποικιλία λειτουργιών που σχεδιάστηκαν για να βελτιώσουν και να ροώνουν την ανάλυση και τη διαδικασία αναθεώρησης αιτήσεων pull σε διάφορους παρόχους git.
Η αυτόματη γεννήσεως περιγραφής αιτήσεων pull δημιουργεί αυτόματα περιεκτικές και λεπτομερείς περιγραφές για αιτήσεις pull. Αυτή η λειτουργία αντιμετωπίζει κοινά προβλήματα όπου οι développers μπορεί να παραλείψουν λεπτομερείς περιγραφές αιτήσεων pull λόγω χρονικών περιορισμών ή παραλείψου. Με αυτοματοποιημένες περιγραφές, κάθε αίτηση pull είναι εξοπλισμένη με επαρκή контекστ, καθιστώντας εύκολο για τους αναθεωρητές να κατανοήσουν τις αλλαγές χωρίς να χρειάζεται να αποκρυπτογραφήσουν τις διαφορές κώδικα εκτενώς. Επίσης, έχουμε κατασκευάσει μια αυτόματη αναθεώρηση αιτήσεων pull για να παρέχουμε στους développers μια συνολική επισκόπηση της αίτησης pull, η οποία τους επιτρέπει να αναγνωρίσουν πιθανά προβλήματα όπως σφάλματα, ευπάθειες ασφαλείας ή μυρωδιές κώδικα προληπτικά. Αυτή η προληπτική ανατροφοδότηση επιτρέπει στους développers να κάνουν διορθώσεις πριν από τη διαδικασία αναθεώρησης, βελτιώνοντας έτσι την ποιότητα του κώδικα που φτάνει στους αναθεωρητές.
Χρησιμοποιώντας την τεχνητή νοημοσύνη, οι αυτοματοποιημένες προτάσεις κώδικα μπορούν επίσης να προτείνουν βελτιώσεις ή εναλλακτικές υλοποιήσεις直接 μέσα στην διεπαφή αιτήσεων pull. Αυτές οι προτάσεις θα μπορούσαν να είναι βελτιώσεις, συμμόρφωση με πρότυπα κωδικοποίησης ή ακόμη και αρχιτεκτονικές βελτιώσεις, βοηθώντας να ανυψώσουν την ποιότητα της βάσης κώδικα σταδιακά.
Ο πράκτορας PR υποστηρίζει πολλές επιλογές για την προσαρμογή των εντολών που προσφέρει. Μια από τις πιο χρήσιμες επιλογές προσαρμογής είναι η χρήση προσαρμοσμένων ετικετών για να ενισχύσει την οργάνωση και τη διαχείριση αιτήσεων pull σε πλατφόρμες όπως το GitHub και το GitLab. Αυτή η λειτουργία συμβάλλει στην λειτουργική αποτελεσματικότητα και σαφήνεια της διαδικασίας ανάπτυξης και αναθεώρησης.
Πώς η CodiumAI γεννάτετε σημαντικά τεστ και τι τα κάνει πιο αποτελεσματικά από τα τυπικά τεστ μονάδων;
Βελτιώνουμε τη γεννήσεως τεστ σαρώνοντας αποθήκες κώδικα για σχετικές σκουπίδια που σχετίζονται με τον κώδικα-υπό-έλεγχο. Χρησιμοποιώντας προωθημένες προτάσεις για να χαρτογραφήσουμε όλες τις πιθανές συμπεριφορές κώδικα, συμπεριλαμβανομένων τυπικών μονοπατιών και περιπτώσεων άκρων, η προσέγγισή μας χρησιμοποιεί контекστ-ειδικές λήψεις και προσαρμοσμένες προτάσεις που προσαρμόζονται σε διαφορετικές γλώσσες προγραμματισμού, ενσωματώνοντας εμπειρογνωστικές γνώσεις για να διασφαλίσουμε ότι τα τεστ ανταποκρίνονται στα πρότυπα της βιομηχανίας. Επιπλέον, η CodiumAI ρυθμίζει συγκεκριμένα περιβάλλοντα εκτέλεσης για να ανιχνεύσει σφάλματα και να γεννήσει αυτο-θεραπευτικά τεστ. Αυτές οι ικανότητες κάνουν τα τεστ της CodiumAI πιο ολοκληρωμένα από τα τυπικά τεστ μονάδων, τα οποία συχνά παραλείπουν μη προβλεπόμενες συμπεριφορές λόγω των εγγενών προκαταλήψεων των développers και των περιορισμών στην προβλέψη όλων των πιθανών σενάριων. Αυτό οδηγεί σε τεστ που δεν είναι μόνο περίεργα αλλά και πιο αποτελεσματικά στην ανίχνευση λεπτών σφαλμάτων και περιπτώσεων άκρων.
Βασισμένα σε ανατροφοδότηση χρηστών, ποια είναι τα πιοτιμημένα χαρακτηριστικά της CodiumAI και πώς αυτά τα χαρακτηριστικά έχουν επηρεάσει την παραγωγικότητα των développers;
Βασισμένα στην ανατροφοδότηση που έχουμε λάβει, βλέπουμε ότι τα χαρακτηριστικά /ask με περιεχόμενο μπλοκ κώδικα και /γεννήσεως τεστ του πράκτορα Codiumate είναι υψηλά αναζητημένα και βελτιώνουν την εργασία των développers.
Με το /ask με περιεχόμενο μπλοκ κώδικα (δείτε τεκμηρίωση εδώ: /ask) οι développers μπορούν να θέσουν ανοιχτές ερωτήσεις για τον κώδικά τους ή να ζητήσουν βελτιώσεις κώδικα ή αναθεωρήσεις κατά τη διάρκεια μιας δωρεάν συνεδρίας chat. Αυτό το χαρακτηριστικό είναι ιδιαίτερα ωφέλιμο για την απόκτηση μιας βαθύτερης κατανόησης της βάσης κώδικα, καθώς το μοντέλο διατηρεί το πλήρες контекστ του έργου, επιτρέποντας να απαντήσει σε λεπτομερείς και συγκεκριμένες ερωτήσεις.
Το εργαλείο /γεννήσεως τεστ (δείτε τεκμηρίωση εδώ: /test) επιτρέπει στους développers να γεννήσουν ολοκληρωμένα σετ τεστ για τον κώδικά τους με ένα μόνο κλικ. Η εξέταση της συμπεριφοράς κώδικα, η ανίχνευση και η διόρθωση σφαλμάτων, καθώς και η ταχεία επέκταση της κάλυψης κώδικα είναι ένα τεράστιο περιουσιακό στοιχείο για την παραγωγικότητα.
Πώς η CodiumAI αναγνωρίζει περιπτώσεις άκρων και ύποπτες συμπεριφορές στο κώδικα;
Τα εργαλεία μας σαρώνουν το αποθετήριο του développer για σχετικές σκουπίδια που σχετίζονται με τον κώδικα-υπό-έλεγχο και, χρησιμοποιώντας προωθημένες προτάσεις, χαρτογραφούμε όλες τις πιθανές συμπεριφορές κώδικα και τις εμφανίζουμε στον développer. Η CodiumAI μπορεί να αναγνωρίσει ύποπτες συμπεριφορές直接 (ανεξάρτητα από τη γεννήσεως τεστ), αναγνωρίζοντας ασυμφωνίες ή ασυνέπειες μεταξύ διαφορετικών σκουπίδων κώδικα ή μεταξύ σκουπίδων κώδικα και της συνοδευτικής τεκμηρίωσης.
Η CodiumAI υποστηρίζει κύριες γλώσσες προγραμματισμού – μπορείτε να επεκτείνετε πώς χειρίζεται τις γλωσσικές-ειδικές νουάνς στην ανάλυση κώδικα και τη γεννήσεως τεστ;
Για τις κύριες γλώσσες προγραμματισμού, η πλατφόρμα μας υπερβαίνει την βασική υποστήριξη εφαρμόζοντας ειδικές τεχνικές. Αυτές περιλαμβάνουν контекστ-ειδικές λήψεις και προσαρμοσμένες προτάσεις που προσαρμόζονται στη μοναδική σύνταξη και σημασιολογία κάθε γλώσσας. Αυτές οι προσαρμοσμένες προτάσεις ενσωματώνουν γλωσσικές-ειδικές γνώσεις για να εξασφαλίσουν ότι τα αποτελέσματα ανταποκρίνονται στα πρότυπα της βιομηχανίας. Επιπλέον, παρέχουμε ικανότητες για να ρυθμίσουμε ένα περιβάλλον εκτέλεσης ειδικά για αυτές τις γλώσσες, το οποίο ενισχύει την ικανότητα του εργαλείου μας να ανιχνεύσει σφάλματα και να γεννήσει αυτο-θεραπευτικά τεστ.
Για λιγότερο κοινές γλώσσες, αξιοποιούμε μεγάλα μοντέλα γλωσσών (LLM) που κατανοούν εγγενώς πολλές γλώσσες προγραμματισμού. Αυτό συμπληρώνεται από τη γενική υποδομή контεκστ και το σύστημα προσαρμοσμένων προτάσεων, τα οποία μαζί διευκολύνουν την ακριβή ανάλυση κώδικα και τη γεννήσεως τεστ σε διάφορες προγραμματιστικές περιβάλλσεις. Με την αξιοποίηση μιας διπλής προσεγγίσεως, μπορούμε να διασφαλίσουμε μια ολοκληρωμένη υποστήριξη ανεξάρτητα από τη γλώσσα προγραμματισμού που χρησιμοποιείται.
Τι μελλοντικές βελτιώσεις είναι запланированные για την CodiumAI για να υποστηρίξουν και να απλοποιήσουν τις εργασίες των développers;
Η στρατηγική μελλοντικής ανάπτυξης της CodiumAI υπογραμμίζει την ενίσχυση του διαθέσιμου συνόλου εργαλείων AI για να ενσωματωθούν ομαλά σε όλα τα στάδια του κύκλου ζωής της ανάπτυξης λογισμικού. Χρησιμοποιώντας προηγμένα Flow-Engineering αρχές για να ροώνουν και να απλοποιήσουν τις εργασίες των développers, τα εργαλεία μας θα παρέχουν σημαντική αξία σε διάφορα στάδια της ανάπτυξης. Επιπλέον, η CodiumAI είναι αφοσιωμένη στο να διασφαλίσει ότι αυτά τα εργαλεία excelling στο χειρισμό σύνθετου, πραγματικού κώδικα και κειμένου σεναρίων, τα καθιστώντας απαραίτητα στην καθημερινή εργασία προγραμματισμού. Αυτή η ολιστική προσέγγιση αποσκοπεί να ανυψώσει την προσφορά μας ως ένα ρομπούστικο, καθημερινό εργαλείο για τους développers, βελτιώνοντας την παραγωγικότητα και την αποτελεσματικότητα στη διαδικασία ανάπτυξης λογισμικού. os, making them indispensable in everyday programming tasks. This holistic approach aims to elevate our offering as a robust, daily-use tool for developers, enhancing productivity and efficiency in the software development process. Thank you for the great interview, readers who wish to learn more should visit CodiumAI.












