Brain: Memoria agentică ca wiki de cunoștințe
Un sistem de fișiere Markdown structurat, trasabil și auto-ameliorativ, compilat offline și navigat la cerere.
Utilizatorii Computer efectuează lucrări care se întind pe parcursul a luni și sute de sesiuni. Până la a zecea sesiune, sistemul ar trebui să fie mult mai productiv decât în prima. Ar trebui să acumuleze context despre utilizator, preferințele acestuia și munca care a fost deja făcută.
De exemplu, atunci când i se cere să deseneze o diagramă a unui flux de lucru explicat anterior de utilizator, Computer ar trebui să își amintească detaliile și să le folosească pentru a crea și a genera o figură în stilul preferat al utilizatorului. Utilizatorul nu ar trebui să fie nevoit să re-explice detaliile fluxului de lucru sau să își reitereze preferința pentru artefactele PDF în favoarea celor PNG; sistemul ar trebui să poată recupera cu precizie acel context din sesiunile trecute și să îl aplice automat.
Memoria este fundamentul îmbunătățirii continue a agenților. Un sistem de memorie eficient ar trebui să fie structurat, trasabil și adaptabil, permițând agenților să caute la lățimea și adâncimea potrivite pentru fiecare sarcină, fundamentând în același timp fiecare decizie în cele mai recente informații.
Introducere
Insuflarea unui context relevant agenților este o problemă cu mai multe fațete. În primul rând, agenții trebuie să știe ce există și cum să îl acceseze. În al doilea rând, atunci când găsesc o informație utilă, trebuie să fie siguri că este completă, exactă și actualizată. Un fapt izolat are o valoare limitată, exceptând cazul în care agentul poate găsi informații conexe, poate verifica dacă provin dintr-o sursă de încredere și se poate asigura că nu trebuie actualizat cu o observație mai recentă.
Introducerea directă a fișierelor de memorie statică în contextul modelului maximizează accesibilitatea pentru agenți, dar prezintă un compromis clasic între precizie și reamintire. Prea multe informații vor satura fereastra de context a agentului cu elemente de relevanță tot mai mică, în timp ce prea puțin va degrada calitatea răspunsului din cauza lipsei unui context relevant. În schimb, accesul la cerere la bazele de date externe este mai flexibil, dar mută povara navigării asupra agentului. Bazele de date vectoriale stochează adesea fragmente deconectate, iar bazele de date grafice le cer agenților să știe cum să interogheze în mod eficient.
Recent, am introdus Brain, o componentă de bază a sistemului de memorie al Computer care oferă ce este mai bun din ambele lumi. Brain este un wiki de cunoștințe structurat care se află deasupra fișierelor de memorie statică și a dovezilor. Citările leagă afirmațiile de sursele lor, iar informațiile conexe sunt conectate lateral. Wiki-ul organizat face contextul navigabil la cerere, în timp ce artefactele detaliate sunt păstrate în stratul de dedesubt.

Brain se conectează la un sistem de memorie cuprinzător cu trei componente cheie: stocarea memoriei durabile, agenții din prim-plan care folosesc memoria pentru a răspunde la interogări și agenții de fundal care actualizează și îmbunătățesc memoria. Figura următoare descrie aceste componente situate în cadrul arhitecturii generale a sistemului Brain.

