# Configurei compression.threshold: 0.50 mas a compressão só dispara quando o contexto já está quase estourando. O valor não está sendo lido?

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-compression-threshold-configurei-compressao-dispara.

**Em uma frase:** O valor está sendo lido, mas existe um piso não documentado na página de configuração: modelos com janela de contexto **abaixo de 512.000 tokens** têm o threshold elevado para no mínimo **0,75**, e o ajuste é raise-only (só sobe, nunca desce). Num modelo de 200K, `threshold: 0.50` vira 0,75 na prática, disparando em ~150.000 tokens e não em 100.000. Só modelos de 512K+ respeitam 0,50.

## A mesma pergunta, dita de outras formas

- por que o Hermes comprime em 75% se eu pedi 50%
- compression.threshold não respeita o valor que eu setei
- o threshold de compressão do Hermes está diferente do que configurei
- hermes config get compression.threshold mostra 0.50 mas o comportamento é outro

## A armadilha desta pergunta

**Se você já opera isso:** Todo material N3/N4 (e a própria seção "Computed Values" da doc oficial de desenvolvedor) repete a conta ingênua `threshold × context_length` e conclui que um modelo de 200K comprime em 100K tokens. Na v0.19.0 comprime em 150K, porque o piso small-context é aplicado no caminho principal (`_resolve_context_length`), não só quando você usa `model_thresholds`. E como o piso é raise-only, baixar `threshold` para 0.30 num modelo pequeno não muda absolutamente nada.

## O comando colável

```bash
_SMALL_CTX_WINDOW_LIMIT = 512_000
_SMALL_CTX_THRESHOLD_PERCENT = 0.75

@staticmethod
def _effective_threshold_percent(context_length, threshold_percent):
    if context_length and context_length < _SMALL_CTX_WINDOW_LIMIT:
        return max(threshold_percent, _SMALL_CTX_THRESHOLD_PERCENT)
    return threshold_percent
```

```bash
CTX=$(hermes config get model.context_length)
THR=$(hermes config get compression.threshold)
python3 -c "
ctx=int('${CTX:-200000}'); t=float('${THR:-0.5}')
eff = max(t, 0.75) if ctx < 512_000 else t
print(f'threshold configurado : {t}')
print(f'threshold EFETIVO     : {eff}')
print(f'dispara em            : {int(ctx*eff):,} tokens de {ctx:,}')"
```

```bash
# procure esta linha nos logs do Hermes
# "Context compressor initialized: model=... context_length=... threshold=N (75%) ..."
```

## 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 model.context_length && hermes config get compression.threshold   # se context_length < 512000, o efetivo é max(threshold, 0.75)
```

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

## O que a frota corrigiu nesta resposta

Endereços corretos na tag v2026.7.20: constantes em agent/context_compressor.py linhas 309-317; aplicação no construtor na linha 1359 e em update_model() na linha 1175; função _effective_threshold_percent nas linhas 1249-1263. Remover a menção a `_resolve_context_length` e a `model_thresholds`, que não existem na v0.19.0. Reformular a armadilha assim: o piso é aplicado inline no __init__ do ContextCompressor, antes de threshold_tokens ser derivado, e como é raise-only, baixar `compression.threshold` para 0.30 num modelo abaixo de 512K não muda nada. Na v0.19.0 não existe saída de config para forçar gatilho mais cedo nesse caso. Verificação: gh api "repos/NousResearch/hermes-agent/contents/agent/context_compressor.py?ref=v2026.7.20" --jq '.content' | base64 -d | sed -n '309,317p;1249,1263p'

## 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.

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-compression-threshold-configurei-compressao-dispara. 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.
