Brain: Memória de Agente como um Wiki de Conhecimento
Um sistema de arquivos Markdown estruturado, rastreável e autoaperfeiçoável, compilado offline e navegado sob demanda.
Os usuários do Computer realizam trabalhos que abrangem meses e centenas de sessões. Até a décima sessão, o sistema deve ser muito mais produtivo do que na primeira. Ele deve acumular contexto sobre o usuário, suas preferências e o trabalho que já foi feito.
Por exemplo, quando solicitado a desenhar um diagrama de um fluxo de trabalho que o usuário explicou anteriormente, o Computer deve lembrar os detalhes e usá-los para criar e gerar uma figura no estilo preferido do usuário. O usuário não deve precisar reesclarecer os detalhes do fluxo de trabalho ou reiterar sua preferência por artefatos em PDF em vez de PNG; o sistema deve ser capaz de recuperar com precisão esse contexto de sessões anteriores e aplicá-lo automaticamente.
A memória é a fundação para o aprimoramento contínuo do agente. Um sistema de memória eficaz deve ser estruturado, rastreável e adaptável, permitindo que os agentes pesquisem na amplitude e profundidade corretas para cada tarefa, ao mesmo tempo em que fundamentam cada decisão nas informações mais atuais.
Introdução
Infundir contexto relevante aos agentes é um problema multifacetado. Primeiro, os agentes precisam saber o que existe e como acessá-lo. Segundo, quando encontram uma informação útil, precisam ter certeza de que ela está completa, precisa e atualizada. Um fato isolado tem valor limitado, a menos que o agente possa encontrar informações relacionadas, verificar se provém de uma fonte confiável e garantir que não precise ser atualizado com uma observação mais recente.
Inserir arquivos de memória estática diretamente no contexto do modelo maximiza a acessibilidade para os agentes, mas apresenta um trade-off clássico de precisão e recuperação. Informações em excesso saturarão a janela de contexto do agente com itens de relevância cada vez menor, enquanto informações insuficientes degradarão a qualidade da resposta devido à falta de contexto relevante. Em contrapartida, o acesso sob demanda a bancos de dados externos é mais flexível, mas transfere o ônus da navegação para o agente. Bancos de dados vetoriais frequentemente armazenam fragmentos desconectados, e bancos de dados em grafo exigem que os agentes saibam como consultar de forma eficaz.
Recentemente, introduzimos o Brain, um componente central do sistema de memória do Computer que oferece o melhor dos dois mundos. O Brain é uma wiki de conhecimento estruturada que fica sobre arquivos de memória estática e evidências. As citações vinculam afirmações às suas fontes, e pedaços relacionados de informação são conectados lateralmente. A wiki organizada torna o contexto navegável sob demanda, enquanto os artefatos detalhados são retidos na camada abaixo dela.

O Brain conecta-se a um sistema de memória abrangente com três componentes principais: armazenamento de memória durável, agentes em primeiro plano que usam a memória para responder a consultas e agentes em segundo plano que atualizam e melhoram a memória. A figura a seguir retrata esses componentes situados na arquitetura geral do sistema do Brain.

Neste artigo, descrevemos cada camada em profundidade, explicando como o Brain organiza a memória, como os agentes a utilizam e como os processos em segundo plano a mantão atualizada. Também apresentamos resultados de avaliações internas que validam o design do Brain, demonstrando que ele melhora o desempenho do agente a um custo menor.
Organização e Armazenamento de Memória
A memória precisa de uma representação que seja dimensionada para o histórico completo do usuário sem forçar cada parte do contexto para o interior do prompt. O sistema de memória do Computer representa o contexto persistente como um sistema de arquivos. O Brain sintetiza o conhecimento em fontes brutas, conectando assuntos relacionados e vinculando afirmações de volta às sessões e arquivos que as sustentam. Essa estrutura, detalhada abaixo, nos permite organizar a memória em uma forma particularmente adequada para agentes.
Memória Baseada no Sistema de Arquivos
As sessões de computador já operam em uma sandbox com um sistema de arquivos, um shell e utilitários de E/S. Ao projetar o Brain, quisemos introduzir o mínimo de novos mecanismos poss&-vel na interface entre o modelo e a memória do agente. É por isso que constru&-mos o Brain sobre uma camada de contexto nativa do sistema de arquivos. A memória é materializada como arquivos na sandbox em um diretório memory/, e o agente simplesmente usa nos arquivos de memória as mesmas ferramentas que já utiliza para todo o resto.
Na raiz da árvore de memória encontram-se três diretórios de nível superior que mantêm o contexto em níveis variados de abstração. knowledge/ é o próprio Brain, uma wiki de conhecimento sintetizada que conecta entidades, conceitos, projetos ativos e aprendizados passados; notes/ contém trechos destilados organizados como pastas temáticas; e sessions/ contém índices, resumos e transcrições completas como as histórias brutas. A figura abaixo mostra uma visão simplificada do layout.

