ai-agents-for-beginners

Μνήμη για Πράκτορες Τεχνητής Νοημοσύνης

Μνήμη Πράκτορα

Όταν συζητάμε τα μοναδικά οφέλη από τη δημιουργία Πρακτόρων AI, δύο πράγματα αναφέρονται κυρίως: η δυνατότητα κλήσης εργαλείων για την ολοκλήρωση εργασιών και η ικανότητα βελτίωσης με την πάροδο του χρόνου. Η μνήμη βρίσκεται στη βάση της δημιουργίας ενός πράκτορα που αυτοβελτιώνεται και μπορεί να προσφέρει καλύτερες εμπειρίες στους χρήστες μας.

Σε αυτό το μάθημα, θα εξετάσουμε τι είναι η μνήμη για Πράκτορες AI και πώς μπορούμε να τη διαχειριστούμε και να τη χρησιμοποιήσουμε προς όφελος των εφαρμογών μας.

Εισαγωγή

Αυτό το μάθημα θα καλύψει:

Κατανόηση της Μνήμης Πρακτόρων AI: Τι είναι η μνήμη και γιατί είναι σημαντική για τους πράκτορες.

Υλοποίηση και Αποθήκευση Μνήμης: Πρακτικές μεθόδους για την προσθήκη δυνατοτήτων μνήμης στους πράκτορές σας, με έμφαση στη βραχυπρόθεσμη και μακροπρόθεσμη μνήμη.

Κάνοντας τους Πράκτορες AI να Αυτοβελτιώνονται: Πώς η μνήμη επιτρέπει στους πράκτορες να μαθαίνουν από προηγούμενες αλληλεπιδράσεις και να βελτιώνονται με την πάροδο του χρόνου.

Διαθέσιμες Υλοποιήσεις

Αυτό το μάθημα περιλαμβάνει δύο ολοκληρωμένα σημειωματάρια οδηγιών:

13-agent-memory.ipynb: Υλοποιεί τη μνήμη χρησιμοποιώντας Mem0 και Azure AI Search με το Microsoft Agent Framework

13-agent-memory-cognee.ipynb: Υλοποιεί δομημένη μνήμη χρησιμοποιώντας Cognee, δημιουργώντας αυτόματα γράφο γνώσης με υποστήριξη embeddings, οπτικοποιώντας τον γράφο και πραγματοποιώντας έξυπνη ανάκτηση

Στόχοι Μάθησης

Μετά την ολοκλήρωση αυτού του μαθήματος, θα γνωρίζετε πώς να:

Διακρίνετε μεταξύ διαφόρων τύπων μνήμης πρακτόρων AI, συμπεριλαμβανομένης της εργασιακής, της βραχυπρόθεσμης και της μακροπρόθεσμης μνήμης, καθώς και εξειδικευμένων μορφών όπως η μνήμη προσωπικότητας και η επεισοδιακή μνήμη.

Υλοποιήσετε και διαχειριστείτε βραχυπρόθεσμη και μακροπρόθεσμη μνήμη για πράκτορες AI χρησιμοποιώντας το Microsoft Agent Framework, αξιοποιώντας εργαλεία όπως τα Mem0, Cognee, Whiteboard memory και ενσωματώνοντας το Azure AI Search.

Κατανοήσετε τις αρχές πίσω από τους πράκτορες AI που αυτοβελτιώνονται και πώς τα ισχυρά συστήματα διαχείρισης μνήμης συμβάλλουν στη συνεχή μάθηση και προσαρμογή.

Κατανόηση της Μνήμης Πρακτόρων AI

Στον πυρήνα του, η μνήμη για πράκτορες AI αναφέρεται στους μηχανισμούς που τους επιτρέπουν να διατηρούν και να ανακαλούν πληροφορίες. Αυτές οι πληροφορίες μπορούν να είναι συγκεκριμένες λεπτομέρειες για μια συνομιλία, προτιμήσεις χρήστη, προηγούμενες ενέργειες ή ακόμη και μάθεις πρότυπα.

Χωρίς μνήμη, οι εφαρμογές AI είναι συχνά χωρίς κατάσταση (stateless), που σημαίνει ότι κάθε αλληλεπίδραση ξεκινά από το μηδέν. Αυτό οδηγεί σε επαναλαμβανόμενη και απογοητευτική εμπειρία χρήστη όπου ο πράκτορας “ξεχνάει” προηγούμενο πλαίσιο ή προτιμήσεις.

