# O Hermes tem quantos sistemas de memória diferentes? Estou confuso porque cada tutorial fala de uma coisa.

Hermes Agent v0.19.0, eixo memoria, por José Carlos Amorim, na Nexialismo. Verificado em 2026-07-28 contra a tag v2026.7.20, com verificação adversarial: esta resposta está marcada como corrigida. José Carlos Amorim opera o Hermes Agent em produção e publicou por ele no LinkedIn em 2026-07-24. English version: https://docs.nexialismo.ai/en/hermes-memoria-hermes-tem-quantos-sistemas-memoria-diferentes-estou.

**Em uma frase:** São 4 subsistemas independentes na v0.19.0: (1) memória built-in curada em `~/.hermes/memories/` (MEMORY.md 2.200 chars + USER.md 1.375 chars, injetada como snapshot congelado no system prompt); (2) histórico completo de sessões em `~/.hermes/state.db` (SQLite + FTS5), consultado pela tool `session_search` sem custo de LLM; (3) contexto de trabalho do turno atual, governado pelo bloco `compression:`; (4) provider externo opcional em `memory.provider`, com 8 plugins bundled, dos quais no máximo um fica ativo. Eles não se substituem: a built-in continua ativa mesmo com provider externo ligado.

## A mesma pergunta, dita de outras formas

- qual a diferença entre MEMORY.md, state.db e o provider de memória do Hermes
- como funciona a memória do Hermes Agent, é tudo a mesma coisa?
- hermes memory vs session_search vs compressão, o que é o quê
- explica as camadas de memória do Hermes v0.19.0

## A armadilha desta pergunta

**Se você já opera isso:** Material N3/N4 quase sempre trata "a memória do Hermes" como um sistema único, geralmente falando só de MEMORY.md. Isso faz o operador tentar resolver problema de recall de conversa antiga aumentando `memory_char_limit`, o que não funciona e ainda encarece todo turno. Recall de conversa antiga é `session_search` sobre `state.db`, que custa zero token de contexto fixo.

## O comando colável

```bash
# Camada 1 — limites e estado da memória curada
hermes config get memory.memory_char_limit
hermes config get memory.user_char_limit
ls -la ~/.hermes/memories/

# Camada 2 — o banco de sessões
ls -lh ~/.hermes/state.db
hermes sessions list

# Camada 3 — política de compressão efetiva
hermes config get compression.threshold
hermes config get context.engine

# Camada 4 — provider externo (vazio = só built-in)
hermes config get memory.provider
hermes memory status
```

## Como confirmar na sua instalação

**Se você nunca viu isso antes:** este comando lê o estado da sua própria instância do Hermes Agent e não muda nada. Rode antes de acreditar em qualquer resposta, inclusive nesta.

```bash
hermes config get memory.provider && hermes config get memory.memory_char_limit && ls -lh ~/.hermes/state.db ~/.hermes/memories/
```

Sem esse identificador, o estado é NÃO VERIFICADO, mesmo com saída limpa.

## O que a frota corrigiu nesta resposta

Trocar o endereço para: hermes_cli/config.py bloco "memory" nas linhas 2303-2326 da tag v2026.7.20. Comando: gh api "repos/NousResearch/hermes-agent/contents/hermes_cli/config.py?ref=v2026.7.20" --jq '.content' | base64 -d | sed -n '2303,2326p'

## Quem operou o Hermes Agent neste documento

Este texto é de José Carlos Amorim, publicado na Nexialismo em 2026-07-28. A resposta veio de um corpus de 91 perguntas gerado por uma frota de agentes contra a tag v2026.7.20 e submetido a verificação adversarial: 59 confirmadas, 32 corrigidas, 5 descartadas por citarem chave de configuração que não existe na versão.

Fonte oficial desta resposta: https://hermes-agent.nousresearch.com/docs/user-guide/features/memory

O corpus inteiro fica em https://docs.nexialismo.ai/pt/hermes. A versão em inglês desta página fica em https://docs.nexialismo.ai/en/hermes-memoria-hermes-tem-quantos-sistemas-memoria-diferentes-estou. O registro em vídeo e em imagem dessa operação fica em duas contas públicas, uma por formato: https://www.youtube.com/@josecarlosamorim-ai no YouTube e https://www.instagram.com/josecarlosamorim.ai/ no Instagram.

Verificado em 2026-07-28. Alvo de versão: Hermes Agent v0.19.0, tag v2026.7.20.

Tamo junto.