As superfícies são deliberadamente redundantes. Para perguntas simples de salto único, geralmente basta pesquisar por trechos em /notes por uma palavra-chave, enquanto a camada /knowledge é mais útil para perguntas que exigem a união de evidências ao longo de semanas ou meses de sessões do Computer.
Brain: A Wiki de Conhecimento
O Brain está formatado como uma wiki de LLM, um sistema de arquivos Markdown vinculados. Essa forma de Markdown levemente estruturada fornece uma visão holística do contexto existente, para que os agentes possam entender facilmente quais registros estão dispon&-veis, como eles se relacionam e onde encontrá-los. Cada página é uma visão mantida de um assunto; ela deve permanecer útil quando lida isoladamente, facilitando a exploração adicional por meio de links.
Os links vão em dois tipos. [[wikilinks]] são arestas de contexto. Eles conectam páginas lateralmente; um projeto pode se conectar ao seu proprietário, ao seu cliente ou aos conceitos dos quais depende. Segui-los responde à pergunta "o que mais preciso saber?". As referências [cite:N] são arestas de evidência. Elas conectam afirmações para baixo às sessões brutas ou fontes de conectores que as sustentam. Segui-los responde à pergunta "como sei que isso é verdade?"
Os números abaixo retratam como seria uma parte do Brain para uma persona sintética, uma pesquisadora de acessibilidade chamada Nadia. O Brain dela inclui uma página sobre um projeto de exemplo, um sprint de design universal no Japão, sintetizando conhecimento de sessões e conectores. A visualização em grafo demonstra como o contexto e as arestas de evidência presentes na página conectam entidades e fontes relacionadas.


O Brain possui suporte do Git para preservar o histórico de versões, dando suporte à sua natureza em constante evolução. As páginas podem ser editadas ao longo do tempo, enquanto os registros de alterações (changelogs) registram atualizações importantes e permitem que os agentes inspecionem facilmente versões anteriores e diffs. Isso também dá suporte à coordenação de agentes, o que é cr&-tico, pois vários agentes podem estar usando e atualizando o Brain ao mesmo tempo.
Usando o Brain
Ao responder a uma consulta do usuário, os agentes precisam ser capazes de encontrar o contexto certo no nível de detalhe adequado. A estrutura do Brain facilita a exploração da memória pelos agentes. Os agentes podem escolher entre etapas acionáveis, como seguir links de contexto para encontrar informações relacionadas, seguir links de evidência para verificar alegações ou chamar um subagente para obter e sintetizar contexto adicional. Direcionamos o processo de exploração de agentes de várias maneiras voltadas para maximizar a facilidade de acesso dos agentes a informações relevantes.
Estratégia de Exploração
Incluímos um índice compacto do Brain dentro da mensagem inicial do usuário, para que o agente comece com o conhecimento prático do que já existe. O agente interage com o Brain usando operações familiares: lendo itens específicos referenciados pelo índice, usando grep para pesquisar em páginas, seguindo links e inspecionando citações, comparando revisões do Git e descendo em sessões ou trajetórias brutas. O bloco de código abaixo retrata comandos de exemplo para uma persona sintética.
# 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"Os agentes exploram esse contexto por meio de um loop auto-direcionado, em vez de um pipeline fixo. Portanto, o agente pode continuar pesquisando até ficar satisfeito com o contexto encontrado. O agente também pode escolher quando inspecionar citações e evidências para encontrar ou verificar detalhes. Uma questão menor de preferência pode ser adotada diretamente de uma única página do Brain, enquanto uma decisão consequente ou um conflito entre fontes pode justificar seguir a citação e ler o registro original. A estrutura baseada em grafo permite que o agente escolha entre próximas etapas concretas, em vez de pesquisar sem rumo por informações relacionadas.

