> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/pt-br/2025/w45-thoughts-from-participating-in-a-data-compression-competition.md).

# W45-Impressões de uma competição de compressão de dados

Participei da competição de compressão de dados da comunidade de grandes modelos e entreguei a solução em pouco mais de meio dia. Ainda preciso esperar as submissões dos outros para saber meu nível, mas a velocidade com programação com IA foi realmente alta.

Usei o Codemap do Windsurf e entendi o repositório rapidamente. A maioria dos produtos de programação com IA se concentra na saída e ignora que as pessoas leem mais devagar e com mais dificuldade. Quando a geração se aproxima do tempo real, a latência de entrada na cognição se torna o novo gargalo. Ferramentas como Codemap e DeepWiki ampliam essa entrada e ajudam engenheiros a construir rapidamente um modelo mental.

A base teórica da compressão de dados é a teoria da informação. A quantidade de informação definida por Shannon mede a redução da incerteza. Quanto maior a incerteza, maior a entropia. Só a parte que efetivamente elimina incerteza constitui informação útil. O que é previsível e repetido é redundância. A compressão busca reduzir essa redundância e melhorar a eficiência da codificação.

Ao receber o problema, pensei em três caminhos, correspondentes a três níveis de compressão.

**O primeiro é a compressão semântica, com resumos estruturados.** Fazer a análise convencional dos dados e eliminar redundância. Foi o caminho da minha submissão, com estas estratégias principais:

1. Agregação de listas: listas longas de consumo, comportamento e localização são agrupadas por janela de tempo ou tipo, mantendo apenas métricas centrais, como número de pedidos, tíquete médio e dias de permanência.
2. Resumos semânticos: dados textuais, como conversas e buscas, passam por expressões regulares e extração de padrões para gerar pistas de alto valor, como top\_issues e top\_keywords.
3. Limpeza unificada: ferramentas comuns, como safe\_json\_list, análise de datas e normalização de campos, permitem comprimir e interpretar dados sujos de origens diferentes dentro da mesma estrutura.

**O segundo é a compressão por codificação, com otimização de símbolos.** Usar probabilidades estatísticas para criar um mapeamento de vocabulário mais eficiente, com símbolos curtos para conteúdo frequente, como na codificação de Huffman. O problema é que os dados comprimidos serão usados por um grande modelo de linguagem. Se ele não conhece aquele sistema de símbolos, não consegue entendê-lo. Mesmo fornecendo as regras, o gasto de contexto provavelmente não diminui, pois também transferimos a tradução ao modelo. Portanto, essa abordagem exigiria treinar um modelo específico, com custo muito alto.

**O terceiro é a compressão de engenharia, na direção da engenharia de contexto.** Na produção, economizar espaço de contexto apenas comprimindo dados é uma estratégia. Sob a engenharia de contexto, encontramos outras estratégias eficazes\*\*.\*\* Fazer o modelo escrever consultas, chamar ferramentas como RAG e receber as estatísticas resultantes como entrada, junto de algoritmos de alta compressão, deve multiplicar o efeito final.
