Πώς να περάσετε ένα πρωτότυπο AI στην παραγωγή
Για να περάσετε ένα πρωτότυπο AI στην παραγωγή, κλείνετε το χάσμα ανάμεσα στο «δουλεύει όταν το δοκιμάζω» και στο «συνεχίζει να δουλεύει όταν το χρησιμοποιούν άλλοι». Στην πράξη, αυτό σημαίνει πέντε πράγματα: δοκιμάζετε τις βασικές ροές κάθε φορά που αλλάζετε κάτι, κλειδώνετε ποιος βλέπει και αλλάζει τι, βεβαιώνεστε ότι μαθαίνετε για τα σφάλματα πριν σας τα πουν οι χρήστες, κάνετε αντίγραφα ασφαλείας των δεδομένων και αποδεικνύετε ότι μπορείτε να τα επαναφέρετε, και κρατάτε την εφαρμογή αρκετά γρήγορη σε κινητό. Τίποτα από αυτά δεν χρειάζεται ξαναγράψιμο — είναι μια λίστα ελέγχου που δουλεύετε με το ίδιο AI που έφτιαξε το πρωτότυπο.
Πρωτότυπο και παραγωγή: τι αλλάζει πραγματικά
Ένα πρωτότυπο έχει έναν προσεκτικό χρήστη: εσάς. Ξέρετε ποια κουμπιά να πατήσετε, πληκτρολογείτε λογικές εισόδους, και αν κάτι χαλάσει σηκώνετε τους ώμους και ζητάτε από το AI να το διορθώσει. Η παραγωγή έχει πολλούς απρόσεκτους χρήστες, μερικούς περίεργους και περιστασιακά έναν εχθρικό. Ο κώδικας δεν χρειάζεται να γίνει «επιχειρησιακός»· χρειάζεται να χειρίζεται καταστάσεις που το πρωτότυπο δεν συναντά ποτέ.
| Τομέας | Πρωτότυπο | Παραγωγή |
|---|---|---|
| Δεδομένα | Δείγματα γραμμών, εύκολο να επαναφερθούν | Πραγματικά δεδομένα πελατών που δεν μπορείτε να χάσετε |
| Χρήστες | Εσείς, συνδεδεμένοι ως διαχειριστής | Πολλοί λογαριασμοί με διαφορετικά δικαιώματα |
| Είσοδος | Ό,τι πληκτρολογείτε | Κενά πεδία, τεράστια αρχεία, περίεργοι χαρακτήρες, scripts |
| Σφάλματα | Τα βλέπετε στην προεπισκόπηση | Συμβαίνουν ενώ κοιμάστε |
| Αλλαγές | Επεξεργασία και έλεγχος | Αλλαγή χωρίς να σπάσει ό,τι βασίζονται οι άνθρωποι |
| Μυστικά | Οτιδήποτε σε δοκιμαστικό κλειδί | Ζωντανά κλειδιά που κοστίζουν χρήματα αν διαρρεύσουν |
Το υπόλοιπο αυτού του οδηγού περνά από κάθε γραμμή.
Βήμα 1: Κλειδώστε το πεδίο και γράψτε τις βασικές ροές
Πριν σκληρύνετε οτιδήποτε, αποφασίστε τι είναι η πρώτη έκδοση. Καταγράψτε τις τρεις έως έξι ροές που έχουν μεγαλύτερη σημασία — για παράδειγμα «εγγραφή, δημιουργία έργου, πρόσκληση συνεργάτη, πληρωμή». Αυτές γίνονται το σενάριο δοκιμών σας, οι στόχοι της παρακολούθησης και ό,τι ελέγχετε μετά από κάθε αλλαγή.
Κάθε τι που δεν είναι στη λίστα είτε κόβεται είτε σημαίνεται ξεκάθαρα ως beta. Είναι πολύ ευκολότερο να κάνετε τέσσερις ροές αξιόπιστες παρά δεκατέσσερις.
Βήμα 2: Δοκιμάστε σαν άγνωστος, και μετά κάντε το επαναλήψιμο
Τα εργαλεία κατασκευής AI είναι καλά στο να παράγουν κώδικα που δουλεύει στη «σωστή» διαδρομή. Τα προβλήματα παραγωγής ζουν στις διαδρομές της «λάθος» χρήσης. Δοκιμάστε κάθε βασική ροή με:
- Κακές εισόδους: κενά υποχρεωτικά πεδία, ένα όνομα 5.000 χαρακτήρων, email χωρίς @, αρνητική ποσότητα, ημερομηνία στο παρελθόν.
- Ανανεώσεις και κουμπί πίσω: ανανεώστε στη μέση του ταμείου· πατήστε πίσω μετά την υποβολή φόρμας. Δημιουργείται κάτι δύο φορές;
- Δύο καρτέλες, δύο χρήστες: συνδεθείτε με δύο διαφορετικούς λογαριασμούς και προσπαθήστε να ανοίξετε τις σελίδες του άλλου αλλάζοντας το ID στη διεύθυνση.
- Αργή σύνδεση και μικρή οθόνη: μέγεθος κινητού και περιορισμένη σύνδεση (τα εργαλεία προγραμματιστή του browser μπορούν να την προσομοιώσουν).
- Κενές καταστάσεις: ένας καινούριος λογαριασμός χωρίς δεδομένα. Τα πρωτότυπα συχνά φτιάχνονται με δείγματα δεδομένων και φαίνονται σπασμένα χωρίς αυτά.
Μετά κάντε τον έλεγχο επαναλήψιμο. Τουλάχιστον, κρατήστε μια γραπτή λίστα και τρέξτε την πριν από κάθε έκδοση. Καλύτερα, ζητήστε από το AI να γράψει αυτοματοποιημένες δοκιμές για τις ροές που έχουν μεγαλύτερη σημασία:
Πρόσθεσε αυτοματοποιημένες δοκιμές end-to-end για αυτές τις ροές: εγγραφή με email, δημιουργία έργου, πρόσκληση δεύτερου χρήστη και ολοκλήρωση ταμείου στη δοκιμαστική λειτουργία του Stripe. Πρόσθεσε επίσης δοκιμές που επιβεβαιώνουν ότι ένας χρήστης δεν μπορεί να δει ή να αλλάξει το έργο άλλου χρήστη αλλάζοντας τη διεύθυνση.
Οι δοκιμές που αποδεικνύουν ότι ένας χρήστης δεν μπορεί να κάνει κάτι είναι αυτές που λείπουν συχνότερα από τα πρωτότυπα.
Βήμα 3: Βασική ασφάλεια που παραλείπουν τα πρωτότυπα
Τα περισσότερα προβλήματα ασφαλείας σε εφαρμογές που φτιάχνει AI δεν είναι εξωτικά. Είναι ελλείποντες έλεγχοι. Περάστε από αυτή τη λίστα, και δείτε την πιο πλήρη λίστα ασφαλείας για εφαρμογές που φτιάχνει AI:
- Εξουσιοδότηση στον διακομιστή. Η απόκρυψη ενός κουμπιού δεν είναι ασφάλεια. Κάθε αίτημα που διαβάζει ή αλλάζει δεδομένα πρέπει να ελέγχει, στον διακομιστή, ότι ο συνδεδεμένος χρήστης επιτρέπεται να το κάνει. Αν η εφαρμογή χρησιμοποιεί βάση με κανόνες ανά γραμμή, ελέγξτε ότι είναι ενεργοί και δοκιμασμένοι.
- Μυστικά εκτός του browser. Κλειδιά API για πληρωμές, email ή παρόχους AI ανήκουν σε μεταβλητές περιβάλλοντος στον διακομιστή, ποτέ στον κώδικα της πρόσοψης. Αν δεν είστε σίγουροι τι σημαίνει αυτό, διαβάστε τι είναι οι μεταβλητές περιβάλλοντος και τα μυστικά.
- Επικύρωση στον διακομιστή. Ο browser μπορεί να παρακαμφθεί, οπότε επαναλάβετε στον διακομιστή κάθε έλεγχο που έχει σημασία.
- Σωστή σύνδεση. Χρησιμοποιήστε μια δοκιμασμένη βιβλιοθήκη ή υπηρεσία αυθεντικοποίησης αντί για αποθήκευση κωδικών φτιαγμένη με το χέρι. Ο οδηγός μας για την προσθήκη σύνδεσης στην εφαρμογή σας καλύπτει τις επιλογές.
- Όρια ρυθμού (rate limits) στη σύνδεση, την εγγραφή, την επαναφορά κωδικού και σε ό,τι στέλνει email ή καλεί πληρωμένο API.
- Φιλικά μηνύματα σφάλματος. Οι χρήστες βλέπουν «κάτι πήγε στραβά»· οι λεπτομέρειες πάνε στα αρχεία καταγραφής σας, όχι στην οθόνη.
- Αλλαγή κάθε μυστικού που διέρρευσε. Αν ένα ζωντανό κλειδί επικολλήθηκε ποτέ σε συνομιλία, commit ή στιγμιότυπο οθόνης, αντικαταστήστε το στον πάροχο.
Μια εντολή που καλύπτει πολλά ταυτόχρονα:
Ελέγξτε αυτή την εφαρμογή για ασφάλεια παραγωγής. Επιβεβαιώστε ότι κάθε διαδρομή API επαληθεύει ότι ο συνδεδεμένος χρήστης είναι ιδιοκτήτης της εγγραφής που διαβάζει ή αλλάζει, ότι δεν στέλνονται μυστικά κλειδιά στον browser, ότι τα δεδομένα εισόδου επικυρώνονται στον διακομιστή, και ότι η σύνδεση και η επαναφορά κωδικού έχουν όρια ρυθμού. Καταγράψτε ό,τι βρείτε πριν αλλάξετε οτιδήποτε.
Το να ζητάτε πρώτα λίστα σας επιτρέπει να δείτε τα προβλήματα και να αποφασίσετε τη σειρά τους, αντί να λάβετε μία τεράστια αλλαγή.
Βήμα 4: Μάθετε όταν σπάει — καταγραφή και παρακολούθηση
Στην προεπισκόπηση βλέπετε τα σφάλματα καθώς συμβαίνουν. Στην παραγωγή χρειάζεστε η εφαρμογή να σας το πει. Τρία επίπεδα, από το φθηνότερο στο πιο χρήσιμο:
- Αρχεία διακομιστή. Βεβαιωθείτε ότι τα σφάλματα καταγράφονται με αρκετά πλαίσια για να αναπαραχθούν: ποια διαδρομή, ποιο ID χρήστη (όχι κωδικό ή κάρτα), τι σχήμα είχε η είσοδος. Ζητήστε από το AI να προσθέσει δομημένη καταγραφή αν η εφαρμογή γράφει μόνο στην κονσόλα.
- Παρακολούθηση σφαλμάτων. Μια υπηρεσία όπως το Sentry ή παρόμοιο εργαλείο καταγράφει εξαιρέσεις από πρόσοψη και διακομιστή, τις ομαδοποιεί και σας στέλνει email. Για μια μικρή εφαρμογή τα δωρεάν πακέτα αυτών των υπηρεσιών συχνά αρκούν· ελέγξτε τα τρέχοντα όρια στους ιστότοπούς τους.
- Έλεγχοι διαθεσιμότητας (uptime). Μια εξωτερική υπηρεσία φορτώνει την αρχική σελίδα σας και μία βασική διαδρομή API κάθε λίγα λεπτά και σας ειδοποιεί αν αποτύχουν. Αυτό πιάνει τα προβλήματα που σταματούν την εφαρμογή από το να καταγράφει οτιδήποτε.
Προσθέστε μία ακόμα συνήθεια: μετά από κάθε έκδοση, ανοίξτε τη ζωντανή εφαρμογή και τρέξτε τη λίστα ελέγχου των βασικών ροών στη ζωντανή διεύθυνση, όχι μόνο στην προεπισκόπηση.
Βήμα 5: Αντίγραφα ασφαλείας και τρόπος επιστροφής
Δύο διαφορετικά πράγματα χρειάζονται προστασία, και είναι εύκολο να τα μπερδέψετε.
- Κώδικας. Κρατήστε το έργο σε σύστημα ελέγχου εκδόσεων ώστε κάθε αλλαγή να μπορεί να αναιρεθεί. Πολλά εργαλεία κατασκευής AI κρατούν σημεία ελέγχου των αρχείων σας· ο συγχρονισμός με αποθετήριο Git σας δίνει αντίγραφο και έξω από το εργαλείο.
- Δεδομένα. Η επαναφορά του κώδικα δεν επαναφέρει τη βάση δεδομένων. Μια κακή μετάβαση ή ένα ελαττωματικό κουμπί διαγραφής μπορεί να καταστρέψει γραμμές που κανένα σημείο ελέγχου κώδικα δεν θα επαναφέρει.
Για τα δεδομένα, ρυθμίστε τακτικά αντίγραφα ασφαλείας αποθηκευμένα κάπου εκτός της φιλοξενίας της εφαρμογής. Για βάση Postgres, το συνηθισμένο είναι ένα προγραμματισμένο pg_dump σε ξεχωριστό χώρο αποθήκευσης, και πολλοί διαχειριζόμενοι πάροχοι βάσεων προσφέρουν αυτόματα αντίγραφα ή ανάκτηση σε συγκεκριμένη στιγμή. Μετά κάντε το βήμα που παραλείπουν οι περισσότεροι: επαναφέρετε ένα αντίγραφο σε προσωρινή βάση και βεβαιωθείτε ότι τα δεδομένα είναι εκεί.
Ζητήστε επίσης από το AI να κάνει τις καταστρεπτικές ενέργειες ασφαλέστερες: ένα βήμα επιβεβαίωσης για διαγραφές και «μαλακή διαγραφή» (σήμανση γραμμών ως διαγραμμένων αντί να αφαιρούνται) για ό,τι μπορεί να θέλουν οι χρήστες πίσω.
Βήμα 6: Απόδοση που αντέχει σε κινητό
Τα πρωτότυπα φαίνονται γρήγορα επειδή είστε ο μόνος χρήστης και το σύνολο δεδομένων είναι μικρό. Πριν την εκκίνηση:
- Φορτώστε δεδομένα πραγματικού μεγέθους. Ζητήστε από το AI να δημιουργήσει μερικές χιλιάδες γραμμές και δείτε ποιες σελίδες επιβραδύνονται. Οι λίστες συνήθως χρειάζονται σελιδοποίηση και η βάση συνήθως χρειάζεται ευρετήρια στις στήλες με φίλτρα και ταξινόμηση.
- Μικρύνετε τις εικόνες. Υπερμεγέθεις εικόνες είναι η πιο συνηθισμένη αιτία αργής φόρτωσης. Ζητήστε εικόνες σε μειωμένο μέγεθος και συμπιεσμένες, με καθυστερημένη φόρτωση κάτω από την πρώτη οθόνη.
- Μετρήστε. Τρέξτε το Lighthouse στα εργαλεία προγραμματιστή του Chrome στη ζωντανή διεύθυνση σε λειτουργία κινητού. Οι Core Web Vitals της Google είναι ένας λογικός στόχος: Largest Contentful Paint μέσα σε 2,5 δευτερόλεπτα, Interaction to Next Paint 200 ms ή λιγότερο, και Cumulative Layout Shift 0,1 ή λιγότερο.
- Προσέξτε τις καθυστερήσεις «αφύπνισης». Η φιλοξενία που κοιμάται όταν είναι αδρανής εξοικονομεί χρήματα, αλλά κάνει την πρώτη επίσκεψη μετά από ήσυχη περίοδο πιο αργή. Αυτό είναι συχνά αποδεκτό συμβιβασμός για μια νέα εφαρμογή· απλώς ξέρετε ότι συμβαίνει.
Η σελίδα έργων είναι αργή με 5.000 γραμμές. Πρόσθεσε σελιδοποίηση στον διακομιστή (25 ανά σελίδα), πρόσθεσε ευρετήρια στη βάση για τις στήλες που φιλτράρουμε και ταξινομούμε, και εμφάνισε κατάσταση φόρτωσης όσο φορτώνεται η επόμενη σελίδα.
Βήμα 7: Βασικές λειτουργίες
Μερικά μικρά πράγματα ξεχωρίζουν μια εφαρμογή για χόμπι από μια που εμπιστεύονται οι άνθρωποι:
- Δικό σας domain με HTTPS. Δείτε πώς να συνδέσετε προσαρμοσμένο domain.
- Email συναλλαγών από επαληθευμένο domain για επιβεβαιώσεις εγγραφής και επαναφορές κωδικού — καλύπτεται στο πώς να στέλνετε email από την εφαρμογή σας.
- Πολιτική απορρήτου και όροι που περιγράφουν τι πραγματικά συλλέγετε. Μην αντιγράφετε δηλώσεις συμμόρφωσης που δεν έχετε κερδίσει.
- Δρόμος υποστήριξης, ακόμα και μια παρακολουθούμενη διεύθυνση email.
- Ξεχωριστά κλειδιά δοκιμών και ζωντανά για πληρωμές και email, και σαφής σημείωση ποιο περιβάλλον χρησιμοποιεί ποιο.
Βήμα 8: Καθαρή παράδοση
Αργά ή γρήγορα κάποιος άλλος θα δουλέψει στην εφαρμογή: ένας freelancer, ένας νέος συνιδρυτής, ή εσείς σε έξι μήνες. Κάντε το εύκολο:
- Ένα README που λέει πώς να την τρέξει κανείς, ποιες μεταβλητές περιβάλλοντος χρειάζεται (μόνο ονόματα, ποτέ τιμές) και πώς να την αναπτύξει.
- Τη λίστα ελέγχου βασικών ροών και τις αυτοματοποιημένες δοκιμές.
- Μια σύντομη σημείωση αρχιτεκτονικής: πρόσοψη, διακομιστής, βάση δεδομένων, υπηρεσίες τρίτων και πού φιλοξενείται το καθένα.
- Λίστα πρόσβασης: ποιος έχει διαχειριστική πρόσβαση στο domain, τη φιλοξενία, τη βάση, και τους λογαριασμούς πληρωμών και email. Βάλτε αυτούς τους λογαριασμούς σε επαγγελματικό email, όχι προσωπικό.
- Ο κώδικας στο Git, κατά προτίμηση συγχρονισμένος με αποθετήριο που σας ανήκει. Αν μπορεί να αλλάξει η φιλοξενία αργότερα, διαβάστε πώς να εξάγετε και να φιλοξενήσετε μόνοι σας μια εφαρμογή που έφτιαξε AI.
Το AI μπορεί να συντάξει το μεγαλύτερο μέρος αυτού για εσάς:
Γράψε ένα README για αυτό το έργο για έναν προγραμματιστή που δεν το έχει ξαναδεί: τι κάνει η εφαρμογή, η τεχνολογική στοίβα, πώς τρέχει τοπικά, κάθε μεταβλητή περιβάλλοντος που διαβάζει (μόνο ονόματα και σκοπός), πώς είναι οργανωμένο το σχήμα της βάσης και πώς γίνεται η ανάπτυξη.
Λίστα ελέγχου ετοιμότητας για παραγωγή
- Οι βασικές ροές είναι γραμμένες και δοκιμασμένες, συμπεριλαμβανομένου του «δεν μπορεί να προσπελάσει τα δεδομένα άλλου»
- Εξουσιοδότηση και επικύρωση στον διακομιστή σε κάθε διαδρομή δεδομένων
- Κανένα μυστικό κλειδί στον κώδικα της πρόσοψης· τα διαρρεύσαντα κλειδιά έχουν αντικατασταθεί
- Όρια ρυθμού στην αυθεντικοποίηση και σε ό,τι κοστίζει χρήματα
- Παρακολούθηση σφαλμάτων και ειδοποιήσεις διαθεσιμότητας που δείχνουν σε γραμματοκιβώτιο που διαβάζετε
- Αντίγραφα ασφαλείας βάσης εκτός της φιλοξενίας της εφαρμογής, με μία επιτυχημένη δοκιμαστική επαναφορά
- Σελιδοποίηση και ευρετήρια ελεγμένα με ρεαλιστικά δεδομένα
- Προσαρμοσμένο domain, επαληθευμένο domain αποστολής, πολιτική απορρήτου
- README και λίστα πρόσβασης για όποιον έρθει μετά
Κάνοντάς το με το Mythex
Αν φτιάξατε το πρωτότυπο στο Mythex, τα περισσότερα από αυτά τα βήματα είναι εντολές μέσα στο ίδιο έργο. Πληκτρολογήστε /test και το Mythex κάνει κλικ στη ζωντανή προεπισκόπηση σαν χρήστης και αναφέρει τις σπασμένες ροές — δείτε App Testing. Τα κλειδιά μπαίνουν στα μυστικά του έργου και όχι στη συνομιλία· κάθε επιτυχημένη σειρά του πράκτορα αποθηκεύει σημείο ελέγχου των αρχείων σας στο οποίο μπορείτε να επιστρέψετε, και η δημοσίευση σας δίνει ζωντανή διεύθυνση, με τη φιλοξενία και τη βάση να χρεώνονται από το ίδιο υπόλοιπο πιστώσεων (τα όρια φιλοξενίας εξηγούν πώς κοιμούνται και ξυπνούν εφαρμογές και βάσεις). Τα σημεία ελέγχου καλύπτουν αρχεία, όχι γραμμές βάσης, οπότε εξακολουθείτε να χρειάζεστε αντίγραφα ασφαλείας δεδομένων. Στο Pro μπορείτε να συνδέσετε προσαρμοσμένο domain και να εξάγετε τον κώδικα ή να τον συγχρονίσετε με το δικό σας αποθετήριο GitHub για παράδοση.
Ερωτήσεις
Ποια είναι η διαφορά ανάμεσα σε πρωτότυπο και εφαρμογή παραγωγής;
Ένα πρωτότυπο αποδεικνύει ότι η ιδέα λειτουργεί όταν το χρησιμοποιείτε προσεκτικά. Μια εφαρμογή παραγωγής συνεχίζει να λειτουργεί όταν την χρησιμοποιούν άγνωστοι απρόσεχτα: προστατεύει τα δεδομένα τους, αντέχει κακές εισόδους, σας ειδοποιεί όταν χαλάει και μπορεί να επαναφερθεί αν κάτι πάει στραβά.
Μπορεί μια εφαρμογή που έφτιαξε AI να χρησιμοποιηθεί σε παραγωγή;
Ναι, αν την ελέγξετε όπως θα ελέγχατε οποιαδήποτε εφαρμογή. Ο κώδικας που γράφει ένα AI είναι συνηθισμένος κώδικας· αυτό που συχνά παραλείπει, αν δεν του ζητηθεί, είναι η αόρατη δουλειά: έλεγχοι πρόσβασης, επικύρωση εισόδων, διαχείριση σφαλμάτων, καταγραφή και αντίγραφα ασφαλείας.
Χρειάζονται αυτοματοποιημένες δοκιμές πριν την κυκλοφορία;
Χρειάζεται τουλάχιστον ένας επαναλήψιμος έλεγχος των βασικών ροών πριν από κάθε έκδοση. Για μια μικρή εφαρμογή μπορεί να είναι μια γραπτή λίστα ελέγχου με κλικ· καθώς η εφαρμογή μεγαλώνει, ζητήστε από το AI να προσθέσει αυτοματοποιημένες δοκιμές για τις ροές που φέρνουν ή χάνουν χρήματα.
Πώς κάνω αντίγραφο ασφαλείας της βάσης δεδομένων μιας εφαρμογής;
Κάντε τακτικές εξαγωγές της βάσης (για Postgres, ένα pg_dump) και αποθηκεύστε τις κάπου εκτός της φιλοξενίας της εφαρμογής. Έπειτα δοκιμάστε επαναφορά τουλάχιστον μία φορά, γιατί ένα αντίγραφο που δεν έχει δοκιμαστεί είναι απλώς ελπίδα.