Prompting 知識養成 Day30

更新於 發佈於 閱讀時間約 7 分鐘

第30天:提示壓縮 (Prompt Compression)

想像一個日常用戶與 AI的對話場景,用戶一口氣輸入一大篇長文/資訊/對話...etc.加上需求,希望得到解答。

按照我們已經算是相當熟悉的工作流程,應用程式在收到完整長篇內容後,會直接與任務需求打包成一個巨大的 Prompt,直接發送給 LLM,待 LLM 生成內容後再提供給用戶。

在這個標準流程中,我們也知道可能帶來的缺點是:
1.高成本:長文帶有大量 Token,將大幅度拉高 LLM 運行成本
2.延遲:LLM 處理長 Prompt 的時間相對冗長
3.失敗風險:一旦超出 LLM 的上下文視窗限制,極易導致任務失敗

為了避免這種情況,「提示壓縮 (Prompt Compression)」便應運而生。


▶︎「提示壓縮」 的運作概念

簡單地說,當用戶所提供的資料數據是大量的,不採取同步處理,也就是:不是「一次性同步」將資料數據&目標任務給到 LLM,而是先處理消化大量資料數據,「壓縮」至 LLM 合適接收的量體,再將「合適量體」的資料數據,連同目標任務,給到 LLM。

透過「壓縮」提示,可有效避免 LLM 的「上下文視窗限制 (Context Window Limit)」,從而解決文章一開始提到的 3個缺點。而這個技術的重點就在於「壓縮」:要如何在縮減用戶資訊數據 (i.e.上下文/Prompt)的長度後,仍完整保有「關鍵」資訊。


▶︎「提示壓縮」 的工作流程

如上一段所提到,當應用程式接收到來自用戶一次性的「大量資料數據+任務需求」時**,並不採取同步處理,而是將資訊與任務分開處理。(**註:這也是最常見的使用情境。)
所以在工作流程上,就會是「分任務」,也是「分階段」進行。如下:

▫︎ 工作流程(by 任務)
應用程式會將任務拆解為兩個子任務。
子任務1「壓縮」:LLM 壓縮大量資料數據,生成「壓縮版本」的資料數據
子任務2「執行」:LLM 依據「壓縮版本」的資料數據,執行任務

▫︎ 工作流程(by 階段)
〈階段一:資料壓縮〉
針對用戶提供的大量資料數據
Step.1-應用程式會將大量資料數據+「壓縮 Prompt**」推送給 LLM,由 LLM 進行壓縮。(**註:壓縮Prompt模板的設計方法,下方會再說明。)
Step.2-LLM 壓縮完成後,傳回「壓縮版本」的資料數據。
Step.3-應用程式將「壓縮版本」的資料數據儲存於資料庫中;而非儲存用戶提供的原始資料數據。
〈階段二:用戶回應〉
針對用戶提出的任務需求
Step.1-應用程式不會提供用戶提供的原始資料數據,而是發送「壓縮版本」的資料數據+「用戶提出的任務需求」Prompt給 LLM。
Step.2-LLM 直接依據「壓縮版本」的資料數據及任務需求,生成用戶所需的內容。 Step.3-應用程式將 LLM 的生成內容提供給用戶。

→→由於這個分階段的工作流程,是一個後端的內部流程,所以可以教育用戶,也可以不教育用戶;怎麼做都不影響用戶收到穩定性高的生成內容。


▶︎「提示壓縮」的Prompt 模板設計

文章開頭便已提到,這個技術操作的重點是,在縮減用戶資訊數據後仍完整保有「關鍵」資訊。所以「壓縮 Prompt」的設計就至關重要。

設計上必須注意壓縮的「比例」與「細節內容取捨」,比例過高或取捨不當可能損失關鍵上下文,導致任務表現下降。而壓縮比例過低或無法取捨,則無法節省 Token 成本,失去壓縮的目的。

▫︎ 壓縮 Prompt 模板設計主要有2種方式:
1.基於摘要的壓縮 (Summarization-based Compression)
概念說明: 要求 LLM 以「節錄摘要」方式壓縮,常用於冗長文本或對話歷史。
2.基於核心資訊提取的壓縮 (Information Extraction-based Compression)
概念說明: 要求 LLM 直接提取出最關鍵資訊,例如關鍵字詞、明確定義數據。這是比摘要更radical的做法。
(兩種方式對照請參考下表)

▫︎ 壓縮 Prompt 模板骨架(示意)
任務:壓縮輸入內容,保留對 X 任務有幫助的核心資訊  
限制:最長不超過 N Token  
格式:以條列列出關鍵要點  

壓縮方式對照簡表

壓縮方式對照簡表


→→還有1種方式,不需要設計 Prompt、透過 LLM 即可做到:「基於 Token-level 的壓縮 (Token Pruning)」。這只需在應用程式端,利用程式碼移除文本中冗餘、低價值的 Token,包含填充詞、停用詞(的/和/是)即可完成。
這種方式很俐落,好處是成本低、運行快速,適合用於資訊檢索或關鍵詞匹配類任務。但它並不適用於「依賴長上下文推理」的任務,因為在此類文本(及其任務)中的任何 Token的移除,都可能輕易破壞語境或關鍵推理。


