Brain: Agentiční paměť jako znalostní wiki
Strukturovaný, sledovatelný a autovylepšující se souborový systém ve formátu Markdown, kompilovaný offline a prohledávaný na vyžádání.
Uživatelé Computeru odvádějí práci, která trvá měsíce a čítá stovky relací. Do desáté relace by měl být systém mnohem produktivnější než v té první. Měl by kumulovat kontext o uživateli, jeho preferencích a již odvedené práci.
Například když je Computer požádán o nakreslení diagramu pracovního postupu, který uživatel dříve vysvětlil, měl by si vybavit podrobnosti a použít je k vytvoření a výstupu obrázku v preferovaném stylu uživatele. Uživatel by neměl muset znovu vysvětlovat podrobnosti pracovního postupu nebo opakovat svou preferenci PDF před artefakty PNG; systém by měl být schopen tento kontext přesně obnovit z minulých relací a automaticky jej aplikovat.
Paměť je základem neustálého vylepšování agentů. Efektivní paměťový systém by měl být strukturovaný, sledovatelný a přizpůsobitelný, což agentům umožňuje prohledávat správnou šířku a hloubku pro každý úkol a zároveň zakládat každé rozhodnutí na těch nejaktuálnějších informacích.
Úvod
Vštěpování relevantního kontextu agentům je mnohostranný problém. Za prvé, agenti potřebují vědět, co existuje a jak k tomu získat přístup. Za druhé, když najdou užitečnou informaci, musí mít jistotu, že je úplná, přesná a aktuální. Izolovaný fakt má omezenou hodnotu, pokud agent nedokáže najít související informace, ověřit, že pocházejí z důvěryhodného zdroje, a zajistit, že je není třeba aktualizovat novějším pozorováním.
Vkládání statických paměťových souborů přímo do kontextu modelu maximalizuje přístupnost pro agenty, ale představuje klasický kompromis mezi přesností a úplností (precision-recall). Příliš mnoho informací nasytí kontextové okno agenta položkami s čím dál menší relevancí, zatímco příliš málo zhorší kvalitu odpovědí kvůli nedostatku relevantního kontextu. Naproti tomu přístup k externím databázím na vyžádání je flexibilnější, ale přenáší břemeno navigace na agenta. Vektorové databáze často ukládají odpojené fragmenty a grafové databáze vyžadují, aby agenti věděli, jak efektivně provádět dotazy.
Nedávno jsme představili Brain, klíčovou komponentu paměťového systému Computeru, která přináší to nejlepší z obou světů. Brain je strukturovaná znalostní wiki, která se nachází nad statickými paměťovými soubory a důkazy. Citace propojují tvrzení s jejich zdroji a související informace jsou propojeny horizontálně. Uspořádaná wiki činí kontext prohledávatelným na vyžádání, zatímco podrobné artefakty jsou uchovány ve vrstvě pod ní.

Brain se připojuje k rozsáhlému paměťovému systému se třemi klíčovými komponentami: úložištěm trvalé paměti, agenty v popředí, kteří používají paměť k zodpovídání dotazů, a agenty na pozadí, kteří aktualizují a vylepšují paměť. Následující obrázek znázorňuje tyto komponenty zasazené do celkové systémové architektury systému Brain.

V tomto článku podrobně popisujeme jednotlivé vrstvy a vysvětlujeme, jak systém Brain organizuje paměť, jak ji agenti používají a jak ji procesy na pozadí udržují aktuální. Představujeme také výsledky interních hodnocení, která ověřují návrh systému Brain a prokazují, že zlepšuje výkon agentů při nižších nákladech.
Organizace a úložiště paměti
Paměť potřebuje reprezentaci, která se škáluje na celou historii uživatele, aniž by nutila každý kousek kontextu do promptu. Paměťový systém Computeru reprezentuje trvalý kontext jako souborový systém. Brain syntetizuje znalosti napříč surovými zdroji, propojuje související předměty a spojuje tvrzení zpět s relacemi a soubory, které je podporují. Tato struktura, popsaná níže, nám umožňuje organizovat paměť ve formě, která je pro agenty obzvláště vhodná.
Paměť založená na souborovém systému
Relace Computer již běží v sandboxu se souborovým systémem, shellem a I/O utilitami. Při návrhu systému Brain jsme chtěli v rozhraní mezi modelem a pamětí agenta zavést co nejméně nových mechanismů. Proto jsme Brain postavili na vrstvě kontextu nativní pro souborový systém. Paměť se materializuje jako soubory v sandboxu v adresáři memory/ a agent jednoduše používá stejné nástroje pro soubory paměti, jaké již používá pro vše ostatní.
U kořene stromu paměti se nacházejí tři adresáře nejvyšší úrovně, které udržují kontext na různých úrovních abstrakce. knowledge/ je samotný Brain, syntetizovaná znalostní wiki, která propojuje entity, koncepty, aktivní projekty a minulé poznatky; notes/ obsahuje destilované úryvky uspořádané do tematických složek; a sessions/ uchovává indexy, souhrny a úplné přepisy jako surovou historii. Níže uvedený obrázek ukazuje zjednodušený pohled na rozvržení.

