OpenAI API 12 小時提示快取怎麼用?寫入價 2.5 倍,哪些情況才划算

OpenAI API 新增 12 小時提示快取,寫入費是輸入價的 2.5 倍,讀取仍是低價。本文依官方文件與定價頁,整理設定方式、依費率算出的損益平衡點、不保證命中與保存期限等限制,以及常駐代理何時才值得開。

Share
OpenAI Developers 提示快取文件頁面的標題封面圖
OpenAI 官方開發者文件的提示快取頁面封面圖,用於說明主題,並非 12 小時快取的操作畫面,非本站拍攝。 圖片來源:官方原文。

2026 年 10 月 21 日凌晨(台灣時間),OpenAI Developers 在 X 宣布,API 現在可以選擇 12 小時提示快取,讓像 dots 這樣的常駐代理整天重複使用共用指令、工具與上下文,即使兩次請求相隔數小時,也能按較低的快取輸入價計費。

這聽起來像是「全天都打折」,但官方更新日誌在同一則更新裡就寫明,12 小時快取的寫入費是一般輸入價的 2.5 倍。預設的 30 分鐘快取寫入費是 1.25 倍,所以 12 小時版本的寫入貴了一倍。

提示快取是把模型已經處理過的前文保存起來,下一次請求的開頭相同時,這一段就按較低的價格計費。所以划不划算,取決於同一段前綴在 12 小時內被重複用幾次,以及兩次請求相隔多久。

依官方費率,我算出請求間隔超過 30 分鐘時,12 小時快取在 12 小時內要用到 3 次以上才比不用快取便宜。用到 6 次時,共用前綴的輸入成本約降到一半。這個算法是我自己的換算,後面會列出假設。

我的判斷是,每天反覆帶著長篇固定指令與工具定義的常駐代理,值得測試 12 小時快取。請求本來就很密集,或一天只呼叫一兩次的應用,用預設設定就好。

要知道自己屬於哪一種,得先弄清楚 30 分鐘與 12 小時兩種快取在計費上的差別。

12 小時提示快取是什麼?30 分鐘與 12 小時兩種寫入的差別

12 小時提示快取是 Responses API 的新選項,讓共用前綴至少保留 12 小時,而不是預設的 30 分鐘。

OpenAI 在 10 月 20 日的更新日誌寫道,12 小時快取讓共用指令、工具與上下文保留更久,以便在請求相隔數小時的情況下,仍享有較低的快取輸入價格。同一則日誌寫明,12 小時寫入費是輸入價的 2.5 倍。

前綴是提示開頭保持不變的那一段,例如系統指令、工具定義與固定的參考資料。官方文件說明,快取保存的是模型處理前綴後產生的中間狀態,而不是文字本身,所以只要前綴有一個詞元不同,後面就對不上。

這個選項只適用於 GPT-5.6 與之後的模型,而且只在 Responses API 中使用。設定方式是把 prompt_cache_options.ttl 設為 12h,不設定的話就是預設的 30m。

以下我把官方定價頁的標準費率整理出來,單位是每百萬詞元的美元,短上下文指輸入在 272K 詞元以內。

模型 輸入 快取讀取 30 分鐘寫入 12 小時寫入
gpt-6-astra 10.00 1.00 12.50 25.00
gpt-6.1-sol 2.00 0.10 2.50 5.00
gpt-6-sol 2.00 0.20 2.50 5.00
gpt-6-luna 0.10 0.01 0.125 0.25

表格顯示,12 小時寫入固定是輸入價的 2.5 倍,讀取則是 0.1 倍,只有 GPT-6.1 Sol 是 0.05 倍。官方文件強調,這些是總價而不是在輸入價之外再加的費用,讀取價格不受選了哪一種保存時間影響。

GPT-5.6 系列也適用同樣倍率。例如定價頁列的 gpt-5.6-sol,輸入 4.00 美元、快取讀取 0.40 美元、12 小時寫入 10.00 美元。

另外有一個很容易誤解的地方。12 小時是「最短保存時間」,不是刪除期限。官方明說,OpenAI 可能保留得更久,選 12 小時並不會改變最長資料保留政策。

依官方資料控制頁,這類快取狀態存在 GPU 本機,24 小時到期後不再保留,所以這個選項改變的是價格資格,不是保存上限。接下來要回答的是,多付的寫入費在什麼情況下能賺回來。

OpenAI Developers 提示快取文件頁面的標題封面圖
OpenAI 官方開發者文件的提示快取頁面封面圖,用於說明主題,並非 12 小時快取的操作畫面,非本站拍攝。 圖片來源:官方原文。

12 小時提示快取划算嗎?依官方費率算出的損益平衡點

先把假設說清楚:共用前綴的大小固定,請求之間都相隔超過 30 分鐘,所以 30 分鐘快取每次都會過期並重新寫入,讀取價取 0.1 倍。GPT-6.1 Sol 的讀取只有 0.05 倍,後面的金額例子會改用實際價格。

在這個假設下,我把共用前綴的輸入成本換算成「一次原價輸入」的倍數,這是我依官方費率相乘得到的結果,並不是官方公布的試算。

