Όταν συζητούμε για τα μοναδικά οφέλη της δημιουργίας Πρακτόρων Τεχνητής Νοημοσύνης, δύο πράγματα κυρίως αναφέρονται: η ικανότητα να καλούν εργαλεία για την ολοκλήρωση εργασιών και η ικανότητα να βελτιώνονται με την πάροδο του χρόνου. Η μνήμη αποτελεί τη βάση για τη δημιουργία πράκτορα που αυτοβελτιώνεται και μπορεί να δημιουργεί καλύτερες εμπειρίες για τους χρήστες μας.
Σε αυτό το μάθημα, θα εξετάσουμε τι είναι η μνήμη για τους Πράκτορες Τεχνητής Νοημοσύνης και πώς μπορούμε να τη διαχειριστούμε και να τη χρησιμοποιήσουμε προς όφελος των εφαρμογών μας.
Αυτό το μάθημα θα καλύψει:
• Κατανόηση της Μνήμης Πρακτόρων Τεχνητής Νοημοσύνης: Τι είναι η μνήμη και γιατί είναι απαραίτητη για τους πράκτορες.
• Υλοποίηση και Αποθήκευση Μνήμης: Πρακτικές μέθοδοι για την προσθήκη δυνατοτήτων μνήμης στους πράκτορές σας, εστιάζοντας στη βραχυπρόθεσμη και μακροπρόθεσμη μνήμη.
• Κάνοντας τους Πράκτορες Τεχνητής Νοημοσύνης Αυτοβελτιούμενους: Πώς η μνήμη επιτρέπει στους πράκτορες να μάθουν από προηγούμενες αλληλεπιδράσεις και να βελτιώνονται με την πάροδο του χρόνου.
Αυτό το μάθημα περιλαμβάνει δύο εκτενείς οδηγούς σε σημειωματάρια:
• 13-agent-memory.ipynb: Υλοποιεί μνήμη χρησιμοποιώντας Mem0 και Azure AI Search με το Microsoft Agent Framework
• 13-agent-memory-cognee.ipynb: Υλοποιεί δομημένη μνήμη χρησιμοποιώντας Cognee, δημιουργώντας αυτόματα γράφο γνώσης υποστηριζόμενο από embeddings, οπτικοποιώντας το γράφο και πραγματοποιώντας ευφυή ανάκτηση
Μετά την ολοκλήρωση αυτού του μαθήματος, θα γνωρίζετε πώς να:
• Διαχωρίζετε διάφορους τύπους μνήμης πράκτορα τεχνητής νοημοσύνης, συμπεριλαμβανομένης της εργασιακής, βραχυπρόθεσμης και μακροπρόθεσμης μνήμης, καθώς και ειδικευμένων μορφών όπως η μνήμη προσωπικότητας και επεισοδιακή μνήμη.
• Υλοποιείτε και διαχειρίζεστε τη βραχυπρόθεσμη και μακροπρόθεσμη μνήμη για πράκτορες τεχνητής νοημοσύνης χρησιμοποιώντας το Microsoft Agent Framework, αξιοποιώντας εργαλεία όπως το Mem0, το Cognee, τη μνήμη Whiteboard και ενσωματώνοντας το Azure AI Search.
• Κατανοείτε τις αρχές πίσω από τους αυτοβελτιούμενους πράκτορες τεχνητής νοημοσύνης και πώς τα ανθεκτικά συστήματα διαχείρισης μνήμης συμβάλλουν στη συνεχή μάθηση και προσαρμογή.
Στον πυρήνα της, η μνήμη για τους πράκτορες τεχνητής νοημοσύνης αναφέρεται στους μηχανισμούς που τους επιτρέπουν να διατηρούν και να ανακαλούν πληροφορίες. Αυτές οι πληροφορίες μπορούν να είναι συγκεκριμένες λεπτομέρειες για μια συνομιλία, προτιμήσεις χρήστη, προηγούμενες ενέργειες ή ακόμα και διδαγμένα πρότυπα.
Χωρίς μνήμη, οι εφαρμογές Τεχνητής Νοημοσύνης είναι συχνά χωρίς κατάσταση (stateless), δηλαδή κάθε αλληλεπίδραση ξεκινά από το μηδέν. Αυτό οδηγεί σε μια επαναλαμβανόμενη και απογοητευτική εμπειρία χρήστη όπου ο πράκτορας “ξεχνάει” προηγούμενο πλαίσιο ή προτιμήσεις.
Η νοημοσύνη ενός πράκτορα συνδέεται βαθιά με την ικανότητά του να ανακαλεί και να χρησιμοποιεί πληροφορίες από το παρελθόν. Η μνήμη επιτρέπει στους πράκτορες να είναι:
• Αναστοχαστικοί: Μαθαίνοντας από προηγούμενες ενέργειες και αποτελέσματα.
• Διαδραστικοί: Διατηρώντας το πλαίσιο σε εξέλιξη μιας συνομιλίας.
• Προληπτικοί και Αντιδραστικοί: Προβλέποντας ανάγκες ή ανταποκρινόμενοι κατάλληλα βάσει ιστορικών δεδομένων.
• Αυτονόμοι: Λειτουργώντας πιο ανεξάρτητα βασιζόμενοι στη συσσωρευμένη γνώση.
Ο στόχος της υλοποίησης μνήμης είναι να κάνουν τους πράκτορες πιο αξιόπιστους και ικανούς.
Σκεφτείτε το σαν ένα κομμάτι πρόχειρου χαρτιού που χρησιμοποιεί ένας πράκτορας κατά τη διάρκεια μιας μόνο, τρέχουσας εργασίας ή διαδικασίας σκέψης. Κρατά άμεσα πληροφορίες που χρειάζονται για τον επόμενο υπολογισμό.
Για τους πράκτορες τεχνητής νοημοσύνης, η εργασιακή μνήμη συχνά συλλαμβάνει τις πιο σχετικές πληροφορίες από μια συνομιλία, ακόμη και αν το πλήρες ιστορικό συνομιλίας είναι μεγάλο ή αποκομμένο. Εστιάζει στην εξαγωγή βασικών στοιχείων όπως απαιτήσεις, προτάσεις, αποφάσεις και ενέργειες.
Παράδειγμα Εργασιακής Μνήμης
Σε έναν πράκτορα κρατήσεων ταξιδιών, η εργασιακή μνήμη μπορεί να καταγράφει το τρέχον αίτημα του χρήστη, όπως “Θέλω να κλείσω ένα ταξίδι στο Παρίσι”. Αυτή η συγκεκριμένη απαίτηση κρατιέται στο άμεσο πλαίσιο του πράκτορα για να καθοδηγήσει την τρέχουσα αλληλεπίδραση.
Αυτός ο τύπος μνήμης διατηρεί πληροφορίες για τη διάρκεια μιας μόνο συνομιλίας ή συνεδρίας. Είναι το πλαίσιο της τρέχουσας συζήτησης, επιτρέποντας στο πράκτορα να αναφέρεται σε προηγούμενες ανταποκρίσεις στο διάλογο.
Στα δείγματα Python SDK του Microsoft Agent Framework, αυτό αντιστοιχεί σε AgentSession, που δημιουργείται με agent.create_session(). Η συνεδρία είναι η ενσωματωμένη βραχυπρόθεσμη μνήμη του πλαισίου: κρατά το πλαίσιο συνομιλίας διαθέσιμο όσο η ίδια συνεδρία επαναχρησιμοποιείται, αλλά το πλαίσιο αυτό δεν διατηρείται μόλις τελειώσει η συνεδρία ή η εφαρμογή επανεκκινηθεί. Χρησιμοποιήστε τη μακροπρόθεσμη μνήμη για γεγονότα και προτιμήσεις που πρέπει να παραμείνουν διαχρονικά, συνήθως μέσω βάσης δεδομένων, ευρετηρίου διανυσμάτων ή άλλου επίμονου αποθηκευτικού μέσου.
Παράδειγμα Βραχυπρόθεσμης Μνήμης
Αν ο χρήστης ρωτήσει “Πόσο κοστίζει μια πτήση για το Παρίσι;” και στη συνέχεια ρωτήσει “Τι γίνεται με τη διαμονή εκεί;”, η βραχυπρόθεσμη μνήμη διασφαλίζει ότι ο πράκτορας καταλαβαίνει ότι το “εκεί” αναφέρεται στο “Παρίσι” στην ίδια συνομιλία.
Αυτή περιλαμβάνει πληροφορίες που διαρκούν σε πολλαπλές συνομιλίες ή συνεδρίες. Επιτρέπει στους πράκτορες να θυμούνται προτιμήσεις χρηστών, ιστορικές αλληλεπιδράσεις ή γενικές γνώσεις για εκτεταμένες χρονικές περιόδους. Αυτό είναι σημαντικό για την εξατομίκευση.
Παράδειγμα Μακροπρόθεσμης Μνήμης
Η μακροπρόθεσμη μνήμη μπορεί να αποθηκεύσει ότι “ο Ben απολαμβάνει το σκι και υπαίθριες δραστηριότητες, του αρέσει ο καφές με θέα το βουνό και θέλει να αποφύγει προχωρημένες πίστες σκι λόγω προηγούμενου τραυματισμού”. Αυτές οι πληροφορίες, που μαθαίνονται από προηγούμενες αλληλεπιδράσεις, επηρεάζουν τις προτάσεις σε μελλοντικές πτήσεις ταξιδιού, καθιστώντας τις πολύ εξατομικευμένες.
Αυτή η εξειδικευμένη μορφή μνήμης βοηθά έναν πράκτορα να αναπτύξει μια συνεπή “προσωπικότητα” ή “ρόλο”. Επιτρέπει στον πράκτορα να θυμάται λεπτομέρειες για τον εαυτό του ή για τον ρόλο που προορίζεται να παίξει, καθιστώντας τις αλληλεπιδράσεις πιο ρέουσες και εστιασμένες.
Παράδειγμα Μνήμης Προσωπικότητας
Εάν ο πράκτορας ταξιδιών έχει σχεδιαστεί να είναι “ειδικός σε προγραμματισμό σκι,” η μνήμη προσωπικότητας μπορεί να ενισχύσει αυτόν τον ρόλο, επηρεάζοντας τις απαντήσεις του ώστε να ταιριάζουν με τον τόνο και τις γνώσεις ενός ειδικού.
Αυτή η μνήμη αποθηκεύει τη σειρά βημάτων που ακολουθεί ένας πράκτορας κατά τη διάρκεια μιας σύνθετης εργασίας, συμπεριλαμβανομένων επιτυχιών και αποτυχιών. Είναι σαν να θυμάται συγκεκριμένα “επεισόδια” ή παρελθούσες εμπειρίες για να μάθει από αυτά.
Παράδειγμα Επεισοδιακής Μνήμης
Αν ο πράκτορας προσπάθησε να κλείσει μια συγκεκριμένη πτήση αλλά αυτή απέτυχε λόγω μη διαθεσιμότητας, η επεισοδιακή μνήμη θα μπορούσε να καταγράψει αυτήν την αποτυχία, επιτρέποντας στον πράκτορα να δοκιμάσει εναλλακτικές πτήσεις ή να ενημερώσει καλύτερα τον χρήστη για το πρόβλημα σε επόμενη προσπάθεια.
Αυτή αφορά την εξαγωγή και απομνημόνευση συγκεκριμένων οντοτήτων (όπως άνθρωποι, τόποι ή πράγματα) και γεγονότων από συνομιλίες. Επιτρέπει στον πράκτορα να δημιουργήσει μια δομημένη κατανόηση των βασικών στοιχείων που έχουν συζητηθεί.
Παράδειγμα Μνήμης Οντοτήτων
Από μια συνομιλία για ένα παρελθόν ταξίδι, ο πράκτορας μπορεί να εξάγει τις οντότητες “Παρίσι,” “Πύργος του Άιφελ,” και “δείπνο στο εστιατόριο Le Chat Noir.” Σε μια μελλοντική αλληλεπίδραση, ο πράκτορας μπορεί να θυμηθεί το “Le Chat Noir” και να προσφέρει να κάνει νέα κράτηση εκεί.
Ενώ το RAG είναι μια ευρύτερη τεχνική, το “Δομημένο RAG” αναγνωρίζεται ως μια ισχυρή τεχνολογία μνήμης. Εξάγει πυκνές, δομημένες πληροφορίες από διάφορες πηγές (συνομιλίες, emails, εικόνες) και τις χρησιμοποιεί για να αυξήσει την ακρίβεια, την πληρότητα και την ταχύτητα στις απαντήσεις. Σε αντίθεση με το κλασικό RAG που βασίζεται μόνο στη σημασιολογική ομοιότητα, το Δομημένο RAG λειτουργεί με την εγγενή δομή των πληροφοριών.
Παράδειγμα Δομημένου RAG
Αντί απλώς να ταιριάζει λέξεις-κλειδιά, το Δομημένο RAG μπορεί να αναλύει λεπτομέρειες πτήσης (προορισμός, ημερομηνία, ώρα, αερογραμμή) από ένα email και να τις αποθηκεύει με δομημένο τρόπο. Αυτό επιτρέπει ακριβείς ερωτήσεις όπως “Ποια πτήση έκλεισα για το Παρίσι την Τρίτη;”
Η υλοποίηση μνήμης για πράκτορες τεχνητής νοημοσύνης περιλαμβάνει μια συστηματική διαδικασία διαχείρισης μνήμης, η οποία περιλαμβάνει τη δημιουργία, αποθήκευση, ανάκτηση, ενσωμάτωση, ενημέρωση και ακόμα και το “ξεχασμα” (ή διαγραφή) πληροφοριών. Η ανάκτηση είναι ένα ιδιαίτερα κρίσιμο στοιχείο.
Μια μέθοδος αποθήκευσης και διαχείρισης μνήμης πράκτορα είναι η χρήση εξειδικευμένων εργαλείων όπως το Mem0. Το Mem0 λειτουργεί ως επίμονο στρώμα μνήμης, επιτρέποντας στους πράκτορες να ανακαλούν σχετικές αλληλεπιδράσεις, να αποθηκεύουν προτιμήσεις χρηστών και πραγματικά συμφραζόμενα, και να μαθαίνουν από τις επιτυχίες και αποτυχίες με την πάροδο του χρόνου. Η ιδέα είναι ότι οι πράκτορες χωρίς κατάσταση μετατρέπονται σε πράκτορες με κατάσταση.
Λειτουργεί μέσω μιας διφασικής αγωγού μνήμης: εξαγωγή και ενημέρωση. Πρώτα, τα μηνύματα που προστίθενται σε ένα νήμα του πράκτορα στέλνονται στην υπηρεσία Mem0, η οποία χρησιμοποιεί ένα Μεγάλο Μοντέλο Γλώσσας (LLM) για να συνοψίσει το ιστορικό συνομιλίας και να εξάγει νέες μνήμες. Στη συνέχεια, μια φάση ενημέρωσης που καθοδηγείται από LLM αποφασίζει αν θα προστεθούν, τροποποιηθούν ή διαγραφούν αυτές οι μνήμες, αποθηκεύοντάς τες σε ένα υβριδικό κατάστημα δεδομένων που μπορεί να περιλαμβάνει βάση δεδομένων διανυσμάτων, γράφων, και ζευγών κλειδιού-τιμής. Αυτό το σύστημα υποστηρίζει επίσης διάφορους τύπους μνήμης και μπορεί να ενσωματώνει μνήμη γράφου για τη διαχείριση σχέσεων μεταξύ οντοτήτων.
Μια άλλη ισχυρή προσέγγιση είναι η χρήση του Cognee, μιας ανοιχτής πηγής σημασιολογικής μνήμης για πράκτορες τεχνητής νοημοσύνης που μετατρέπει δομημένα και αδόμητα δεδομένα σε αναζητήσιμους γράφους γνώσης υποστηριζόμενους από embeddings. Το Cognee παρέχει μια διπλή αρχιτεκτονική αποθήκευσης που συνδυάζει αναζήτηση βάσει ομοιότητας διανυσμάτων με τις σχέσεις γράφων, δίνοντας τη δυνατότητα στους πράκτορες να κατανοούν όχι μόνο τι πληροφορία είναι όμοια, αλλά και πώς σχετίζονται οι έννοιες μεταξύ τους.
Διακρίνεται στην υβριδική ανάκτηση που συνδυάζει ομοιότητα διανυσμάτων, δομή γράφων και συλλογιστική LLM - από απλή αναζήτηση κομματιών μέχρι ερωτήσεις με επίγνωση γράφου. Το σύστημα διατηρεί ζωντανή μνήμη που εξελίσσεται και αναπτύσσεται ενώ παραμένει αναζητήσιμη ως ένας ενιαίος συνδεδεμένος γράφος, υποστηρίζοντας τόσο το πλαίσιο συνεδρίας βραχυπρόθεσμα όσο και τη μακροπρόθεσμη επίμονη μνήμη.
Το σημειωματάριο του Cognee (13-agent-memory-cognee.ipynb) παρουσιάζει τον τρόπο δημιουργίας αυτού του ενιαίου στρώματος μνήμης, με πρακτικά παραδείγματα εισαγωγής ποικίλων πηγών δεδομένων, οπτικοποίησης του γράφου γνώσης και ερωτήματα με διαφορετικές στρατηγικές αναζήτησης προσαρμοσμένες στις συγκεκριμένες ανάγκες των πρακτόρων.
Πέρα από εξειδικευμένα εργαλεία μνήμης όπως το mem0, μπορείτε να αξιοποιήσετε ισχυρές υπηρεσίες αναζήτησης όπως το Azure AI Search ως backend για αποθήκευση και ανάκτηση μνημών, ειδικά για το δομημένο RAG.
Αυτό σας επιτρέπει να βασίζετε τις απαντήσεις του πράκτορά σας σε δικά σας δεδομένα, εξασφαλίζοντας πιο σχετικές και ακριβείς απαντήσεις. Το Azure AI Search μπορεί να χρησιμοποιηθεί για την αποθήκευση ταξιδιωτικών μνημών συγκεκριμένου χρήστη, καταλόγων προϊόντων ή οιασδήποτε άλλης τομεακής γνώσης.
Το Azure AI Search υποστηρίζει δυνατότητες όπως το Δομημένο RAG, που διακρίνεται στην εξαγωγή και ανάκτηση πυκνών, δομημένων πληροφοριών από μεγάλα σύνολα δεδομένων όπως ιστορικά συνομιλιών, emails ή ακόμα και εικόνες. Αυτό παρέχει “υπερ-ανθρώπινη ακρίβεια και πληρότητα” σε σύγκριση με παραδοσιακές μεθόδους κομματιασμού κειμένου και embeddings.
Ένα κοινό μοτίβο για πράκτορες που αυτοβελτιώνονται είναι η εισαγωγή ενός “πράκτορα γνώσης”. Αυτός ο ξεχωριστός πράκτορας παρατηρεί την κύρια συνομιλία ανάμεσα στον χρήστη και τον βασικό πράκτορα. Ο ρόλος του είναι να:
Αναγνωρίζει πολύτιμες πληροφορίες: Να προσδιορίζει αν κάποιο μέρος της συνομιλίας αξίζει να αποθηκευτεί ως γενική γνώση ή συγκεκριμένη προτίμηση χρήστη.
Εξάγει και συνοψίζει: Να απομονώνει τη σημαντική μάθηση ή προτίμηση από τη συνομιλία.
Αποθηκεύει σε βάση γνώσης: Να διατηρεί αυτήν την εξαγόμενη πληροφορία, συχνά σε βάση δεδομένων διανυσμάτων, ώστε να μπορεί να ανακτηθεί αργότερα.
Ενισχύει μελλοντικές ερωτήσεις: Όταν ο χρήστης ξεκινά νέα ερώτηση, ο πράκτορας γνώσης ανακτά σχετικές αποθηκευμένες πληροφορίες και τις προσθέτει στο prompt του χρήστη, παρέχοντας κρίσιμο πλαίσιο στον βασικό πράκτορα (παρόμοιο με το RAG).
• Διαχείριση Καθυστέρησης: Για να αποφευχθεί η επιβράδυνση των αλληλεπιδράσεων με τον χρήστη, ένα φθηνότερο, ταχύτερο μοντέλο μπορεί να χρησιμοποιηθεί αρχικά για να ελέγξει γρήγορα αν οι πληροφορίες αξίζουν να αποθηκευτούν ή να ανακτηθούν, καλώντας τη διαδικασία εξαγωγής/ανάκτησης μόνο όταν είναι απαραίτητο.
• Συντήρηση Βάσης Γνώσης: Για μια αυξανόμενη βάση γνώσης, οι λιγότερο χρησιμοποιούμενες πληροφορίες μπορούν να μετακινηθούν σε “ψυχρή αποθήκευση” για διαχείριση κόστους.
Ενταχθείτε στο Microsoft Foundry Discord για να συναντήσετε άλλους μαθητές, να παρακολουθήσετε ώρες γραφείου και να λάβετε απαντήσεις στις ερωτήσεις σας για Πράκτορες Τεχνητής Νοημοσύνης.
Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.