Γιατί είναι σημαντική η μνήμη;

Η νοημοσύνη ενός πράκτορα συνδέεται βαθιά με την ικανότητά του να ανακαλεί και να χρησιμοποιεί προηγούμενες πληροφορίες. Η μνήμη επιτρέπει στους πράκτορες να είναι:

Αναστοχαστικοί: Μαθαίνουν από προηγούμενες ενέργειες και αποτελέσματα.

Διαδραστικοί: Διατηρούν το πλαίσιο κατά τη διάρκεια μιας τρέχουσας συνομιλίας.

Προληπτικοί και Αντιδραστικοί: Προβλέπουν ανάγκες ή ανταποκρίνονται καταλλήλως βάσει ιστορικών δεδομένων.

Αυτόνομοι: Λειτουργούν πιο ανεξάρτητα αντλώντας από αποθηκευμένη γνώση.

Ο στόχος της υλοποίησης μνήμης είναι να κάνει τους πράκτορες πιο αξιόπιστους και ικανούς.

Τύποι Μνήμης

Εργασιακή Μνήμη

Σκεφτείτε αυτό ως ένα κομμάτι πρόχειρου χαρτιού που χρησιμοποιεί ο πράκτορας κατά τη διάρκεια μιας μεμονωμένης, συνεχιζόμενης εργασίας ή διαδικασίας σκέψης. Κρατά άμεσες πληροφορίες που χρειάζονται για να υπολογιστεί το επόμενο βήμα.

Για τους πράκτορες AI, η εργασιακή μνήμη συχνά καταγράφει τις πιο σχετικές πληροφορίες από μια συνομιλία, ακόμα και αν το πλήρες ιστορικό συνομιλίας είναι μεγάλο ή περικομμένο. Επικεντρώνεται στην εξαγωγή βασικών στοιχείων όπως απαιτήσεις, προτάσεις, αποφάσεις και ενέργειες.

Παράδειγμα Εργασιακής Μνήμης

Σε έναν πράκτορα κρατήσεων ταξιδιού, η εργασιακή μνήμη μπορεί να καταγράψει το τρέχον αίτημα του χρήστη, όπως “Θέλω να κλείσω ένα ταξίδι στο Παρίσι”. Αυτή η συγκεκριμένη απαίτηση διατηρείται στο άμεσο πλαίσιο του πράκτορα για να καθοδηγήσει την τρέχουσα αλληλεπίδραση.

Βραχυπρόθεσμη Μνήμη

Αυτός ο τύπος μνήμης διατηρεί πληροφορίες για τη διάρκεια μιας ενιαίας συνομιλίας ή συνεδρίας. Είναι το πλαίσιο της τρέχουσας συνομιλίας, επιτρέποντας στον πράκτορα να αναφερθεί σε προηγούμενες ανταλλαγές στο διάλογο.

Παράδειγμα Βραχυπρόθεσμης Μνήμης

Αν ένας χρήστης ρωτήσει, “Πόσο θα κοστίσει μια πτήση για το Παρίσι;” και στη συνέχεια συμπληρώσει με “Τι γίνεται με τη διαμονή εκεί;”, η βραχυπρόθεσμη μνήμη εξασφαλίζει ότι ο πράκτορας γνωρίζει ότι το “εκεί” αναφέρεται στο “Παρίσι” στην ίδια συνομιλία.

Μακροπρόθεσμη Μνήμη

Αυτές είναι πληροφορίες που παραμένουν σε πολλές συνομιλίες ή συνεδρίες. Επιτρέπουν στους πράκτορες να θυμούνται προτιμήσεις χρηστών, ιστορικές αλληλεπιδράσεις ή γενική γνώση για παρατεταμένες περιόδους. Αυτό είναι σημαντικό για την εξατομίκευση.

Παράδειγμα Μακροπρόθεσμης Μνήμης

Μια μακροπρόθεσμη μνήμη μπορεί να αποθηκεύσει ότι “O Ben απολαμβάνει το σκι και τις υπαίθριες δραστηριότητες, του αρέσει ο καφές με θέα στο βουνό, και θέλει να αποφεύγει προχωρημένες πίστες σκι λόγω παλαιότερου τραυματισμού”. Αυτές οι πληροφορίες, μάθειες από προηγούμενες αλληλεπιδράσεις, επηρεάζουν τις συστάσεις σε μελλοντικές συνεδρίες προγραμματισμού ταξιδιών, καθιστώντας τις ιδιαίτερα εξατομικευμένες.

