Prompt Caching

Prompt Caching

要約 — このレッスンの要点

  • Prompt Caching は、同じプロンプト前半部分を OpenAI サーバー側でキャッシュし、再利用時のトークン処理コストを削減する機能。
  • キャッシュ読み出し時の入力トークン料金は割引価格(モデルにより異なる)。長いシステムプロンプトや参照文書を繰り返し送る場合に効果大(出典: openai.com/api/pricing — USD 税別)。
  • OpenAI のキャッシュは 自動適用型: 一定長以上(目安: 1024 トークン以上)のプロンプト前半が自動的にキャッシュ対象になる。明示的なフラグは原則不要。
  • レイテンシ低減効果も大きく、長文プロンプトを使うチャット UI のレスポンス改善に有効。
  • コード例と料金条件はOpenAI: Prompt Caching を一次情報とする。
目次 (7)

Prompt Caching とは

API を通じて GPT を使う場合、長いシステムプロンプトや大量の参照文書を 毎回送信すると、入力トークン料金が積み上がります。 Prompt Caching は、リクエストの先頭部分を OpenAI のサーバー側でキャッシュし、 次回以降のリクエストでそのキャッシュを再利用する機能です (OpenAI: Prompt Caching 参照)。

OpenAI の Prompt Caching は 自動適用型 で、対象モデルに対して一定長以上の プロンプトを送ると、先頭の共通プレフィックスが自動的にキャッシュ対象として扱われます。 明示的なフラグ設定は原則不要です(モデルや API バージョンにより条件が変わる場合があるため、 最新情報は公式ドキュメントで確認してください)。

料金の考え方

トークン種別 概要
通常入力トークン 標準価格(基準)
キャッシュ読み出しトークン 大幅割引(モデルにより異なる)
出力トークン キャッシュ有無に関わらず標準価格

正確な単価はopenai.com/api/pricing(USD 税別)で モデルごとに確認してください。

キャッシュの仕組み

  • 対象: 同じプロンプト前半(システムメッセージ・固定指示・参照文書など)
  • キャッシュ保持時間: モデルによるが、短時間のセッション内で繰り返しヒットさせる用途に向く
  • 無効化: 先頭側に少しでも差分があるとキャッシュは効かなくなる

Python — キャッシュ効率を最大化する例

from openai import OpenAI

client = OpenAI()

LONG_SYSTEM_PROMPT = """\
あなたは文学作品を分析する AI アシスタントです。
テーマ・登場人物・文体について深い考察を提供してください。
... (数千トークンの業務指示・参照ガイドラインなど) ...
"""

def ask(question: str):
    return client.chat.completions.create(
        model="gpt-4o",
        messages=[
            {"role": "system", "content": LONG_SYSTEM_PROMPT},
            {"role": "user", "content": question},
        ],
    )

# 同じ system プロンプトを使い回すことで、2 回目以降はキャッシュが効きやすい
print(ask("「源氏物語」の主要テーマを分析してください").choices[0].message.content)
print(ask("「平家物語」の主要テーマを分析してください").choices[0].message.content)

response.usageprompt_tokens_details(モデル / API バージョンに依存)で キャッシュ読み出しトークン数を確認できる場合があります。最新の応答スキーマは 公式ドキュメントを参照してください。

キャッシュが効くケース

  • 長いシステムプロンプト — 数百〜数千トークンの業務指示を毎回送る場合
  • 参照文書を含む RAG — 同じドキュメントを複数回の会話で参照する場合
  • Few-shot 例の再利用 — 多数の例示を含むプロンプトを繰り返す場合

キャッシュは一致するプレフィックスが変わると無効化されます。 キャッシュの効果を最大化するには、変化しない部分をリクエストの先頭にまとめる設計が重要です。

レイテンシ削減効果

Prompt Caching はコスト削減だけでなく、レイテンシ短縮 にも効果があります。 長文の system プロンプトや RAG コンテキストを伴う ChatGPT 風 UI では、 キャッシュヒット率を上げることで応答開始までの時間が縮みます。

Level 5 修了

おめでとうございます。Level 5「API / SDK」の全 5 レッスンを修了しました。 API キー取得・SDK 基礎・Function Calling・ストリーミング・Prompt Caching という、 GPT をプログラムから活用するための基礎を一通り把握できました。 Level 6「ビジネス利用」では、ChatGPT を業務フローへ組み込む実践的な視点を学びます。

参考になったら ♡
Codexer Navi 編集部
@codexer_navi

Anthropic の Claude / Claude Code を中心に、日本のエンジニア向けに最新動向と実務 を毎日発信。 運営方針 は メディアについて をご覧ください。