Vibe Coding - η τεχνολογία που θα κάνει όλους μας προγραμματιστές!
Το μέλλον είναι ήδη εδώ !
Ετοιμαστείτε για μια επανάσταση που θα ταράξει τα θεμέλια του λογισμικού: το Vibe Coding δεν είναι απλώς το μέλλον, αλλά μια πρόκληση που απειλεί να ανατρέψει τα πάντα, από τις δουλειές μέχρι την ίδια τη δημιουργία τεχνολογίας!
To Vibe coding είναι μια τεχνική ανάπτυξης λογισμικού (δηλαδή δημιουργίας κώδικα προγραμμάτων) με τη βοήθεια τεχνητής νοημοσύνης, η οποία επιτρέπει σε απλούς χρήστες να δημιουργήσουν προγράμματα (κώδικα) μέσω συνομιλιών τύπου ChatGPT, που μετά από συνεχείς προσθήκες και βελτιώσεις γίνονται τελικά εφαρμογές που δουλεύουν και μπορούν να χρησιμοποιηθούν επαγγελματικά !!
Ο όρος vibe coding εμφανίστηκε για πρώτη φορά σε ένα tweet του συνιδρυτή της OpenAI και πρώην επικεφαλής της Τεχνητής Νοημοσύνης στην Tesla, Andrej Karpathy, τον Φεβρουάριο του 2025 που είπε ότι «η πιο δημοφιλής νέα γλώσσα προγραμματισμού θα είναι τα αγγλικά», καθώς με τις δυνατότητες των Μεγάλων γλωσσικών μοντέλων (Large language models – LLM) οι άνθρωποι δεν θα χρειάζεται πλέον να μαθαίνουν συγκεκριμένες γλώσσες και περιβάλλοντα προγραμματισμού για να αναπτύσσουν εφαρμογές.
Σήμερα το vibe coding ακούγεται όλο και πιο συχνά και μια σειρά από εργαλεία με δικούς τους χώρους εργασίας και πολύ φιλικό περιβάλλον (όπως το Cursor και το Replit Agent), επιτρέπουν σε «μη προγραμματιστές» να δημιουργούν προγράμματα και επαγγελματικές εφαρμογές από «απλές περιγραφές σε φυσική γλώσσα» π.χ. Αγγλικά ή Ελληνικά .
Οι «προγραμματιστές σε φυσική γλώσσα» αναθέτουν τη δουλειά σε AI Agents που μπορούν να χωρίσουν τα έργα τους σε τμήματα, να εισάγουν προδιαγραφές για κάθε μέρος και στη συνέχεια να «γράψουν και να προσαρμόσουν» τον κώδικα σε αυτές τις απαιτήσεις. Στη δημιουργούν ακόμα και τεχνικά έγγραφα σχεδιασμού, εκτελούν ελέγχους ποιότητας και γράφουν εγχειρίδια χρήσης.
Δηλαδή το vibe coding είναι πρακτικά η καθοδήγηση πρακτόρων Τεχνητής Νοημοσύνης να γράφουν κώδικα με βάση υποδείξεις φυσικής γλώσσας. Οι πράκτορες ΤΝ δεν δημιουργούν απλά αποσπάσματα κώδικα αλλά ολόκληρες λειτουργικές εφαρμογές με όλα τα απαραίτητα στοιχεία, από βάσεις δεδομένων, ροές εργασίας έως διεπαφές χρηστών (User interfaces) καθώς και οδηγίες χρήσης, εκπαιδευτικό υλικό κλπ.
Προσοχή το Vibe Coding δεν είναι μια απλή γεννήτρια κώδικα (code generator) και διαφέρει σημαντικά από τον υποβοηθούμενο με ΤΝ προγραμματισμό (AI-assisted coding) καθώς οι «προγραμματιστές» με Vibe Coding δεν ασχολούνται καθόλου με τον κώδικα (π.χ. δεν ξέρουν καν σε ποια «γλώσσα» γράφτηκαν τα προγράμματα) ενώ οι «προγραμματιστές» με AI-assisted coding είναι «πραγματικοί προγραμματιστές» που απλά υποβοηθούνται από την Τεχνητή Νοημοσύνη που «αλλάζουν» τον κώδικα που προτείνει η ΤΝ.
Τελικά όμως πολύ συχνά ακούγεται ότι και οι «πραγματικοί προγραμματιστές δημιουργούν ένα γρήγορο κώδικα vibe για να κάνουν πρωτότυπα (prototypes) σε εφαρμογές» πριν ακόμα ξεκινήσουν τον προγραμματισμό. Αυτό τους επιτρέπει να έχουν μια γρήγορη εικόνα του «τελικού προϊόντος λογισμικού» που θα αναπτύξουν αλλά και να επικοινωνήσουν καλύτερα με τους χρήστες που τους το ζήτησαν.
Βέβαια η δουλειά ενός προγραμματιστή λογισμικού δεν είναι (απλώς) να παράγει κώδικα για εφαρμογές με λειτουργίες. Πρέπει να δημιουργεί κώδικα που α) αποδεδειγμένα λειτουργεί αποδοτικά και με ασφάλεια β) μπορεί να γίνει κατανοητός από άλλους ανθρώπους (και μηχανές) γ) που θα μπορεί να υποστηριχθεί από τρίτους δ) που θα μπορεί να αναβαθμιστεί στο μέλλον κλπ.
Από την άλλη πλευρά δεν είναι σωστό ο όρος «vibe coding» να γίνει συνώνυμος με τον ανεύθυνο προγραμματισμό. Μπορεί να βοηθήσει
- Στη δημιουργία πρωτοτύπων
- Στην εκπαίδευση των «πραγματικών προγραμματιστών» μειώνοντας δραστικά την καμπύλη μάθησης
- Στην Ενίσχυση της Δημιουργικότητας δίνοντας ιδέες στους προγραμματιστές
- Στη δημιουργία γρήγορων unit tests ή mock data, εξοικονομώντας χρόνο σε κρίσιμες αλλά χρονοβόρες διαδικασίες.
- Στη βελτίωση της συνεργασίας με Μη-Προγραμματιστές μεταφράζοντας τις ιδέες τους σε κώδικα χωρίς τεχνική γνώση.
To Vibe coding δεν έχει να κάνει με την αντικατάσταση των προγραμματιστών—έχει να κάνει με τη δυνατότητα δημιουργίας εφαρμογών από όλους (tools for all) ή από έναν (tools for one) αντιμετωπίζοντας προκλήσεις από τη σκοπιά των μη προγραμματιστών όπως:
- Στη μη εξοικείωσή τους με την Τεχνική ορολογία
- Στην Πολυπλοκότητα των διαδικασιών ανάπτυξης εφαρμογών
- Στην άγνοιά τους για Ζητήματα ασφαλείας
- Στην αδυναμία τους να επισκευάσουν κάτι που δεν πάει καλά κλπ.
Κανένας δεν πιστεύει ότι το vibe coding θα είναι το τέλος της ανάπτυξης λογισμικού, όπως δεν ήταν οι μεταγλωττιστές, οι γλώσσες υψηλού επιπέδου ή οι εικονικές μηχανές αλλά όλα δείχνουν ότι θα είναι ένα σημαντικό εξελικτικό βήμα αλλά σε καμία περίπτωση ένα τελικό σημείο.
Κάθε νέα τεχνολογία έχει επικριτές αλλά και φανατικούς ακολούθους, παρέχοντας νέες ευκαιρίες αλλά και εγκυμονώντας κινδύνους.
Το vibe coding φαίνεται ότι θα αλλάξει στον τρόπο με τον οποίο συνεργάζονται οι αρχιτέκτονες, οι ιδιοκτήτες και οι μηχανικοί λογισμικού αν και ακόμα δεν έχουν καθοριστεί κανόνες και βέλτιστες πρακτικές χρήσης του, ώστε να περιοριστούν οι κίνδυνοι, να εξασφαλιστεί η ιδιωτικότητα και η πνευματική ιδιοκτησία, να προστατεύεται η εφαρμογή από επιθέσεις και κακόβουλο λογισμικό κλπ.