生成與推論

Prompt Caching 提示詞快取是什麼?重複的前綴不用重算

提示詞快取(Prompt Caching)是把提示詞中重複出現的前綴,例如系統提示或長篇參考文件,在服務端先存起來。下一次請求命中同一段前綴時直接沿用,不必重新計算,結果是首字時間變短,這段內容的費用通常也大幅降低。
Prompt Caching 提示詞快取是什麼?重複的前綴不用重算:文章重點卡

Prompt Caching 提示詞快取是什麼?重複的前綴不用重算

你的客服機器人每一次對話,都要先讀一遍三千字的系統規則加上一份產品手冊。同一段內容,一天算幾萬次。

提示詞快取要解決的就是這件事。它是少數同時省錢又省時間的優化。

你將學到什麼

定義

把重複的提示詞前綴存起來,命中就不必重算。

白話比喻

像會議前不用每次重講背景,大家接續上次的共識就好。

關鍵限制

只對前綴有效,前面改一個字,後面全部失效。

定義

提示詞快取是把一段固定不變的提示詞前綴,在服務端計算一次之後保存起來。之後只要新的請求開頭跟它完全一致,就可以直接沿用計算結果。

省下來的是重複計算的成本。對使用者的體感是首字出現得更快,對帳單的影響則是這段重複內容的單價通常明顯下降。

白話比喻

想像每週固定的專案會議。如果每次開場都要把整個專案背景重講一遍,一小時的會有二十分鐘在複習。

有了共同的背景共識之後,你可以直接說「延續上次,今天談第三項」。快取做的就是這件事,把重複的開場省掉。

它只對前綴有效

這是整個機制最重要、也最常被忽略的一點。快取比對的是從第一個字開始的連續片段,不是把提示詞裡任何重複的段落挑出來。

所以提示詞的排列順序會直接決定它有沒有用。正確做法是把最穩定的內容放最前面,最容易變動的放最後面。

位置該放什麼原因
最前面系統提示、角色設定、固定規則幾乎不會改,命中率最高
中間參考文件、知識片段、範例一段時間才更新一次
最後面對話歷史、這一輪的問題每一次都不同

反過來說,只要你在最前面插入一個會變的值,例如當下時間或使用者編號,後面再穩定的內容也全部失效。

什麼場景最划算

  • 長系統提示:角色、規則、格式規範寫得很完整的應用。
  • 固定參考資料:每次都要附上的產品手冊、法規條文、程式碼庫。
  • 多輪對話:同一段開場在每一輪都會被重送一次。
  • 批次處理:用同一組指令處理大量不同的輸入。

反過來,一次性的短提問幾乎沒有效益,因為根本沒有重複的部分可以省。

跟相近名詞的差別

名詞在講什麼
Prompt Caching 提示詞快取跨請求重用同一段前綴的計算結果。
KV Cache 鍵值快取單次生成過程中,避免重算已產生詞元的內部機制。
RAG 檢索增強生成從外部知識庫撈資料塞進提示詞,跟快不快取無關。

兩者的關係是:KV Cache 是引擎內部的機制,提示詞快取則是把這個機制的成果保留下來給下一次請求用。

常見誤解最常見的誤解是以為開了快取就一定省錢。多數服務對「寫入快取」會收較高的費用,命中讀取才便宜,如果你的前綴老是不重複,反而可能更貴。第二個誤解是以為它能縮短輸出時間,它主要改善的是 首字時間,後續每個 詞元 的生成速度並不會因此變快。
本文源起本文為酒Ann 的 AI 名詞彙編系列,用白話把常見名詞一次講清楚。歡迎追蹤 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

快取會不會讓不同使用者看到別人的內容?
主流服務的快取以帳號或組織為範圍隔離,不會跨帳號共用。不過仍要注意:快取的是你自己送出去的內容,敏感資料該不該放進提示詞,判斷標準跟有沒有快取無關。
快取可以放多久?
各家設計不同,常見是數分鐘的存活時間,而且會因為持續使用而延長。實際數字與計費方式請以你使用的服務當下的官方文件為準。
為什麼我開了快取卻沒有省到?
最常見的原因是前綴不穩定。只要在共用內容前面塞了時間戳、使用者名稱或隨機編號,每一次的前綴就都不一樣,快取自然永遠不會命中。