Brain: Πρακτορική μνήμη ως wiki γνώσης

Ένα δομημένο, ανιχνεύσιμο σύστημα αρχείων Markdown με δυνατότητα αυτοβελτίωσης, μεταγλωττισμένο εκτός σύνδεσης και προσβάσιμο κατ' απαίτηση.

ΣυγγραφείςPerplexity Engineering

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

Για παράδειγμα, όταν του ζητηθεί να σχεδιάσει ένα διάγραμμα μιας ροής εργασίας που ο χρήστης εξήγησε προηγουμένως, ο Computer θα πρέπει να ανακαλέσει τις λεπτομέρειες και να τις χρησιμοποιήσει για να δημιουργήσει και να εξάγει μια φιγούρα στο προτιμώμενο στυλ του χρήστη. Ο χρήστης δεν θα πρέπει να χρειάζεται να εξηγήσει ξανά τις λεπτομέρειες της ροής εργασίας ή να επαναλάβει την προτίμησή του για αντικείμενα PDF έναντι PNG· το σύστημα θα πρέπει να είναι σε θέση να ανακτήσει με ακρίβεια αυτό το πλαίσιο από προηγούμενες συνεδρίες και να το εφαρμόσει αυτόματα.

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

Εισαγωγή

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

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

Πρόσφατα, παρουσιάσαμε το Brain, ένα βασικό στοιχεία του συστήματος μνήμης του Computer που προσφέρει τα καλύτερα και των δύο κόσμων. Το Brain είναι ένα δομημένο wiki γνώσης που βρίσκεται πάνω από στατικά αρχεία μνήμης και αποδεικτικά στοιχεία. Οι παραπομπές συνδέουν τους ισχυρισμούς με τις πηγές τους, και συναφή κομμάτια πληροφοριών συνδέονται πλευρικά. Το οργανωμένο wiki κάνει το πλαίσιο πλοήγήσιμο κατά παραγγελία, ενώ τα λεπτομερή αντικείμενα διατηρούνται στο επίπεδο κάτω από αυτό.

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

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

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

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

Οργάνωση και αποθήκευση μνήμης

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

Μνήμη βασισμένη σε σύστημα αρχείων

Οι συνεδρίες Computer ζουν ήδη σε ένα sandbox με σύστημα αρχείων, κέλυφος και βοηθητικά προγράμματα I/O. Κατά τον σχεδιασμό του Brain, θέλαμε να εισάγουμε όσο το δυνατόν λιγότερους νέους μηχανισμούς στη διεπαφή μεταξύ του μοντέλου και της μνήμης του πράκτορα. Γι' αυτόν τον λόγο χτίσαμε το Brain πάνω σε ένα επίπεδο πλαισίου εγγενές στο σύστημα αρχείων. Η μνήμη υλοποιείται ως αρχεία στο sandbox κάτω από έναν κατάλογο memory/ και ο πράκτονας απλώς χρησιμοποιεί τα ίδια εργαλεία στα αρχεία μνήμης που χρησιμοποιεί ήδη για όλα τα υπόλοιπα.

Στη ρίζα του δέντρου μνήμης κάθονται τρεις κατάλογοι ανώτατου επιπέδου που διατηρούν το πλαίσιο σε διάφορα επίπεδα αφαίρεσης. Το knowledge/ είναι το ίδιο το Brain, ένα συντεθειμένο wiki γνώσης που συνδέει οντότητες, έννοιες, ενεργά έργα και παρελθούσες γνώσεις· το notes/ περιέχει αποσταγμένα αποσπάσματα οργανωμένα ως θεματικούς φακέλους· και το sessions/ διατηρεί ευρετήρια, περιλήψεις και πλήρεις απομαγνητοφωνήσεις ως τα ακατέργαστα ιστορικά. Το παρακάτω σχήμα δείχνει μια απλοποιημένη προβολή της διάταξης.

Δέντρο καταλόγων που δείχνει το memory/ με υποφάκελους knowledge/, notes/ και sessions/.
Ένα δείγμα προβολής της διάταξης του συστήματος αρχείων μνήμης.