Povrchy jsou záměrně redundantní. Pro jednoduché otázky o jednom skoku často stačí vyhledat úryvky v rámci /notes pro klíčové slovo, zatímco vrstva /knowledge je nejužitečnější pro otázky, které vyžadují skládání důkazů napříč týdny nebo měsíci relací Computeru.
Brain: Znalostní wiki
Systém Brain je formátován jako wiki LLM, systém propojených souborů Markdown. Tato lehce strukturovaná forma Markdown poskytuje ucelený pohled na existující kontext, takže agenti mohou snadno pochopit, jaké záznamy jsou k dispozici, jak spolu souvisejí a kde je najít. Každá stránka je udržovaným pohledem na jedno téma; měla by zůstat užitečná při samostatném čtení a zároveň usnadňovat další průzkum prostřednictvím odkazů.
Odkazy jsou dvojího druhu. [[wikilinky]] jsou kontextové hrany. Propojují stránky horizontálně; projekt může odkazovat na svého vlastníka, klienta nebo koncepty, na kterých závisí. Jejich sledování odpovídá na otázku „co dalšího potřebuji vědět?“ Odkazy [cite:N] jsou důkazové hrany. Propojují tvrzení směrem dolů k surovým relacím nebo zdrojům konektorů, které je podporují. Jejich sledování odpovídá na otázku „jak vím, že je to pravda?“
Níže uvedené obrázky znázorňují, jak by vypadala část systému Brain pro syntetickou osobu, výzkumnici v oblasti přístupnosti jménem Nadia. Její Brain obsahuje stránku o ukázkovém projektu, sprintu univerzálního designu v Japonsku, který syntetizuje znalosti z relací a konektorů. Pohled na graf ukazuje, jak kontextové a důkazové hrany přítomné na stránce propojují související entity a zdroje.


Systém Brain je zálohován pomocí Gitu pro zachování historie verzí, což podporuje jeho neustále se vyvíjející povahu. Stránky lze v průběhu času upravovat, zatímco protokoly změn zaznamenávají klíčové aktualizace a umožňují agentům snadno kontrolovat minulé verze a rozdíly. To rovněž podporuje koordinaci mezi agenty, což je zásadní, protože systém Brain může používat a aktualizovat více agentů najednou.
Používání systému Brain
Při zodpovídání dotazu uživatele musí agenti dokázat najít správný kontext na správné úrovni detailu. Struktura systému Brain usnadňuje agentům prozkoumávání paměti. Agenti si mohou vybrat mezi akčními kroky, jako je sledování odkazů na kontext za účelem nalezení souvisejících informací, sledování odkazů na důkazy za účelem ověření tvrzení nebo volání podagenta za účelem získání a syntézy dodatečného kontextu. Proces agentického průzkumu řídíme řadou způsobů, jejichž cílem je maximalizovat snadnost přístupu agentů k relevantním informacím.
Strategie průzkumu
Do počáteční uživatelské zprávy zahrnujeme kompaktní index systému Brain, takže agent začíná s pracovní znalostí toho, co již existuje. Agent pak komunikuje se systémem Brain pomocí známých operací: čtení konkrétních položek odkázaných indexem, použití grep k vyhledávání napříč stránkami, sledování odkazů a kontroly citací, porovnávání revizí Gitu a sestupování do relací nebo surových trajektorií. Níže uvedený blok kódu znázorňuje ukázkové příkazy pro syntetickou osobu.
# 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"Agenti prozkoumávají tento kontext prostřednictvím samousměrňované smyčky, nikoli pevné pipeline. Agent tak může pokračovat ve vyhledávání, dokud není spokojen s nalezeným kontextem. Agent si také může vybrat, kdy chce zkontrolovat citace a důkazy, aby našel nebo ověřil podrobnosti. Drobná záležitost preference může být převzata přímo z jedné stránky Brain, zatímco závažné rozhodnutí nebo konflikt mezi zdroji může odůvodnit sledování citace a přečtení původního záznamu. Struktura založená na grafech umožňuje agentovi vybrat si mezi konkrétními dalšími kroky, namísto bezcílného prohledávání souvisejících informací.

