Αγαπώ να γράφω κώδικα για να δημιουργώ πράγματα: εφαρμογές, ιστοσελίδες, γραφήματα, ακόμα και μουσική. Είναι μια δεξιότητα που έχω καλλιεργήσει με κόπο για πάνω από είκοσι χρόνια. Ωστόσο, η πρόσφατη ανακοίνωση της κυκλοφορίας του νέου “AI assistant” για προγραμματιστές, του GitHub Copilot, με έκανε να νιώσω ανάμεικτα συναισθήματα.
Μια νέα εποχή στην προγραμματιστική βοήθεια
Το Copilot είναι ένα αξιοσημείωτο εργαλείο που μπορεί να παράγει κώδικα κατόπιν αιτήματος, βασισμένο σε περιγραφές στην απλή αγγλική γλώσσα. Αλλά είναι άραγε αυτό το εργαλείο που θα θέσει σε κίνδυνο τη δουλειά προγραμματιστών όπως εγώ;
Εκπαίδευση σε δισεκατομμύρια γραμμές κώδικα
Το GitHub, που πλέον ανήκει στη Microsoft, είναι μια πλατφόρμα συνεργασίας και κοινωνικό δίκτυο για προγραμματιστές. Μπορείτε να το φανταστείτε σαν έναν συνδυασμό του Dropbox και του Instagram, χρησιμοποιούμενο από μεμονωμένους χομπίστες μέχρι και από υψηλά αμειβόμενους μηχανικούς λογισμικού σε μεγάλες τεχνολογικές εταιρείες.
Τα τελευταία χρόνια, οι χρήστες του GitHub έχουν ανεβάσει δεκάδες δισεκατομμύρια γραμμές κώδικα για περισσότερες από 200 εκατομμύρια εφαρμογές. Το Copilot λειτουργεί όπως πολλά άλλα εργαλεία μηχανικής μάθησης: εκπαιδεύτηκε αναλύοντας αυτές τις γραμμές κώδικα, αναζητώντας μοτίβα και δομές.
GitHub
Η εκπαίδευση ενός τέτοιου συστήματος μπορεί να διαρκέσει μήνες, να κοστίσει εκατοντάδες εκατομμύρια δολάρια σε εξοπλισμό υπολογιστών και να καταναλώσει αρκετή ηλεκτρική ενέργεια για να τροφοδοτήσει ένα σπίτι για μια δεκαετία. Όταν ολοκληρωθεί, οι άνθρωποι προγραμματιστές μπορούν να γράψουν μια περιγραφή (στην απλή αγγλική γλώσσα) για το τι θέλουν να κάνει ο κώδικάς τους, και το Copilot θα γράψει τον κώδικα γι’ αυτούς.
Ένας εντυπωσιακά αποτελεσματικός βοηθός
Είχα την ευκαιρία να δοκιμάσω το Copilot σε πρώιμη “preview” έκδοση πριν από περίπου ένα χρόνο, και το χρησιμοποιώ περιστασιακά από τότε. Χρειάζεται κάποια εξάσκηση για να μάθεις πώς να διατυπώνεις τις αιτήσεις σου στην αγγλική γλώσσα ώστε το Copilot να δίνει το πιο χρήσιμο αποτέλεσμα, αλλά μπορεί να είναι εντυπωσιακά αποτελεσματικό.
Ωστόσο, απέχουμε ακόμα πολύ από το να πούμε “Hey Siri, φτιάξε μου μια εφαρμογή iPhone αξίας ενός εκατομμυρίου δολαρίων”. Είναι ακόμα απαραίτητο να χρησιμοποιώ τις δεξιότητές μου στον σχεδιασμό λογισμικού για να καταλάβω τι πρέπει να κάνουν τα διάφορα κομμάτια του κώδικα στην εφαρμογή μου.
Για να κατανοήσετε το επίπεδο στο οποίο λειτουργεί το Copilot, φανταστείτε να γράφετε μια έκθεση. Δεν μπορείτε απλά να του δώσετε το θέμα και να περιμένετε να παράγει ένα χρήσιμο, καλά δομημένο κείμενο. Αλλά αν καθορίσετε το επιχείρημα και ίσως γράψετε την κύρια πρόταση για κάθε παράγραφο, συχνά θα κάνει καλή δουλειά στο να συμπληρώσει το υπόλοιπο της παραγράφου αυτόματα.
Προκαταλήψεις και σφάλματα
Υπάρχουν ορισμένα ανοιχτά ερωτήματα με αυτού του είδους τα εργαλεία AI για την προγραμματιστική βοήθεια. Ανησυχώ λίγο ότι θα εισάγουν και θα ενισχύσουν δυναμικές “ο νικητής τα παίρνει όλα”: πολύ λίγες εταιρείες έχουν τα δεδομένα (σε αυτή την περίπτωση, τα δισεκατομμύρια γραμμές κώδικα) για να δημιουργήσουν τέτοια εργαλεία, οπότε η δημιουργία ενός ανταγωνιστή για το Copilot θα είναι δύσκολη.
Και θα μπορέσει το ίδιο το Copilot να προτείνει νέους και καλύτερους τρόπους για να γράφουμε κώδικα και να δημιουργούμε λογισμικό; Έχουμε δει συστήματα AI να καινοτομούν στο παρελθόν. Από την άλλη πλευρά, το Copilot μπορεί να περιορίζεται στο να κάνει τα πράγματα όπως τα κάναμε πάντα, καθώς τα συστήματα AI που εκπαιδεύονται σε παλαιά δεδομένα είναι επιρρεπή σε αυτό.
Οι εμπειρίες μου με το Copilot με έκαναν επίσης πολύ συνειδητό ότι η εξειδί
