MODULE 03 · STEP 09 · 理解課
提示快取入門
本課型別
這是一節理解課,不要求輸入命令,也不要求你為了改變快取數字去切換模型或壓縮工作階段。
這一章不要求你除錯快取。它只幫你看懂 Pi 底部與 token、cache 和 cost 相關的資訊,以及為什麼“刪掉一點上下文”不一定立即更便宜。
不同模型和提供商返回的用量欄位並不完全相同。介面沒有顯示某個快取數字,不代表 Pi 故障,也不值得為了讓數字出現而切換模型。
快取在複用什麼
模型每次回覆前,都要處理一長段輸入。連續對話時,新一輪輸入的前面往往和上一輪完全相同。支援提示快取的模型提供商可以複用這段已處理的字首,減少重複計算。
可以把它想成一本已經翻到某頁的書。只要前面的頁面沒變,就可以接著讀;如果書的版本、章節順序或前面的內容變了,則需要重新處理。
哪些變化容易打斷快取
- 切換模型或提供商。
- 工具定義、系統提示或專案上下文變化。
- 從工作階段樹中更早的節點改走另一條分支。分支前的共同字首仍可能被複用,實際命中取決於提供商和快取保留。
- 執行上下文壓縮,早期原文被新摘要取代。
- 快取超過提供商的保留時間。
不同模型和提供商的計費、有效時間與顯示方式會變,本章不提供固定價格表。需要計算成本時,應當檢視你實際使用的提供商當期官方說明。
對日常使用有什麼影響
首先,不要為了追求看起來更小的上下文,每幾輪就刪除歷史或強制壓縮。這樣可能同時丟失細節和原有的快取字首。
其次,不要把快取命中率當成任務品質。它反映的是多少輸入被複用,不能證明程式碼正確、文章可讀或檔案沒有被誤改。
最後,長任務仍然要回到可驗收產物。快取幫助模型更有效地處理重複字首,檔案、測試、Git 歷史和人工檢查才幫助你確認任務是否完成。
四個容易混淆的東西
| 名稱 | 解決什麼問題 | 不能證明什麼 |
|---|---|---|
| 提示快取 | 減少相同輸入字首的重複處理 | 任務正確、結果完整 |
| 上下文壓縮 | 在視窗有限時用摘要替代較早內容 | 早期細節無損保留 |
| 工作階段儲存 | 讓你以後找到並繼續一段對話 | 磁碟檔案能回到舊版本 |
| 檔案版本與備份 | 比較、恢復和審查實際產物 | 模型仍記得當時的全部理由 |
本課驗收
判斷下面兩個場景:
- 快取命中很高,但輸出檔案漏了兩項。任務完成了嗎?——沒有,應該回到輸入、輸出和驗收規則核對。
- 快取數字很低,但測試、檔案差異和人工檢查都透過。需要為了提高命中率重做任務嗎?——不需要。
只要你不再用快取數字給任務品質打分,並知道品質檢查要回到真實產物,本課就透過。
想深入理解這個機制,繼續閱讀官方授權譯文 Agent 中的提示快取。