Υπάρχει αυτή τη στιγμή ένα δημοφιλές μοτίβο στον κλάδο της τεχνητής νοημοσύνης: δώστε σε ένα γλωσσικό μοντέλο πρόσβαση σε εργαλεία και αφήστε το να αποφασίσει τι θα καλέσει. Λειτουργεί θαυμάσια στις επιδείξεις. Καταρρέει στην παραγωγή.
Στο Atlas Verified, ο πράκτορας τεχνητής νοημοσύνης μας έχει πρόσβαση σε περισσότερα από 100 εξειδικευμένα εργαλεία — κρατικές βάσεις δεδομένων συμμόρφωσης, API παρακολούθησης πλοίων, υπηρεσίες ελέγχου κυρώσεων, παρόχους εμπορικών δεδομένων, συστήματα παρακολούθησης εμπορευματοκιβωτίων και πολλά άλλα. Κάθε εργαλείο υπάρχει επειδή ένας επαγγελματίας συμμόρφωσης χρειάζεται το συγκεκριμένο στοιχείο δεδομένων για να λάβει μια απόφαση επαλήθευσης. Η τεχνική πρόκληση δεν είναι η ανάπτυξη των εργαλείων. Είναι η διασφάλιση ότι καλούνται τα σωστά εργαλεία, με τη σωστή σειρά και τις σωστές εισόδους, κάθε φορά.
Αυτή η ανάρτηση αναλύει τα πραγματικά προβλήματα της ενορχήστρωσης εργαλείων σε μεγάλη κλίμακα και τα τεχνικά μοτίβα που αναπτύξαμε για να τα επιλύσουμε.
Το πρόβλημα της εκρηκτικής αύξησης εργαλείων
Όταν ο πράκτοράς σας έχει 5 εργαλεία, η επιλογή εργαλείου είναι απλή. Το μοντέλο διαβάζει τις περιγραφές κάθε εργαλείου, επιλέγει το κατάλληλο και το καλεί. Όμως κάτι παύει να λειτουργεί καθώς ξεπερνάτε τα 20, 50, 100 εργαλεία.
Πρώτον, υπάρχει το πρόβλημα του παραθύρου συμφραζομένων. Κάθε εργαλείο χρειάζεται περιγραφή, σχήμα παραμέτρων και οδηγίες χρήσης στην προτροπή συστήματος. Με 100+ εργαλεία, αυτό σημαίνει δεκάδες χιλιάδες tokens που καταναλώνονται πριν ακόμη εισέλθει η ερώτηση του χρήστη στο πλαίσιο συμφραζομένων. Το μοντέλο αφιερώνει περισσότερο χρόνο στην ανάγνωση τεκμηρίωσης εργαλείων παρά στη σκέψη για το πρόβλημα.
Δεύτερον, υπάρχει το πρόβλημα ακρίβειας της επιλογής. Τα γλωσσικά μοντέλα είναι καλά στην επιλογή μεταξύ λίγων σαφώς διαφοροποιημένων επιλογών. Δεν είναι καλά στην επιλογή μεταξύ δεκάδων εργαλείων με παρόμοιες περιγραφές. Όταν έχετε πολλά εργαλεία με αλληλεπικαλυπτόμενα ονόματα για ελέγχους κυρώσεων και ελέγχους μερών, το μοντέλο συχνά επιλέγει το λάθος — ή καλεί πολλά εργαλεία που επιστρέφουν αλληλεπικαλυπτόμενα δεδομένα.
Τρίτον, υπάρχει το πρόβλημα κόστους και καθυστέρησης. Κάθε περιγραφή εργαλείου στην προτροπή κοστίζει tokens. Κάθε περιττή κλήση εργαλείου κοστίζει κλήσεις API σε εξωτερικές υπηρεσίες, πολλές από τις οποίες χρεώνονται ανά αίτημα. Ένας πράκτορας που καλεί 8 εργαλεία ενώ θα αρκούσαν 3 είναι ακριβός και αργός.
Γιατί η στατική δρομολόγηση δεν λειτουργεί
Η απλοϊκή λύση είναι η στατική δρομολόγηση: αντιστοίχιση μοτίβων στην ερώτηση του χρήστη και δρομολόγηση σε προκαθορισμένα σύνολα εργαλείων. Το «Έλεγξε αυτή την εταιρεία» ενεργοποιεί έλεγχο κυρώσεων. Το «Παρακολούθησε αυτό το εμπορευματοκιβώτιο» ενεργοποιεί παρακολούθηση πλοίου. Το «Επαλήθευσε αυτό το πιστοποιητικό» ενεργοποιεί αναζήτηση στο USDA.
Αυτό αποτυγχάνει αμέσως στην πράξη. Σκεφτείτε την ερώτηση: «Μπορείς να επαληθεύσεις αυτό το πιστοποιητικό βιολογικής παραγωγής από την Ινδία;» Ένας στατικός δρομολογητής μπορεί να ενεργοποιήσει αναζήτηση στη βάση δεδομένων βιολογικής παραγωγής του USDA — εύλογο. Όμως ένας επαγγελματίας συμμόρφωσης θέλει επίσης να γνωρίζει: Υπόκειται ο φορέας πιστοποίησης σε κυρώσεις; Υπάρχουν ενεργές ειδοποιήσεις εισαγωγών FDA για το προϊόν από τη συγκεκριμένη χώρα; Εμφανίζεται ο εξαγωγέας σε λίστες απαγορευμένων μερών; Υπάρχουν εμπορικές ανωμαλίες στη δηλωμένη διαδρομή;
Μία ερώτηση χρήστη μπορεί εύλογα να απαιτεί πέντε ή περισσότερα εργαλεία σε εντελώς διαφορετικούς τομείς. Η στατική δρομολόγηση είτε παραλείπει κρίσιμους ελέγχους είτε ενεργοποιεί υπερβολικά τα πάντα, κάτι που μας επαναφέρει στα προβλήματα κόστους και ακρίβειας.
Το πλαίσιο έχει τεράστια σημασία. Το «Πες μου για αυτή την εταιρεία» σημαίνει εντελώς διαφορετικά πράγματα ανάλογα με το αν ο χρήστης εξετάζει μια φορτωτική, ένα πιστοποιητικό βιολογικής παραγωγής ή συμμετέχει σε μια γενική συζήτηση έρευνας. Οι ίδιες τέσσερις λέξεις του αγγλικού ερωτήματος απαιτούν διαφορετικά εργαλεία σε κάθε πλαίσιο.
Αρχιτεκτονική δύο επιπέδων: επιλογή και εκτέλεση
Η λύση μας διαχωρίζει την επιλογή εργαλείων από την εκτέλεσή τους χρησιμοποιώντας δύο διακριτά επίπεδα μοντέλων.
Το επίπεδο επιλογής χρησιμοποιεί ένα γρήγορο, οικονομικό μοντέλο. Η μοναδική του δουλειά είναι να εξετάζει την ερώτηση του χρήστη, το πλαίσιο της συνομιλίας και έναν συνοπτικό κατάλογο των διαθέσιμων εργαλείων, και κατόπιν να επιλέγει ποια εργαλεία πρέπει να είναι διαθέσιμα για τη συγκεκριμένη αλληλεπίδραση. Δεν καλεί τα εργαλεία — απλώς αποφασίζει σε ποια πρέπει να έχει πρόσβαση το μοντέλο εκτέλεσης.
Το μοντέλο επιλογής βλέπει μια απλουστευμένη αναπαράσταση κάθε εργαλείου: περιγραφή μίας γραμμής, τα δεδομένα που επιστρέφει και τους περιορισμούς του. Αυτό είναι πολύ πιο συνοπτικό από τα πλήρη σχήματα παραμέτρων, οπότε το μοντέλο επιλογής μπορεί να αξιολογεί και τα 100+ εργαλεία χωρίς να προσκρούει στα όρια συμφραζομένων. Συνήθως επιλέγει 8-12 εργαλεία σχετικά με την τρέχουσα ερώτηση.
Το επίπεδο εκτέλεσης χρησιμοποιεί ένα πιο ικανό μοντέλο συλλογιστικής. Λαμβάνει μόνο τα εργαλεία που επέλεξε το επίπεδο επιλογής, με πλήρη σχήματα παραμέτρων και οδηγίες χρήσης. Επειδή εργάζεται με ένα εστιασμένο σύνολο εργαλείων αντί για ολόκληρο τον κατάλογο, λαμβάνει καλύτερες αποφάσεις για το ποια να καλέσει, με ποια σειρά και με ποιες παραμέτρους.
Αυτός ο διαχωρισμός έχει μετρήσιμα οφέλη. Η επιλογή διαρκεί ένα κλάσμα του δευτερολέπτου και κοστίζει ελάχιστα. Το μοντέλο εκτέλεσης βλέπει ένα καθαρό, εστιασμένο πλαίσιο και κάνει λιγότερα λάθη. Οι συνολικές κλήσεις εργαλείων ανά αλληλεπίδραση μειώθηκαν σημαντικά μετά την εισαγωγή αυτής της αρχιτεκτονικής.
Φιλτράρισμα βάσει δυνατοτήτων
Πέρα από την επιλογή δύο επιπέδων, κάθε εργαλείο στο σύστημά μας δηλώνει τις δυνατότητές του — τους τύπους εργασιών που μπορεί να εκτελέσει. Ένα εργαλείο μπορεί να δηλώνει ότι είναι χρήσιμο για ελέγχους συμμόρφωσης, εμπορική πληροφόρηση, ανάλυση εγγράφων ή παρακολούθηση αποστολών.
Όταν το σύστημα προσδιορίζει την πρόθεση του χρήστη, φιλτράρει τον κατάλογο εργαλείων ώστε να περιλαμβάνει μόνο εργαλεία με αντίστοιχες δυνατότητες. Το μοντέλο επιλογής δεν βλέπει καν εργαλεία που είναι άσχετα με τον τρέχοντα τύπο εργασίας.
Αυτό έχει σημασία για έναν λεπτό λόγο: τα γλωσσικά μοντέλα επηρεάζονται από υποδείξεις. Αν ένα εργαλείο ελέγχου κυρώσεων βρίσκεται στο πλαίσιο συμφραζομένων, το μοντέλο μπορεί να αποφασίσει να εκτελέσει έλεγχο κυρώσεων ακόμη και όταν ο χρήστης θέτει μια απλή ερώτηση για διαδρομές αποστολής. Αφαιρώντας τα άσχετα εργαλεία πριν από την επιλογή, εξαλείφουμε μια ολόκληρη κατηγορία περιττών κλήσεων εργαλείων.
Βρόχοι ανατροφοδότησης ποιότητας
Η επιλογή εργαλείων είναι μόνο η μισή προσπάθεια. Η άλλη μισή είναι να διασφαλίζεται ότι τα εργαλεία επιστρέφουν χρήσιμα αποτελέσματα — και να γνωρίζουμε τι να κάνουμε όταν δεν το κάνουν.
Μετά από κάθε εκτέλεση εργαλείου, το σύστημά μας αξιολογεί την ποιότητα του αποτελέσματος. Συνήθεις τρόποι αποτυχίας περιλαμβάνουν:
Κενά αποτελέσματα. Το εργαλείο εκτελέστηκε επιτυχώς, αλλά δεν επέστρεψε δεδομένα. Αυτό μπορεί να σημαίνει ότι η οντότητα δεν υπάρχει στη συγκεκριμένη βάση δεδομένων (ένα έγκυρο και ενημερωτικό εύρημα) ή ότι το ερώτημα ήταν κακώς διατυπωμένο (ένα πρόβλημα που πρέπει να διορθωθεί και να επαναληφθεί).
Αντιστοιχίσεις χαμηλής βεβαιότητας. Μια ασαφής αναζήτηση ονόματος επιστρέφει αποτελέσματα, αλλά η βαθμολογία αντιστοίχισης είναι κάτω από το όριο. Το σύστημα πρέπει να αποφασίσει αν θα τα παρουσιάσει ως πιθανές αντιστοιχίσεις ή θα τα απορρίψει και θα δοκιμάσει διαφορετική στρατηγική αναζήτησης.
Ανεπαρκές μέγεθος δείγματος. Ένα ερώτημα εμπορικών δεδομένων επιστρέφει αποτελέσματα από μία μόνο πηγή δεδομένων, ενώ θα έπρεπε να διασταυρωθούν πολλές πηγές για λόγους αξιοπιστίας. Το σύστημα αναγνωρίζει αυτό το κενό και μπορεί να προκαλέσει πρόσθετες κλήσεις εργαλείων για να το καλύψει.
Όταν αποτυγχάνουν οι έλεγχοι ποιότητας, το σύστημα εισάγει οδηγίες ξανά στον βρόχο συλλογιστικής του πράκτορα. Αυτή δεν είναι μια απλή επανάληψη — είναι μια καθοδηγούμενη επανάληψη που εξηγεί τι πήγε στραβά και προτείνει πώς να αναδιατυπωθεί το ερώτημα.
Σταδιακή παράδοση αποτελεσμάτων
Η επαλήθευση εμπορικής συμμόρφωσης έχει από τη φύση της πολλά βήματα. Ένας χρήστης ανεβάζει μια φορτωτική και ζητά από τον πράκτορα να την επαληθεύσει. Ο πράκτορας πρέπει να ελέγξει τον αποστολέα σε λίστες κυρώσεων, να επαληθεύσει την πιστοποίηση βιολογικής παραγωγής, να αναζητήσει την τρέχουσα θέση του πλοίου, να ελέγξει τις ειδοποιήσεις εισαγωγών FDA για το βασικό εμπόρευμα και να επικυρώσει τη δασμολογική κατάταξη. Αυτοί οι έλεγχοι απαιτούν διαφορετικό χρόνο ο καθένας.
Αντί να αναγκάζουμε τον χρήστη να περιμένει την ολοκλήρωση όλων των ελέγχων πριν εμφανιστεί οτιδήποτε, παρέχουμε αποτελέσματα σταδιακά σε συνεχή ροή. Μόλις επιστρέψει κάθε εργαλείο, τα αποτελέσματά του μορφοποιούνται αμέσως και παραδίδονται στη διεπαφή του χρήστη. Ο χρήστης βλέπει να εμφανίζονται αποτελέσματα κυρώσεων, κατόπιν δεδομένα πλοίου και μετά κατάσταση πιστοποίησης βιολογικής παραγωγής, το καθένα ως δομημένη κάρτα τη στιγμή που είναι έτοιμο.
Το τελικό βήμα σύνθεσης, που παράγει μια αφηγηματική σύνοψη συνδέοντας όλα τα αποτελέσματα, εκτελείται μόνο αφού ολοκληρωθούν όλα τα εργαλεία.
Αυτόματη επαλήθευση: κλείσιμο του κύκλου
Όταν τα έγγραφα υποβάλλονται σε επεξεργασία μέσω της ακολουθίας OCR μας, το σύστημα εξαγωγής εντοπίζει βασικά στοιχεία δεδομένων — αναγνωριστικά NOP, εταιρικά ονόματα, αναγνωριστικά πλοίων, αριθμούς εμπορευματοκιβωτίων, κωδικούς λιμένων, κωδικούς HS. Καθένα από αυτά τα στοιχεία αντιστοιχεί σε συγκεκριμένα εργαλεία επαλήθευσης.
Αντί να περιμένει τον χρήστη να ζητήσει «επαλήθευσε αυτό το έγγραφο», το σύστημα υπολογίζει εκ των προτέρων υποδείξεις επαλήθευσης. Όταν ο χρήστης ανοίγει μια συνομιλία για ένα έγγραφο, ο πράκτορας γνωρίζει ήδη ποια εργαλεία να καλέσει και με ποιες παραμέτρους. Αυτό μειώνει δραστικά τον χρόνο μέχρι την επαλήθευση: ο πράκτορας δεν χρειάζεται να διαβάσει το έγγραφο, να εντοπίσει οντότητες και μετά να αποφασίσει τι θα ελέγξει. Έχει ήδη ένα σχέδιο επαλήθευσης έτοιμο για εκτέλεση.
Οι αρχές
Η ανάπτυξη αυτού του συστήματος αποκρυστάλλωσε αρκετές αρχές που θεωρούμε ότι εφαρμόζονται ευρέως στην τεχνική ανάπτυξη πρακτόρων τεχνητής νοημοσύνης:
Διαχωρίστε την επιλογή από την εκτέλεση. Μην αναθέτετε στο μοντέλο συλλογιστικής σας να είναι και μοντέλο δρομολόγησης. Χρησιμοποιήστε οικονομικά, γρήγορα μοντέλα για ταξινόμηση και ακριβότερα, ικανά μοντέλα για συλλογιστική.
Μειώστε τις επιλογές, αυξήστε την ακρίβεια. Ένα μοντέλο που επιλέγει μεταξύ 10 κατάλληλων εργαλείων υπερέχει κάθε φορά ενός μοντέλου που επιλέγει μεταξύ 100 εργαλείων. Επενδύστε στο φιλτράρισμα πριν από την επιλογή.
Επικυρώστε μετά την εκτέλεση, όχι μόνο πριν. Οι κλήσεις εργαλείων αποτυγχάνουν με τρόπους που δεν μπορείτε να προβλέψετε. Δημιουργήστε βρόχους ανατροφοδότησης ποιότητας που εντοπίζουν κακά αποτελέσματα και καθοδηγούν τις επαναλήψεις.
Παρέχετε αποτελέσματα σε ροή, όχι σε παρτίδες. Οι χρήστες πρέπει να βλέπουν τα αποτελέσματα καθώς φτάνουν. Η σταδιακή παράδοση δεν είναι απλώς βελτίωση της εμπειρίας χρήστη — αλλάζει θεμελιωδώς τον τρόπο με τον οποίο οι χρήστες αλληλεπιδρούν με δεδομένα επαλήθευσης.
Κάντε την πρόθεση σαφή. Μην αφήνετε το μοντέλο να συμπεραίνει τι σημαίνει «καλό» αποτέλεσμα. Πείτε του. Ο σχεδιασμός στόχων μετατρέπει την εξερεύνηση ανοιχτού τύπου σε καθοδηγούμενη επαλήθευση.
Ο πράκτορας τεχνητής νοημοσύνης του Atlas Verified ενορχηστρώνει 100+ εξειδικευμένα εργαλεία επαλήθευσης για να αυτοματοποιεί ελέγχους εμπορικής συμμόρφωσης σε ολόκληρη την παγκόσμια αλυσίδα εφοδιασμού.