Materializace souborů
Aby agentické prozkoumávání fungovalo, musí mít agent přístup k celému stromu memory/ prostřednictvím souborového systému sandboxu. Kopírování celého stromu lokálně při každém spuštění sandboxu je nákladné a zbytečné, protože agent se drtivé většiny těchto souborů nedotkne. Další možností by bylo použití vzdáleného souborového systému, aby agenti měli přístup k libovolnému souboru bez jejich lokálního kopírování. Agenti však v jediném příkazu často provádějí tisíce operací se souborovým systémem; pokud se z každé stane síťový požadavek, začne v cyklu průzkumu dominovat náklad na odezvu. Při interním testování byly jednoduché úlohy grep nad vzdálenou cestou podloženou FUSE přibližně 400krát až 500krát pomalejší než ekvivalentní operace nad lokálními soubory.
Místo toho vytváříme lokální pracovní sadu materializovaných souborů, zatímco větší korpus zůstává za systémem načítání paměti. Computer při spuštění předem načte do sandboxu počáteční mapu (získanou z nedávných pamětí, relací, souhrnů a dostupných znalostí). Agenti Computeru mají přístup k Memory Agentovi, což je podagent, který může provádět sémantické vyhledávání a načíst novou sadu souborů. Když potřebný kontext chybí, Computer může zavolat Memory Agenta s popisem požadovaných informací. Memory Agent prohledává soubory, vrací okamžitou textovou syntézu a materializuje podpůrné záznamy jako soubory ve stromu paměti. Pracovní sada se tak přirozeně a postupně rozšiřuje v průběhu času, přičemž zachovává stabilní cesty a vztahy zdrojů pro již přítomné důkazy.

Tento design elegantně řeší problém úzkého hrdla latence. Lokální ukládání relevantních souborů zajišťuje, že operace se souborovým systémem nutné pro průzkum zůstanou rychlé, a dávkové načítání umožňuje, aby fond materializovaných souborů rostl bez nutnosti samostatných volání pro každý soubor nebo načítání velkého množství irelevantních souborů. Návrh s vnořenými agenty navíc poskytuje Computeru výhody agentického načítání, aniž by vyžadoval, aby hlavní agent pokaždé přímo prohledával celý backendový korpus, čímž si šetří vlastní kontextové okno pro informace nejvyšší hodnoty.
Údržba systému Brain
Uživatelé se neustále učí z práce, kterou odvádějí, a konverzací, které vedou, takže paměť agenta musí dělat totéž. Aby systém Brain zůstal užitečný, měl by být stručnou reprezentací nejdůležitějších znalostí. Pro důležité nové entity by měly být vytvořeny nové stránky, na příslušné stránky Brain by měly být přidány nové informace a zastaralý kontext by měl být sezónně odstraňován. Například pokud se uživateli změní práce, systém Brain by měl tuto změnu odrážet; měl by obsahovat nové zaměstnání uživatele a upřednostňovat informace související s jeho novými responsibilitami a projekty.
Systém Brain je spravován agenty na pozadí, které nazýváme Dream. Agenti Dream běží offline nad pamětí založenou na souborech a syntetizují nové informace do aktualizací systému Brain. Pečlivě jsme definovali rozsah a chování agentů Dream pro efektivní provádění tohoto úkolu spolu s ochrannými prvky specifickými pro Dream, abychom zajistili, že aktualizace systému Brain budou konzistentní a přesné.
Dream: Agenti na pozadí pro vylepšování paměti
Agenti Dream běží v sandboxech s přístupem ke stejnému souborovému systému a nástrojům pouze pro čtení, jaké by měla interaktivní relace Computeru, ale jejich jediným cílem je zlepšit kontext pro budoucí relace. Každý běh začíná od systému Brain vytvořeného dřívějšími běhy, namísto opětovného budování kontextu uživatele od nuly. Poté používá tento aktuální Brain k orientaci a vytvoří aktualizovaný Brain, který mohou používat budoucí běhy.