Materialização de Arquivos
Para que a exploração de agentes funcione, o agente precisa ter acesso à árvore memory/ inteira por meio do sistema de arquivos da sandbox. Copiar a árvore inteira localmente sempre que uma sandbox é inicializada é custoso e desnecessário, pois o agente não tocará na grande maioria desses arquivos. Outra opção seria usar um sistema de arquivos remoto, para que os agentes possam acessar qualquer arquivo sem copiá-los localmente. No entanto, os agentes frequentemente executam milhares de operações de sistema de arquivos em um único comando; se cada uma se tornar uma solicitação de rede, o custo de ida e volta começa a dominar o loop de exploração. Em testes internos, cargas de trabalho simples de grep em um caminho remoto baseado em FUSE foram aproximadamente 400 a 500 vezes mais lentas do que as operações equivalentes em arquivos locais.
Em vez disso, construímos um conjunto de trabalho local de arquivos materializados, enquanto o corpus maior permanece por trás de um sistema de recuperação de memória. O Computer pré-carrega um mapa inicial (obtido de memórias recentes, sessões, resumos e conhecimento disponível) na sandbox quando ela é inicializada. Os agentes do Computer têm acesso a um Agente de Memória, um subagente que pode realizar pesquisa semântica e carregar um novo conjunto de arquivos. Quando o contexto necessário está ausente, o Computer pode chamar o Agente de Memória com uma descrição da informação exigida. O Agente de Memória pesquisa entre os arquivos, retornando uma síntese de texto imediata e materializando os registros de suporte como arquivos sob a árvore de memória. Desta forma, o conjunto de trabalho se expande de forma natural e gradual ao longo do tempo, preservando caminhos estáveis e relações de fonte para evidências já presentes.

Esse design resolve de forma limpa o gargalo de latência. O armazenamento local de arquivos relevantes garante que as operações de sistema de arquivos necessárias para a exploração permaneçam rápidas, e a recuperação em lote permite que o conjunto de arquivos materializados cresça sem exigir chamadas separadas para cada arquivo ou o carregamento de um grande número de arquivos irrelevantes. O design de agente aninhado também confere ao Computer os benefícios da recuperação agêntica sem exigir que o agente principal pesquise todo o corpus do backend diretamente todas as vezes, preservando sua própria janela de contexto para as informações de maior valor.
Mantendo o Brain
Os usuários estão constantemente aprendendo com o trabalho que fazem e com as conversas que têm, portanto, a memória agêntica precisa fazer o mesmo. Para que o Brain permaneça útil, ele deve ser uma representação concisa do conhecimento mais importante. Novas páginas devem ser criadas para novas entidades importantes, novas informações devem ser adicionadas às páginas relevantes do Brain e o contexto desatualizado deve ser removido sazonalmente. Por exemplo, se o emprego de um usuário mudar, o Brain deve refletir essa mudança; ele deve conter o novo emprego do usuário e priorizar informações relacionadas às suas novas responsabilidades e projetos.
O Brain é mantido por agentes em segundo plano que chamamos de Dream. Os agentes Dream executam tarefas offline sobre a memória baseada em arquivos, sintetizando novas informações em atualizações do Brain. Definimos cuidadosamente o escopo e o comportamento dos agentes Dream para realizar essa tarefa com eficiência, juntamente com salvaguardas (guardrails) específicas do Dream para garantir que as atualizações do Brain sejam consistentes e precisas.
Dream: Agentes em Segundo Plano para Refinamento de Memória
Os agentes Dream executam em sandboxes com acesso ao mesmo sistema de arquivos e ferramentas somente leitura que uma sessão interativa do Computer teria, mas seu único objetivo é melhorar o contexto para sessões futuras. Cada execução começa a partir do Brain produzido por execuções anteriores, em vez de reconstruir o contexto do usuário do zero. Em seguida, ele usa esse Brain atual para se orientar e produz um Brain atualizado para uso em execuções futuras.