În acest articol, descriem în profunzime fiecare strat, explicând cum își organizează Brain memoria, cum o folosesc agenții și cum o țin procesele de fundal la zi. De asemenea, prezentăm rezultate din evaluări interne care validează designul Brain, demonstrând că îmbunătățește performanța agentului la un cost mai mic.
Organizarea și stocarea memoriei
Memoria are nevoie de o reprezentare care să se extindă la întregul istoric al unui utilizator, fără a obliga fiecare bucată de context să intre în prompt. Sistemul de memorie al Computer reprezintă contextul persistent ca un sistem de fișiere. Brain sintetizează cunoștințele din surse brute, conectând subiecte conexe și conectând revendicările înapoi la sesiunile și fișierele care le susțin. Această structură, detaliată mai jos, ne permite să organizăm memoria într-o formă deosebit de potrivită pentru agenți.
Memorie bazată pe sistemul de fișiere
Sesiunile Computer trăiesc deja într-un sandbox cu un sistem de fișiere, un shell și utilitare I/O. În proiectarea Brain, am dorit să introducem cât mai puțin echipament nou posibil în interfața dintre model și memoria agentului. De aceea am construit Brain deasupra unui strat de context nativ pentru sistemul de fișiere. Memoria este materializată ca fișiere în sandbox sub directorul memory/, iar agentul folosește pur și simplu aceleași instrumente pe fișierele de memorie pe care le folosește deja pe orice altceva.
La rădăcina arborelui de memorie se află trei directoare de nivel superior care mențin contextul la diferite niveluri de abstracție. knowledge/ este chiar Brain, un wiki de cunoștințe sintetizat care leagă entități, concepte, proiecte active și învățări anterioare; notes/ conține fragmente distilate organizate ca dosare tematice; și sessions/ conține indexuri, rezumate și transcrieri complete ca istorii brute. Figura de mai jos prezintă o vedere simplificată a aspectului.

Suprafețele sunt în mod deliberat redundante. Pentru întrebări simple, cu un singur hop, este adesea suficient să căutați fragmente în /notes după un cuvânt cheie, în timp ce stratul /knowledge este cel mai util pentru întrebările care necesită îmbinarea dovezilor de-a lungul a săptămâni sau luni de sesiuni Computer.
Brain: Wiki-ul de cunoștințe
Brain este formatat ca un wiki LLM, un sistem de fișiere Markdown legate între ele. Această formă de Markdown ușor structurat oferă o viziune holistică asupra contextului existent, astfel încât agenții să poată înțelege cu ușurință ce înregistrări sunt disponibile, cum se raportează acestea și unde să le găsească. Fiecare pagină este o vizualizare întreținută a unui subiect; ar trebui să rămână utilă atunci când este citită singură, făcând în același timp ușoară explorarea ulterioară prin legături.
Legăturile sunt de două tipuri. [[wikilinks]] sunt muchii de context. Ele conectează paginile lateral; un proiect se poate conecta la proprietarul său, la clientul său sau la conceptele de care depinde. Urmărirea lor răspunde la întrebarea "ce altceva trebuie să știu?". Referințele [cite:N] sunt muchii de dovezi. Ele conectează afirmațiile în jos către sesiunile brute sau sursele conectorului care le susțin. Urmărirea lor răspunde la întrebarea "cum știu că acest lucru este adevărat?"
Figurile de mai jos descriu cum ar arăta o parte din Brain pentru o persoană sintetică, un cercetător în domeniul accesibilității numit Nadia. Brain-ul ei include o pagină despre un proiect eșantion, un sprint de design universal în Japonia, sintetizând cunoștințe din sesiuni și conectori. Vizualizarea grafică demonstrează cum contextul și muchiile de dovezi prezente în pagină leagă entitățile și sursele conexe.


