ai-agents-for-beginners

Μνήμη για Πράκτορες AI

Agent Memory

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

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

Εισαγωγή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τύποι Μνήμης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μνήμη Ροής Εργασίας/Επεισοδιακή Μνήμη

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

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

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

Μνήμη Οντοτήτων

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

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

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

Δομημένο RAG (Ενισχυμένη Αναζήτηση με Ανάκτηση)

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

Παράδειγμα Δομημένου RAG

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

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

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

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

Mem0

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

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

Cognee

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελάτε στο Azure AI Foundry Discord για να γνωρίσετε άλλους μαθητές, να παρακολουθήσετε ώρες γραφείου και να λύσετε τις απορίες σας σχετικά με τους Πράκτορες AI.


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