For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主要導覽

提示詞快取

透過提示詞快取降低延遲與成本。

提示詞快取為何重要

當多個請求使用相同的提示詞前綴時,提示詞快取可以重用先前的運算結果。這帶來三項主要優點:

  • 節省運算: 避免重新計算模型已處理過的提示詞前綴。
  • 降低輸入 Token 費用: 重用的 Token 按模型較低的快取輸入費率計費,最高可省下 90%。
  • 加快速度: 縮短開始回應前處理輸入所需的時間。

支援提示詞快取的 OpenAI 模型預設會啟用這項功能。使用提示詞快取儀表板監控快取讀取命中率,並使用提示詞快取診斷工具診斷快取未命中的原因,提高快取重用率。

Agents API 的模型呼叫採用與 Responses API 相同的提示詞快取行為。在工作階段內重用上下文可保留共用的提示詞前綴,但維持工作階段並不保證快取命中。如需瞭解工作階段的用量欄位及子代理程式的用量核算方式,請參閱可觀測性與用量

提示詞快取的定價依模型而異。請參閱 API 定價,瞭解目前快取輸入與快取寫入的費率。快取寫入並非額外收費:輸入 Token 會依未快取輸入、快取輸入或快取寫入其中一種費率計費。

什麼是提示詞快取?

模型處理輸入 Token 時,必須計算稱為鍵值(KV)狀態的中間狀態。這些狀態讓模型在處理新輸入及生成輸出 Token 時,能夠參照先前的 Token。

提示詞快取會保存可重用 前綴的狀態;前綴是指提示詞開頭未變更的 Token。當後續請求具有相同的前綴,並找到相符的快取項目時,模型就能重用已儲存的狀態,無須再次處理那些 Token。不過,模型仍需處理所有新輸入,才能生成新的回應。

提示詞快取儲存的是鍵值(KV)張量,而非 Token 本身。

請 ChatGPT 提供更深入的說明

OpenAI 會快取模型組合後的完整上下文,包括 OpenAI 提供的指示、開發人員訊息工具定義,以及含有文字圖像文件和支援的音訊對話歷史紀錄

若要重用快取,組合後的整個前綴都必須相符。如果中斷點之前的內容或相關設定有所變更,從變更位置起,前綴就無法再與現有快取項目相符。

快取的運作方式

快取中斷點 標記提示詞前綴的結尾,OpenAI 可將該前綴存入快取,供後續請求重用。第一個請求會將符合條件的前綴寫入快取,後續請求則會尋找可用且相符的最長快取前綴,從後往前逐一檢查符合條件的中斷點,直到找到相符的前綴。

提示詞前綴必須達到模型的 可快取最小 Token 長度 ,才能存入快取。OpenAI 提供的隱藏系統內容中的 Token 不計入此下限。GPT-5.6 及後續模型的可快取最小提示詞長度為 1,024 個 Token;較早模型的下限則依請求設定而異。詳情請參閱模型比較

達到可快取最小 Token 長度後,您可以明確指定快取中斷點的位置,或讓 OpenAI 以隱含方式選擇位置。可用選項依模型而異。

前綴比對的運作方式

OpenAI 只會依前綴由長到短的順序,逐一檢查傳入請求中的 快取查詢邊界 (說明如下),尋找機器上已快取且可用的相符前綴。

對於 GPT-5.6 及更新的模型,傳入請求中的快取查詢邊界包括:

  • 僅顯式模式: 最前面的 2 個和最近的 50 個顯式斷點。
  • 隱式模式: 最前面的 2 個和最近的 50 個顯式斷點、隱式斷點、最多 20 個較早且符合資格的訊息結尾,以及開頭連續一組開發人員訊息的結束位置。這讓隱式模式即使未在較早的訊息結尾設定顯式斷點,也能重用以該處為結尾的前綴。
模型世代
快取模式

隱式斷點會設在最新且符合資格的使用者訊息處。

隱藏系統工具開發人員上下文歷程後續訊息已快取的輸入未快取的輸入
最短可快取長度(因模型而異)

請求 1

12,000 個輸入 Token
3,000 個 Token(示意)