Brain are la bază Git pentru a păstra istoricul versiunilor, susținându-i natura în continuă evoluție. Paginile pot fi editate în timp, în timp ce jurnalele de modificări înregistrează actualizări cheie și le permit agenților să inspecteze cu ușurință versiunile anterioare și diferențele (diffs). Acest lucru acceptă, de asemenea, coordonarea agentică, care este esențială deoarece mai mulți agenți pot utiliza și actualiza Brain în același timp.
Utilizarea Brain
Atunci când răspund la o interogare a utilizatorului, agenții trebuie să poată găsi contextul potrivit la nivelulul de detaliu potrivit. Structura Brain le facilitează agenților explorarea memoriei. Agenții pot alege între pași acționabili, cum ar fi urmărirea legăturilor de context pentru a găsi informații conexe, urmărirea legăturilor de dovezi pentru a verifica afirmațiile sau apelarea unui subagent pentru a obține și sintetiza context suplimentar. Ghidăm procesul de explorare agentică într-o serie de moduri menite să maximizeze ușurința de acces a agenților la informațiile relevante.
Strategie de explorare
Incluzăm un index compact al Brain în cadrul mesajului inițial al utilizatorului, astfel încât agentul să înceapă cu cunoștințe de lucru despre ceea ce există deja. Agentul interacționează apoi cu Brain folosind operațiuni familiare: citirea unor elemente specifice la care face referire indexul, utilizarea grep pentru a căuta în pagini, urmărirea legăturilor și inspectarea citărilor, compararea reviziilor Git și coborârea în sesiuni sau traiectorii brute. Blocul de cod de mai jos descrie comenzi de exemplu pentru o persoană sintetică.
# 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"Agenții explorează acest context printr-o buclă auto-dirijată, mai degrabă decât printr-o conductă fixă. Prin urmare, agentul poate continua căutarea până când este mulțumit de contextul găsit. De asemenea, agentul poate alege când să inspecteze citările și dovezile pentru a găsi sau verifica detalii. O chestiune minoră de preferință poate fi adoptată direct dintr-o singură pagină Brain, în timp ce o decizie consecventă sau un conflict între surse poate justifica urmărirea citării și citirea înregistrării originale. Structura bazată pe grafic îi permite agentului să aleagă între pași următori concreți, în loc să caute fără țintă informații conexe.

Materializarea fișierelor
Pentru ca explorarea agentică să funcționeze, agentul trebuie să aibă acces la întregul arbore memory/ prin intermediul sistemului de fișiere sandbox. Copierea întregului arbore la nivel local de fiecare dată când pornește un sandbox este costisitoare și inutilă, deoarece agentul nu va atinge marea majoritate a acelor fișiere. O altă opțiune ar fi utilizarea unui sistem de fișiere la distanță, astfel încât agenții să poată accesa orice fișier fără a le copia la nivel local. Cu toate acestea, agenții efectuează adesea mii de operațiuni pe sistemul de fișiere într-o singură comandă; dacă fiecare devine o cerere de rețea, costul turului-retur începe să domine bucla de explorare. În testele interne, sarcinile de lucru simple grep pe o cale la distanță bazată pe FUSE au fost de aproximativ 400 până la 500 de ori mai lente decât operațiunile echivalente pe fișiere locale.
În schimb, construim un set de lucru local de fișiere materializate, în timp ce corpusul mai mare rămâne în spatele unui sistem de preluare a memoriei. Computer preîncarcă o hartă inițială (preluată din memorii recente, sesiuni, rezumate și cunoștințe disponibile) în sandbox atunci când pornește. Agenții Computer au acces la un agent de memorie, un subagent care poate efectua căutări semantice și poate încărca un nou set de fișiere. Atunci când contextul necesar lipsește, Computer poate apela agentul de memorie cu o descriere a informațiilor necesare. Agentul de memorie caută în fișiere, returnând o sinteză text imediată și materializând înregistrările suport ca fișiere sub arborele de memorie. În acest fel, setul de lucru se extinde natural și treptat în timp, păstrând căi stabile și relații sursă pentru dovezile deja prezente.