Um agente Dream recebe um ambiente e decide como explorá-lo, em vez de receber uma entrada fixa achatada em um único prompt. Ele pode navegar pela memória baseada em arquivos, usar ferramentas de conector aprovadas somente leitura para verificar uma parte do conhecimento e delegar partes limitadas do trabalho a subagentes, incluindo o Agente de Memória. O escopo e as responsabilidades do agente Dream são especificados como uma Skill.
De forma geral, uma execução do Dream consiste em 4 fases:
- Orientar: O agente conclui um procedimento de orientação ordenado. Ele identifica o escopo autoritativo, instruções permanentes, registro de exclusão, entradas adicionais e condições de parada.
- Resumir sessões: Para cada sessão nova (ou que teve novos turnos) desde a última atualização, o agente escreve (ou atualiza) um breve resumo da sessão.
- Vincular fatos a assuntos: O agente adiciona cada observação que considera significativa ao seu devido lugar, que geralmente é uma página de wiki. Ele investiga e consulta conectores autenticados quando dispon&-veis.
- Atualizar wiki de conhecimento: O agente atualiza a wiki com base em suas descobertas. Ele pode produzir novas páginas para assuntos duradouros, revisar páginas quando a síntese atual tiver mudado ou adicionar novos links ou citações que apoiem uma afirmação factual. Ele também pode optar por não fazer nenhuma alteração quando o grafo atual já estiver correto.
Para garantir que quaisquer atualizações no Brain estejam completas e consistentes, os agentes escrevem o estado proposto em uma árvore de saída estagiada (staged). Nenhuma alteração permanente é feita até que o agente tenha feito todas as atualizações que julgar necessárias. A coordenação dessas decisões em um processo agêntico torna possível atualizar o grafo como um todo, em vez de como páginas não relacionadas.

Quaisquer alterações devem passar por dois tipos de verificações de validação. As verificações de validação determinística garantem que as páginas estejam bem formatadas e atendam a critérios objetivos, como frontmatter obrigatório e formato de citação. As verificações de verificação semântica garantem que uma síntese proposta seja respaldada pela evidência coletada e permaneça consistente com o restante do grafo. Depois que o agente termina com sucesso, uma etapa de sincronização controlada compara a saída preparada com o estado anterior e aplica as alterações ao repositório. Quando uma etapa de sincronização é concluída, o conjunto final de edições pode ser inspecionado por meio do histórico de versões do Git.
Validando o Brain
Um sistema de memória útil deve preservar evidências relevantes, trazá-las à tona quando necessário e ajudar o agente a converter essa evidência em uma resposta correta. Portanto, avaliamos o Brain em vários níveis: ablações offline controladas, repetição contínua emparelhada e experimentos de produção randomizados.
Avaliações Offline
Nossa principal avaliação offline usa um conjunto de dados interno de 640 perguntas em 44 personas sintéticas. As personas reproduzem padrões derivados de produção em cadência de sessões, contagem de turnos, mix de tópicos e densidade de fatos, sem conter nenhum texto de consulta de produção para preservar a privacidade do usuário. Cada conta é populada por meio do pipeline de memória de produção, incluindo extração de memória, resumos de conversas e a compilação da wiki de conhecimento pelo Dream. Para cada pergunta, a resposta correta está mecanicamente vinculada a evidências espec&-ficas presentes no histórico da conta.
Por exemplo, para a Nadia, a persona sintética de pesquisadora de acessibilidade apresentada anteriormente, o conjunto de dados inclui a pergunta: "Quais organizações estou encontrando em Kyoto e Sendai?". A resposta (Sora City Lab em Kyoto e Sapphir Mobility Coop em Sendai) aparece diretamente na página da Wiki correspondente.
Comparamos as mesmas perguntas e contas com a wiki de conhecimento compilada ativada versus desativada. Outras superfícies de memória permanecem dispon&-veis em ambas as condições. Isso isola a contribuição incremental do Brain, em vez de comparar a memória com a ausência de memória. No geral, o Brain aumentou a assertividade das respostas de 0,600 para 0,661, um ganho de 6,1 pontos percentuais, e a recuperação de evidências de 0,573 para 0,625, um ganho de 5,2 pontos percentuais. O efeito foi maior em perguntas sobre preferências (+10,2 pp), racioc&-nio temporal (+8,6 pp) e extração de detalhes de atividades anteriores (+6,9 pp). Em 84% das perguntas, o agente tocou comprovadamente em uma fonte vinculada à evidência principal.

