Estou trabalhando em algo chamado **[Neotoma](/posts/truth-layer-agent-memory)**.[^1]

Não há nada para tentar ainda. Esta não é uma postagem de lançamento e não estou anunciando um produto ou pedindo inscrições. O problema vem me incomodando há algum tempo e, mais importante, tem atrapalhado ativamente o trabalho que venho tentando fazer.

No ano passado, passei muito tempo experimentando sistemas de agentes: automatizando fluxos de trabalho, delegando tarefas a agentes, permitindo que os sistemas operassem entre sessões em vez de começarem do zero todas as vezes. Repetidas vezes, esbarrei na mesma parede. Os sistemas eram capazes, muitas vezes de forma impressionante, mas eu não podia confiar neles para obter um estado real e contínuo.

Essa limitação não foi apenas teórica. Tem sido um bloqueador prático da automação.

## Os sistemas de IA estão mudando silenciosamente de funções

Costumavam ser algo que você apenas consultava: você fazia uma pergunta, obtinha uma resposta e seguia em frente. Cada vez mais, eles agem. Eles escrevem arquivos e documentos, chamam ferramentas e APIs, consultam conversas anteriores entre sessões e encadeiam decisões ao longo do tempo sem serem solicitados explicitamente para cada etapa.

Nesse ponto, os dados pessoais deixam de ser material de referência e passam a se tornar *estado*.

E o estado tem requisitos diferentes.

## O que continua quebrando não é a inteligência, mas a confiança

Os atuais sistemas de memória de IA são construídos em torno da conveniência. Eles otimizam a recuperação, a velocidade e a fluência, e se o sistema *parece* que se lembra de você. Nenhum é construído em torno de proveniência, inspecionabilidade, repetição ou causalidade clara.

Na prática, isso significa que posso fazer com que um agente faça algo uma vez, mas hesito em deixá-lo fazer algo *de novo*. A memória muda implicitamente. Desvios de contexto. As suposições aumentam. E quando algo dá errado, não consigo responder o que mudou, por que mudou ou se o sistema tomaria a mesma decisão se eu o executasse novamente do zero.

Isto é tolerável quando a IA é consultiva, mas não quando está operacional.

## Parte do problema é uma incompatibilidade de categoria

Ainda tratamos dados pessoais como notas, blocos de texto ou contexto solto. Enquanto isso, os agentes tratam os mesmos dados como entradas, restrições, gatilhos e estado de longa duração. Você não pode automatizar com segurança dados que não pode inspecionar, comparar, auditar ou reproduzir.

Este não é um problema de UX. É um problema de sistema.

## O que parece faltar é um primitivo básico

Estado pessoal explícito, inspecionável e reproduzível.

Outros domínios resolveram isso há muito tempo. Os bancos de dados tornaram o estado do aplicativo confiável. Os logs de eventos tornaram os sistemas distribuídos compreensíveis. Os livros contábeis tornaram o histórico financeiro auditável. Os dados pessoais nunca precisaram desse nível de rigor antes, porque os humanos podiam carregar o contexto nas suas cabeças ou reconstruí-lo através da revisão manual dos registos.

Os agentes mudam essa suposição.

## A implicação desconfortável é que fazer isso corretamente adiciona atrito

As mudanças de estado não podem ser implícitas.

As atualizações de memória devem ser nomeadas como operações, e não como efeitos colaterais. As entradas devem ser visíveis e não inferidas. A história tem que ser reconstrutível e não feita à mão.

Você desiste de um pouco de magia e aceita mais cerimônia. Caso contrário, você e seus agentes acabarão vivendo juntos de maneira pouco confiável através de lentes divergentes da realidade.

Não há um atalho para essa compensação. Os sistemas que priorizam a conveniência e os sistemas seguros para agentes seguem direções opostas.

## Estou tratando dados pessoais da mesma forma que os sistemas de produção tratam o estado

Isso leva a algumas consequências inevitáveis. O comportamento deve priorizar o contrato: as mudanças de estado são operações explícitas e digitadas, e não atualizações ad hoc. As mutações devem ser explícitas. Nada "apenas atualiza a memória".

Se os agentes vão agir, eles precisam de interfaces restritas e auditáveis, em vez de prompts ou incorporações opacas. A repetição é tão importante quanto a resposta atual: ser capaz de explicar como você chegou aqui faz parte da verdade.

A mesma entrada sempre produz a mesma saída, pois a camada de memória é determinística e os agentes possuem um substrato confiável. As alterações são imutáveis ​​e consultáveis ​​para que você possa ver o estado da entidade a qualquer momento.

