---
title: "Компресиране на промпт"
source: "https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82"
wiki: "systems-analysis.info/int"
article: "Компресиране_на_промпт"
language: "bg"
categories:
  - "Category:Bulgarian"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
revision_id: 8678
wiki_created_at: 2026-09-07T01:21:01Z
wiki_modified_at: 2026-09-07T01:21:01Z
downloaded_at: 2026-09-07T23:26:46Z
---

# Компресиране на промпт

**Компресиране на промпт** (англ. *prompt compression*) — това е съвкупност от методи в промпт-инженерството, насочени към съкращаване на дължината на входния текст (промпта) за големи езикови модели (LLM) при запазване на ключовата информация<sup>[\[1\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-jha2024-1)</sup>. С нарастването на контекстния прозорец на LLM до милиони токени (например при Google Gemini) се появи възможност за обработка на много дълги текстове, но това породи нови проблеми: висока стойност на извикванията, увеличаване на закъснението и намаляване на качеството на разсъжденията поради ефекта „загуба в средата"<sup>[\[2\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-survey2024-2)</sup>.

Компресирането на промпта решава тези проблеми, концентрирайки в съкратения вход най-съществените данни и отхвърляйки излишните. Това намалява риска от надвишаване на лимита на контекста, ускорява генерацията и намалява разходите, запазвайки при това точността на отговорите<sup>[\[3\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-datacamp-guide-3)</sup>.

## Методи за компресиране на промпт

Методите за компресиране на промпт могат да бъдат разделени на няколко основни класа.

### Премахване на токени (филтриране)

Този подход се състои в премахване на най-малко информативните токени, фрази или изречения от изходния текст, без да се променят останалите части. Важността на токените се определя евристично.

- **LLMLingua**: Метод, разработен от Microsoft, който изчислява перплексията на всеки токен и премахва тези от тях, които слабо влияят върху предсказуемостта на текста. Във версията **LongLLMLingua** този подход е адаптиран за дълги документи, като отчита релевантността на фрагментите спрямо конкретната заявка на потребителя<sup>[\[4\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-jiang2023_llmlingua-4)</sup>.
- **Selective-Context**: Използва малък езиков модел за оценка на *self-information* на всеки токен и отхвърля токените с най-ниска информативност<sup>[\[5\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-li2023_selective-5)</sup>.
- **PCRL** (Prompt Compression via Reinforcement Learning): Обучава агент чрез Reinforcement Learning да взима решение за всеки токен — „запази" или „премахни" — с цел максимизиране на метриката за качество (например ROUGE) на финалния отговор<sup>[\[6\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-jung2023_pcrl-6)</sup>.

### Абстрактивно компресиране (резюмиране)

При този подход моделът-компресор (обикновено по-малък по размер) генерира кратко абстрактно резюме на изходния текст, което след това се подава на основния LLM.

- **RECOMP** (Retrieval-Compression-Prompting): За всеки документ в базата знания предварително се генерира кратък преразказ (*summary*), отчитащ възможните заявки на потребителя (*query-aware summary*). Това позволява не само компресиране, но и предварителна обработка на информацията<sup>[\[7\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-xu2024_recomp-7)</sup>.
- **PRCA** (Prompt Compression with Reinforced Context Aggregation): Комбинира обучението на модела-суммаризатор с Reinforcement Learning, за да генерира такива преразкази, които максимално подобряват качеството на отговорите на основния LLM<sup>[\[8\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-yang2023_prca-8)</sup>.
- **Prompt-SAW** (Semantic Aware Winnowing): Преди резюмирането извлича от текста граф на знанията (същности и отношения), отбира релевантни възли на графа и на тяхна основа генерира компресиран текст<sup>[\[9\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-ali2024_promptsaw-9)</sup>.

### Екстрактивно компресиране

Този метод извлича ключови фрагменти (изречения, абзаци) от изходния текст, без да ги перифразира.

- **Reranker-LLMs**: Използва модел-ранжировщик (*reranker*), който оценява важността на всеки абзац или документ за текущата заявка и отбира само най-релевантните<sup>[\[10\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-pradeep2023_reranker-10)</sup>.
- **CompAct**: Демонстрира итеративна екстракция-резюмиране. Моделът последователно взима сегменти от дълъг текст, компресира ги и проверява дали информацията е достатъчна за отговор. Ако не е, добавя следващия сегмент и отново компресира, постигайки значително компресиране при запазване на качеството<sup>[\[11\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-yoon2024_compact-11)</sup>.

### Дистилация и „токени на паметта"

Нов клас методи, при които вместо текст моделът получава специално обучени токени-заместители или embedding-и, съдържащи компресирана информация.

- **Gist Tokens**: LLM моделът се дообучава да „свива" дълги инструкции в малък набор от специални *gist-токени* (например 20–30 токена вместо няколко хиляди). Тези токени след това се използват вместо изходния промпт, осигурявайки до 26-кратно компресиране при минимална загуба на качество<sup>[\[12\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-mu2023_gist-12)</sup>.
- **Soft Prompt Tuning**: Вместо текстов промпт се използват обучаеми „виртуални токени" (embedding-и), които се настройват за решаване на конкретна задача.
- **SelfCP**: Предлага използване на самия замразен LLM като компресор. Като му се подава сегмент от текст с особени маркери, моделът генерира плътно представяне (*memory tokens*), което след това се използва от него самия за отговор<sup>[\[13\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-gao2024_selfcp-13)</sup>.

## Ефективност и компромиси

- **Ускоряване и намаляване на разходите**: Тъй като сложността на transformer-а нараства квадратично (\$O(n^2)\$) спрямо дължината на последователността, съкращаването на промпта няколко пъти дава съществена икономия. Например *gist tokens* при 26-кратно компресиране демонстрират до 40% икономия на FLOPs<sup>[\[12\]](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_note-mu2023_gist-12)</sup>.
- **Повишаване на качеството**: Понякога компресирането на промпта може дори да подобри качеството на отговорите, ако изходният текст е съдържал шум или разсейващи детайли. Премахването на нерелевантния контекст помага на модела да се фокусира по-добре върху важните аспекти на задачата.
- **Компромис на качеството (faithfulness)**: Прекалено агресивното компресиране може да доведе до загуба на важни детайли (дати, имена, отрицания), което ще влоши качеството на отговора. Абстрактивните методи са особено изложени на риск от халюцинации. Контролът на пълнотата и точността (*faithfulness*) на компресирания промпт е ключова задача.

## Връзка с други направления

- **Retrieval-Augmented Generation (RAG)**: RAG и компресирането на промпт са тясно свързани. RAG може да се разглежда като външен етап на компресиране: вместо обработка на цялата база данни се извършва търсене и отбор на релевантни документи. Компресирането на промпта допълва RAG, като намалява обема на вече отбраните документи преди подаването им в LLM.
- **In-Context Learning**: Примерите в контекста (демонстрации) значително увеличават дължината на промпта. Компресирането на тези демонстрации (например чрез *Instruction Distillation*, при което множество примери се заменят с една кратка инструкция) е активна област на изследване.

## Литература

- 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.

## Бележки

1.  <span id="cite_note-jha2024-1">[↑](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#cite_ref-mu2023_gist_12-0)</sup> <sup>[12.1](https://systems-analysis.info/int/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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/%D0%9A%D0%BE%D0%BC%D0%BF%D1%80%D0%B5%D1%81%D0%B8%D1%80%D0%B0%D0%BD%D0%B5_%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BC%D0%BF%D1%82#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>