Οι επιφάνειες είναι σκόπιμα πλεονάζουσες. Για απλές ερωτήσεις ενός βήματος, συχνά αρκεί η αναζήτηση αποσπασμάτων εντός του /notes για μια λέξη-κλειδί, ενώ το επίπεδο /knowledge είναι πιο χρήσιμο για ερωτήσεις που απαιτούν τη σύνδεση αποδεικτικών στοιχείων σε εβδομάδες ή μήνες συνεδρίων του Computer.

Brain: Το wiki γνώσης

Το Brain είναι μορφοποιημένο ως LLM wiki, ένα σύστημα συνδεδεμένων αρχείων Markdown. Αυτή η μορφή ελαφρώς δομημένου Markdown παρέχει μια ολιστική προβολή του υπάρχοντος πλαισίου, έτσι ώστε οι πράκτορες να μπορούν εύκολα να κατανοήσουν ποια αρχεία είναι διαθέσιμα, πώς συσχετίζονται και πού να τα βρουν. Κάθε σελίδα είναι μια συντηρημένη προβολή ενός θέματος· θα πρέπει να παραμένει χρήσιμη όταν διαβάζεται μόνη της, καθιστώντας παράλληλα εύκολη την περαιτέρω εξερεύνηση μέσω συνδέσμων.

Οι σύνδεσμοι διαχωρίζονται σε δύο τύπους. Οι [[wikilinks]] είναι ακμές πλαισίου. Συνδέουν τις σελίδες πλευρικά· ένα έργο μπορεί να συνδεθεί με τον κάτοχό του, τον πελάτη του ή τις έννοιες από τις οποίες εξαρτάται. Η παρακολούθησή τους απαντά στο ερώτημα «ti άλλο πρέπει να γνωρίζω;». Οι αναφορές [cite:N] είναι ακμές αποδεικτικών στοιχείων. Συνδέουν τους ισχυρισμούς προς τα κάτω με τις ακατέργαστες συνεδρίες ή τις πηγές συνδέσμων που τους υποστηρίζουν. Η παρακολούθησή τους απαντά στο ερώτημα «πώς ξέρω ότι αυτό είναι αλήθεια;».

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

Ένα δείγμα σελίδας wiki του Brain αποδιδόμενο ως Markdown, που δείχνει wikilinks και ακμές παραπομπών εντός κειμένου.
Το Brain είναι ένα σύστημα αρχείων Markdown.
Ένα υπογράφημα από ένα δείγμα σελίδας wiki του Brain, οπτικοποιημένο ως γράφημα συνδεδεμένων οντοτήτων και πηγών.
Το ενσωματωμένο πλαίσιο και οι ακμές αποδεικτικών στοιχείων σχηματίζουν μια δομή γράφηματος για εύκολη πλοήγηση.

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

Χρήση του Brain

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

Στρατηγική εξερεύνησης

Συμπεριλαμβάνουμε ένα συμπαγές ευρετήριο του Brain εντός του αρχικού μηνύματος χρήστη, ώστε ο πράκτονας να ξεκινά με γνώση εργασίας για το τι υπάρχει ήδη. Στη συνέχεια, ο πράκτονας αλληλεπιδρά με το Brain χρησιμοποιώντας οικείες λειτουργίες: ανάγνωση συγκεκριμένων αντικειμένων που αναφέρονται από το ευρετήριο, χρήση grep για αναζήτηση σε σελίδες, παρακολούθηση συνδέσμων και επιθεώρηση παραπομπών, σύγκριση αναθεωρήσεων Git και κατάβαση σε συνεδρίες ή ακατέργαστες τροχιές. Το παρακάτω μπλοκ κώδικα απεικονίζει δείγματα εντολών για μια συνθετική περσόνα.