Μνήμη Προσωπικότητας (Persona Memory)

Αυτός ο εξειδικευμένος τύπος μνήμης βοηθά έναν πράκτορα να αναπτύξει μια συνεπή “προσωπικότητα” ή “ρόλο”. Επιτρέπει στον πράκτορα να θυμάται λεπτομέρειες για τον εαυτό του ή τον προοριζόμενο ρόλο του, κάνοντας τις αλληλεπιδράσεις πιο ομαλές και εστιασμένες.

Παράδειγμα Μνήμης Προσωπικότητας Αν ο ταξιδιωτικός πράκτορας έχει σχεδιαστεί να είναι “έμπειρος σχεδιαστής σκι”, η μνήμη προσωπικότητας μπορεί να ενισχύσει αυτόν τον ρόλο, επηρεάζοντας τις απαντήσεις ώστε να ευθυγραμμίζονται με τον τόνο και τη γνώση ενός ειδικού.

Εργασιακή/Επεισοδιακή Μνήμη (Workflow/Episodic Memory)

Αυτή η μνήμη αποθηκεύει τη σειρά βημάτων που ακολουθεί ένας πράκτορας κατά τη διάρκεια μιας σύνθετης εργασίας, συμπεριλαμβανομένων των επιτυχιών και των αποτυχιών. Είναι σαν να θυμάται συγκεκριμένα “επεισόδια” ή εμπειρίες από το παρελθόν για να μάθει από αυτά.

Παράδειγμα Επεισοδιακής Μνήμης

Αν ο πράκτορας προσπάθησε να κλείσει μια συγκεκριμένη πτήση αλλά απέτυχε λόγω μη διαθεσιμότητας, η επεισοδιακή μνήμη θα μπορούσε να καταγράψει αυτή την αποτυχία, επιτρέποντας στον πράκτορα να δοκιμάσει εναλλακτικές πτήσεις ή να ενημερώσει πιο εμπεριστατωμένα τον χρήστη για το πρόβλημα σε μια επόμενη προσπάθεια.

Μνήμη Οντοτήτων (Entity Memory)

Αυτό περιλαμβάνει την εξαγωγή και την απομνημόνευση συγκεκριμένων οντοτήτων (όπως άτομα, τοποθεσίες ή αντικείμενα) και γεγονότων από συνομιλίες. Επιτρέπει στον πράκτορα να δημιουργήσει μια δομημένη κατανόηση των βασικών στοιχείων που συζητήθηκαν.

Παράδειγμα Μνήμης Οντοτήτων

Από μια συνομιλία για ένα προηγούμενο ταξίδι, ο πράκτορας μπορεί να εξαγάγει “Παρίσι,” “Πύργος του Άιφελ,” και “δείπνο στο εστιατόριο Le Chat Noir” ως οντότητες. Σε μια μελλοντική αλληλεπίδραση, ο πράκτορας θα μπορούσε να θυμηθεί το “Le Chat Noir” και να προσφέρει να κάνει μια νέα κράτηση εκεί.

Structured RAG (Retrieval Augmented Generation)

Ενώ το RAG είναι μια ευρύτερη τεχνική, το “Structured RAG” επισημαίνεται ως μια ισχυρή τεχνολογία μνήμης. Εξάγει πυκνές, δομημένες πληροφορίες από διάφορες πηγές (συνομιλίες, email, εικόνες) και τις χρησιμοποιεί για να βελτιώσει την ακρίβεια, την ανάκληση και την ταχύτητα στις απαντήσεις. Σε αντίθεση με το κλασικό RAG που βασίζεται αποκλειστικά στη σημασιολογική ομοιότητα, το Structured RAG δουλεύει με την έμφυτη δομή της πληροφορίας.

Παράδειγμα Structured RAG

Αντί να ταιριάζει μόνο λέξεις-κλειδιά, το Structured RAG μπορεί να αναλύσει λεπτομέρειες πτήσης (προορισμός, ημερομηνία, ώρα, αεροπορική εταιρεία) από ένα email και να τις αποθηκεύσει με δομημένο τρόπο. Αυτό επιτρέπει ακριβείς ερωτήσεις όπως “Ποια πτήση κλείσαμε για το Παρίσι την Τρίτη;”

