
Η ενσωμάτωση AI σε μια εφαρμογή αξίζει να προχωρήσει όταν λύνει ένα συγκεκριμένο πρόβλημα για τον χρήστη. Μπορεί να τον βοηθά να βρει πληροφορίες σε έγγραφα, να επεξεργαστεί κείμενο ή να ολοκληρώσει μια ενέργεια μέσα στην εφαρμογή. Αν το ίδιο αποτέλεσμα βγαίνει πιο αξιόπιστα με απλή αναζήτηση ή σαφείς κανόνες, δεν υπάρχει λόγος να προστεθεί LLM.
Αναλαμβάνω τέτοιες λειτουργίες σε εφαρμογές που ήδη χρησιμοποιούνται: copilot μέσα στο προϊόν, RAG αναζήτηση με παραπομπές, agent με ελεγχόμενη πρόσβαση στα δεδομένα και εργαλεία παραγωγής περιεχομένου. Έχω δουλέψει πάνω σε τέτοια λειτουργία για SaaS προϊόν. Η δουλειά αυτή βασίζεται και στην εμπειρία μου από την αρχιτεκτονική frontend για ομάδες στην Adidas, στον ΟΠΑΠ και στην About You.
Η υλοποίηση μπορεί να περιλαμβάνει δομημένη εξαγωγή από ελεύθερο κείμενο, σημασιολογική αναζήτηση ή ενέργειες μέσω του API σας. Επιλέγω μοντέλο και πάροχο μόνο αφού είναι σαφές ποια δεδομένα χρειάζεται η λειτουργία, πόσο γρήγορα πρέπει να απαντά και ποιο κόστος είναι αποδεκτό για εσάς.
Μια δοκιμαστική λειτουργία AI μπορεί να δουλεύει με λίγα, καθαρά παραδείγματα. Η καθημερινή χρήση φέρνει μεγάλα έγγραφα, αργές ή κομμένες απαντήσεις και περιπτώσεις όπου το μοντέλο απαντά με σιγουριά αλλά κάνει λάθος. Πριν προχωρήσω, ορίζω μαζί σας ποια παραδείγματα θεωρούνται σωστά, πότε δεν πρέπει να δοθεί απάντηση και τι βλέπει ο χρήστης όταν κάτι αποτύχει.
Στην υλοποίηση προσθέτω ακύρωση και χρονικά όρια και καταγράφω το κόστος. Η αυτόματη επανάληψη ενός αιτήματος γίνεται μόνο όταν μπορεί να γίνει με ασφάλεια. Οι απαντήσεις ελέγχονται με evals και η εφαρμογή έχει συγκεκριμένη συμπεριφορά αν δεν απαντήσει το μοντέλο ή ο πάροχος. Αν το υπάρχον stack δυσκολεύει αυτή τη δουλειά, εξετάζω πρώτα τη σταδιακή μετάβαση ή την αναβάθμιση της εφαρμογής.
Έλεγχος σκοπιμότητας
Ξεκινώ από τη δουλειά που θέλετε να γίνει πιο εύκολη και από πραγματικά παραδείγματα εισόδου και σωστής απάντησης. Ελέγχω τις πηγές δεδομένων, πόσο μπορεί να περιμένει ο χρήστης, ποια δεδομένα επιτρέπεται να φύγουν από την υποδομή σας και ποιο κόστος είναι αποδεκτό. Η σύντομη αναφορά σκοπιμότητας καταλήγει σε προτεινόμενη λύση, εκτίμηση προσπάθειας και ρίσκα, ακόμη κι αν η σωστή σύσταση είναι να μη χρησιμοποιηθεί LLM.
Αρχιτεκτονική και σχεδιασμός
Επιλέγω μοντέλο και πάροχο με βάση τις απαιτήσεις για καθυστέρηση, κόστος και απόρρητο. Έπειτα ορίζω το prompt, τα δεδομένα που θα ανακτηθούν και τη μορφή της απάντησης. Καθορίζω μαζί με την ομάδα σας πώς το frontend και το backend θα ανταλλάσσουν ενδιάμεσα αποτελέσματα και σφάλματα, καθώς και τι θα κάνει η εφαρμογή όταν το μοντέλο δεν μπορεί να βοηθήσει.
Υλοποίηση και αξιολόγηση
Υλοποιώ το interface σε Vue 3 και TypeScript. Η απάντηση εμφανίζεται σταδιακά καθώς δημιουργείται και ο χρήστης μπορεί να τη σταματήσει. Το chat και τα αποτελέσματα είναι προσβάσιμα. Παραδίδω επίσης ένα eval set ώστε κάθε αλλαγή σε prompt ή μοντέλο να ελέγχεται πάνω στα ίδια παραδείγματα.
Παράδοση και σταθεροποίηση
Πριν παραδώσω, μετράω τον χρόνο απάντησης και το κόστος, βάζω όρια χρήσης και ελέγχω τι καταγράφεται για κάθε αίτημα. Το feature flag επιτρέπει να ενεργοποιείται ή να απενεργοποιείται η λειτουργία αν αποτύχει το μοντέλο ή ο πάροχος. Παραδίδω τεκμηρίωση, κάνω παρουσίαση στην ομάδα και παρέχω τεχνική εγγύηση για 30 ημέρες.
Τι παραδίδω μαζί με τη λειτουργία AI
- Απάντηση που εμφανίζεται σταδιακά, με δυνατότητα διακοπής και καθαρή ένδειξη όταν δεν υπάρχουν αρκετά στοιχεία
- Μέτρηση και όριο στο κόστος ανά χρήστη πριν από την κανονική χρήση
- Eval set με τα ίδια παραδείγματα για κάθε αλλαγή σε prompt ή μοντέλο
- TypeScript σε strict mode σε όλη τη ροή, τεκμηρίωση για την ομάδα σας και τεχνική εγγύηση για 30 ημέρες