bash
# 1. Orient: the index is a map of everything known cat memory/knowledge/index.md # 2. Target: find pages that touch the question grep -Ril "kyoto\|sendai" memory/knowledge/ # 3. Read the page; follow context edges as needed cat memory/knowledge/projects/japan-universal-design-sprint.md cat memory/knowledge/entities/sora-city-laboratory.md # via [[wikilink]] cat memory/knowledge/entities/sapphir-mobility-coop.md # via [[wikilink]] # 4. Only if the claim must be verified: resolve evidence # city bases → [cite:1], [cite:10] → pplx://sessions/<id> # # Example (pseudo, replace with your real tool): # pplx-session-fetch 1eaf53d4-09e0-5823-bb96-c8662f582708 --slice <slice-id> # 5. Some evidence lives outside the sessions # meeting slots → [cite:15] → connector://google-calendar # # pplx-connector-fetch google-calendar --query "japan-sprint"

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

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

Υλοποίηση αρχείων

Για να λειτουργήσει η πρακτορική εξερεύνηση, ο πράκτονας πρέπει να έχει πρόσβαση σε ολόκληρο το δέντρο memory/ μέσω του συστήματος αρχείων sandbox. Η τοπική αντιγραφή ολόκληρου του δέντρου κάθε φορά που γίνεται εκκίνηση ενός sandbox είναι δαπανηρή και περιττή, καθώς ο πράκτονας δεν θα αγγίξει την τεράστια πλειοψηφία αυτών των αρχείων. Μ μια άλλη επιλογή θα ήταν η χρήση ενός απομακρυσμένου συστήματος αρχείων, ώστε οι πράκτορες να έχουν πρόσβαση σε οποιοδήποτε αρχείο χωρίς να τα αντιγράφουν τοπικά. Ωστόσο, οι πράκτορες συχνά εκτελούν χιλιάδες λειτουργίες συστήματος αρχείων σε μία μόνο εντολή. Εάν κάθε μία γίνει αίτημα δικτύου, το κόστος των διαδρομών μετ' επιστροφής αρχίζει να κυριαρχεί στον βρόχο εξερεύνησης. Στις εσωτερικές δοκιμές, οι απλοί φόρτοι εργασίας grep σε μια απομακρυσμένη διαδρομή που υποστηρίζεται από FUSE ήταν περίπου 400 έως 500 φορές πιο αργοί από τις αντίστοιχες λειτουργίες σε τοπικά αρχεία.

Αν αυτού, χτίζουμε ένα τοπικό σύνολο εργασίας υλοποιημένων αρχείων, ενώ το μεγαλύτερο σώμα παραμένει πίσω από ένα σύστημα ανάκτησης μνήμης. Ο Computer προφορτώνει έναν αρχικό χάρτη (που λαμβάνεται από πρόσφατες μνήμες, συνεδρίες, περιλήψεις και διαθέσιμη γνώση) στο sandbox όταν εκκineίται. Οι πράκτορες του Computer έχουν πρόσβαση σε έναν Memory Agent, έναν υποπράκτορα που μπορεί να εκτελέσει σημασιολογική αναζήτηση και να φορτώσει ένα νέο σύνολο αρχείων. Όταν λείπει το απαιτούμενο πλαίσιο, ο Computer μπορεί να καλέσει τον Memory Agent με μια περιγραφή των απαιτούμενων πληροφοριών. Ο Memory Agent πραγματοποιεί αναζήτηση σε αρχεία, επιστρέφοντας μια άμεση σύνθεση κειμένου και υλοποιώντας τα υποστηρικτικά αρχεία ως αρχεία κάτω από το δέντρο μνήμης. Με αυτόν τον τρόπο, το σύνολο εργασίας επεκτείνεται φυσικά και σταδιακά με την πάροδο του χρόνου, διατηρώντας σταθερές διαδρομές και σχέσεις πηγών για αποδεικτικά στοιχεία που ήδη υπάρχουν.

Διάγραμμα που δείχνει την αρχική προφόρτωση αρχείων συν την ανάκτηση από τον Memory Agent κατά παραγγελία, η οποία υλοποιεί αρχεία στο sandbox.
Η προφόρτωση συνεδρίας και η σημασιολογική ανάκτηση από τον Memory Agent φορτώνουν έναν αρχικό χάρτη αρχείων που ο πράκτονας είναι πιο πιθανό να χρειαστεί.

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

Συντήρηση του Brain

