Οι καταγεγραμμένες συσκέψεις αποτελούν ένα αναξιοποίητο γνωσιακό κεφάλαιο. Η αναζήτηση σε αυτές είναι δύσκολη, η εκ νέου παρακολούθησή τους χρονοβόρα και το υλικό τους κατακερματισμένο σε κοινόχρηστους δίσκους ομάδων, με αποτέλεσμα πολύτιμες πληροφορίες να περνούν συχνά απαρατήρητες.
Σε έναν μονοήμερο μαραθώνιο προγραμματισμού, μια τριμελής ομάδα δημιούργησε το Callombia. Πρόκειται για μια εσωτερική πλατφόρμα που απομαγνητοφωνεί, επισημαίνει, συνοψίζει και μετατρέπει αυτόματα τις καταγεγραμμένες κλήσεις σε αποσπάσματα, δημιουργώντας ένα αποθετήριο τύπου YouTube με δυνατότητα αναζήτησης, προσβάσιμο από όλα τα γραφεία παγκοσμίως.
Η λύση, που δημιουργήθηκε εξ ολοκλήρου με το Codex, χρησιμοποιεί σημασιολογική αναζήτηση με ενσωματώσεις της OpenAI και ομοιότητα συνημιτόνου, ώστε να εντοπίζει σχετικές στιγμές ακόμη και όταν δεν χρησιμοποιούνται οι ακριβείς λέξεις-κλειδιά. Επιπλέον, διαθέτει chatbot RAG και σύστημα ειδοποιήσεων.
Κάτι που παλαιότερα θα απαιτούσε εβδομάδες ολοκληρώθηκε σε επτά ώρες, αποδεικνύοντας ότι η ανάπτυξη με επίκεντρο την τεχνητή νοημοσύνη και πράκτορες προγραμματισμού όπως το Codex μπορεί να συντομεύσει θεαματικά τον κύκλο ανάπτυξης προϊόντων και να δημιουργήσει πραγματική επιχειρηματική αξία μέσα από εσωτερικούς μαραθωνίους προγραμματισμού.
Αν είστε σαν εμένα, σπάνια έχετε τον χρόνο —ή την απαιτούμενη συγκέντρωση— για να ακούσετε ξανά καταγεγραμμένες συσκέψεις. Συχνά αυτό συμβαίνει επειδή πρέπει να ψάχνετε σε ανοργάνωτους κοινόχρηστους δίσκους ομάδων, να προσπερνάτε ανούσιες κουβέντες και να προσπαθείτε να ακούσετε πραγματικά, ενώ ταυτόχρονα στέλνετε email και μηνύματα.
Μήπως, όμως, δεν χρειάζεται να είναι έτσι; Ίσως θα μπορούσαμε να δημιουργήσουμε κάτι που θα άλλαζε ριζικά τον τρόπο αξιοποίησης των καταγεγραμμένων συσκέψεων; Αυτή ήταν η ιδέα πίσω από το πρόσφατο έργο μας για τον μαραθώνιο προγραμματισμού.
Μέσα σε μία μόνο ημέρα, 50 άτομα από τις ομάδες μηχανικών, υλοποίησης και λειτουργιών ανέλαβαν μια σειρά επιχειρηματικών προκλήσεων: από την κλιμάκωση των διαδικασιών προσλήψεων και την απλοποίηση της δημιουργίας SoW έως την αξιολόγηση της πορείας των έργων, τη δημιουργία πρωτοτύπων σε πραγματικό χρόνο και την ανάδειξη πληροφοριών από καταγεγραμμένες συσκέψεις.
Σε αυτόν τον μαραθώνιο προγραμματισμού με βάση το Codex, δημιουργήσαμε το Callombia. Το Callombia είναι το YouTube της επιχείρησής μας: μετατρέπει κάθε κλήση σε ένα δυναμικό αρχείο με δυνατότητα αναζήτησης. Κάθε κλήση απομαγνητοφωνείται, επισημαίνεται και συνοψίζεται αυτόματα, προτού χωριστεί σε θεματικά αποσπάσματα και προστεθεί σε ένα αποθετήριο οργανωμένο ανά κανάλι (πελάτες) και θέμα (τομείς εξειδίκευσης στην τεχνητή νοημοσύνη). Έτσι, κάθε μέλος της ομάδας στο Λονδίνο, το Εδιμβούργο, τη Σιγκαπούρη ή την Αυστραλία μπορεί να αποκτά αμέσως πρόσβαση στις στιγμές των κλήσεων που το ενδιαφέρουν.
Ένα οικείο περιβάλλον χρήστη, εναρμονισμένο με την εταιρική μας ταυτότητα, κάνει την ανακάλυψη περιεχομένου διαισθητική, ενώ η σημασιολογική αναζήτηση —και φυσικά ένα chatbot RAG με τεχνητή νοημοσύνη— βοηθά τους χρήστες να βρίσκουν ακριβώς αυτό που αναζητούν. Το σύστημα ειδοποιήσεων επιτρέπει επίσης στους συναδέλφους μας να εγγράφονται σε συγκεκριμένα θέματα και να ενημερώνονται όταν δημοσιεύονται νέα αποσπάσματα που τους αφορούν.
Το εντυπωσιακό με το Callombia δεν είναι το ίδιο το προϊόν ούτε το έπαθλο των 2.000 λιρών για τη νίκη στον μαραθώνιο προγραμματισμού —αν και δεν είναι και λίγο— αλλά το γεγονός ότι καταφέραμε να τα δημιουργήσουμε όλα αυτά σε μόλις επτά ώρες, με δύο μηχανικούς και έναν υπεύθυνο υλοποίησης. Αυτό δεν ήταν εφικτό πριν από έναν χρόνο. Οι βελτιώσεις στους πράκτορες προγραμματισμού έχουν επιταχύνει θεαματικά ολόκληρη τη διαδικασία ανάπτυξης προϊόντων και αυτός ο μαραθώνιος αποτέλεσε ιδανικό πεδίο δοκιμών για να εξερευνήσουμε τα άνισα όρια των δυνατοτήτων τους. Πώς χρησιμοποιήσαμε, λοιπόν, το Codex;
Αντί να συντάξουμε απλώς έναν μεγάλο κατάλογο απαιτήσεων, ξεκινήσαμε διατυπώνοντας τη συλλογική μας άποψη —ως προτροπή— για το πρόβλημα και το όραμά μας για το Callombia. Κρατώντας σκόπιμα ασαφή την περιγραφή, αφήσαμε το μοντέλο να αναλάβει τη δουλειά και να σκεφτεί δημιουργικά:
Έπειτα από δέκα λεπτά διαλόγου, ενεργοποιήσαμε τη λειτουργία Plan Mode για να συγκεκριμενοποιήσουμε τις απαιτήσεις και να καθορίσουμε το τεχνικό σκέλος της υλοποίησης. Η λειτουργία Plan Mode θυμίζει τις ερωτήσεις εκείνου του εκνευριστικού φίλου που έχει ήδη σκεφτεί —ευτυχώς για εσάς— κάθε πιθανό σενάριο. Αφού συμφωνήσαμε σε ζητήματα όπως ο αριθμός των βίντεο, η επιλογή σημασιολογικής αναζήτησης ή αναζήτησης με λέξεις-κλειδιά και η αρχιτεκτονική που θα χρησιμοποιούσαμε, δημιούργησε ένα αρχείο markdown που αποτέλεσε τη βάση του έργου στη συνέχεια.