Από τι εξαρτώνται η τιμή και το χρονοδιάγραμμα;
Εξαρτάται από τα δεδομένα που χρειάζεται η λειτουργία, την αναζήτηση σε δικό σας περιεχόμενο, τα evals και τις συνδέσεις με άλλα εργαλεία. Στον έλεγχο σκοπιμότητας ορίζω τη μικρότερη έκδοση που δίνει χρήσιμο αποτέλεσμα και τα παραδείγματα με τα οποία θα τη δοκιμάσω. Έτσι έχετε συγκεκριμένη τιμή και χρονοδιάγραμμα πριν δεσμευτείτε.
Πώς επιλέγετε μοντέλο και πάροχο;
Δεν ξεκινώ από συγκεκριμένο μοντέλο. Συγκρίνω τις απαιτήσεις για καθυστέρηση, κόστος, απόρρητο και ποιότητα απάντησης και μετά επιλέγω πάροχο. Κρατώ τον κώδικα του παρόχου σε ξεχωριστό επίπεδο, αλλά μια αλλαγή μοντέλου απαιτεί να ελέγξω ξανά τα αιτήματα και τις απαντήσεις με το ίδιο eval set.
Ποια δεδομένα στέλνονται σε τρίτο πάροχο;
Αυτό αποφασίζεται πριν αρχίσει η υλοποίηση. Καταγράφω ποια πεδία χρειάζεται να σταλούν, ποια μένουν στην υποδομή σας, τι πρέπει να αποκρύπτεται και για πόσο χρόνο δηλώνει ότι τα κρατά ο πάροχος. Αν οι περιορισμοί το απαιτούν, εξετάζω μοντέλο σε περιοχή της ΕΕ ή self-hosted λύση.
Πώς περιορίζονται οι λανθασμένες απαντήσεις;
Οι λανθασμένες απαντήσεις δεν μπορούν να αποκλειστούν εντελώς. Τις περιορίζω με ανάκτηση από πηγές που έχετε επιλέξει και με παραπομπές, με δομημένη έξοδο που ελέγχεται από σχήμα δεδομένων όταν η απάντηση περνά σε άλλο κώδικα και με σαφή ένδειξη ότι δεν βρέθηκε απάντηση. Χρησιμοποιώ το ίδιο eval set κάθε φορά που αλλάζει το prompt ή το μοντέλο.
Αναλαμβάνετε και απλά chatbots;
Όχι, αν πρόκειται μόνο για ένα widget υποστήριξης που βασίζεται σε FAQ. Ένα έτοιμο εργαλείο θα είναι γρηγορότερο και φθηνότερο από ειδική υλοποίηση. Αναλαμβάνω βοηθούς που χρειάζονται τα δεδομένα του χρήστη, καλούν το API σας ή εκτελούν ενέργειες μέσα στο προϊόν.
Αναλαμβάνετε και το backend;
Αναλαμβάνω το frontend και όσα full-stack κομμάτια χρειάζεται η λειτουργία, όπως server routes σε Node για τη σταδιακή αποστολή της απάντησης, την ανάκτηση δεδομένων και τις κλήσεις εργαλείων. Δεν αναλαμβάνω έργα που είναι αποκλειστικά backend AI. Το έργο αφορά την ενσωμάτωση της λειτουργίας στην εφαρμογή που χρησιμοποιεί ο πελάτης σας.
Έχουμε παλιό frontend. Μπορούμε να προσθέσουμε λειτουργίες AI έτσι κι αλλιώς;
Μπορεί να γίνει, αλλά πρώτα ελέγχω αν το παλιό frontend αυξάνει δυσανάλογα το κόστος και το ρίσκο. Σε αρκετές εφαρμογές είναι προτιμότερο να γίνει πρώτα ο εκσυγχρονισμός και μετά η λειτουργία AI. Η σειρά εξαρτάται από την υπάρχουσα εφαρμογή, όχι από έναν γενικό κανόνα.
Άλλες υπηρεσίες
Επικοινωνία
Αθήνα, συνεργασία εξ αποστάσεως με ομάδες σε Ευρώπη & ΗΠΑ
info@offline-web.com