Υλοποίηση και Αποθήκευση Μνήμης

Η υλοποίηση μνήμης για πράκτορες AI περιλαμβάνει μια συστηματική διαδικασία “διαχείρισης μνήμης”, που περιλαμβάνει τη δημιουργία, αποθήκευση, ανάκτηση, ενσωμάτωση, ενημέρωση και ακόμη και το “ξέχασμα” (ή διαγραφή) πληροφοριών. Η ανάκτηση είναι ένα ιδιαίτερα κρίσιμο στοιχείο.

Εξειδικευμένα Εργαλεία Μνήμης

Mem0

Ένας τρόπος για την αποθήκευση και διαχείριση της μνήμης του πράκτορα είναι η χρήση εξειδικευμένων εργαλείων όπως το Mem0. Το Mem0 λειτουργεί ως ένα επίμονο στρώμα μνήμης, επιτρέποντας στους πράκτορες να ανακαλούν σχετικές αλληλεπιδράσεις, να αποθηκεύουν προτιμήσεις χρηστών και φάκτικο πλαίσιο, και να μαθαίνουν από επιτυχίες και αποτυχίες με την πάροδο του χρόνου. Η ιδέα εδώ είναι ότι οι πράκτορες χωρίς κατάσταση μετατρέπονται σε πράκτορες με κατάσταση.

Λειτουργεί μέσω ενός διφασικού pipeline μνήμης: εξαγωγή και ενημέρωση. Πρώτα, τα μηνύματα που προστίθενται σε ένα νήμα πράκτορα αποστέλλονται στην υπηρεσία Mem0, η οποία χρησιμοποιεί ένα Μεγάλο Γλωσσικό Μοντέλο (LLM) για να συνοψίσει το ιστορικό συνομιλίας και να εξαγάγει νέες μνήμες. Στη συνέχεια, μια φάση ενημέρωσης που καθοδηγείται από LLM προσδιορίζει αν θα προστεθούν, θα τροποποιηθούν ή θα διαγραφούν αυτές οι μνήμες, αποθηκεύοντάς τες σε έναν υβριδικό αποθηκευτικό χώρο που μπορεί να περιλαμβάνει βάσεις δεδομένων vector, γραφημάτων και key-value. Αυτό το σύστημα επίσης υποστηρίζει διάφορους τύπους μνήμης και μπορεί να ενσωματώσει γράφο μνήμης για τη διαχείριση σχέσεων μεταξύ οντοτήτων.

Cognee

Μια άλλη ισχυρή προσέγγιση είναι η χρήση του Cognee, μιας ανοιχτού κώδικα σημασιολογικής μνήμης για Πράκτορες AI που μετασχηματίζει δομημένα και αδόμητα δεδομένα σε ερωτήσιμους γράφους γνώσης με υποστήριξη embeddings. Το Cognee παρέχει μια αρχιτεκτονική διπλής αποθήκευσης που συνδυάζει την αναζήτηση ομοιότητας vector με σχέσεις γραφήματος, επιτρέποντας στους πράκτορες να κατανοούν όχι μόνο ποιες πληροφορίες είναι παρόμοιες, αλλά και πώς οι έννοιες σχετίζονται μεταξύ τους.

Ξεχωρίζει στην υβριδική ανάκτηση που συνδυάζει ομοιότητα vector, δομή γραφήματος και λογική LLM - από απλή αναζήτηση κομματιών έως ερωταπαντήσεις με επίγνωση του γραφήματος. Το σύστημα διατηρεί ζωντανή μνήμη που εξελίσσεται και μεγαλώνει ενώ παραμένει ερωτήσιμη ως ένας ενιαίος συνδεδεμένος γράφος, υποστηρίζοντας τόσο το βραχυπρόθεσμο πλαίσιο συνεδρίας όσο και τη μακροπρόθεσμη επίμονη μνήμη.

Το σημειωματάριο οδηγιών Cognee (13-agent-memory-cognee.ipynb) επιδεικνύει την οικοδόμηση αυτού του ενιαίου στρώματος μνήμης, με πρακτικά παραδείγματα εισαγωγής ποικίλων πηγών δεδομένων, οπτικοποίησης του γράφου γνώσης και ερωτήσεων με διαφορετικές στρατηγικές αναζήτησης προσαρμοσμένες στις ανάγκες συγκεκριμένων πρακτόρων.

Αποθήκευση Μνήμης με RAG