請求 2

15,000 個輸入 Token
3,000 個 Token(示意)
0
2.5k
5k
7.5k
10k
12.5k
15k
17.5k
20k
輸入 Token(包括示意用的隱藏 Token)
15,000
最後一個相符斷點
3,000
隱藏的 Token
=
12,000
回報的已快取 Token 數

快取存留時間

快取項目不會永久儲存。後續請求只有在快取項目仍可用時,才能重複使用已快取的前綴。重複使用前綴會重設其存留時間,且不會再次收取快取寫入費用。存留時間與保留設定依模型而異

快取位置

快取狀態儲存在個別機器上;當流量超過每分鐘 15 個請求時,可能會觸發溢位路由,將請求轉送至其他機器。請求只有送達持有相符且尚未過期快取項目的機器,才能重複使用已快取的前綴。因此,將請求路由至正確的機器,對於重複使用快取相當重要。

快取不會在組織之間共用,也無法跨越區域處理邊界重複使用。

OpenAI 會自動處理路由。在同一組織與處理區域內,特定模型的路由取決於:

  • 機器目前的負載與可用容量。
  • 隱藏的 OpenAI 內容之後,起始 Token 的雜湊值;若有工具定義,也會納入其中。用來計算雜湊的 Token 數量依模型而異。
  • 提供的 prompt_cache_key,可讓不同請求群組分別重用各自的快取,並有助於最佳化 GPT-5.6 之前模型的快取路由。

模型差異摘要

行為GPT-5.6 及後續模型GPT-5.5 和 GPT-5.5 Pro其他較早的模型
隱式中斷點位於最新一則符合條件的訊息結尾。每隔 2,048 個 Token 設置一個。以固定間隔設置,間隔長度依模型而異。
顯式中斷點支援不支援不支援
prompt_cache_key可選用,用於分別核算快取用量與費用使用固定的鍵來最佳化快取路由使用固定的鍵來最佳化快取路由
可快取的最短前綴1,024 個可見的輸入 Token依請求設定而異依請求設定而異
快取 Token 數量回報精確計算至符合條件的邊界,不含隱藏 Token排除隱藏 Token,並向下取整至 128 的倍數排除隱藏 Token,並向下取整至 128 的倍數
快取讀取費用未快取輸入 Token 費率的 0.1 倍依模型而定的快取輸入費率依模型而定的快取輸入費率
快取寫入費用未快取輸入 Token 費率的 1.25 倍不另收快取寫入費用不另收快取寫入費用
快取存留時間控制prompt_cache_options.ttlprompt_cache_retentionprompt_cache_retention
支援的保留設定值"30m"僅支援 "24h""in_memory""24h"*
快取存留時間最近一次寫入或重複使用後至少 30 分鐘通常約 30 分鐘,最長可達 24 小時in_memory 通常在未使用後保留 5 至 10 分鐘,24h 則最長可保留 24 小時

* gpt-5.5gpt-5.5-progpt-5.4gpt-5.2gpt-5.1-codex-maxgpt-5.1gpt-5.1-codexgpt-5.1-codex-minigpt-5.1-chat-latestgpt-5gpt-5-codexgpt-4.1 支援延長保留。

對於 GPT-5.6 之前的模型,可快取的最短輸入長度會隨請求設定而異,包括工具、圖像、輸出結構描述、推理強度及回覆詳細程度。

請 ChatGPT 找出我的請求可快取的最短輸入長度

如何最佳化提示詞快取

重點是保留對話記錄保持工具定義穩定,以及選擇快取的位置。使用 GPT-5.6 及更新版本的模型時,請透過 prompt_cache_options.modeprompt_cache_breakpoint 控制快取中斷點。若您的應用程式需要為客戶分別核算快取用量與費用,也可以選用 prompt_cache_key。使用 GPT-5.6 之前的模型時,請為共用可重用前綴的請求使用固定的 prompt_cache_key,以最佳化快取路由。

請 ChatGPT 協助最佳化我的提示詞快取

範例

以下範例適用於 GPT-5.6 及更新版本的模型。

常見陷阱

常見問題