Όταν συζητάμε για τα μοναδικά πλεονεκτήματα της δημιουργίας Πρακτόρων AI, δύο πράγματα αναφέρονται κυρίως: η δυνατότητα να καλούν εργαλεία για την ολοκλήρωση εργασιών και η δυνατότητα να βελτιώνονται με την πάροδο του χρόνου. Η μνήμη αποτελεί τη βάση για τη δημιουργία αυτοβελτιούμενων πρακτόρων που μπορούν να προσφέρουν καλύτερες εμπειρίες στους χρήστες μας.
Σε αυτό το μάθημα, θα εξετάσουμε τι είναι η μνήμη για τους Πράκτορες AI και πώς μπορούμε να τη διαχειριστούμε και να τη χρησιμοποιήσουμε προς όφελος των εφαρμογών μας.
Αυτό το μάθημα θα καλύψει:
• Κατανόηση της Μνήμης Πρακτόρων AI: Τι είναι η μνήμη και γιατί είναι απαραίτητη για τους πράκτορες.
• Υλοποίηση και Αποθήκευση Μνήμης: Πρακτικές μέθοδοι για την προσθήκη δυνατοτήτων μνήμης στους Πράκτορες AI, με έμφαση στη βραχυπρόθεσμη και μακροπρόθεσμη μνήμη.
• Δημιουργία Αυτοβελτιούμενων Πρακτόρων AI: Πώς η μνήμη επιτρέπει στους πράκτορες να μαθαίνουν από προηγούμενες αλληλεπιδράσεις και να βελτιώνονται με την πάροδο του χρόνου.
Μετά την ολοκλήρωση αυτού του μαθήματος, θα γνωρίζετε πώς να:
• Διακρίνετε μεταξύ των διαφορετικών τύπων μνήμης Πρακτόρων AI, όπως η λειτουργική, η βραχυπρόθεσμη και η μακροπρόθεσμη μνήμη, καθώς και εξειδικευμένες μορφές όπως η μνήμη προσωπικότητας και επεισοδίων.
• Υλοποιήσετε και διαχειριστείτε τη βραχυπρόθεσμη και μακροπρόθεσμη μνήμη για Πράκτορες AI χρησιμοποιώντας το πλαίσιο Semantic Kernel, αξιοποιώντας εργαλεία όπως το Mem0 και τη μνήμη Whiteboard, και ενσωματώνοντας το Azure AI Search.
• Κατανοήσετε τις αρχές πίσω από τους αυτοβελτιούμενους Πράκτορες AI και πώς τα ισχυρά συστήματα διαχείρισης μνήμης συμβάλλουν στη συνεχή μάθηση και προσαρμογή.
Στον πυρήνα της, η μνήμη για τους Πράκτορες AI αναφέρεται στους μηχανισμούς που τους επιτρέπουν να διατηρούν και να ανακαλούν πληροφορίες. Αυτές οι πληροφορίες μπορεί να είναι συγκεκριμένες λεπτομέρειες μιας συνομιλίας, προτιμήσεις χρηστών, προηγούμενες ενέργειες ή ακόμα και μοτίβα που έχουν μάθει.
Χωρίς μνήμη, οι εφαρμογές AI είναι συχνά χωρίς κατάσταση, πράγμα που σημαίνει ότι κάθε αλληλεπίδραση ξεκινά από την αρχή. Αυτό οδηγεί σε μια επαναλαμβανόμενη και απογοητευτική εμπειρία χρήστη, όπου ο πράκτορας “ξεχνά” το προηγούμενο πλαίσιο ή τις προτιμήσεις.
Η νοημοσύνη ενός πράκτορα συνδέεται στενά με την ικανότητά του να ανακαλεί και να χρησιμοποιεί προηγούμενες πληροφορίες. Η μνήμη επιτρέπει στους πράκτορες να είναι:
• Στοχαστικοί: Μαθαίνουν από προηγούμενες ενέργειες και αποτελέσματα.
• Διαδραστικοί: Διατηρούν το πλαίσιο σε μια συνεχιζόμενη συνομιλία.
• Προληπτικοί και Αντιδραστικοί: Προβλέπουν ανάγκες ή ανταποκρίνονται κατάλληλα βάσει ιστορικών δεδομένων.
• Αυτόνομοι: Λειτουργούν πιο ανεξάρτητα αντλώντας από αποθηκευμένες γνώσεις.
Ο στόχος της υλοποίησης μνήμης είναι να κάνει τους πράκτορες πιο αξιόπιστους και ικανούς.
Σκεφτείτε τη σαν ένα κομμάτι χαρτί που χρησιμοποιεί ένας πράκτορας κατά τη διάρκεια μιας μοναδικής, τρέχουσας εργασίας ή διαδικασίας σκέψης. Κρατά άμεσες πληροφορίες που χρειάζονται για τον υπολογισμό του επόμενου βήματος.
Για τους Πράκτορες AI, η λειτουργική μνήμη συχνά καταγράφει τις πιο σχετικές πληροφορίες από μια συνομιλία, ακόμα κι αν το πλήρες ιστορικό συνομιλίας είναι μεγάλο ή περικομμένο. Εστιάζει στην εξαγωγή βασικών στοιχείων όπως απαιτήσεις, προτάσεις, αποφάσεις και ενέργειες.
Παράδειγμα Λειτουργικής Μνήμης
Σε έναν πράκτορα κρατήσεων ταξιδιών, η λειτουργική μνήμη μπορεί να καταγράψει το τρέχον αίτημα του χρήστη, όπως “Θέλω να κλείσω ένα ταξίδι στο Παρίσι”. Αυτή η συγκεκριμένη απαίτηση διατηρείται στο άμεσο πλαίσιο του πράκτορα για να καθοδηγήσει την τρέχουσα αλληλεπίδραση.
Αυτός ο τύπος μνήμης διατηρεί πληροφορίες για τη διάρκεια μιας μοναδικής συνομιλίας ή συνεδρίας. Είναι το πλαίσιο της τρέχουσας συνομιλίας, επιτρέποντας στον πράκτορα να αναφέρεται σε προηγούμενες στροφές του διαλόγου.
Παράδειγμα Βραχυπρόθεσμης Μνήμης
Αν ένας χρήστης ρωτήσει, “Πόσο κοστίζει μια πτήση για το Παρίσι;” και στη συνέχεια συνεχίσει με “Τι γίνεται με τη διαμονή εκεί;”, η βραχυπρόθεσμη μνήμη εξασφαλίζει ότι ο πράκτορας γνωρίζει ότι “εκεί” αναφέρεται στο “Παρίσι” μέσα στην ίδια συνομιλία.
Αυτές είναι πληροφορίες που παραμένουν σε πολλές συνομιλίες ή συνεδρίες. Επιτρέπει στους πράκτορες να θυμούνται προτιμήσεις χρηστών, ιστορικές αλληλεπιδράσεις ή γενικές γνώσεις για παρατεταμένες περιόδους. Αυτό είναι σημαντικό για την εξατομίκευση.
Παράδειγμα Μακροπρόθεσμης Μνήμης
Μια μακροπρόθεσμη μνήμη μπορεί να αποθηκεύσει ότι “Ο Μπεν απολαμβάνει το σκι και τις υπαίθριες δραστηριότητες, του αρέσει ο καφές με θέα στο βουνό και θέλει να αποφύγει τις προχωρημένες πίστες σκι λόγω ενός παλιού τραυματισμού”. Αυτές οι πληροφορίες, που μαθαίνονται από προηγούμενες αλληλεπιδράσεις, επηρεάζουν τις συστάσεις σε μελλοντικές συνεδρίες σχεδιασμού ταξιδιών, καθιστώντας τις εξαιρετικά εξατομικευμένες.
Αυτός ο εξειδικευμένος τύπος μνήμης βοηθά έναν πράκτορα να αναπτύξει μια συνεπή “προσωπικότητα” ή “ρόλο”. Επιτρέπει στον πράκτορα να θυμάται λεπτομέρειες για τον εαυτό του ή τον προοριζόμενο ρόλο του, κάνοντας τις αλληλεπιδράσεις πιο ομαλές και εστιασμένες.
Παράδειγμα Μνήμης Προσωπικότητας
Αν ο πράκτορας ταξιδιών έχει σχεδιαστεί να είναι “ειδικός στον προγραμματισμό σκι”, η μνήμη προσωπικότητας μπορεί να ενισχύσει αυτόν τον ρόλο, επηρεάζοντας τις απαντήσεις του ώστε να ευθυγραμμίζονται με τον τόνο και τις γνώσεις ενός ειδικού.
Αυτή η μνήμη αποθηκεύει τη σειρά των βημάτων που ακολουθεί ένας πράκτορας κατά τη διάρκεια μιας σύνθετης εργασίας, συμπεριλαμβανομένων επιτυχιών και αποτυχιών. Είναι σαν να θυμάται συγκεκριμένα “επεισόδια” ή προηγούμενες εμπειρίες για να μαθαίνει από αυτά.
Παράδειγμα Μνήμης Επεισοδίων
Αν ο πράκτορας προσπάθησε να κλείσει μια συγκεκριμένη πτήση αλλά απέτυχε λόγω μη διαθεσιμότητας, η μνήμη επεισοδίων μπορεί να καταγράψει αυτήν την αποτυχία, επιτρέποντας στον πράκτορα να δοκιμάσει εναλλακτικές πτήσεις ή να ενημερώσει τον χρήστη για το ζήτημα με πιο ενημερωμένο τρόπο κατά τη διάρκεια μιας επόμενης προσπάθειας.
Αυτή περιλαμβάνει την εξαγωγή και την αποθήκευση συγκεκριμένων οντοτήτων (όπως άτομα, μέρη ή πράγματα) και γεγονότων από συνομιλίες. Επιτρέπει στον πράκτορα να δημιουργήσει μια δομημένη κατανόηση των βασικών στοιχείων που συζητήθηκαν.
Παράδειγμα Μνήμης Οντοτήτων
Από μια συνομιλία για ένα προηγούμενο ταξίδι, ο πράκτορας μπορεί να εξαγάγει “Παρίσι”, “Πύργος του Άιφελ” και “δείπνο στο εστιατόριο Le Chat Noir” ως οντότητες. Σε μια μελλοντική αλληλεπίδραση, ο πράκτορας θα μπορούσε να θυμηθεί το “Le Chat Noir” και να προσφέρει να κάνει μια νέα κράτηση εκεί.
Ενώ το RAG είναι μια ευρύτερη τεχνική, το “Δομημένο RAG” αναδεικνύεται ως μια ισχυρή τεχνολογία μνήμης. Εξάγει πυκνές, δομημένες πληροφορίες από διάφορες πηγές (συνομιλίες, email, εικόνες) και τις χρησιμοποιεί για να ενισχύσει την ακρίβεια, την ανάκτηση και την ταχύτητα στις απαντήσεις. Σε αντίθεση με το κλασικό RAG που βασίζεται αποκλειστικά στη σημασιολογική ομοιότητα, το Δομημένο RAG λειτουργεί με την εγγενή δομή των πληροφοριών.
Παράδειγμα Δομημένου RAG
Αντί να ταιριάζει απλώς λέξεις-κλειδιά, το Δομημένο RAG θα μπορούσε να αναλύσει λεπτομέρειες πτήσης (προορισμός, ημερομηνία, ώρα, αεροπορική εταιρεία) από ένα email και να τις αποθηκεύσει με δομημένο τρόπο. Αυτό επιτρέπει ακριβή ερωτήματα όπως “Ποια πτήση έκλεισα για το Παρίσι την Τρίτη;”
Η υλοποίηση μνήμης για Πράκτορες AI περιλαμβάνει μια συστηματική διαδικασία διαχείρισης μνήμης, η οποία περιλαμβάνει τη δημιουργία, την αποθήκευση, την ανάκτηση, την ενσωμάτωση, την ενημέρωση και ακόμα και τη “λήθη” (ή τη διαγραφή) πληροφοριών. Η ανάκτηση είναι ιδιαίτερα κρίσιμη.
Ένας τρόπος για την αποθήκευση και τη διαχείριση της μνήμης πρακτόρων είναι η χρήση εξειδικευμένων εργαλείων όπως το Mem0. Το Mem0 λειτουργεί ως ένα επίμονο επίπεδο μνήμης, επιτρέποντας στους πράκτορες να ανακαλούν σχετικές αλληλεπιδράσεις, να αποθηκεύουν προτιμήσεις χρηστών και πραγματικό πλαίσιο, και να μαθαίνουν από επιτυχίες και αποτυχίες με την πάροδο του χρόνου. Η ιδέα εδώ είναι ότι οι πράκτορες χωρίς κατάσταση μετατρέπονται σε πράκτορες με κατάσταση.
Λειτουργεί μέσω ενός διφασικού αγωγού μνήμης: εξαγωγή και ενημέρωση. Πρώτα, τα μηνύματα που προστίθενται στο νήμα ενός πράκτορα αποστέλλονται στην υπηρεσία Mem0, η οποία χρησιμοποιεί ένα Μεγάλο Γλωσσικό Μοντέλο (LLM) για να συνοψίσει το ιστορικό συνομιλίας και να εξαγάγει νέες μνήμες. Στη συνέχεια, μια φάση ενημέρωσης που καθοδηγείται από LLM αποφασίζει αν θα προσθέσει, τροποποιήσει ή διαγράψει αυτές τις μνήμες, αποθηκεύοντάς τες σε ένα υβριδικό κατάστημα δεδομένων που μπορεί να περιλαμβάνει βάσεις δεδομένων διανυσμάτων, γραφημάτων και κλειδιών-τιμών. Αυτό το σύστημα υποστηρίζει επίσης διάφορους τύπους μνήμης και μπορεί να ενσωματώσει μνήμη γραφήματος για τη διαχείριση σχέσεων μεταξύ οντοτήτων.
Πέρα από εξειδικευμένα εργαλεία μνήμης όπως το Mem0, μπορείτε να αξιοποιήσετε ισχυρές υπηρεσίες αναζήτησης όπως το Azure AI Search ως backend για την αποθήκευση και την ανάκτηση μνημών, ειδικά για το δομημένο RAG.
Αυτό σας επιτρέπει να βασίζετε τις απαντήσεις του πράκτορα στα δικά σας δεδομένα, εξασφαλίζοντας πιο σχετικές και ακριβείς απαντήσεις. Το Azure AI Search μπορεί να χρησιμοποιηθεί για την αποθήκευση ταξιδιωτικών μνημών χρηστών, καταλόγων προϊόντων ή οποιαδήποτε άλλη γνώση συγκεκριμένου τομέα.
Το Azure AI Search υποστηρίζει δυνατότητες όπως το Δομημένο RAG, το οποίο διαπρέπει στην εξαγωγή και την ανάκτηση πυκνών, δομημένων πληροφοριών από μεγάλα σύνολα δεδομένων όπως ιστορικά συνομιλιών, email ή ακόμα και εικόνες. Αυτό παρέχει “υπεράνθρωπη ακρίβεια και ανάκτηση” σε σύγκριση με τις παραδοσιακές προσεγγίσεις τεμαχισμού κειμένου και ενσωμάτωσης.
Ένα κοινό μοτίβο για αυτοβελτιούμενους πράκτορες περιλαμβάνει την εισαγωγή ενός “πράκτορα γνώσης”. Αυτός ο ξεχωριστός πράκτορας παρακολουθεί την κύρια συνομιλία μεταξύ του χρήστη και του κύριου πράκτορα. Ο ρόλος του είναι να:
Εντοπίζει πολύτιμες πληροφορίες: Καθορίζει αν κάποιο μέρος της συνομιλίας αξίζει να αποθηκευτεί ως γενική γνώση ή συγκεκριμένη προτίμηση χρήστη.
Εξάγει και συνοψίζει: Αποστάζει την ουσιώδη μάθηση ή προτίμηση από τη συνομιλία.
Αποθηκεύει σε βάση γνώσεων: Διατηρεί αυτές τις εξαγόμενες πληροφορίες, συχνά σε μια βάση δεδομένων διανυσμάτων, ώστε να μπορούν να ανακτηθούν αργότερα.
Ενισχύει μελλοντικά ερωτήματα: Όταν ο χρήστης ξεκινά ένα νέο ερώτημα, ο πράκτορας γνώσης ανακτά σχετικές αποθηκευμένες πληροφορίες και τις προσθέτει στην προτροπή του χρήστη, παρέχοντας κρίσιμο πλαίσιο στον κύριο πράκτορα (παρόμοιο με το RAG).
• Διαχείριση Καθυστέρησης: Για να αποφευχθεί η επιβράδυνση των αλληλεπιδράσεων του χρήστη, ένα φθηνότερο, ταχύτερο μοντέλο μπορεί να χρησιμοποιηθεί αρχικά για να ελέγξει γρήγορα αν οι πληροφορίες είναι πολύτιμες για αποθήκευση ή ανάκτηση, καλώντας μόνο τη πιο σύνθετη διαδικασία εξαγωγής/ανάκτησης όταν είναι απαραίτητο.
• Συντήρηση Βάσης Γνώσεων: Για μια αυξανόμενη βάση γνώσεων, οι λιγότερο συχνά χρησιμοποιούμενες πληροφορίες μπορούν να μετακινηθούν σε “ψυχρή αποθήκευση” για τη διαχείριση του κόστους.
Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.