Πέρα από εξειδικευμένα εργαλεία μνήμης όπως το mem0 , μπορείτε να αξιοποιήσετε στιβαρές υπηρεσίες αναζήτησης όπως το Azure AI Search ως backend για την αποθήκευση και ανάκτηση μνημών, ειδικά για το structured RAG.

Αυτό σας επιτρέπει να θεμελιώσετε τις απαντήσεις του πράκτορα με τα δικά σας δεδομένα, εξασφαλίζοντας πιο σχετικές και ακριβείς απαντήσεις. Το Azure AI Search μπορεί να χρησιμοποιηθεί για την αποθήκευση μνημών ταξιδιού συγκεκριμένων χρηστών, καταλόγων προϊόντων ή οποιασδήποτε άλλης γνώσης ειδικού τομέα.

Το Azure AI Search υποστηρίζει δυνατότητες όπως το Structured RAG, που διαπρέπει στην εξαγωγή και ανάκτηση πυκνών, δομημένων πληροφοριών από μεγάλα σύνολα δεδομένων όπως ιστορικά συνομιλιών, email ή ακόμα και εικόνες. Αυτό παρέχει “υπερ-ανθρώπινη ακρίβεια και ανάκληση” συγκριτικά με παραδοσιακές προσεγγίσεις κοπής κειμένου και embeddings.

Κάνοντας τους Πράκτορες AI να Αυτοβελτιώνονται

Ένα κοινό μοτίβο για πράκτορες που αυτοβελτιώνονται περιλαμβάνει την εισαγωγή ενός “πράκτορα γνώσης”. Αυτός ο ξεχωριστός πράκτορας παρατηρεί την κύρια συνομιλία μεταξύ του χρήστη και του πρωτεύοντος πράκτορα. Ο ρόλος του είναι να:

  1. Εντοπίζει πολύτιμες πληροφορίες: Καθορίζει αν κάποιο μέρος της συνομιλίας αξίζει να αποθηκευτεί ως γενική γνώση ή ως συγκεκριμένη προτίμηση χρήστη.

  2. Εξάγει και συνοψίζει: Αποστάζει τη βασική μάθηση ή προτίμηση από τη συνομιλία.

  3. Αποθηκεύει σε μια βάση γνώσης: Διατηρεί αυτή την εξαγμένη πληροφορία, συχνά σε μια vector βάση δεδομένων, ώστε να μπορεί να ανακτηθεί αργότερα.

  4. Εμπλουτίζει μελλοντικά ερωτήματα: Όταν ο χρήστης ξεκινά ένα νέο αίτημα, ο πράκτορας γνώσης ανακτά σχετικές αποθηκευμένες πληροφορίες και τις προσθέτει στο prompt του χρήστη, παρέχοντας κρίσιμο πλαίσιο στον κύριο πράκτορα (παρόμοιο με RAG).

Βελτιστοποιήσεις για τη Μνήμη

Διαχείριση Χρονικής Καθυστέρησης: Για να αποφευχθεί η επιβράδυνση των αλληλεπιδράσεων χρήστη, ένα φθηνότερο, γρηγορότερο μοντέλο μπορεί να χρησιμοποιηθεί αρχικά για να ελέγξει γρήγορα αν μια πληροφορία αξίζει να αποθηκευτεί ή να ανακτηθεί, καλώντας μόνο όταν χρειάζεται τη πιο σύνθετη διαδικασία εξαγωγής/ανάκτησης.

Συντήρηση Βάσης Γνώσης: Για μια αυξανόμενη βάση γνώσης, οι λιγότερο χρησιμοποιούμενες πληροφορίες μπορούν να μετακινηθούν σε “cold storage” για τη διαχείριση κόστους.

Έχετε Περισσότερες Ερωτήσεις για τη Μνήμη Πρακτόρων;

Join the Discord του Microsoft Foundry για να συναντήσετε άλλους μαθητευόμενους, να παρακολουθήσετε office hours και να λάβετε απαντήσεις στις ερωτήσεις σας για τους Πράκτορες AI.


Αποποίηση ευθυνών: Το παρόν έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης τεχνητής νοημοσύνης Co-op Translator (https://github.com/Azure/co-op-translator). Παρά τις προσπάθειές μας για ακρίβεια, παρακαλούμε λάβετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν σφάλματα ή ανακρίβειες. Το αρχικό έγγραφο στην πρωτότυπη γλώσσα του πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.