---
title: "Komprese promptu"
source: "https://systems-analysis.info/int/Komprese_promptu"
wiki: "systems-analysis.info/int"
article: "Komprese_promptu"
language: "cs"
categories:
  - "Category:Czech"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
revision_id: 3458
wiki_created_at: 2026-09-06T23:21:04Z
wiki_modified_at: 2026-09-06T23:21:04Z
downloaded_at: 2026-09-07T22:57:06Z
---

# Komprese promptu

**Komprese promptu** (angl. *prompt compression*) — je souhrn metod v prompt inženýrství zaměřených na zkrácení délky vstupního textu (promptu) pro velké jazykové modely (LLM) při zachování klíčových informací<sup>[\[1\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-jha2024-1)</sup>. S růstem kontextového okna LLM na miliony tokenů (například u Google Gemini) se objevila možnost zpracovávat velmi dlouhé texty, ale to přineslo nové problémy: vysoké náklady na volání, zvýšení latence a snížení kvality uvažování kvůli efektu „ztráty uprostřed"<sup>[\[2\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-survey2024-2)</sup>.

Komprese promptu tyto problémy řeší tím, že ve zkráceném vstupu soustřeďuje nejpodstatnější data a odstraňuje redundantní části. Tím snižuje riziko překročení limitu kontextu, urychluje generování a snižuje náklady, přičemž zachovává přesnost odpovědí<sup>[\[3\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-datacamp-guide-3)</sup>.

## Metody komprese promptu

Metody komprese promptu lze rozdělit do několika základních tříd.

### Odstranění tokenů (filtrování)

Tento přístup spočívá v odstranění nejméně informativních tokenů, frází nebo vět ze zdrojového textu bez změny zbývajících částí. Důležitost tokenů je určována heuristicky.

- **LLMLingua**: Metoda vyvinutá společností Microsoft, která vypočítává perplexitu každého tokenu a odstraňuje ty, které mají malý vliv na předvídatelnost textu. Ve verzi **LongLLMLingua** je tento přístup přizpůsoben pro dlouhé dokumenty s ohledem na relevanci fragmentů ve vztahu ke konkrétnímu dotazu uživatele<sup>[\[4\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-jiang2023_llmlingua-4)</sup>.
- **Selective-Context**: Využívá malý jazykový model k hodnocení *self-information* každého tokenu a odstraňuje tokeny s nejnižší informativností<sup>[\[5\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-li2023_selective-5)</sup>.
- **PCRL** (Prompt Compression via Reinforcement Learning): Trénuje agenta pomocí Reinforcement Learning, aby pro každý token rozhodoval — „ponechat" nebo „odstranit" — s cílem maximalizovat metriku kvality (například ROUGE) výsledné odpovědi<sup>[\[6\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-jung2023_pcrl-6)</sup>.

### Abstraktivní komprese (sumarizace)

V tomto přístupu model-kompresor (obvykle menší) generuje stručné abstraktní shrnutí zdrojového textu, které je následně předáno hlavnímu LLM.

- **RECOMP** (Retrieval-Compression-Prompting): Pro každý dokument ve znalostní bázi je předem vygenerován stručný přepis (*summary*) zohledňující možné dotazy uživatele (*query-aware summary*). To umožňuje nejen komprimovat, ale i předem zpracovávat informace<sup>[\[7\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-xu2024_recomp-7)</sup>.
- **PRCA** (Prompt Compression with Reinforced Context Aggregation): Kombinuje trénování modelu-sumarizátoru s Reinforcement Learning, aby generoval přepisy, které maximálně zlepšují kvalitu odpovědí hlavního LLM<sup>[\[8\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-yang2023_prca-8)</sup>.
- **Prompt-SAW** (Semantic Aware Winnowing): Před sumarizací extrahuje z textu znalostní graf (entity a vztahy), vybírá relevantní uzly grafu a na jejich základě generuje komprimovaný text<sup>[\[9\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-ali2024_promptsaw-9)</sup>.

### Extraktivní komprese

Tato metoda extrahuje klíčové fragmenty (věty, odstavce) ze zdrojového textu bez jejich přeformulování.

- **Reranker-LLMs**: Využívá model-ranker (*reranker*), který hodnotí důležitost každého odstavce nebo dokumentu pro aktuální dotaz a vybírá pouze nejrelevantnější<sup>[\[10\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-pradeep2023_reranker-10)</sup>.
- **CompAct**: Demonstruje iterativní extrakci-sumarizaci. Model postupně přebírá segmenty dlouhého textu, komprimuje je a ověřuje, zda je k dispozici dostatek informací pro odpověď. Pokud ne, přidá další segment a znovu komprimuje, čímž dosahuje výrazné komprese při zachování kvality<sup>[\[11\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-yoon2024_compact-11)</sup>.

### Distilace a „paměťové tokeny"

Nová třída metod, kde místo textu model dostává speciálně natrénované tokeny-zástupce nebo embedding, obsahující komprimované informace.

- **Gist Tokens**: Model LLM je doladěn (fine-tuning) na „sbalení" dlouhých instrukcí do malé sady speciálních *gist tokenů* (například 20–30 tokenů místo několika tisíc). Tyto tokeny jsou poté použity místo původního promptu, přičemž zajišťují až 26násobnou kompresi při minimální ztrátě kvality<sup>[\[12\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-mu2023_gist-12)</sup>.
- **Soft Prompt Tuning**: Místo textového promptu jsou použity trénovatelné „virtuální tokeny" (embedding), které jsou laděny pro řešení konkrétního úkolu.
- **SelfCP**: Navrhuje použít samotný zmrazený LLM jako kompresor. Při podání segmentu textu se speciálními značkami model generuje husté reprezentace (*memory tokens*), které jsou pak jím samým použity k zodpovězení dotazu<sup>[\[13\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-gao2024_selfcp-13)</sup>.

## Efektivita a kompromisy

- **Zrychlení a snížení nákladů**: Protože složitost transformeru roste kvadraticky (\$O(n^2)\$) s délkou sekvence, několikanásobné zkrácení promptu přináší výrazné úspory. Například *gist tokens* při 26násobné kompresi vykazují až 40% úsporu FLOPs<sup>[\[12\]](https://systems-analysis.info/int/Komprese_promptu#cite_note-mu2023_gist-12)</sup>.
- **Zvýšení kvality**: Komprese promptu někdy může dokonce zlepšit kvalitu odpovědí, pokud zdrojový text obsahoval šum nebo rušivé detaily. Odstranění nerelevantního kontextu pomáhá modelu lépe se soustředit na důležité aspekty úkolu.
- **Kompromis kvality (faithfulness)**: Příliš agresivní komprese může vést ke ztrátě důležitých detailů (dat, jmen, negací), což sníží kvalitu odpovědi. Abstraktivní metody jsou zvláště náchylné k riziku halucinací. Kontrola úplnosti a přesnosti (*faithfulness*) komprimovaného promptu je klíčovým úkolem.

## Vztah k dalším oblastem

- **Retrieval-Augmented Generation (RAG)**: RAG a komprese promptu spolu úzce souvisejí. RAG lze chápat jako vnější fázi komprese: místo zpracování celé databáze se provádí vyhledávání a výběr relevantních dokumentů. Komprese promptu doplňuje RAG tím, že zkracuje objem již vybraných dokumentů před jejich předáním do LLM.
- **In-Context Learning**: Příklady v kontextu (demonstrace) výrazně zvyšují délku promptu. Komprese těchto demonstrací (například pomocí *Instruction Distillation*, kde je řada příkladů nahrazena jednou krátkou instrukcí) je aktivní oblastí výzkumu.

## Literatura

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

## Poznámky

1.  <span id="cite_note-jha2024-1">[↑](https://systems-analysis.info/int/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#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/Komprese_promptu#cite_ref-mu2023_gist_12-0)</sup> <sup>[12.1](https://systems-analysis.info/int/Komprese_promptu#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/Komprese_promptu#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>