Οι χρήστες μαθαίνουν συνεχώς από την εργασία που κάνουν και τις συνομιλίες που έχουν, οπότε η πρακτορική μνήμη πρέπει να κάνει το ίδιο. Για να παραμείνει χρήσιμο το Brain, θα πρέπει να είναι μια συνοπτική αναπαράσταση της πιο σημαντικής γνώσης. Θα πρέπει να δημιουργηθούν νέες σελίδες για σημαντικές νέες οντότητες, να προστεθούν νέες πληροφορίες στις σχετικές σελίδες του Brain και να αφαιρεθεί εγκαίρως το ξεπερασμένο πλαίσιο. Για παράδειγμα, εάν η δουλειά ενός χρήστη αλλάξει, το Brain θα πρέπει να αντικατοπτρίζει αυτή την αλλαγή· θα πρέπει να περιέχει τη νέα δουλειά του χρήστη και να δίνει προτεραιότητα σε πληροφορίες σχετικές με τις νέες του ευθύνες και έργα.

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

Dream: Πράκτορες υποβάθρου για τη βελτίωση της μνήμης

Οι πράκτορες Dream εκτελούνται σε sandboxes με πρόσβαση στο ίδιο σύστημα αρχείων και εργαλεία μόνο για ανάγνωση που θα είχε μια διαδραστική συνεδρία Computer, αλλά μοναδικός τους στόχος είναι η βελτίωση του πλαισίου για μελλοντικές συνεδρίες. Κάθε εκτέλεση ξεκινά από το Brain που παρήχθη από προηγούμενες εκτελέσεις αντί να ανοικοδομεί το πλαίσιο του χρήστη από το μηδέν. Στη συνέχεια χρησιμοποιεί αυτό το τρέχον Brain για να προσανατολιστεί και παράγει ένα ενημερωμένο Brain για χρήση από μελλοντικές εκτελέσεις.

Διάγραμμα βρόχου: οι διαδραστικές συνεδρίες τροφοδοτούν το Dream, το οποίο ενημερώνει το Brain, το οποίο βελτιώνει μελλοντικές συνεδρίες.
Οι πράκτορες Dream εργάζονται στο υπόβαθρο για να ενημερώνουν το Brain, σχηματίζοντας έναν βρόχο αυτοβελτίωσης.

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

Σε γενικές γραμμές, μια εκτέλεση Dream αποτελείται από 4 φάσεις:

  1. Προσανατολισμός: Ο πράκτονας ολοκληρώνει μια διατεταγμένη διαδικασία προσανατολισμού. Προσδιορίζει το εξουσιοδοτημένο πεδίο εφαρμογής, τις πάγιες οδηγίες, το αρχείο καταγραφής διαγραφών, πρόσθετες εισόδους και τις συνθήκες διακοπής.
  2. Σύνοψη συνεδριών: Για κάθε συνεδρία που είναι νέα (ή είχε νέες στροφές) από την τελευταία ενημέρωση, ο πράκτορας γράφει (ή ενημερώνει) μια σύντομη σύνοψη της συνεδρίας.
  3. Επισύναψη γεγονότων σε θέματα: Ο πράκτονας προσθέτει κάθε παρατήρηση που θεωρεί σημαντική στην κατάλληλη θέση της, η οποία είναι συνήθως μια σελίδα wiki. Ερευνά και υποβάλλει ερωτήματα σε αυθεντικοποιημένους συνδέσμους όταν είναι διαθέσιμοι.
  4. Ενημέρωση wiki γνώσης: Ο πράκτονας ενημερώνει το wiki με βάση τα ευρήματά του. Μπορεί να παράγει νέες σελίδες για ανθεκτικά θέματα, να αναθεωρεί σελίδες όταν η τρέχουσα σύνθεση έχει αλλάξει ή να προσθέτει νέους συνδέσμους ή παραπομπές που υποστηρίζουν έναν ισχυρισμό γεγονότος. Μπορεί επίσης να επιλέξει να μην κάνει καμία αλλαγή όταν το τρέχον γράφημα είναι ήδη σωστό.

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

