Γιατί ο κώδικας από AI ξεφεύγει και πώς το Contract-Driven Development το σώζει
Η Σκοτεινή Πλευρά της Ταχύτητας από το AI
Το ξέρεις το συναίσθημα. Ο πρώτος μήνας με Claude ή Cursor είναι μαγεία. Τα features βγαίνουν αστραπιαία. Το scaffolding φτιάχνεται μόνο του. Το boilerplate εξαφανίζεται. Μετά έρχεται ο δεύτερος μήνας. Ο κώδικας compile γίνεται τέλεια. Τα tests περνούν. Το deployment πηγαίνει μια χαρά. Κι όμως, κάτι δεν κολλάει με αυτό που ήθελες να φτιάξεις.
Δεν φταίει η τεμπελιά. Είναι το drift.
Πρόσφατες έρευνες το δείχνουν ξεκάθαρα. Η μελέτη SlopCodeBench (Μάρτιος 2026) λέει ότι 90% των διαδρομών AI agents δείχνουν αύξηση verbosity και φθορά σε μακροπρόθεσμα tasks. Η έρευνα του CMU για Cursor βρήκε ότι τα αρχικά 3-5x gains σε ταχύτητα εξαφανίζονται μετά από δύο μήνες, με 30% περισσότερα warnings και 41% μεγαλύτερη πολυπλοκότητα. Και το χειρότερο: 22,7% των προβλημάτων από AI μένουν ακόμα και στην τελευταία revision, σε εκατοντάδες χιλιάδες commits.
Το AI δεν είναι χαλασμένο. Το μοντέλο διακυβέρνησης είναι.
Τρεις Κρυφοί Μηχανισμοί Αποτυχίας
Semantic Drift
Ο spec λέει "lightweight και intuitive". Μετά από τρεις μήνες και πενήντα prompts, το σύστημα το φτιάχνει τεχνικά σωστά – αλλά ζυγίζει 5MB και χρειάζεται τρία microservices. Οι έννοιες άλλαξαν σιγά-σιγά. Κανείς δεν το ενέκρινε. Ο κώδικας δουλεύει. Το βλέπεις μόνο σε production.
Αόρατη Διακυβέρνηση
Ποιος πήρε αυτή την αρχιτεκτονική απόφαση; Το chat history σου. Ποια version του spec; Κοίτα στο Slack. Ποιος είπε ότι το API θα δίνει nested objects αντί flat; Ο engineer που ρώτησε, μάλλον. Δεν υπάρχει review trail, approval log, απάντηση στο "ποιος και πότε". Πρόβλημα όταν έρθουν regulators ή audits.
Καθίζηση Context
Ο κώδικάς σου ξεπέρασε το context window ενός AI πριν τρεις sprints. Κανένα agent δεν βλέπει το σύνολο πια. Η ιδιοκτησία έγινε άτυπη. Μετά εικασία. Τώρα έχεις δέκα διαφορετικές ερμηνείες της αρχιτεκτονικής σε parallel branches, όλες "εγκεκριμένες" γιατί δεν υπήρχε coherent review.
Η Φάση Αναγνώρισης
Σε πέντε μήνες του 2026, το ίδιο πρόβλημα πήρε έξι ονόματα ταυτόχρονα:
- Intent debt (Storey, Canada Research Chair)
- Cognitive debt (MIT Media Lab)
- Paradox of supervision (Anthropic)
- Scaffolding fragility (viral στο HN)
- Comprehension debt (O'Reilly)
- AI slop (Baltes et al.)
Όλοι είδαν την πληγή. Κανείς δεν έβγαλε λύση.
Μέχρι να εμφανιστεί το contract-driven development.
Contract Αντί για Spec
Το spec-driven ήταν βήμα μπροστά. Γράφεις τι θες, το σύστημα το φτιάχνει, στέλνεις. Πιάσαμε τα εύκολα.
Αλλά τα specs ξεθωριάζουν μόνα τους. Στον wiki σου, παλιώνουν. Δεν ξέρεις αν ο κώδικας ταιριάζει ακόμα, γιατί δεν υπάρχει σύνδεση.
Το contract-driven το γυρίζει ανάποδα.
Ο κώδικας δημιουργείται και ελέγχεται πάνω σε ζωντανό contract – πολυεπίπεδη δομή με:
- Intent: Για ποιο λόγο φτιάχνεται (το κατέχεις και εγκρίνεις εσύ)
- Product & UX: Τι βλέπει ο χρήστης (παράγεται από intent, εσύ βάζεις approval)
- System: Πώς είναι φτιαγμένο (παράγεται από intent και product, εσύ βάζεις approval)
Κάθε layer hash-άρεται. Κάθε layer traceable. Όταν έρθει drift – και θα έρθει:
- Εντοπισμός: Όλα τα εγκεκριμένα fingerprinted, το drift βγαίνει αυτόματα
- Διόρθωση: Σαφής διαδικασία, όχι μαντεψιά
- Επανεκτίμηση: Ο κώδικας ξανακρίνεται βάσει contract, όχι μεμονωμένα
Ευελιξία με Αυστηρότητα
Το VibeLoom (και τα contract-driven συστήματα) δουλεύουν σε πέντε modes, ανάλογα το project σου:
Vibe – Ταχύτητα prototype. Ένα approval (intent). Το υπόλοιπο auto. Στείλε γρήγορα, μάθε γρήγορα.
Product-led – Εσύ ελέγχεις intent και product. System auto. Ιδανικό για design teams.
Tech-led – Εσύ ελέγχεις intent και system. Product auto. Για infrastructure projects.
Design-led – Εσύ ελέγχεις intent και UX. Mockups καθοδηγούν product. Για user-focused ομάδες.
Expert – Όλα explicit. Τίποτα auto. Zero trust. Για regulated ή critical systems.
Δεν χρειάζεσαι και τα πέντε από την αρχή. Ξεκίνα με vibe. Ανέβασε όταν ωριμάσει ο κώδικας.
Γιατί Είναι Κρίσιμο Τώρα
Έρχεται η εποχή των dark factories. Ολόκληρα συστήματα από agents με ελάχιστο ανθρώπινο χέρι. Δεν είναι αν θα dùngεις AI για code – είναι αν θα έχεις ορατότητα και έλεγχο.
Spec-driven καταγράφει intent. Contract-driven το διατηρεί.
Αυτή η διαφορά πολλαπλασιάζεται. Με τα μοντέλα να επιταχύνονται, ένα σύστημα που σφίγγει και μένει coherent (contract) νικάει κατά orders of magnitude αυτό που μαζεύει χρέος (spec).
Ο κώδικας που θυμάται τι είναι, πιάνει το drift και έχει δρόμο διόρθωσης – αυτός κλιμακώνεται με το AI.
Το Κλειδί
Αν βάζεις AI-generated code σε production, ρώτα:
- Μπορώ να εντοπίσω γιατί πάρθηκε αυτή η απόφαση;
- Θα καταλάβω αν ο κώδικας ξέφυγε από το intent;
- Έχω διαδικασία να το διορθώσω;
Αν όχι σε κάτι, χρειάζεσαι contract layer. Όχι αύριο. Σήμερα.
Θες να το δοκιμάσεις; Το VibeLoom είναι open-source, δουλεύει με Claude Code και Python 3.10+. Χωρίς runtime dependencies. MIT license. Ο κώδικας είναι εδώ για ομάδες έτοιμες να πάνε πέρα από spec-driven.
Τα velocity gains από AI είναι αληθινά. Το να τα κρατήσεις συνεκτικά είναι το επόμενο βήμα.