❖ 小結

總的來說,提示壓縮是 Prompt Engineering 的一個前瞻應用。透過在應用程式層面,以「流程設計」解決技術限制,目的是讓 LLM 可以產出更好、更穩定的生成內容。在理解提示壓縮的實際效用後,我們也很容易能推想出,這個技術最適合的任務是:高度重複查詢,且上下文資料量大的任務。

提示壓縮的好處是:
▫︎ 成本低廉:節約了後續每一次問答的 Token 運行成本。
▫︎ 無延遲:利用「壓縮版」的資料數據,後續都能極快回應用戶問題。
▫︎ 穩定性高:避免超出上下文視窗限制,確保生成內容品質(任務達成)的穩定性。

不過也如「工作流程」那一段所提到的,由於這是在後端的內部流程,若在用戶不知情的情況下,可能也會帶給用戶「延遲感」(至少在「壓縮」階段)。所以是否一定能為用戶帶來更好的使用體驗(就等待時間而言)?尚不一定。可能還是會建議要教育用戶、與用戶溝通,才是較好的做法。

留言
avatar-img
留言分享你的想法!
avatar-img
不是雞湯,但是又如何
3會員
267內容數
不是雞湯,但 是又如何 不是雞湯,但是 又如何
2025/08/11
第29天:Prompt Engineering 的「自我修正工作流 (Self-Correction Workflow)」 Prompt Engineering 的目標向來是讓 LLM 生成高品質的輸出內容,透過設計各種可以協助 LLM 更準確地掌握 Prompt 所要傳達的 Prompt模板、或
Thumbnail
2025/08/11
第29天:Prompt Engineering 的「自我修正工作流 (Self-Correction Workflow)」 Prompt Engineering 的目標向來是讓 LLM 生成高品質的輸出內容,透過設計各種可以協助 LLM 更準確地掌握 Prompt 所要傳達的 Prompt模板、或
Thumbnail
2025/08/10
第28天:自我優化 Prompt (Self-Optimizing Prompts) & Prompt 蒸餾 (Prompt Distillation) 今天要學習的「自我優化 Prompt (Self-Optimizing Prompts)」與「Prompt 蒸餾 (Prompt Distill
2025/08/10
第28天:自我優化 Prompt (Self-Optimizing Prompts) & Prompt 蒸餾 (Prompt Distillation) 今天要學習的「自我優化 Prompt (Self-Optimizing Prompts)」與「Prompt 蒸餾 (Prompt Distill
2025/08/09
第27天:基準測試 (Benchmarking) 的概念與實踐 我們已經充分理解 Prompt 是一個奠基於語意的指令,所以要讓 LLM 能生成符於預期的結果是相對困難且複雜的。而 Prompt engineering 所做的諸多努力,正是在使「LLM 總是可以生成符於預期的結果」這件事可以發生。
2025/08/09
第27天:基準測試 (Benchmarking) 的概念與實踐 我們已經充分理解 Prompt 是一個奠基於語意的指令,所以要讓 LLM 能生成符於預期的結果是相對困難且複雜的。而 Prompt engineering 所做的諸多努力,正是在使「LLM 總是可以生成符於預期的結果」這件事可以發生。
看更多
你可能也想看
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們在 AI說書 - Prompt Engineering - 67 | 多角色 Prompt 中闡述了
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們在 AI說書 - Prompt Engineering - 67 | 多角色 Prompt 中闡述了
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們把 AI說書 - Prompt Engineering - 55 和 AI說書 - Prompt E
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們把 AI說書 - Prompt Engineering - 55 和 AI說書 - Prompt E
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Prompt Engineering 作為一門新興學科,與已建立的軟體工程領域有著驚人的相似之處,這種並
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Prompt Engineering 作為一門新興學科,與已建立的軟體工程領域有著驚人的相似之處,這種並
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - Prompt Engineering - 13中,提及Prompt Engine
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧我們在AI說書 - Prompt Engineering - 13中,提及Prompt Engine
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Prompt Engineering 跨越了一個範圍:它涉及人工智慧科學家和工程師掌握的複雜技術;另一方
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Prompt Engineering 跨越了一個範圍:它涉及人工智慧科學家和工程師掌握的複雜技術;另一方
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 想要操作ChatGPT,我們可以參考OpenAI的範例: https://platform.openai.com/examples/default-sql-trans
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 想要操作ChatGPT,我們可以參考OpenAI的範例: https://platform.openai.com/examples/default-sql-trans
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 25示範了ChatGPT程式的能力,現在我們繼續做下去。 AI說書 - 從0開始 - 25在步驟7:Plot the confusio
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 25示範了ChatGPT程式的能力,現在我們繼續做下去。 AI說書 - 從0開始 - 25在步驟7:Plot the confusio
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 針對Generative AI、Foundation Model、Large Language Mode
Thumbnail
我們人類和ChatGPT的對話技巧也是需要學習的,有鑑於此,我想要一天分享一點「和ChatGPT對話的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 針對Generative AI、Foundation Model、Large Language Mode
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News