Διάγραμμα λωρίδων κολύμβησης μιας εκτέλεσης Dream που παράγει προτεινόμενες ενημερώσεις σε σελίδες του Brain.
Οι πράκτορες Dream χρησιμοποιούν το υπάρχον Brain και νέες πληροφορίες για να προτείνουν και να γράψουν ενημερώσεις.

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

Επικύρωση του Brain

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

Αξιολογήσεις εκτός σύνδεσης

Η κύρια αξιολόγησή μας εκτός σύνδεσης χρησιμοποιεί ένα εσωτερικό σύνολο δεδομένων 640 ερωτήσεων σε 44 συνθετικές περσόνες. Οι περσόνες αναπαράγουν μοτίβα που προέρχονται από την παραγωγή όσον αφορά τον ρυθμό των συνεδρίων, τον αριθμό των στροφών, τον συνδυασμό θεμάτων και την πυκνότητα γεγονότων, ενώ δεν περιέχουν κείμενο ερωτημάτων παραγωγής για τη διατήρηση του απορρήτου των χρηστών. Κάθε λογαριασμός συμπληρώνεται μέσω της διοχέτευσης μνήμης παραγωγής, συμπεριλαμβανομένης της εξαγωγής μνήμης, των περιλήψεων συνομιλιών και της μεταγλώττισης του wiki γνώσης από το Dream. Για κάθε ερώτηση, η σωστή απάντηση συνδέεται μηχανικά με συγκεκριμένα αποδεικτικά στοιχεία που υπάρχουν στο ιστορικό του λογαριασμού.

Για παράδειγμα, για τη Nadia, τη συνθετική περσόνα ερευνητρίας προσβασιμότητας που εισήχθη νωρίτερα, το σύνολο δεδομένων περιλαμβάνει την ερώτηση: «Ποιους οργανισμούς συναντώ στο Κιότο και στο Σεντάι;». Η απάντηση (Sora City Lab στο Κιότο και Sapphir Mobility Coop στο Σεντάι) εμφανίζεται απευθείας στην αντίστοιχη σελίδα Wiki.

Συγκρίνουμε τις ίδιες ερωτήσεις και λογαριασμούς με ενεργοποιημένο έναντι απενεργοποιημένου του μεταγλωττισμένου wiki γνώσης. Άλλες επιφάνειες μνήμης παραμένουν διαθέσιμες και στις δύο συνθήκες. Αυτό απομονώνει τη σταδιακή συνεισφορά του Brain, αντί να συγκρίνει τη μνήμη με την απουσία μνήμης. Συνολικά, το Brain αύξησε την ορθότητα των απαντήσεων από 0,600 σε 0,661, μια αύξηση 6,3 ποσοστιαίων μονάδων, και την ανάκληση αποδεικτικών στοιχείων από 0,573 σε 0,625, μια αύξηση 5,2 ποσοστιαίων μονάδων. Η επίδραση ήταν μεγαλύτερη για ερωτήσεις σχετικά με προτιμήσεις (+10,2 π.μ.), χρονικό συλλογισμό (+8,6 π.μ.) και εξαγωγή λεπτομερειών από προηγούνη δραστηριότητα (+6,9 π.μ.). Στο 84% των ερωτήσεων, ο πράκτονας άγγιξε επαληθεύσιμα μια πηγή δεμένη στα τεκμηριωμένα στοιχεία.

Ραβδόγραμμα που συγκρίνει την ορθότητα των απαντήσεων και την ανάκληση αποδεικτικών στοιχείων με και χωρίς το Brain ανά κατηγορία ερωτήσεων.
Το Brain βελτιώνει την απόδοση στο εσωτερικό μας σημείο αναφοράς.

