Memória do agente
A memória do agente no Notarium não é mágica escondida nem um banco à parte: são notas comuns da classe agent-memory, que o agente escreve a partir de suas observações e que você pode ler, corrigir e apagar. O agente guarda fatos por meio de remember_about_user e remember_about_project, e puxa contexto por meio de recall. A disciplina central é buscar antes de gravar, para não criar duplicatas.
Dois eixos: sobre o usuário e sobre o projeto
A memória vive em dois eixos ortogonais:
- Sobre o usuário —
remember_about_usergrava fatos duradouros sobre você (preferências, contexto, trabalho atual) na memória privada do seu domínio pessoal. É a mesma memória em qualquer espaço em que você trabalhe — ela não é misturada a cada espaço. - Sobre o projeto —
remember_about_projectgrava memória sobre um projeto específico no subdiretório dele. Simétrico à gravação sobre o usuário, mas atrelado ao projeto.
Ambos os eixos usam a classe agent-memory. O agente não escolhe nem a classe, nem a pasta, nem o espaço: a própria ferramenta impõe tudo isso. O conhecimento compartilhado que deve viver na árvore do projeto como user-doc é gravado por uma ferramenta separada, create_note, e não pelo "remember".
Um arquivo por categoria, não um arquivo por observação
remember_about_user(observation, category) anexa a observação ao arquivo da categoria em vez de criar um microarquivo para cada fato. category é um rótulo ("preferences"), não um caminho. Uma nova categoria significa um novo arquivo. O summary opcional é um resumo de uma linha da categoria que alimenta o índice derivado do perfil.
Corrigir ou apagar um único fato registrado é apenas editar uma nota comum: edit_note pelo id da nota de memória (retornado por remember_*) no modo findReplace (um content vazio remove o trecho) ou no modo replace para toda a categoria. Não existe um "endereçamento por observação" separado — a memória é editada com os mesmos modos baseados em palavras de qualquer nota.
recall ≠ search
As duas ferramentas leem, mas resolvem problemas diferentes:
search | recall | |
|---|---|---|
| O que retorna | trechos ranqueados com score e path | um pacote de contexto coerente dentro de um orçamento de tokens |
| Escopo | notas relevantes | notas relevantes mais seus vizinhos no grafo (depth saltos pelo grafo) |
| Memória | enxerga a memória (para deduplicar) | puxa do conhecimento e da memória pessoal |
| Quando chamar | achar algo específico, verificar antes de gravar | montar contexto em torno de um tema para trabalhar |
recall é mais rico: percorre o grafo ao redor do que encontrou e empacota o resultado dentro de budgetTokens, enquanto maxPerSource impede que uma nota grande consuma o pacote inteiro. search é preciso: é justamente o mecanismo por trás do "buscar antes de gravar".
Buscar antes de gravar
A memória é a única classe sem proteção contra duplicatas por título, então o search deliberadamente abrange também a memória do agente. Sempre busque antes de gravar: isso deduplica tanto o conhecimento quanto a memória.
Antes de remember_*, chame search sobre o tema do fato. Se a categoria já existir, anexe a ela pelo próprio remember_* (ele anexa) ou conserte-a com edit_note, em vez de criar um sinônimo.
O que o dono vê
A memória fica oculta da navegação normal (a árvore, o Feed, a busca comum), mas não está escondida de você: ela é visível por uma lente Memory dedicada na árvore do explorador (as notas abrem como qualquer outra, em /m/<id>), e você pode silenciar uma categoria em Agents → Context. A entrada no registro de revisões mostra exatamente o que o agente registrou — é assim que você pega qualquer coisa que uma injeção possa ter enfiado ali. Você não pode reorganizar a memória: a seção pertence ao agente (um conjunto plano mais um índice derivado), mas movê-la de lugar é tecnicamente seguro — a identidade se apoia no id da nota.
Próximo
- Conjuntos de contexto e fixações — como silenciar uma categoria de memória e o que carrega na inicialização.
- Auditoria de recuperação — o que o agente buscou via
search/recalle se encontrou. - Ferramentas de intenção — o conjunto completo de ferramentas.