Acest design rezolvă clar problema blocajului de latență. Stocarea fișierelor relevante la nivel local asigură că operațiunile pe sistemul de fișiere necesare pentru explorare rămân rapide, iar recuperarea în loturi permite ca fondul de fișiere materializate să crească fără a necesita apeluri separate pentru fiecare fișier sau încărcarea unui număr mare de fișiere nerelevante. Designul cu agenți imbricați oferă, de asemenea, Computer beneficiile recuperării agentice fără a cere agentului principal să caute direct în corpusul complet de backend de fiecare dată, păstrându-și propria fereastră de context pentru informațiile de cea mai înaltă valoare.
Menținerea Brain
Utilizatorii învață în mod constant din munca pe care o fac și din conversațiile pe care le au, așa că memoria agentică trebuie să facă același lucru. Pentru ca Brain să rămână util, ar trebui să fie o reprezentare concisă a celor mai importante cunoștințe. Ar trebui create pagini noi pentru noi entități importante, ar trebui adăugate informații noi la paginile Brain relevante, iar contextul depășit ar trebui eliminat sezonier. De exemplu, dacă locul de muncă al unui utilizator se schimbă, Brain ar trebui să reflecte această schimbare; ar trebui să conțină noul loc de muncă al utilizatorului și să acorde prioritate informațiilor legate de noile sale responsabilități și proiecte.
Brain este întreținut de agenți de fundal pe care îi numim Dream. Agenții Dream rulează offline peste memoria bazată pe fișiere, sintetizând informații noi în actualizări Brain. Am definit cu atenție domeniul de aplicare și comportamentul agenților Dream pentru a duce la îndeplinire în mod eficient această sarcină, împreună cu elemente de protecție specifice Dream pentru a ne asigura că actualizările Brain sunt consistente și corecte.
Dream: Agenți de fundal pentru rafinarea memoriei
Agenții Dream rulează în sandbox-uri cu acces la același sistem de fișiere și instrumente doar pentru citire pe care le-ar avea o sesiune interactivă Computer, dar singurul lor scop este de a îmbunătăți contextul pentru sesiunile viitoare. Fiecare execuție începe de la Brain produs de execuțiile anterioare, în loc să reconstruiască contextul utilizatorului de la zero. Apoi folosește acel Brain curent pentru a se orienta și produce un Brain actualizat pe care îl vor folosi execuțiile viitoare.

Un agent Dream primește un mediu și decide cum să îl exploreze, în loc să primească o intrare fixă aplatizată într-un singur prompt. El poate naviga prin memoria bazată pe fișiere, poate folosi instrumente conector aprobate doar pentru citire pentru a verifica o bucată de cunoștințe și poate delega părți delimitate ale muncii către subagenți, inclusiv agentul de memorie. Domeniul de aplicare și responsabilitățile agentului Dream sunt specificate ca un Skill.
În linii mari, o execuție Dream constă în 4 faze:
- Orientează-te: Agentul finalizează o procedură de orientare ordonată. El identifică domeniul autorizat, instrucțiunile în vigoare, jurnalul de ștergere, intrările suplimentare și condițiile de oprire.
- Rezumă sesiunile: Pentru fiecare sesiune care este nouă (sau a avut rânduri noi) de la ultima actualizare, agentul scrie (sau actualizează) un scurt rezumat al sesiunii.
- Atașează fapte la subiecte: Agentul adaugă fiecare observație pe care o consideră semnificativă la locul său potrivit, care este de obicei o pagină wiki. El interoghează conectori autentificați atunci când sunt disponibili.
- Actualizează wiki-ul de cunoștințe: Agentul actualizează wiki-ul pe baza constatărilor sale. Poate produce pagini noi pentru subiecți durabili, poate revizui paginile atunci când sinteza curentă s-a schimbat sau poate adăuga noi legături sau citări care susțin o afirmație faptică. De asemenea, poate alege să nu facă nicio modificare atunci când graful curent este deja corect.
Pentru a se asigura că orice actualizare adusă Brain este completă și consistentă, agenții scriu starea propusă într-un arbore de ieșire pus în scenă. Nu se fac modificări permanente până când agentul nu a făcut toate actualizările pe care le consideră necesare. Coordonarea acelor decizii într-un singur proces agentic face posibilă actualizarea grafului ca un întreg, mai degrabă decât ca pagini necorelate.