A memória vem dos documentos que você carrega e dos dados que os agentes escrevem durante as conversas, um gráfico estruturado que unifica entidades e eventos para que os agentes possam raciocinar sobre tudo isso.

Estas não são preferências estéticas. Eles deixam de tentar, e falham repetidamente, automatizar fluxos de trabalho reais sem perder a confiança no sistema que faz o trabalho.

## Por que estou projetando dessa maneira

Estou mantendo MCP e CLI primeiro. Não há interface da web nem memória oculta. É local primeiro por padrão, com interfaces explícitas para agentes. Estou ingerindo apenas o que forneço explicitamente, sem verificação automática ou ingestão em segundo plano. Isso não são omissões, são barreiras de proteção. Eles tornam mais difícil, acidentalmente ou não, mentir sobre o que o sistema sabe e como chegou lá.

Também estou tornando-o multiplataforma e priorizando a privacidade por design. Funciona com ChatGPT, Claude e Cursor via MCP, não vinculado a um único provedor. Seus dados permanecem seus, controlados pelo usuário, nunca usados ​​para treinamento. Essas não são conveniências; eles são pré-requisitos para a confiança.

## O que não é

Não é um aplicativo de anotações ou um “segundo cérebro”; é um substrato de memória estruturado para agentes.

Não é memória ChatGPT controlada pelo provedor ou projetos Claude; é o seu próprio substrato, exposto via MCP para que qualquer agente possa utilizá-lo.

Não é um armazenamento de vetores ou uma camada RAG; é uma memória estruturada com base no esquema e com origem.

Não é um agente autônomo, mecanismo de fluxo de trabalho ou assistente de IA com memória invisível; são os agentes da camada de memória que leem e escrevem, e você controla.


E ainda não é algo que eu chamaria de confiável. Estou tentando construir a camada de base antes de fingir que existem garantias.

## Por que agora

Estamos normalizando sistemas que agem em nosso nome, persistem crenças e acumulam decisões ao longo do tempo. Quando esses sistemas falharem, e irão falhar, a primeira pergunta será: "Como é que isto aconteceu?"

No momento, a maioria das ferramentas não será capaz de responder a isso. E durante o ano passado, essa incapacidade foi a principal coisa que me impediu de confiar aos agentes qualquer coisa que importasse. Esse problema está prestes a aumentar.

A web agente está surgindo. Precisamos de uma onde os usuários permaneçam no controle da memória, e não de uma onde a entreguemos a plataformas centralizadas e os agentes atuem em nosso nome usando métodos opacos e não confiáveis. Estou construindo o Neotoma para fornecer isso: um substrato que pode ser inspecionado, reproduzido e controlado pelo usuário à medida que a web agente cresce.

## Próxima visualização do desenvolvedor

Estou trabalhando para lançar uma prévia do desenvolvedor para meu próprio uso e testes públicos. Será difícil e explicitamente não confiável (por exemplo, as APIs podem mudar). Seu objetivo será testar a pressão dessas ideias em uso real, e não vender nada.

Como estou abordando a construção: estou fazendo dogfood primeiro em minha própria pilha de agentes para poder ver onde o determinismo e a proveniência realmente ajudam e onde eles atrapalham. Os casos de uso incluem:

- **Tarefas e execução** — Tarefas, planos, projetos e resultados com datas de vencimento e lembretes de acompanhamento
- **Contatos e relacionamentos** — Registros de contato e gráfico de relacionamento vinculados a comunicações, tarefas e eventos
- **Comunicações** — Triagem de e-mail, processamento acionado por fluxo de trabalho e rastreamento de conversas
- **Finanças** — Transações, fluxos, receitas, participações, transferências e registro de custos
- **Manutenção de registros** — Relatórios de compras, contas, propriedades e análises pontuais
- **Conteúdo** — Postagens, histórico pessoal, mídia favorita e fontes de consumo
- **Saúde** — Hábitos, exercícios e monitoramento contínuo

Estou priorizando a estabilidade do MCP e uma CLI mínima antes de adicionar mais área de superfície, entidade de teste de estresse e resolução de relacionamento e consultas de cronograma à medida que o uso aumenta.

Se esse enquadramento ressoar, o trabalho está acontecendo abertamente aqui:
[https://github.com/markmhendrickson/neotoma](https://github.com/markmhendrickson/neotoma)

Marcar o repositório com estrela é a maneira mais simples de acompanhá-lo à medida que ele evolui. Contribuições de pessoas que pensam em sistemas de agentes e estado escalável são sempre bem-vindas.

[^1]: Nomeado em homenagem ao gênero *Neotoma* (packrats), conhecido por coletar e preservar material.