NotariumDocumentação
Versão da documentação: latest
PT

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árioremember_about_user grava 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 projetoremember_about_project grava 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.

As duas ferramentas leem, mas resolvem problemas diferentes:

searchrecall
O que retornatrechos ranqueados com score e pathum pacote de contexto coerente dentro de um orçamento de tokens
Escoponotas relevantesnotas relevantes mais seus vizinhos no grafo (depth saltos pelo grafo)
Memóriaenxerga a memória (para deduplicar)puxa do conhecimento e da memória pessoal
Quando chamarachar algo específico, verificar antes de gravarmontar 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.

A disciplina de deduplicação

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