Εκτελέσαμε επίσης αντιστοιχισμένες αποκοπές του Brain σε υποσύνολα δύο δημόσιων σημείων αναφοράς (benchmarks). Στο LoCoMo, η αφαίρεση του wiki μείωσε την ορθότητα των απαντήσεων κατά 4,6 ποσοστιαίες μονάδες κατά μέσο όρο, σε τρεις εκτελέσεις με διαφορετικά μοντέλα. Στο LongMemEval-S δεν παρήγαγε καμία στατιστικά σημαντική αλλαγή. Αυτό το αποτέλεσμα είναι συνεπές με τον επιδιωκόμενο ρόλο του Brain. Το LongMemEval-S δοκιμάζει κυρίως την ανάκτηση γεγονότων από μεμονωμένες συνεδρίες, όπου οι υποκείμενες απομαγνητοφωνήσεις παρέχουν μια πλεονάζουσα διαδρομή προς την απάντηση. Το LoCoMo δίνει μεγαλύτερη έμφαση σε αποδεικτικά στοιχεία διασκορπισμένα σε συνομιλίες, ομιλητές και ημερομηνίες, δημιουργώντας περισσότερες ευκαιρίες για τη συμβολή της σύνθεσης διασυνομιλιακού επιπέδου του wiki.

Συνολικά, με ενεργοποιημένο το Brain, ο πράκτορας παραγωγής πέτυχε ορθότητα απαντήσεων 0,91 στο LongMemEval-S και 0,83 στο LoCoMo. Επειδή αυτά τα πειράματα χρησιμοποίησαν υποσύνολα σημείων αναφοράς, δεν αποτελούν οριστικά αποτελέσματα σημείων αναφοράς. Ωστόσο, οι αποκοπές εξακολουθούν να παρέχουν ισχυρά σήματα ότι το wiki βελτιώνει την απόδοση, ειδικά όταν τα αποδεικτικά στοιχεία πρέπει να ενσωματωθούν σε συνομιλίες. Καθώς το Brain είναι μέρος του Computer, και όχι ένα βελτιστοποιημένο σύστημα ανάκτησης ειδικό για σημεία αναφοράς, πιστεύουμε ότι η ανταγωνιστικότητα θα αυξηθεί μόνο με εργασίες που μοιάζουν περισσότερο με ροές εργασίας παραγωγής.

Διαδικτυακές αξιολογήσεις

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

Τα προκαταρκτικά αποτελέσματα που αναφέρθηκαν στις 18 Ιουνίου έδειξαν ότι το Brain αυξάνει την ορθότητα των απαντήσεων κατά 25% και την ανάκληση κατά 16%. Αυτά τα κέρδη απόδοσης συνέχισαν να διατηρούνται· τις τελευταίες 30 ημέρες, οι συνεδρίες με ενεργοποιημένο το Brain ξεπέρασαν τον έλεγχο σε κάθε εκτέλεση και σε κάθε υπό κρίση διάσταση. Με απόλυτους όρους, οι χρήστες του Computer απόλαυσαν βελτιώσεις 9,3 μονάδων στην ορθότητα, 8,0 μονάδων στην επικαιρότητα και 8,9 μονάδων στην ανάκληση. Οι τροχιές με ενεργοποιημένο το Brain χρησιμοποίησαν επίσης περίπου 15% λιγότερα tokens, κόστισαν 10% λιγότερο και ολοκλήρωσαν τη δημιουργία 10% πιο γρήγορα.

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

Συνεχής βελτίωση

Συνεχίζουμε να βελτιώνουμε το Brain για να προσφέρουμε την καλύτερη εμπειρία μνήμης στους χρήστες. Μια πρόσφατη αλλαγή τοποθετεί το συμπαγές ευρετήριο του Brain απευθείας στο αρχικό πλαίσιο του πράκτορα αντί να απαιτεί από τον πράκτορα να το ανακαλύψει και να το διαβάσει αργότερα. Σε ένα τυχαιοποιημένο πείραμα, αυτή η θεραπεία προφόρτωσης αύξησε τη χρήση του Brain και μείωσε τη δυσαρέσκεια που σχετίζεται με τη μνήμη κατά 6,9%.

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

Συμπέρασμα

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

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

Ήδη, το Brain έχει οδηγήσει σε πιο ακριβείς και αποδοτικές συνεδρίες πρακτόρων, μειώνοντας παράλληλα τα δαπανώμενα tokens. Η προσεκτική συν-σχεδίαση του Brain με τη στοίβα παραγωγής του Computer διασφαλίζει ότι αυτά τα κέρδη μεταφράζονται άμεσα σε πραγματικά οφέλη για τους χρήστες.

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