Agent Dream obdrží prostředí a rozhodne se, jak jej prozkoumat, namísto obdržení pevného vstupu sloučeného do jednoho promptu. Může navigovat v paměti založené na souborech, používat schválené konektorové nástroje pouze pro čtení k ověření části znalostí a delegovat ohraničené části práce na podagenty, včetně Memory Agent. Rozsah a odpovědnosti agenta Dream jsou specifikovány jako Skill.
Běh procesu Dream se obecně skládá ze 4 fází:
- Orientace: Agent dokončí uspořádaný orientační postup. Identifikuje autoritativní rozsah, trvalé pokyny, protokol mazání, dodatečné vstupy a podmínky zastavení.
- Shrnutí relací: Pro každou relaci, která je nová (nebo měla nové výměny) od poslední aktualizace, agent napíše (nebo aktualizuje) krátké shrnutí relace.
- Připojení faktů k předmětům: Agent přidává každé pozorování, které považuje za významné, na své správné místo, kterým je obvykle wiki stránka. Pokud jsou k dispozici ověřené konektory, provádí jejich zkoumání a dotazování.
- Aktualizace znalostní wiki: Agent aktualizuje wiki na základě svých zjištění. Může vytvářet nové stránky pro trvalá témata, revidovat stránky, když se současná syntéza změnil, nebo přidávat nové odkazy či citace podporující faktické tvrzení. Může se také rozhodnout neprovádět žádné změny, pokud je současný graf již správný.
Aby bylo zajištěno, že jakékoli aktualizace systému Brain jsou úplné a konzistentní, agenti zapisují navrhovaný stav do stromu připraveného výstupu. Žádné trvalé změny se neprovádějí, dokud agent neprovede všechny aktualizace, které považuje za nutné. Koordinace těchto rozhodnutí v jednom agentickém procesu umožňuje aktualizovat graf jako celek, nikoli jako nesouvisející stránky.

Všechny změny musí projít dvěma typy ověřovacích kontrol. Deterministické kontroly ověření zajišťují, že stránky mají správný formát a splňují objektivní kritéria, jako jsou požadovaná přední část (frontmatter) a formát citací. Sémantické ověřovací kontroly zajišťují, že navrhovaná syntéza je podpořena shromážděnými důkazy a zůstává konzistentní se zbytkem grafu. Po úspěšném dokončení činnosti agenta porovná kontrolovaný krok synchronizace připravený výstup s předchozím stavem a aplikuje změny do repozitáře. Po dokončení kroku synchronizace lze konečnou sadu úprav zkontrolovat prostřednictvím historie verzí Git.
Ověřování systému Brain
Užitečný paměťový systém musí uchovávat relevantní důkazy, vynést je na povrch v případě potřeby a pomoci agentovi převést tyto důkazy v správnou odpověď. Systém Brain proto vyhodnocujeme na několika úrovních: kontrolované offline ablace, průběžné párové přehrávání a randomizované produkční experimenty.
Offline hodnocení
Naše primární offline hodnocení využívá interní datovou sadu 640 otázek napříč 44 syntetickými osobami. Osoby reprodukují vzorce odvozené z produkce v kadenci relací, počtu výměn, mixu témat a hustotě faktů, přičemž neobsahují žádný text produkčních dotazů z důvodu zachování soukromí uživatelů. Každý účet je naplněn prostřednictvím produkční paměťové pipeline, včetně extrakce paměti, souhrnů konverzací a kompilace znalostní wiki systémem Dream. U každé otázky je správná odpověď mechanicky svázána s konkrétními důkazy přítomnými v historii účtu.
Například pro Nadiu, výše zmíněnou syntetickou osobu výzkumnice v oblasti přístupnosti, datová sada obsahuje otázku: „S jakými organizacemi se setkávám v Kjótu a Sendai?“ Odpověď (Sora City Lab v Kjótu a Sapphir Mobility Coop v Sendai) se objeví přímo na odpovídající wiki stránce.
Porovnáváme stejné otázky a účty se zapnutou zkompilovanou znalostní wiki oproti jejímu vypnutí. Ostatní paměťové povrchy zůstávají k dispozici za obou podmínek. To izoluje přírůstkový přínos systému Brain, namísto porovnávání paměti s absencí paměti. Celkově systém Brain zvýšil správnost odpovědí z 0,600 na 0,661, což představuje nárůst o 6,1 procentního bodu, a vybavení důkazů z 0,573 na 0,625, což představuje nárůst o 5,2 procentního bodu. Největší vliv byl pozorován u otázek týkajících se preferencí (+10,2 pb), časového uvažování (+8,6 pb) a získávání detailů z předchozí aktivity (+6,9 pb). U 84 % otázek se agent prokazatelně dotkl zdroje vázaného na zlatý důkaz.