Também executamos ablações correspondentes do Brain em subconjuntos de dois benchmarks públicos. No LoCoMo, remover a wiki reduziu a assertividade da resposta em 4,6 pontos percentuais em média, ao longo de três execuções com diferentes modelos. No LongMemEval-S, não produziu nenhuma alteração estatisticamente significativa. Esse resultado é consistente com o papel pretendido do Brain. O LongMemEval-S testa principalmente a recuperação de fatos de sessões individuais, onde as transcrições subjacentes fornecem um caminho redundante para a resposta. O LoCoMo dá maior ênfase a evidências espalhadas por conversas, palestrantes e datas, criando mais oportunidades para a síntese entre sessões da wiki contribuir.
No geral, com o Brain ativado, o agente de produção alcançou 0,91 de assertividade de resposta no LongMemEval-S e 0,83 no LoCoMo. Como esses experimentos usaram subconjuntos de benchmark, eles não são resultados definitivos de benchmark. No entanto, as ablações ainda fornecem um forte sinal de que a wiki melhora o desempenho, especialmente quando a evid&ncia deve ser integrada entre conversas. Como o Brain faz parte do Computer, em vez de um sistema de recuperação otimizado e específico para benchmark, acreditamos que a competitividade só aumentará com tarefas que se assemelhem mais de perto aos fluxos de trabalho de produção.
Avaliações Online
Os conjuntos de dados offline não conseguem capturar todos os recursos dos históricos de usuários reais, por isso também executamos uma avaliação emparelhada diária sobre coortes recém-derivadas de produção. As mesmas perguntas fixas são respondidas em relação ao estado correspondente do usuário com o Brain ativado e desativado, sendo então julgadas quanto à assertividade, atualidade e recuperação.
Resultados preliminares relatados em 18 de junho demonstraram que o Brain aumenta a assertividade das respostas em 25% e o reconhecimento em 16%. Esses ganhos de desempenho continuaram a se manter; nos últimos 30 dias, as sessões com o Brain ativado superaram o controle em todas as execuções e em todas as dimensões avaliadas. Em termos absolutos, os usuários do Computer desfrutaram de melhorias de 9,3 pontos na assertividade, 8,0 pontos na atualidade e 8,9 pontos na recuperação. As trajetórias com o Brain ativado também usaram aproximadamente 15% menos tokens, custaram 10% menos e concluíram a geração 10% mais rápido.

Aprimoramento Contínuo
Continuamos a refinar o Brain para trazer a melhor experiência de memória aos usuários. Uma alteração recente coloca o índice compacto do Brain diretamente no contexto inicial do agente, em vez de exigir que o agente o descubra e o leia mais tarde. Em um experimento randomizado, esse tratamento de preenchimento prévio aumentou o uso do Brain e reduziu a insatisfação relacionada à memória em 6,9%.
O harness de avaliação offline também serve como parte de um pipeline de aprimoramento autônomo. As alterações propostas para o subagente de memória, as habilidades de recuperação (retrieval skills) e os prompts do Brain são executados por meio das ablações correspondentes em nosso conjunto de dados interno e benchmarks públicos. Os agentes do Computer podem iterar sobre os resultados de forma autônoma, preservando a alteração, os deltas e o custo de cada iteração como um registro duradouro e mantendo apenas as alterações que movem os números. O resultado é um sistema onde os avaliadores do Brain também são seus otimizadores, impulsionando melhorias futuras.
Conclusão
A aprendizagem contínua é um dos desafios determinantes para a construção de sistemas de agentes que funcionam ao longo de semanas e meses. Acreditamos que as arquiteturas de memória são melhor expostas como ambientes que os agentes podem explorar diretamente usando seus conjuntos de ferramentas normais. Expor a memória como um sistema de arquivos, com o Brain como uma wiki de conhecimento estruturada acima, torna o contexto navegável com eficiência por meio de ferramentas simples e familiares.
O Brain foi projetado para autoaperfeiçoamento, para que o sistema de memória possa continuar melhorando à medida que o uso cresce. Os agentes em segundo plano do Dream destilam novas informações em atualizações do Brain, garantindo que os agentes em primeiro plano sempre iniciem uma nova sessão com uma visão organizada do contexto mais recente. O harness de avaliação serve também como um ambiente de teste para loops de autopesquisa na arquitetura de memória principal e interfaces voltadas para o agente.
O Brain já resultou em sessões de agentes mais precisas e eficientes, ao mesmo tempo em que reduziu os tokens gastos. Nosso cuidadoso co-design do Brain com a pilha de produção do Computer garante que esses ganhos se traduzam diretamente em benef&-cios reais para os usuários.
Continuamos a desenvolver mais recursos para melhorar a qualidade da memória do Computer. Enquanto isso, para usuários com o Brain ativado, a memória melhorará a cada sessão.