# Quando o Hermes comprime, o que ele garante que NÃO vai perder? Meu pedido original sempre some.

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-comprime-garante-vai-perder-pedido-original.

**Em uma frase:** Sobrevivem sempre: o system prompt (incondicional), as `protect_first_n` mensagens não-sistema do início (default 3, a troca de abertura), as `protect_last_n` mensagens recentes (default 20), e no mínimo `min_tail_user_messages` turnos de usuário REAIS na cauda não comprimida (default 1). Se o seu pedido original some, provavelmente alguém setou `protect_first_n: 0`, que é a opção documentada para "não fixar nada".

## A mesma pergunta, dita de outras formas

- o que sobrevive à compactação de contexto no Hermes
- como faço o Hermes não esquecer a tarefa original depois de comprimir
- protect_first_n e protect_last_n, o que fazem
- min_tail_user_messages, para que serve

## A armadilha desta pergunta

**Se você já opera isso:** Achar que `protect_first_n` protege as 3 primeiras mensagens INCLUINDO o system prompt. Não: ele conta mensagens **não-sistema**, e o system prompt é preservado incondicionalmente por fora dessa conta. Segunda armadilha: subir `min_tail_user_messages` esperando que o contexto pós-compactação continue dentro do alvo. A garantia vence o orçamento de tokens da cauda, então a cauda pode estourar o alvo de propósito.

## O comando colável

```bash
hermes config get compression.protect_first_n   # se der 0, é a sua causa
hermes config set compression.protect_first_n 3
```

```bash
hermes --version
hermes config get compression.protect_first_n
hermes config get compression.min_tail_user_messages
```

## 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 compression.protect_first_n && hermes config get compression.protect_last_n && hermes config get compression.min_tail_user_messages
```

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

## O que a frota corrigiu nesta resposta

Substituir a quarta garantia por: na v0.19.0 a cauda não comprimida sempre retém pelo menos UMA mensagem de usuário REAL, garantia hardcoded (helpers _find_last_user_message_idx e _ensure_last_user_message_in_tail), sem chave de config. Andaimes sintéticos de papel user (snapshots de todo, avisos de truncamento, relatórios de processo em background, nudges de recuperação, e sumários de compactação fixados como role=user) NÃO contam como âncora humana, endurecido pelo PR #67275. Não existe `min_tail_user_messages` na v0.19.0, então não há como pedir 3 turnos reais. Excluir a segunda armadilha. Manter intactas: system prompt incondicional, protect_first_n default 3 contando mensagens NÃO-sistema, protect_last_n default 20, e a armadilha #1, que é o miolo correto da resposta.

## 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/developer-guide/context-compression-and-caching

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-comprime-garante-vai-perder-pedido-original. 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.