Provedli jsme také párové ablace systému Brain na podmnožinách dvou veřejných benchmarků. V případě LoCoMo vedlo odstranění wiki ke snížení správnosti odpovědí v průměru o 4,6 procentního bodu, a to ve třech bězích s různými modely. Na LongMemEval-S to nepřineslo žádnou statisticky významnou změnu. Tento výsledek je konzistentní s určenou rolí systému Brain. LongMemEval-S primárně testuje obnovení faktů z jednotlivých relací, kde podkladové přepisy poskytují redundantní cestu k odpovědi. LoCoMo klade větší důraz na důkazy roztroušené napříč konverzacemi, mluvčími a daty, což vytváří větší příležitost pro přispění mezirelační syntézy wiki.
Celkově se zapnutým systémem Brain dosáhl produkční agent správnosti odpovědí 0,91 na LongMemEval-S a 0,83 na LoCoMo. Vzhledem k tomu, že tyto experimenty využívaly podmnožiny benchmarků, nejedná se o definitivní výsledky benchmarků. Ablace však přesto poskytují silný signál, že wiki zlepšuje výkon, zejména když je nutné integrovat důkazy napříč konverzacemi. Jelikož je Brain součástí Computeru, nikoli optimalizovaným vyhledávacím systémem specifickým pro benchmark, věříme, že konkurenceschopnost bude růst pouze s úkoly, které více připomínají produkční pracovní postupy.
Online hodnocení
Offline datové sady nedokážou zachytit každou vlastnost skutečné historie uživatelů, a proto také provádíme každodenní párové hodnocení nad čerstvými kohortami odvozenými z produkce. Na stejné pevné otázky se odpovídá proti spárovanému stavu uživatele se zapnutým a vypnutým systémem Brain, a poté se posuzuje správnost, aktuálnost a vybavování.
Predběžné výsledky uváděné 18. června prokázaly, že systém Brain zvyšuje správnost odpovědí o 25 % a vybavování o 16 %. Tyto výkonnostní přínosy se nadále daří udržovat; během posledních 30 dnů překonaly relace se zapnutým systémem Brain kontrolní skupinu při každém spuštění a v každé posuzované dimenzi. V absolutním vyjádření zaznamenali uživatelé Computeru zlepšení o 9,3 bodu ve správnosti, 8,0 bodu v aktuálnosti a 8,9 bodu ve vybavování. Trajektorie se zapnutým systémem Brain rovněž spotřebovaly přibližně o 15 % méně tokenů, stály o 10 % méně a dokončily generování o 10 % rychleji.

Nepřetržité zlepšování
Systém Brain neustále vylepšujeme, abychom uživatelům přinesli ty nejlepší zážitky z paměti. Jedna nedávná změna umisťuje kompaktní index systému Brain přímo do počátečního kontextu agenta namísto toho, aby vyžadovala, aby jej agent objevil a přečetl si jej později. V randomizovaném experimentu toto předběžné naplnění zvýšilo používání systému Brain a snížilo nespokojenost související s pamětí o 6,9 %.
Offline vyhodnocovací prostředí slouží zároveň jako součást autonomní pipeline vylepšování. Navrhované změny paměťového podagenta, vyhledávacích dovedností a promptů systému Brain jsou spuštěny prostřednictvím párových ablace na naší interní datové sadě a veřejných bencích. Agenti Computeru mohou iterovat výsledky autonomně, přičemž uchovávají změny, delty a náklady každé iterace jako trvalý záznam a ponechávají si pouze ty změny, které hýbou čísly. Výsledkem je systém, kde vyhodnocovači systému Brain jsou zároveň jeho optimalizátory, což pohání budoucí vylepšení.
Závěr
Nepřetržité učení je jednou z určujících výzev pro budování agentských systémů, které fungují týdny a měsíce. Věříme, že paměťové architektury je nejlepší vystavit jako prostředí, která mohou agenti přímo prozkoumávat pomocí svých běžných sad nástrojů. Vystavení paměti jako souborového systému se systémem Brain jako strukturovanou znalostní wiki navrchu činí kontext efektivně prohledávatelným pomocí jednoduchých a známých nástrojů.
Systém Brain je navržen pro autovylepšování, takže paměťový systém se může s rostoucím používáním neustále zlepšovat. Agenti na pozadí Dream destilují nové informace do aktualizací systému Brain a zajišťují, že agenti v popředí vždy zahájí novou relaci s organizovaným přehledem nejnovějšího kontextu. Vyhodnocovací prostředí slouží zároveň jako testovací hřiště pro smyčky autovýzkumu v oblasti základní paměťové architektury a rozhraní orientovaných na agenta.
Systém Brain již nyní přinesl přesnější a výkonnější relace agentů a zároveň snížil spotřebu tokenů. Naše pečlivé souběžné navrhování systému Brain s produkčním zásobníkem Computer zajišťuje, že tyto přínosy se přímo projevují v reálných výhodách pro uživatele.
I nadále budujeme další schopnosti ke zlepšení kvality paměti Computeru. Mezitím se uživatelům se zapnutým systémem Brain bude paměť zlepšovat s každou relací.