Orice modificări trebuie să treacă prin două tipuri de verificări. Verificările de validare deterministă se asigură că paginile sunt bine formate și îndeplinesc criterii obiective, cum ar fi frontmatter-ul necesar și formatul de citare. Verificările de verificare semantică se asigură că o sinteză propusă este susținută de dovezile adunate și rămâne consistentă cu restul grafului. După ce agentul se termină cu succes, un pas de sincronizare controlat compară ieșirea pusă în scenă cu starea anterioară și aplică modificările în repository. Când un pas de sincronizare se finalizează, setul final de editări poate fi inspectat prin istoricul versiunilor Git.
Validarea Brain
Un sistem de memorie util trebuie să păstreze dovezile relevante, să le scoată la suprafață atunci când este necesar și să ajute agentul să transforme aceste dovezi într-un răspuns corect. Prin urmare, evaluăm Brain la mai multe niveluri: ablații offline controlate, redare asociată continuă și experimente randomizate de producție.
Evaluări offline
Evaluarea noastră offline primară folosește un set de date intern de 640 de întrebări pe 44 de persoane sintetice. Persoanele reproduc tipare derivate din producție în ceea ce privește cadența sesiunilor, numărul de rânduri, mixul de subiecte și densitatea faptelor, fără să conțină text de interogare de producție pentru a proteja confidențialitatea utilizatorilor. Fiecare cont este populat prin conducta de memorie de producție, inclusiv extracția memoriei, rezumatele conversațiilor și compilarea wiki-ului de cunoștințe de către Dream. Pentru fiecare întrebare, răspunsul corect este legat mecanic de dovezi specifice prezente în istoricul contului.
De exemplu, pentru Nadia, persoana sintetică cercetător în domeniul accesibilității introdusă mai devreme, setul de date include întrebarea: „Ce organizații întâlnesc în Kyoto și Sendai?” Răspunsul (Sora City Lab în Kyoto și Sapphir Mobility Coop în Sendai) apare direct pe pagina Wiki corespunzătoare.
Comparăm aceleași întrebări și conturi cu wiki-ul de cunoștințe compilat activat versus oprit. Alte suprafețe de memorie rămân disponibile în ambele condiții. Aceasta izolează contribuția incrementală a Brain, în loc să compare memoria cu lipsa memoriei. În general, Brain a crescut corectitudinea răspunsurilor de la 0,600 la 0,661, un câștig de 6,1 puncte procentuale, și reamintirea dovezilor de la 0,573 la 0,625, un câștig de 5,2 puncte procentuale. Efectul a fost cel mai mare pentru întrebările legate de preferințe (+10,2 pp), raționamentul temporal (+8,6 pp) și extragerea detaliilor din activitatea anterioară (+6,9 pp). Pe 84% dintre întrebări, agentul a atins în mod verificabil o sursă legată de dovada de bază.

