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
_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
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:,}')"
# 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.
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.