12 小時內請求次數 不用快取 預設 30 分鐘 12 小時
2 次 2.00 2.50 2.60
3 次 3.00 3.75 2.70
6 次 6.00 7.50 3.00
12 次 12.00 15.00 3.60

從這張表可以先看到,請求間隔超過 30 分鐘時,預設快取每次都要重新寫入,成本是原價的 1.25 倍,所以反而比不用快取貴。

12 小時快取從第 3 次請求開始比不用快取便宜,因為前面多付的寫入費已經被後面的低價讀取攤平。用 6 次時剩下一半,用 12 次時剩下 30%。但如果只用 2 次,三種選項裡不用快取最便宜。

換成金額更容易感受。以 GPT-6.1 Sol 為例,5 萬詞元的共用前綴,不用快取每次是 0.10 美元,12 小時寫入一次是 0.25 美元,之後每次讀取是 0.005 美元。

用 6 次的話,不用快取是 0.60 美元,預設 30 分鐘是 0.75 美元,12 小時是 0.275 美元。如果換成 GPT-6 Astra,同樣情境是 3.00、3.75 與 1.50 美元,因為單價高,所以省下的絕對金額也更大。

這裡的金額只計共用前綴的輸入,不含每次不同的問題、輸出詞元與其他內容。所以節省占整張帳單的比例,會比表格中的數字小。

再看一個接近常駐代理的例子。假設代理每兩小時被叫醒一次,一天 12 次,共用前綴是 3 萬詞元,使用 GPT-6.1 Sol。因為每次間隔都超過 30 分鐘,不用快取一天是 0.72 美元,預設快取是 0.90 美元。

改用 12 小時快取的話,一天寫入兩次、讀取十次,合計約 0.33 美元。以 30 天換算,三種做法分別約是 21.6、27.0 與 9.9 美元。這些也是我依費率相乘的結果,只代表前綴的輸入費用。

如果請求本來就密集,狀況就相反。官方範例指出,30 分鐘快取寫一次、讀九次,十次請求的成本是 2.15 倍。同樣情境改用 12 小時,我算出約 3.4 倍,多花的是那一次 2.5 倍的寫入。

還有一點要留意:12 小時是從寫入起算的時間。官方指南寫明,用 30 分鐘設定去讀一個仍在 12 小時覆蓋內的條目,不會重新開始 12 小時的計時。

用 12 小時設定的請求讀取時是否續期,指南沒有逐項寫,所以我保守假設不會續期。照這個假設,常駐 24 小時的代理一天大約要重新寫入兩次。算完成本,下一步是把設定寫進請求。

延伸閱讀:Codex 快取更新:同一份額度能做更多事,長任務該怎麼安排?

怎麼設定 12 小時提示快取?一個請求範例與四個細節

最簡單的做法是在請求層級設定生命週期,把共用內容放在輸入的最前面。更精細的做法是用明確斷點,只替共用前綴開 12 小時,其他內容維持 30 分鐘。

以下是依官方範例簡化的請求,前面的開發者訊息是整天共用的內容,後面的使用者訊息是當次的問題,不需要寫入快取。

{
  "model": "gpt-6.1-sol",
  "prompt_cache_options": { "mode": "explicit", "ttl": "30m" },
  "input": [
    {
      "role": "developer",
      "content": [{
        "type": "input_text",
        "text": "整天共用的指令與參考資料……",
        "prompt_cache_breakpoint": { "mode": "explicit", "ttl": "12h" }
      }]
    },
    { "role": "user", "content": "這一次的問題……" }
  ]
}

細節一,前綴必須完全一致。官方列出會影響前綴的設定,包含模型、工具定義、輸出格式、推理強度與壓縮設定。所以把時間戳或使用者名稱放在提示開頭,就會讓每次都對不上。

細節二,共用前綴後面如果接了會變的內容,要自己加斷點。官方指南的 Gotchas 章節說明,隱含模式會把整段寫進快取,下一次問題不同就對不上,所以要在靜態內容後面放明確斷點。

細節三,從 30 分鐘升級成 12 小時要重新付費。官方表格指出,已有效的 30 分鐘覆蓋範圍升級到 12 小時,會算一筆新的 12 小時寫入,先前的寫入費不退還。

細節四,用量欄位要看清楚。回應裡的 cached_tokens 是已計費的讀取,cache_write_tokens_details 會分開列出 30 分鐘與 12 小時的寫入量。官方範例用這些欄位算出某次輸入的費用是 0.01515 美元。

如果想在使用者開始提問之前先把快取準備好,可以用預熱。把 prompt_cache_options.prewarm 設為 true,系統只寫入快取而不產生輸出,寫入量按所選的生命週期計費。設定寫對了,也不代表每次都能命中,限制要一起看。

延伸閱讀:Sonnet 5.5 快取讀取降價:長對話與代理任務,怎麼算真正省下的 API 費?

12 小時提示快取的限制與風險:不保證命中、保存期限與舊模型差異

最大的限制是不保證命中。官方文件寫明,最短保存時間決定的是讀取價格的資格,並不保證每個請求都能重用已儲存的狀態,也不保證延遲一定下降。