Μόλις καταρτίσαμε το σχέδιο, το επόμενο βήμα ήταν να δημιουργήσουμε τα βασικά στοιχεία που θα έκαναν το Callombia πραγματικά λειτουργικό. Αυτό σήμαινε τη δημιουργία μιας ροής που θα μετέτρεπε τις καταγεγραμμένες κλήσεις σε αρχεία με δυνατότητα αναζήτησης:
Εισαγωγή βίντεο και απομαγνητοφωνήσεων,
κατάτμησή τους σε ουσιαστικές στιγμές,
εμπλουτισμός τους με συνόψεις και ετικέτες,
διάθεσή τους μέσω API που θα μπορούσε να αξιοποιεί το frontend.
Ο Ed επικεντρώθηκε περισσότερο στη μετατροπή των ανεπεξέργαστων εγγραφών και των δεδομένων απομαγνητοφώνησης σε αξιοποιήσιμη μορφή, ενώ ο Nico εστίασε στο επίπεδο ανάκτησης που θα έκανε αυτές τις στιγμές εύκολα εντοπίσιμες. Με το Codex, κατάφεραν και οι δύο να δημιουργήσουν τα μοντέλα δεδομένων, τα σενάρια εξαγωγής και τις βασικές υποδομές του backend πολύ γρηγορότερα απ’ ό,τι θα μπορούσαμε χειροκίνητα. Έτσι αποκτήσαμε κάτι πολύ περισσότερο από μια απομαγνητοφώνηση συνδεδεμένη με ένα βίντεο. Αποκτήσαμε συγκεκριμένες στιγμές: την ενότητα για την Tesco, την ενημέρωση στρατηγικής, τη συζήτηση για τις προσλήψεις, τα συγκεκριμένα 90 δευτερόλεπτα μιας κλήσης που κάποιος θέλει πραγματικά να παρακολουθήσει.
Σε αυτό το επίπεδο ανάκτησης τα πράγματα έγιναν ιδιαίτερα ενδιαφέροντα. Θέλαμε κάποιος να μπορεί να πληκτρολογήσει κάτι όπως «οικονομικές επιδόσεις», «οδικός χάρτης της Tesco» ή «αξιολογήσεις συνομιλιών» και να μεταφέρεται στα πιο σχετικά αποσπάσματα, ακόμη κι αν αυτές ακριβώς οι λέξεις δεν είχαν ειπωθεί ποτέ. Για να το πετύχουμε, δημιουργήσαμε τμήματα με χρονικές σημάνσεις, συνόψεις, κείμενο απομαγνητοφώνησης και μεταδεδομένα. Με σαφή αρχιτεκτονική κατά νου και μεγάλη βοήθεια από το Codex, συνδυάσαμε το θέμα, τη σύνοψη και την απομαγνητοφώνηση σε μία ενιαία είσοδο και χρησιμοποιήσαμε το μοντέλο text-embedding-3-small της OpenAI για να δημιουργήσουμε ενσωματώσεις για κάθε τμήμα. Αποθηκεύσαμε αυτές τις ενσωματώσεις στη βάση δεδομένων μας και χρησιμοποιήσαμε ομοιότητα συνημιτόνου για να συγκρίνουμε το ερώτημα του χρήστη με κάθε τμήμα. Έτσι δημιουργήσαμε ένα επίπεδο σημασιολογικής ανάκτησης και όχι μια απλή αναζήτηση με λέξεις-κλειδιά.
Η προσέγγιση αυτή απέδωσε εξαιρετικά ως προς την ακρίβεια και χάρισε στο προϊόν την αίσθηση «μαγείας» κατά το demo του μαραθωνίου. Παράλληλα, γνωρίζαμε ότι αυτή η προσέγγιση δεν θα μπορούσε να κλιμακωθεί επ’ αόριστον όσο αυξανόταν ο αριθμός των βίντεο, επειδή η σύγκριση κάθε ερωτήματος με κάθε τμήμα θα γινόταν τελικά υπερβολικά δαπανηρή. Το φυσικό επόμενο βήμα θα ήταν η εισαγωγή αποδοτικότερων στρατηγικών ανάκτησης, όπως η Hierarchical Navigable Small World, ώστε να μειωθεί ο αριθμός των συγκρίσεων και να διατηρηθεί χαμηλή η καθυστέρηση καθώς διευρύνεται το σώμα δεδομένων. Μόλις τέθηκε σε λειτουργία αυτή η δυνατότητα, το Callombia άρχισε να μοιάζει λιγότερο με βιβλιοθήκη πολυμέσων και περισσότερο με σύστημα γνώσης.
Όπως σε κάθε καλό μαραθώνιο προγραμματισμού, και αυτό το μέρος χρειάστηκε επαναλήψεις: τα αρχικά όρια των τμημάτων ήταν υπερβολικά αδρά, ορισμένες χρονικές σημάνσεις χρειάζονταν μεγαλύτερη ακρίβεια, κάποιες ετικέτες ήταν πολύ γενικές και τα αρχεία απομαγνητοφώνησης και εγγραφής δεν αντιστοιχούσαν πάντα σωστά. Εκεί, όμως, φάνηκε και η πραγματική αξία. Το Codex μάς επέτρεψε να βελτιώσουμε γρήγορα το σύστημα, αντί να χρονοτριβούμε με την αρχική ρύθμιση και τις επανεκτελέσεις εργασιών. Στο τέλος, είχαμε ένα backend ικανό να υποστηρίζει κλιπ, σύντομα αποσπάσματα και πραγματικά χρήσιμη σημασιολογική αναζήτηση. Τότε ήταν που το Callombia άρχισε να μοιάζει με αληθινό προϊόν και όχι απλώς με demo ενός μαραθωνίου προγραμματισμού.
Ενώ ο Ed και ο Nico δημιουργούσαν το επίπεδο εισαγωγής δεδομένων και ευφυΐας, εγώ ανέπτυσσα το frontend. Χρησιμοποιώντας το πρότυπό μας για full-stack εφαρμογές, κατάφερα να δημιουργήσω γρήγορα μια πρώτη έκδοση του ιστοτόπου χωρίς να γράψω ούτε μία γραμμή κώδικα. Αφού του ζητούσα να ανοίξει τον ιστότοπο τοπικά στο πρόγραμμα περιήγησής μου, του έδινα απλά σχόλια σε κουκκίδες για να βελτιώνουμε επαναληπτικά τον σχεδιασμό μέχρι να φτάσει στο επιθυμητό αποτέλεσμα.
Έπειτα από περίπου μία ώρα συνεχούς ανταλλαγής σχολίων, είχα ένα αποτέλεσμα με το οποίο ήμουν αρκετά ικανοποιημένος — και όλα αυτά χωρίς καμία εμπειρία σε περιβάλλοντα χρήστη ή σχεδιασμό. Παρότι το τελικό προϊόν σίγουρα δεν είναι τέλειο, αποτελεί μια αρκετά καλή πρώτη έκδοση που επιτρέπει στους χρήστες να κατανοήσουν το προϊόν.


