緩存:AI 帳單的隱形折扣
上一課嘅哈希表解決咗「點樣瞬間搵到」,這一課解決另一個問題:算過的東西,別再算第二遍。你在模型價格表上見過的「緩存命中五折甚至一折」,帳單上省下的每一分錢,背後都是同一種收納方式——把算過的結果存起來,下次直接取。
你計過一次「37 × 89 = 3293」,第二日有人又問你 37 × 89 等於幾——你會重新列直式咩?唔會,你直接報答案。緩存就是電腦的這種「直接報答案」:把算過的結果按 key 存進上一課的哈希表,下次遇到同樣的 key,一步直達取結果。哈希表管「存哪、怎麼找」,緩存管「什麼值得存」。兩課合起來才是完整的「空間換時間」。
大模型每生成一個字,都要「回頭看」前面所有 token,給每個 token 算一份注意力的中間結果。關鍵在於:只要前綴一模一樣,這些中間結果就一模一樣——咁第二輪對話仲重算佢做咩?下面每個小方塊是一個 token,先點「播放第一輪」,再點「播放第二輪」。留意第二輪裏綠色方塊出現的速度:它們沒有被計算,是直接從緩存取的。
第一輪對話
系統提示詞 + 問題①,每個 token 都要從零計算第二輪對話
前綴(系統提示詞 + 第一輪全部內容)一字沒變第二輪的計算量對比(方塊數 = 要算的 token 數)
KV Cache 省的是「同一段開頭」,還有一種更狠的:同樣的問題,答案整個都別再算。客服機械人每日被問 1 萬次「點樣退貨」,問法五花八門但意思相同——把「意思」當 key(用向量相似度判斷,第十課細講),命中就直接返回存好的答案,一次模型調用都不用發。拖動命中率滑塊,留意月帳單的變化。
⚠️ 但係——退貨政策改咗點算?
緩存裏還躺着按舊政策生成的標準答案,機器人會一本正經地拿它繼續回答十天半個月,比不緩存錯得更穩定、更理直氣壯。所以工程師常説:快取最難嘅唔係存,係知幾時作廢(術語叫「緩存失效」,計算機科學兩大難題之一)。常見做法:給緩存設個保質期(比如 24 小時過期)、或者政策一更新就主動清掉相關條目。設計任何緩存前先想好這一步,否則省下的錢會用客訴還回來。
「算過的別再算」這一招無處不在,下面四個你天天在享受的東西,本質上是同一個結構。
KV Cache
大模型推理的標配:前綴 token 的注意力中間結果只算一次。沒有它,長對話根本跑不動。
語義緩存
把「問題的意思」當 key,相似提問直接複用答案。高頻客服場景能砍掉一大半調用費。
瀏覽器緩存
圖片、樣式文件下載一次就存本地,第二次打開網頁秒開——你刷網頁快,一半功勞是它的。
CDN
把內容提前存到離你最近的機房,全國用戶都像連上本地伺服器。快取 + 地理位置,還是那一招。
✅ 這一課想和你分享的
- 緩存 = 算過的別再算:結果按 key 存進哈希表,下次直達取——上一課的結構在這一課開始賺錢
- KV Cache 認前綴:固定內容放提示詞開頭、會變的放末尾,緩存命中率直接決定帳單
- 語義緩存更狠:意思相同的提問連模型都不調,高頻場景省錢效果按命中率綫性放大
- 緩存三問:存什麼(值得複用的結果)、存哪(記憶體 / 磁盤 / 離用戶近的地方)、何時作廢(最難的一問)
- 驗收視角:看到「每次請求都重新調用模型 / 重新計算」的設計,就該問一句「呢度點解唔快取?」