De asemenea, am rulat ablații Brain potrivite pe subseturi a două benchmark-uri publice. Pe LoCoMo, eliminarea wiki-ului a redus corectitudinea răspunsului cu 4,6 puncte procentuale în medie, pe parcursul a trei rulări cu modele diferite. Pe LongMemEval-S nu a produs nicio schimbare semnificativă statistic. Acest rezultat este în concordanță cu rolul dorit al Brain. LongMemEval-S testează în principal recuperarea faptelor din sesiuni individuale, unde transcrierile subiacente oferă o cale redundantă către răspuns. LoCoMo pune un accent mai mare pe dovezile împrăștiate în conversații, vorbitori și date, creând mai multe oportunități pentru ca sinteza încrucișată a sesiunilor din wiki să contribuie.
În general, cu Brain activat, agentul de producție a obținut o corectitudine a răspunsului de 0,91 pe LongMemEval-S și 0,83 pe LoCoMo. Deoarece aceste experimente au folosit subseturi de benchmark, ele nu sunt rezultate definitive de benchmark. Cu toate acestea, ablațiile oferă în continuare un semnal puternic că wiki-ul îmbunătățește performanța, în special atunci când dovezile trebuie integrate între conversații. Deoarece Brain face parte din Computer, mai degrabă decât un sistem de recuperare optimizat, specific unui benchmark, considerăm că competitivitatea nu va face decât să crească odată cu sarcinile care seamănă mai mult cu fluxurile de lucru de producție.
Evaluări online
Seturile de date offline nu pot surprinde fiecare caracteristică a istoricilor reale ale utilizatorilor, așa că rulăm zilnic și o evaluare în perechi pe cohorte proaspete derivate din producție. Aceleași întrebări fixe sunt la rândul lor răspunsuri împotriva stării de utilizator potrivite cu Brain activat și dezactivat, apoi sunt judecate pentru corectitudine, actualitate și reamintire.
Rezultatele preliminare raportate pe 18 iunie au demonstrat că Brain crește corectitudinea răspunsurilor cu 25% și reamintirea cu 16%. Aceste câștiguri de performanță au continuat să se mențină; în ultimele 30 de zile, sesiunile cu Brain activat au depășit controlul la fiecare rulare și la fiecare dimensiune evaluată. În termeni absoluți, utilizatorii Computer s-au bucurat de îmbunătățiri de 9,3 puncte în corectitudine, 8,0 puncte în actualitate și 8,9 puncte în reamintire. Traiectoriile activate pentru Brain au folosit, de asemenea, cu aproximativ 15% mai puține tokenuri, au costat cu 10% mai puțin și au finalizat generarea cu 10% mai repede.

Îmbunătățire continuă
Am continuat să perfecționăm Brain pentru a aduce cea mai bună experiență de memorie utilizatorilor. O modificare recentă plasează indexul compact al Brain direct în contextul inițial al agentului, în loc să ceară agentului să îl descopere și să îl citească mai târziu. Într-un experiment randomizat, acest tratament de preumplere a crescut utilizarea Brain și a redus insatisfacția legată de memorie cu 6,9%.
Sistemul de evaluare offline servește și ca parte a unei conducte de îmbunătățire autonomă. Modificările propuse pentru subagentul de memorie, abilitățile de recuperare și prompturile Brain sunt rulate prin ablațiile potrivite pe setul nostru de date intern și pe benchmark-urile publice. Agenții Computer pot repeta rezultatele în mod autonom, păstrând modificarea, delta și costul fiecărei iterări ca o înregistrare durabilă și păstrând doar modificările care mișcă numerele. Rezultatul este un sistem în care evaluatorii Brain sunt și optimizatorii săi, stimulând îmbunătățirile viitoare.
Concluzie
Învățarea continuă este una dintre provocările definitorii pentru construirea de sisteme de agenți care funcționează de-a lungul a săptămâni și luni. Considerăm că arhitecturile de memorie sunt cel mai bine expuse ca medii pe care agenții le pot explora în mod direct folosind seturile lor obișnuite de instrumente. Expunerea memoriei ca sistem de fișiere, având Brain ca wiki de cunoștințe structurat deasupra, face ca contextul să poată fi navigat în mod eficient prin instrumente simple și familiare.
Brain este conceput pentru auto-ameliorare, astfel încât sistemul de memorie să poată continua să se îmbunătățească pe măsură ce utilizarea crește. Agenții de fundal Dream distilează informații noi în actualizări Brain, asigurându-se că agenții din prim-plan încep întotdeauna o sesiune nouă cu o viziune organizată a celui mai recent context. Sistemul de evaluare servește și ca teren de testare pentru buclele de auto-cercetare pe arhitectura principală de memorie și interfețele orientate spre agent.
Deja, Brain a dus la sesiuni de agenți mai exacte și mai performante, reducând în același timp tokenurile cheltuite. Co-proiectarea noastră atentă a Brain cu stiva de producție a Computer asigură că aceste câștiguri se traduc direct în beneficii reale pentru utilizatori.
Continuăm să construim mai multe capabilități pentru a îmbunătăți calitatea memoriei Computer. Între timp, pentru utilizatorii cu Brain activat, memoria se va îmbunătăți cu fiecare sesiune.