原因與快取的位置有關。文件說明,快取存在個別機器上,流量超過每分鐘約 15 個請求時可能溢出到別的機器,且不同組織與不同資料處理區域之間不共用快取。

所以量大的服務不能只看「理論上 12 小時」,而是要用實際的 cached_tokens 比例驗證。官方建議在儀表板與回應用量中,追蹤每日的命中率、延遲與實際成本。

第二個風險是資料保存。官方資料控制頁說明,提示快取可能把加密的鍵值張量存在 GPU 本機儲存中,24 小時到期後不再保留。GPT-5.6 以後的 ttl 控制的是最短保存時間,不是這個最長期限。

依這兩處說明推算,選 12 小時時,實際保存會落在 12 到 24 小時之間。目前也沒有手動清除快取的功能,只能等條目到期。

對有嚴格資料保留要求的團隊,選 12 小時之前要先對照自己的隱私與合規政策。

快取指南談零資料保留的段落,講的是舊模型 in_memory 與 24h 的預設值。零資料保留與 12 小時選項如何搭配,我在快取指南與資料控制頁都沒有找到逐項說明,建議向 OpenAI 確認。

第三個差異是舊模型。GPT-5.5 與更早的模型用 prompt_cache_retention 設定,可選 24 小時,官方表格寫這些模型沒有額外的快取寫入費。如果你的工作留在舊模型,就沒有 2.5 倍這項成本,但也沒有 12 小時選項。

最後是壓縮的影響。官方提醒,對話壓縮會替換前文,第一個壓縮後的請求可能重用較少快取。但輸入詞元變少仍可能省錢,所以要比較總輸入成本,而不是只看命中率。

快取讀取仍會計入每分鐘詞元上限,這點與費用無關,但影響容量規劃。

適合誰、不適合誰:導入 12 小時提示快取前的檢查

12 小時提示快取適合每天重複帶著長篇固定指令、工具定義與參考資料的常駐代理或內部助理,而且兩次請求常常相隔數十分鐘到數小時。

OpenAI 在貼文裡以 dots 為例。依 OpenAI 開發者文件,dots 是由 GPT-6 Astra 驅動、有自己雲端電腦與瀏覽器的常駐代理,所以整天重複使用背景確實符合這類產品的特性。貼文沒有說明 dots 自己的帳單如何計算,一般開發者只能依 API 費率評估。

它不適合請求本來就在 30 分鐘內連續發生的服務,因為預設快取已經夠用。前綴短於 1,024 個可見輸入詞元的應用也不適合,因為根本不符合快取資格。

一天只呼叫一兩次的流程同樣不適合,從上表可以看到 2 次請求時 12 小時方案反而較貴。每次提示開頭都會變動的設計,也要先改好結構再談快取。

導入前可以分四步檢查。先把共用內容移到提示最前面,並移除時間戳之類的變動資訊。再用回應用量記錄一週的請求間隔與命中率。

接著把實際的前綴大小與模型費率代入上面的算法,估算 30 分鐘與 12 小時的差異。最後用小流量實測一週,對照帳單上的快取欄位,再決定是否全面切換。

12 小時提示快取常見問題

12 小時提示快取比 30 分鐘貴多少?

寫入費從輸入價的 1.25 倍升到 2.5 倍,讀取價不變。以 GPT-6.1 Sol 計,每百萬詞元寫入從 2.50 美元變成 5.00 美元。

12 小時提示快取一定會命中嗎?

不一定。官方說明最短保存時間只決定讀取價格的資格,不保證每次都重用已儲存狀態,所以要用 cached_tokens 實際驗證。

12 小時之後快取會自動續期嗎?

不會自動續期。官方寫明用 30 分鐘設定讀取時,不會重新開始 12 小時的計時。過期後下一個請求要重新寫入,並再付一次寫入費。12 小時設定的讀取是否續期,指南沒有逐項說明。

舊模型也能用 12 小時快取嗎?

不能。12 小時選項只適用 GPT-5.6 與之後的模型,且僅在 Responses API。較舊的模型使用 prompt_cache_retention,可選 24 小時。

選了 12 小時,資料就會保存剛好 12 小時嗎?

不是。12 小時是最短保存時間,依官方資料控制頁,快取狀態在 24 小時到期後不再保留,所以實際保存約在 12 到 24 小時之間,這是我依兩處說明推算的。目前也沒有手動清除快取的功能。

先算自己的請求間隔,再決定要不要開

12 小時提示快取讓常駐代理多了一個選項,用兩倍的寫入費,換取整天都能按低價讀取共用前綴。對請求稀疏、前綴很長的服務,12 小時內用到 7 次以上時,這可以把前綴的輸入成本壓到不到一半。

但它對密集請求、很短的前綴或一天只呼叫一兩次的應用沒有幫助,也不保證命中。我會先量一週的請求間隔與命中率,再用上面的算法決定是否切換。

想持續追蹤 API 計費與代理成本的更新,可免費訂閱 AI 郵報,並以官方文件與定價頁核對後續變動。

資料來源