毎回同じ指示や規程を送っているなら、その部分は使い回せます。1分に1件の頻度なら、入力の相当量が13.7%になりました。
ただし頻度が落ちると効きません。5分に1件だと53.9%止まりです。置き直しが740回発生しました。
到着の頻度を変えて数え上げました。間隔が空くほど置き直しが増え、効果が薄れます。
プロンプトキャッシュがどこから効くのかを、実際に走らせて数えました。前置き2000トークン・問い60トークンという条件です。
価格の条件も置きました。置くときは1.25倍、読み出すときは0.1倍で、保持は5分です。到着の間隔だけを変えています。
if (t <= cachedUntil) { cacheRead += PREFIX; inTok += QUESTION; }
else { cacheWrite += PREFIX; inTok += QUESTION; }
cachedUntil = t + TTL_MS;
const eq = inTok + cacheWrite * WRITE_MULT + cacheRead * READ_MULT;
1分あたりの件数 使い回した回数 置き直した回数 入力の相当量 使わない場合との比
0.2件 1260回 740回 2,222,000 53.9%
1件 1980回 20回 566,000 13.7%
5件 1999回 1回 522,300 12.7%
20件 1999回 1回 522,300 12.7%
60件 1999回 1回 522,300 12.7%
上の表を見てください。1分に1件の頻度なら、入力の相当量は13.7%まで下がります。
5分に1件だと53.9%止まりです。置き直しが740回発生しています。
保持は5分なので、間隔が5分前後だと当たり外れが半々になります。外れた場合は割高な置き直しになるので、効果が半分近くまで落ちます。
1分に5件より上では12.7%で変わりません。置き直しが1回しか起きないので、これ以上は下がりません。
つまり閾値を超えていれば、頻度をさらに上げても得はありません。判断に必要なのは、5分に1件を超えているかどうかです。
前置きの長さ 入力の相当量 使わない場合 比
200トークン 160,230 520,000 30.8%
500トークン 220,575 1,120,000 19.7%
1000トークン 321,150 2,120,000 15.1%
2000トークン 522,300 4,120,000 12.7%
8000トークン 1,729,200 16,120,000 10.7%
前置きが8000トークンなら10.7%、200トークンだと30.8%です。使い回せない部分の割合が効いています。
5分に1件を超えるかどうかが分かれ目。
The cache is refreshed for no additional cost each time the cached content is used.原文Anthropic ドキュメント「Prompt caching」 この内容の有効期限2027-02-18
毎回同じ前置きを処理し直さず、途中から再開します。前から順に一致する部分だけが対象です。
プロンプトキャッシュは、毎回同じ前置きを処理し直さずに済ませる仕組みです。
Anthropicの説明では、指示のなかの特定の接頭辞から再開できるようにすることで、利用を最適化するとされています。繰り返しの作業や、一定の要素を含む指示で処理時間と費用が減ります。
重要なのは接頭辞という点です。前から順に一致している部分だけが対象で、途中に違いがあればそこから先は使えません。
同じ文書は、対象になる順序について道具、指示、やり取りという階層に従うと説明しています。前の段の上に、次の段が積み上がる形です。
3番目が設計で効きます。日付や利用者名を前置きの途中に入れると、その先が毎回作り直しになります。
短い前置きは対象になりません。ドキュメントは使い回せる指示の最小の長さは512トークンから始まるとしており、モデルによってはさらに長い値が必要になります。
前の節で200トークンの効きが小さかったのは割合の問題ですが、実際には最小の長さを下回っていて対象にならない場合もあります。
前の節は実測ではなく数え上げです。倍率と保持期間を置いて計算しています。実際の倍率は提供元とモデルで変わるので、自分の条件で数え直してください。トークンの数え方はトークン使用量追跡の記事で扱っています。
Prompt caching optimizes your API usage by allowing resuming from specific prefixes in your prompts.原文Anthropic ドキュメント「Prompt caching」 この内容の有効期限2027-02-18
前置きを変えていなくても、周辺の設定を触ると無効になります。何が無効化するかを把握しておく必要があります。
プロンプトキャッシュは思っているより簡単に無効になります。前置きそのものを変えていなくても起きます。
Anthropicのドキュメントは、階層の考え方としてそれぞれの段への変更は、その段と、それ以降のすべての段を無効にするとしています。道具の定義を触れば、その先の指示もやり取りも作り直しになります。
つまり機能を1つ足しただけで、翌日から効果が消えることがあります。費用が急に上がったとき、この線から疑うことになります。
同じ文書は、向いている場面として多くの例を含む指示、大量の文脈や背景情報、一定の指示を伴う繰り返しの作業、長い複数回のやり取りを挙げています。
逆に言えば、毎回まったく違う指示を送る使い方には向きません。使い回せる部分がないからです。
1番目と2番目を分けて記録してください。合計だけ見ていると、置き直しが増えていることに気づけません。
前の節の数え上げでも、5分に1件のときは740回が置き直しでした。この内訳が見えないと、効いていないことが分かりません。
前置きを変えなくても、周辺の設定で無効になる。
Changes at each level invalidate that level and all subsequent levels.原文Anthropic ドキュメント「Prompt caching」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る