Como a compressão semântica reduz 45% dos tokens sem perder qualidade
Compressão semântica é a técnica de reescrever um prompt antes de enviar pro modelo, removendo redundância textual sem alterar o significado. O resultado: 40-45% menos tokens consumidos, mesma qualidade de resposta.
O LLMLingua-2 (Microsoft, open-source) é o compressor mais usado em produção. Ele analisa o prompt, identifica quais tokens são informativos e quais são preenchimento, e remove os desnecessários. O modelo recebe um prompt mais enxuto e responde com a mesma precisão.
Relacionado: Token optimization: advanced techniques | FinOps para IA: guia completo
O que é compressão semântica
Todo prompt tem duas partes: informação e preenchimento. A informação é o que o modelo precisa pra gerar a resposta. O preenchimento é tudo que sobra — artigos redundantes, contexto repetido, instruções prolixas.
Exemplo real:
Prompt original (847 tokens):
Você é um assistente especializado em análise de documentos jurídicos.
Sua tarefa é analisar o documento a seguir e identificar as cláusulas
mais importantes. O documento é um contrato de prestação de serviços
entre duas empresas. Por favor, leia atentamente todo o conteúdo do
documento e forneça uma análise detalhada das cláusulas principais,
incluindo cláusulas de rescisão, penalidades, prazos e obrigações
de cada parte envolvida no contrato...
[documento completo]
Prompt comprimido (462 tokens):
Assistente análise jurídica. Identifique cláusulas principais:
rescisão, penalidades, prazos, obrigações.
[documento comprimido - redundâncias removidas]
Mesma resposta. 45% menos tokens. 45% menos custo.
Como o LLMLingua-2 funciona
O LLMLingua-2 é um paper da Microsoft Research, open-source, que comprime prompts em três etapas:
1. Classificação de tokens
Um modelo leve (BERT ou similar) classifica cada token do prompt como “essencial” ou “descartável”. Tokens essenciais carregam informação única. Tokens descartáveis são redundância textual.
2. Remoção controlada
Tokens descartáveis são removidos respeitando um threshold de compressão. Se você configura 50% de compressão, o compressor remove até metade dos tokens, priorizando os menos informativos.
3. Reconstrução de coerência
O prompt comprimido é ajustado pra manter coerência gramatical mínima. Não precisa ser português perfeito — o LLM entende prompts “telegráficos” perfeitamente.
Performance
Benchmarks publicados:
| Métrica | Valor |
|---|---|
| Taxa de compressão | 2-5x (50-80% dos tokens removidos) |
| Qualidade da resposta | 90-95% do original |
| Latência de compressão | 10-30ms |
| Overhead total | Imperceptível (<50ms p95) |
O ponto chave: 90-95% de qualidade não significa 5-10% de perda. Na maioria dos casos, a resposta é idêntica. Os tokens removidos eram genuinamente desnecessários.
Compressão semântica vs. prompt engineering manual
“Mas eu já otimizo meus prompts manualmente.” Sim, e provavelmente faz um bom trabalho. A diferença:
| Aspecto | Manual | Compressão semântica |
|---|---|---|
| Escala | 1 prompt por vez | Milhões de prompts automaticamente |
| Consistência | Depende do dev | Algorítmica, consistente |
| Tempo | Minutos por prompt | 10ms por prompt |
| Manutenção | Precisa revisar quando muda | Automática |
| Economia típica | 10-20% | 40-50% |
Prompt engineering manual é essencial pra definir a estrutura do prompt. Compressão semântica é o que escala essa otimização pra produção.
Elas não competem — se complementam. Você escreve o melhor prompt possível, e o compressor remove a redundância residual antes de enviar.
Quando usar compressão semântica
Casos ideais
RAG (Retrieval-Augmented Generation): Os chunks recuperados de documentos frequentemente têm redundância entre si. Cabeçalhos repetidos, contexto overlapping, metadata desnecessária. Compressão corta 40-50% sem perder informação relevante.
System prompts longos: Instruções de sistema com 500-1000 tokens que se repetem em toda chamada. Comprimir uma vez e cachear o resultado comprimido economiza em toda request subsequente.
Histórico de conversa: Em chatbots, o histórico cresce a cada turno. Turnos antigos ficam cada vez menos relevantes mas continuam consumindo tokens. Compressão remove redundância do histórico mantendo o contexto necessário.
Documentos longos: Contratos, relatórios, artigos — qualquer documento com linguagem formal tem 30-50% de redundância textual natural.
Quando evitar
Prompts já mínimos: Se seu prompt tem 50 tokens, não tem o que comprimir. O overhead de compressão (10ms) não se justifica.
Código-fonte: Comprimir código pode remover tokens sintáticos que parecem redundantes mas são essenciais (chaves, parênteses, indentação significativa). Use com cautela.
Dados estruturados: JSON, CSV, SQL — formatos onde cada token tem significado estrutural. Compressão pode quebrar a estrutura.
Economia em números reais
Startup com chatbot de atendimento, 5.000 chamadas/dia:
Sem compressão
| Métrica | Valor |
|---|---|
| Tokens médios/chamada | 2.500 (input) |
| Modelo | GPT-4o ($5/M tokens input) |
| Custo input/dia | $62.50 |
| Custo input/mês | $1.875 |
Com compressão semântica (-45%)
| Métrica | Valor |
|---|---|
| Tokens médios/chamada | 1.375 (input) |
| Modelo | GPT-4o ($5/M tokens input) |
| Custo input/dia | $34.37 |
| Custo input/mês | $1.031 |
| Economia mensal | $844 (-45%) |
Multiplicando por 12 meses: $10.128/ano de economia só com compressão, sem mudar modelo, sem mudar lógica, sem mudar nada no código.
Como implementar
Opção 1: LLMLingua-2 direto
O LLMLingua-2 é open-source (Microsoft). Roda em Python:
from llmlingua import PromptCompressor
compressor = PromptCompressor(model_name="microsoft/llmlingua-2-xlm-roberta-large-meetingbank")
compressed = compressor.compress_prompt(prompt, rate=0.5)
# Enviar compressed["compressed_prompt"] pro LLM
Requer: GPU pra inferência rápida, infra de deploy, manutenção.
Opção 2: Proxy com compressão integrada
Plataformas como Veltrix integram compressão como parte do proxy. O prompt passa pelo compressor automaticamente antes de ir pro modelo. Troca a baseURL do SDK e a compressão acontece em toda chamada.
A vantagem: sem infra extra, sem GPU, sem manutenção. E combina com cache semântico e roteamento pra economia de 60%+.
Conclusão
Compressão semântica é a otimização mais “invisível” que existe: mesma resposta, menos tokens, menor custo. Nenhuma mudança no código, nenhuma mudança na experiência do usuário.
- 40-45% de redução de tokens de input
- 90-95% de qualidade mantida
- 10-30ms de overhead (imperceptível)
- Open-source (LLMLingua-2, Microsoft)
Se você gasta mais de R$ 500/mês com API de LLM e ainda não usa compressão, tá pagando por tokens que não precisavam existir.
Próximo passo: Cache semântico — a segunda alavanca que elimina chamadas inteiras.
Pronto pra reduzir sua fatura de IA?
Teste grátis por 7 dias. Sem cartão. Sem refactor. Resultado mensurável no primeiro dia.
Começar agora →