---
title: "Compressão de prompt"
source: "https://systems-analysis.info/int/Compress%C3%A3o_de_prompt"
wiki: "systems-analysis.info/int"
article: "Compressão_de_prompt"
language: "pt"
categories:
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Portuguese"
  - "Category:Prompt engineering"
revision_id: 1107
wiki_created_at: 2026-09-06T22:43:30Z
wiki_modified_at: 2026-09-06T22:43:30Z
downloaded_at: 2026-09-07T22:44:08Z
---

# Compressão de prompt

A **compressão de prompt** (em inglês: *prompt compression*) é um conjunto de métodos em engenharia de prompt que visam reduzir o comprimento do texto de entrada (prompt) para modelos de linguagem grandes (LLMs), preservando as informações essenciais<sup>[\[1\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-jha2024-1)</sup>. Com o aumento da janela de contexto dos LLMs para milhões de tokens (por exemplo, no Google Gemini), tornou-se possível processar textos muito longos, mas isso criou novos desafios: alto custo de chamadas, aumento da latência e diminuição da qualidade do raciocínio devido ao efeito de "perda no meio" (lost in the middle)<sup>[\[2\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-survey2024-2)</sup>.

A compressão de prompt resolve esses problemas ao concentrar os dados mais essenciais em uma entrada reduzida e descartar informações redundantes. Isso diminui o risco de exceder o limite de contexto, acelera a geração e reduz os custos, mantendo a precisão das respostas<sup>[\[3\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-datacamp-guide-3)</sup>.

## Métodos de compressão de prompt

Os métodos de compressão de prompt podem ser divididos em várias classes principais.

### Remoção de tokens (filtragem)

Esta abordagem consiste em remover os tokens, frases ou sentenças menos informativos do texto original, sem alterar as partes restantes. A importância dos tokens é determinada por heurísticas.

- **LLMLingua**: Um método desenvolvido pela Microsoft que calcula a perplexidade de cada token e remove aqueles que têm pouco impacto na previsibilidade do texto. Na versão **LongLLMLingua**, essa abordagem é adaptada para documentos longos, considerando a relevância dos fragmentos em relação a uma consulta específica do usuário<sup>[\[4\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-jiang2023_llmlingua-4)</sup>.
- **Selective-Context**: Utiliza um modelo de linguagem menor para avaliar a *self-information* de cada token e descarta os tokens com menor informatividade<sup>[\[5\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-li2023_selective-5)</sup>.
- **PCRL** (Prompt Compression via Reinforcement Learning): Treina um agente usando aprendizagem por reforço para tomar uma decisão para cada token — "manter" ou "remover" — com o objetivo de maximizar uma métrica de qualidade (por exemplo, ROUGE) da resposta final<sup>[\[6\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-jung2023_pcrl-6)</sup>.

### Compressão abstrativa (resumo)

Nesta abordagem, um modelo compressor (geralmente menor) gera um resumo abstrato e conciso do texto original, que é então passado para o LLM principal.

- **RECOMP** (Retrieval-Compression-Prompting): Para cada documento em uma base de conhecimento, um resumo conciso (*summary*) é gerado antecipadamente, levando em conta possíveis consultas do usuário (*query-aware summary*). Isso permite não apenas comprimir, mas também pré-processar a informação<sup>[\[7\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-xu2024_recomp-7)</sup>.
- **PRCA** (Prompt Compression with Reinforced Context Aggregation): Combina o treinamento de um modelo resumidor com aprendizagem por reforço para gerar resumos que maximizem a qualidade das respostas do LLM principal<sup>[\[8\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-yang2023_prca-8)</sup>.
- **Prompt-SAW** (Semantic Aware Winnowing): Antes da sumarização, extrai um grafo de conhecimento (entidades e relações) do texto, seleciona os nós relevantes do grafo e, com base neles, gera um texto comprimido<sup>[\[9\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-ali2024_promptsaw-9)</sup>.

### Compressão extrativa

Este método extrai fragmentos-chave (sentenças, parágrafos) do texto original sem parafraseá-los.

- **Reranker-LLMs**: Utiliza um modelo de reclassificação (*reranker*) que avalia a importância de cada parágrafo ou documento para a consulta atual e seleciona apenas os mais relevantes<sup>[\[10\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-pradeep2023_reranker-10)</sup>.
- **CompAct**: Demonstra uma extração-sumarização iterativa. O modelo processa segmentos de um texto longo sequencialmente, comprime-os e verifica se a informação é suficiente para a resposta. Caso contrário, adiciona o próximo segmento e comprime novamente, alcançando uma compressão significativa com preservação da qualidade<sup>[\[11\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-yoon2024_compact-11)</sup>.

### Destilação e "tokens de memória"

Uma nova classe de métodos onde, em vez de texto, o modelo recebe tokens substitutos especialmente treinados ou embeddings que contêm informações comprimidas.

- **Gist Tokens**: Um modelo LLM é ajustado para "condensar" instruções longas em um pequeno conjunto de *gist tokens* especiais (por exemplo, 20-30 tokens em vez de vários milhares). Esses tokens são então usados no lugar do prompt original, proporcionando uma compressão de até 26 vezes com perda mínima de qualidade<sup>[\[12\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-mu2023_gist-12)</sup>.
- **Soft Prompt Tuning**: Em vez de um prompt textual, são utilizados "tokens virtuais" treináveis (embeddings) que são ajustados para resolver uma tarefa específica.
- **SelfCP**: Propõe o uso do próprio LLM congelado como compressor. Ao fornecer um segmento de texto com marcadores especiais, o modelo gera uma representação densa (*memory tokens*), que é então utilizada por ele mesmo para gerar a resposta<sup>[\[13\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-gao2024_selfcp-13)</sup>.

## Eficiência e trade-offs

- **Aceleração e redução de custos**: Como a complexidade de um transformer cresce quadraticamente (\$O(n^2)\$) com o comprimento da sequência, reduzir o prompt várias vezes resulta em uma economia substancial. Por exemplo, os *gist tokens*, com uma compressão de 26 vezes, demonstram uma economia de até 40% em FLOPs<sup>[\[12\]](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_note-mu2023_gist-12)</sup>.
- **Melhora da qualidade**: Às vezes, a compressão de prompt pode até melhorar a qualidade das respostas, especialmente se o texto original continha ruído ou detalhes distrativos. A remoção de contexto irrelevante ajuda o modelo a focar nos aspectos importantes da tarefa.
- **Trade-off de qualidade (faithfulness)**: Uma compressão excessivamente agressiva pode levar à perda de detalhes importantes (datas, nomes, negações), o que degrada a qualidade da resposta. Métodos abstrativos são particularmente suscetíveis ao risco de alucinações. O controle da completude e da precisão (*faithfulness*) do prompt comprimido é uma tarefa fundamental.

## Relação com outras áreas

- **Geração Aumentada por Recuperação (RAG)**: RAG e a compressão de prompt estão intimamente relacionados. O RAG pode ser visto como uma etapa externa de compressão: em vez de processar todo o banco de dados, realiza-se uma busca e seleção de documentos relevantes. A compressão de prompt complementa o RAG, reduzindo o volume dos documentos já selecionados antes de serem enviados ao LLM.
- **In-Context Learning**: Exemplos no contexto (demonstrações) aumentam significativamente o comprimento do prompt. A compressão dessas demonstrações (por exemplo, usando *Instruction Distillation*, onde múltiplos exemplos são substituídos por uma única instrução curta) é uma área de pesquisa ativa.

## Literatura

- Ali, M. et al. (2024). *Prompt-SAW: Semantic-Aware Winnowing for Prompt Compression*. <a href="https://arxiv.org/abs/2403.00000" class="external text" rel="nofollow">arXiv:2403.00000</a>.
- Gao, J.; Cao, Z.; Li, W. (2024). *SelfCP: Compressing Over-Limit Prompt via the Frozen Large Language Model Itself*. <a href="https://arxiv.org/abs/2405.17052" class="external text" rel="nofollow">arXiv:2405.17052</a>.
- Jiang, H. et al. (2023). *LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models*. <a href="https://arxiv.org/abs/2310.05736" class="external text" rel="nofollow">arXiv:2310.05736</a>.
- Jiang, H. et al. (2023). *LongLLMLingua: Accelerating and Enhancing LLMs in Long-Context Scenarios via Prompt Compression*. <a href="https://arxiv.org/abs/2310.06839" class="external text" rel="nofollow">arXiv:2310.06839</a>.
- Jung, H.; Kim, K. (2023). *PCRL: Discrete Prompt Compression with Reinforcement Learning*. <a href="https://arxiv.org/abs/2308.08758" class="external text" rel="nofollow">arXiv:2308.08758</a>.
- Li, M. et al. (2023). *Selective-Context: Compressing Context to Summarise and Answer Questions*. <a href="https://arxiv.org/abs/2307.00000" class="external text" rel="nofollow">arXiv:2307.00000</a>.
- Mu, J. et al. (2023). *Learning to Compress Prompts with Gist Tokens*. <a href="https://papers.nips.cc/paper_files/paper/2023/hash/3d77c6dcc7f143aa2154e7f4d5e22d68-Abstract-Conference.html" class="external text" rel="nofollow">NeurIPS 2023</a>.
- Xu, F.; Shi, W.; Choi, E. (2023). *RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation*. <a href="https://arxiv.org/abs/2310.04408" class="external text" rel="nofollow">arXiv:2310.04408</a>.
- Yang, C. et al. (2023). *PRCA: Prompt Compression with Reinforced Context Aggregation*. <a href="https://arxiv.org/abs/2311.00000" class="external text" rel="nofollow">arXiv:2311.00000</a>.
- Yoon, J. et al. (2024). *CompAct: Interactive Prompt Compression for Long-Document QA*. <a href="https://arxiv.org/abs/2402.00000" class="external text" rel="nofollow">arXiv:2402.00000</a>.
- Zhang, S. et al. (2024). *Efficient Prompting Methods for Large Language Models: A Survey*. <a href="https://arxiv.org/abs/2404.01077" class="external text" rel="nofollow">arXiv:2404.01077</a>.
- Jha, S. et al. (2024). *Characterizing Prompt Compression Methods for Long Context Inference*. <a href="https://arxiv.org/abs/2407.08892" class="external text" rel="nofollow">arXiv:2407.08892</a>.

## Notas

1.  <span id="cite_note-jha2024-1">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-jha2024_1-0) Jha, S., et al. (2024). «Characterizing Prompt Compression Methods for Long Context Inference». *arXiv*. <a href="https://arxiv.org/html/2407.08892v1" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-survey2024-2">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-survey2024_2-0) «Efficient Prompting Methods for Large Language Models: A Survey». *arXiv*. <a href="https://arxiv.org/html/2404.01077v2" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-datacamp-guide-3">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-datacamp-guide_3-0) «Prompt Compression: A Guide With Python Examples». *DataCamp*. <a href="https://www.datacamp.com/tutorial/prompt-compression" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-jiang2023_llmlingua-4">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-jiang2023_llmlingua_4-0) Jiang, H., et al. (2023). «LLMLingua: Compressing Prompts for Accelerated Inference of Large Language Models». *arXiv*.</span>
5.  <span id="cite_note-li2023_selective-5">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-li2023_selective_5-0) Li, M. (2023). «Compressing context to summarize and answer questions». *arXiv*.</span>
6.  <span id="cite_note-jung2023_pcrl-6">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-jung2023_pcrl_6-0) Jung, H., & Kim, K. (2023). «Learning to Compress Prompts with Reinforcement Learning». *arXiv*.</span>
7.  <span id="cite_note-xu2024_recomp-7">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-xu2024_recomp_7-0) Xu, F., et al. (2024). «RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation». *arXiv*.</span>
8.  <span id="cite_note-yang2023_prca-8">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-yang2023_prca_8-0) Yang, C., et al. (2023). «PRCA: A new framework for prompt compression». *arXiv*.</span>
9.  <span id="cite_note-ali2024_promptsaw-9">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-ali2024_promptsaw_9-0) Ali, M., et al. (2024). «Prompt-SAW: A new method for prompt compression». *arXiv*.</span>
10. <span id="cite_note-pradeep2023_reranker-10">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-pradeep2023_reranker_10-0) Pradeep, R., et al. (2023). «How to select the best passages for RAG?». *arXiv*.</span>
11. <span id="cite_note-yoon2024_compact-11">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-yoon2024_compact_11-0) Yoon, J., et al. (2024). «CompAct: A new framework for interactive prompt compression». *arXiv*.</span>
12. <span id="cite_note-mu2023_gist-12">↑ <sup>[12.0](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-mu2023_gist_12-0)</sup> <sup>[12.1](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-mu2023_gist_12-1)</sup> Mu, J., et al. (2023). «Learning to Compress Prompts with Gist Tokens». *OpenReview*. <a href="https://openreview.net/forum?id=2DtxPCL3T5" class="external autonumber" rel="nofollow">[4]</a></span>
13. <span id="cite_note-gao2024_selfcp-13">[↑](https://systems-analysis.info/int/Compress%C3%A3o_de_prompt#cite_ref-gao2024_selfcp_13-0) Gao, C., et al. (2024). «SelfCP: Compressing Over-Limit Prompt via the Frozen Large Language Model Itself». *arXiv*. <a href="https://arxiv.org/html/2405.17052v2" class="external autonumber" rel="nofollow">[5]</a></span>
