Claude 快取怎麼設才真的省錢:512 token 門檻、最多 4 個快取點、九成的人踩空的那一行(2026 教學)
文章最後更新:2026-09-05
用 Claude 的 API 做重複性的事——每次都送同一份工具清單、同一份系統指令、同一份參考文件——這些重複的部分你其實不需要每次都付全價。
方法叫 prompt caching(提示快取)。設對了,重複的內容只要付基礎輸入價的一折;在 Claude Fable 5.1 上甚至只要 2.5 折的四分之一。設錯了,你不但省不到,還要多付一筆快取寫入費。
這篇照官方技術文件,一步一步講怎麼設對。
一、先搞懂錢是怎麼算的
快取有三種計價,都以「基礎輸入價」為基準:
| 項目 | 倍率 | 白話 |
|---|---|---|
| 5 分鐘快取寫入 | 1.25 倍 | 第一次建立快取,比正常貴一點 |
| 1 小時快取寫入 | 2 倍 | 想存久一點,就要多付 |
| 快取讀取 | 0.1 倍 | 之後每次重複用,只要一折 |
| 快取讀取(Fable 5.1 / Mythos 5.1) | 0.025 倍 | 只要 2.5 折 |
以 Claude Opus 5 為例(基礎輸入 US$5/百萬 token):
- 5 分鐘快取寫入:US$6.25
- 1 小時快取寫入:US$10.00
- 快取讀取:US$0.50
關鍵結論:寫入貴一點點,讀取便宜非常多。 所以快取划不划算,取決於一件事——你會不會重複用到它。寫進去卻只讀一次,反而虧錢。
二、你的內容夠長嗎?(最低門檻)
沒過門檻就完全不會被快取,這是最常見的「我設了為什麼沒省到」原因。官方列出的最低可快取 token 數:
| 模型 | 最低 token |
|---|---|
| Claude Fable 5.1、Mythos 5.1、Opus 5、Fable 5、Mythos 5 | 512 |
| Opus 4.8、Sonnet 5、Sonnet 4.6、Sonnet 4.5、Opus 4.1、Opus 4、Sonnet 4 | 1,024 |
| Mythos Preview、Opus 4.7、Haiku 3.5 | 2,048 |
| Opus 4.6、Opus 4.5、Haiku 4.5 | 4,096 |
先確認你要快取的那一段有沒有超過門檻。512 token 大約是幾百字的中文;如果你只是想快取一句系統提示,通常不夠長、不會生效。
三、實際怎麼寫
在要快取的內容區塊上加 cache_control:
{
"type": "text",
"text": "(你那一大段不會變的內容)",
"cache_control": {"type": "ephemeral"}
}
想存 1 小時而不是預設的 5 分鐘:
"cache_control": {"type": "ephemeral", "ttl": "1h"}
目前 ephemeral 是唯一支援的快取類型。
哪些東西可以快取:
- 工具定義(
tools陣列) - 系統訊息(
system陣列裡的內容區塊) - 文字訊息(
messages裡的文字區塊,使用者與助理回合都可以) - 圖片與文件(使用者回合)
- 工具呼叫與工具結果
不能快取的: 思考區塊不能直接標記(但可以作為前一輪助理回合的內容被快取到)、引用之類的子區塊(要改成快取最上層的區塊)、空白文字區塊。
四、最重要的一句話:快取點要放在「最後一塊不會變的內容」上
官方文件的原則是:把 cache_control 放在「你希望共用快取的那些請求之間,前綴完全相同的最後一個區塊」上。
這一句就是九成人踩空的地方。
最常見的錯誤:把快取點放在會變動的內容上——例如帶時間戳記的那一段、或每個請求都不一樣的使用者問題。這樣每次算出來的 hash 都不同,永遠不會命中,你只是每次都在付 1.25 倍的寫入費。
正確的心智模型:把請求想成「固定的前半段 + 變動的後半段」,快取點就放在固定那一段的最後面。
另外,明確的快取點最多 4 個。如果 4 個都用掉了,API 會回 400 錯誤(沒有空位留給自動快取)。
五、什麼時候會失效(這決定你會不會白花錢)
快取是階層式的,順序固定是:tools → system → messages。
任何一層變了,那一層以及後面所有層的快取一起失效。
官方列出的實際情況:
| 你改了什麼 | tools 快取 | system 快取 | messages 快取 |
|---|---|---|---|
| 工具定義(名稱/描述/參數) | ✘ | ✘ | ✘ |
| 開關網路搜尋 | ✓ | ✘ | ✘ |
| 開關 citations | ✓ | ✘ | ✘ |
| speed 設定 | ✓ | ✘ | ✘ |
| tool choice | ✓ | ✓ | ✘ |
| 新增/移除圖片 | ✓ | ✓ | ✘ |
| thinking 參數 | 視模型 | 視模型 | ✘ |
| effort 設定 | 視模型 | 視模型 | ✘ |
實務上的意思:如果你三天兩頭在調工具描述,那你的快取幾乎每次都會全部失效——先把工具定義穩定下來,快取才有意義。
六、自動快取的回溯窗口:20 個區塊
除了自己標,Claude 也會自動找快取。它的做法是:在先前請求寫過快取的位置尋找匹配;沒命中就往回逐一檢查,最多回溯 20 個區塊,超過就停止。
連續的 tool_use 區塊算一個位置,連續的 tool_result 也算一個位置。
對長對話的意義:對話拉得太長、中間插了太多輪,就可能超出回溯窗口而找不到快取。這也是為什麼代理型工作要特別注意把不變的東西集中放在前面。
七、照著做的檢查清單
- 算長度:要快取的那一段有沒有超過你那顆模型的門檻(512/1,024/2,048/4,096)?
- 排順序:把所有不會變的東西(工具、系統指令、參考文件)全部移到最前面。
- 放快取點:
cache_control放在固定段落的最後一塊,不要放在會變的內容上。 - 選 TTL:5 分鐘內會再送第二次就用預設;要撐一小時才用
"ttl": "1h"(寫入貴一倍)。 - 別超過 4 個:明確快取點最多 4 個。
- 穩住工具定義:工具一改,整條快取全倒。
- 驗一次:送兩次同樣的請求,看回應裡的快取讀取 token 數有沒有變多——有數字才叫有生效,不要用猜的。
八、什麼時候不該用
- 一次性的問題:寫進去只讀一次,反而多付 1.25 倍。
- 內容短於門檻:完全不會生效。
- 每次內容都不一樣:本來就沒有可重複利用的前綴。
官方連結
- Prompt caching 技術文件:https://platform.claude.com/docs/en/build-with-claude/prompt-caching
站內延伸
本文步驟與數字為 2026-09-05 直讀官方技術文件所得,API 規格可能調整,實作前請以官方文件為準。
阿莫和皮米怎麼看
寫長文、做內容:Pro US$20/月值得。純免費用戶要有心理準備,額度滾動制用完就得等,而且沒有 Claude Code。團隊用建議年繳省 20%。