Για να βεβαιωθούμε ότι στο τέλος της ημέρας θα είχαμε κάτι έτοιμο, είχαμε μοιράσει τη δουλειά μεταξύ μας. Όπως ήταν αναμενόμενο, έπειτα από λίγες ώρες σχετικά ανεξάρτητης εργασίας, ο καθένας μας είχε το δικό του τοπικό branch με πάρα πολλές διενέξεις.
Αντί να αφιερώσουμε τον χρόνο —που δεν είχαμε— για να εξετάσουμε προσεκτικά και να επιλύσουμε τις διενέξεις, αποφασίσαμε απλώς να αφήσουμε το Codex να αναλάβει τα αποθετήρια και να τις διορθώσει μόνο του. Παρότι προς το παρόν δεν θα συνιστούσαμε αυτή την προσέγγιση για ανάπτυξη λογισμικού επιχειρησιακού επιπέδου, ήταν εντυπωσιακό να βλέπουμε πόσο αποτελεσματική αποδείχθηκε σε ένα περιβάλλον χαμηλού ρίσκου, εξοικονομώντας μας πολλές ώρες.
Το τελευταίο μέρος του μαραθωνίου προγραμματισμού ήταν η καταγραφή του demo του Callombia για τους κριτές. Παρότι το πρώτο μας ένστικτο ήταν να ανοίξουμε το Loom για την εγγραφή, σκεφτήκαμε ότι αυτό θα μπορούσε να αποτελέσει μια ουσιαστική δοκιμασία για το Codex, λίγο έξω από τις σημερινές δυνατότητές του. Έτσι… γράψαμε μια προτροπή, του δώσαμε έναν σύνδεσμο προς τον ιστότοπο του Callombia, προσθέσαμε μια ηχογράφηση της φωνής μου στην πλατφόρμα προγραμματιστών της OpenAI και του ζητήσαμε να αναλάβει τα υπόλοιπα.
Η πρώτη προσπάθεια ήταν εξαιρετικά εντυπωσιακή: είχε γράψει το σενάριο του demo, καταγράψει την οθόνη, προσθέσει τη φωνητική μου αφήγηση και ουσιαστικά είχε ανταποκριθεί στις απαιτήσεις. Το μόνο που δεν μας ικανοποίησε αμέσως ήταν ο συγχρονισμός της αφήγησης με την εγγραφή του demo, οπότε του ζητήσαμε: “MANDATORY: align the voiceover exactly with what is being shown in the demo. There was misalignment (e.g. on the chat page). Triple check alignment of voiceover and the screen-recorded demo at the end. Match it up through whichever means possible.”
Ανταποκρινόμενο στο αίτημα, το Codex χώρισε την αφήγηση και την εγγραφή σε μικρότερες ενότητες και ολοκλήρωσε την εργασία σχεδόν άψογα, ακριβώς στην ώρα του για τις 5:30 μ.μ. και για μπίρα και πίτσα προς εορτασμό.
Γνωρίζουμε ότι το Callombia λύνει ένα πρόβλημα που αντιμετωπίζουν οι περισσότερες επιχειρήσεις. Είναι δύσκολο να συμμετέχει κανείς σε κάθε κλήση μιας εταιρείας που αναπτύσσεται ραγδαία, όμως τα πολύτιμα συμπεράσματα που μοιράζονται σε αυτές τις κλήσεις είναι ανεκτίμητα. Τώρα μένει απλώς να το περάσουμε σε παραγωγή.
Υπάρχει, όμως, κι ένα ευρύτερο δίδαγμα για την ουσιαστική ενσωμάτωση της τεχνητής νοημοσύνης, καθώς και για την αξία της αξιοποίησης της τεχνικής και προϊοντικής τεχνογνωσίας στην επίλυση κοινών προβλημάτων. Βγαίνοντας από τον συνηθισμένο κύκλο εργασίας μας και συνεργαζόμενοι μεταξύ ομάδων σε ένα περιβάλλον ήπιου ανταγωνισμού, καταλήξαμε σε αρκετές λύσεις που, με ορισμένες προσαρμογές, θα μπορούσαν να περάσουν σε παραγωγή. Αν το επαναλαμβάνουμε τακτικά, μπορούμε να διασφαλίσουμε ότι οι εσωτερικές μας διαδικασίες είναι εξίσου άρτιες με τις λύσεις που δημιουργούμε για τους πελάτες μας.