システムプロンプトの償却コスト
入力
| システムプロンプトのトークン数 | 1,200 |
|---|---|
| 呼び出し回数 | 1,000 |
| 入力料金(100万トークンあたり) | 3 ドル |
| キャッシュ読み取りの割引 | 90 % |
システムプロンプトの償却コスト
LLMの呼び出しごとに再送される長いシステムプロンプトを、プロンプトキャッシュでどれだけ節約できるかを見積もります。再送のキャッシュなしコストと、割引後のキャッシュありコストを比較します。
入力
システムプロンプト
料金とキャッシュ
結果
値を入力すると計算結果が表示されます。
詳細
システムプロンプトの償却
システムプロンプトの償却とは、固定の接頭部分のコストを、毎回全額支払う代わりに多数の呼び出しに分散させる手法です。システムプロンプト、すなわち利用者のメッセージに先立つ指示・ペルソナ・安定した文脈は、モデルが呼び出し間に何も保持しないため、リクエストごとに再送されます。何もしなければ、1000 回のリクエストはその接頭部分の代金を 1000 回支払います。プロンプトキャッシュは接頭部分を一度だけ保存し、以降のリクエストには割引されたコピーを提供するため、固定コストが呼び出し回数にわたって償却されます。この計算では、キャッシュなしとキャッシュありの合計を対比し、節約額を示します。
なぜプロンプトは繰り返されるのか
モデルはステートレスです。各呼び出しは独立しており、モデルが知っておくべきことはその呼び出しの入力にすべて含まれていなければなりません。したがって長いシステムプロンプトは、一度きりの初期設定コストではなく、毎回の呼び出しに入力トークン料金で課される税のようなものです。プロンプトが長く、送る頻度が高いほど、請求に占める割合は大きくなります。これはまさに、キャッシュが最も効果を発揮する条件でもあります。
キャッシュが計算をどう変えるか
初回の呼び出しで、プロバイダーは接頭部分をキャッシュに書き込み、おおむね通常の入力料金で課金します。同じ接頭部分を再利用する以降の呼び出しでは、それが大幅な割引(多くは標準料金の10分の1程度)で読み戻されます。こうして、繰り返される接頭部分は初回を除くすべてのリクエストでキャッシュ料金が適用されます。
計算式
トークン数 のシステムプロンプトを、入力料金百万あたり で送るとき、一回送るキャッシュなしコストと、 回のキャッシュなし合計は次のとおりです。
CcallCu=106tsysp=Ccall⋅nキャッシュ読み取りの割引を とすると、各キャッシュ読み取りのコストは となり、キャッシュあり合計は初回に接頭部分を全額1度支払い、毎回の呼び出しで割引後の読み取りを支払います。
Cc=Ccall(1−d)n+Ccall,Csave=Cu−Cc計算例
2,400 トークンのシステムプロンプトを、入力料金100万あたり $3 で、キャッシュ読み取りの割引 90% で 6,000 回送る場合を考えます。1回あたりのキャッシュなしコストは次のとおりです。
Ccall=1062400×3=$0.0072したがってキャッシュなし合計は次のようになります。
Cu=0.0072×6000=$43.20キャッシュ読み取りのコストは 0.0072 \times (1 - 0.90) = \0.00072$ となり、キャッシュあり合計は次のとおりです。
Cc=0.00072×6000+0.0072=4.32+0.0072=$4.33節約額は 43.20 - 4.33 = \38.87$ で、システムプロンプト分の請求がおよそ 90% 減ります。割引は固定の接頭部分のみに適用され、各呼び出しの可変な利用者メッセージはどちらの場合も通常どおり課金されます。
補足とバリエーション
このモデルは、接頭部分が安定していて、キャッシュが有効なうちに再利用されることを前提とします。キャッシュは一定時間の未使用で失効するため、間隔の空いた呼び出しでは書き込みコストを再び支払うことがあります。キャッシュ可能な最小長や正確な書き込み料金はプロバイダーによって異なります。プロンプトが短かったり呼び出し回数が少なかったりすると、償却できる余地はほとんど残りません。節約が最も大きくなるのは、長く安定したプロンプトを短い期間に頻繁に呼び出す場合です。
活用
この計算はシステムプロンプトの接頭部分に焦点を当てています。1回の呼び出しの中で、キャッシュありとキャッシュなしの入力トークンが任意に混在する状況を扱うには、プロンプトキャッシュの節約額の計算 を参照してください。これらの数値の元になる呼び出しごとのトークン使用量を価格化するには、トークンコスト計算 を参照してください。
よくある質問 (FAQ)
システムプロンプトを償却するとはどういう意味ですか。
システムプロンプトは毎回再送される固定の接頭部分です。そのためキャッシュがなければ、入力コストがリクエストごとに全額繰り返されます。1000回呼び出せば、プロンプトの代金を1000回支払うことになります。
償却するとは、プロンプトを一度だけ保存する代金を払い、その保存済みコピーを割安な料金で再利用することです。これにより固定コストが呼び出し回数に薄く広がり、毎回全額繰り返されることがなくなります。プロンプトが長く呼び出し回数が多いほど、償却できる余地は大きくなります。
プロンプトキャッシュはどのようにコストを下げるのですか。
初回の呼び出しで、プロバイダーはプロンプトの接頭部分をキャッシュに書き込み、通常の入力料金かそれに近い額で課金します。同じ接頭部分を再利用する以降の呼び出しでは、キャッシュ済みの部分が大幅な割引(多くは標準料金の10分の1程度)で読み戻されます。
したがって、繰り返される接頭部分は初回を除くすべてのリクエストでキャッシュ料金が適用され、ここから節約が生まれます。モデルは各プロンプトの可変部分を、依然として通常料金で処理します。
キャッシュが割に合わないのはどんなときですか。
キャッシュは、同じ接頭部分が頻繁に、かつ短い間隔で再利用されるときに効果を発揮します。短いプロンプトは償却できる余地が小さく、絶対額での節約はわずかです。
またキャッシュは一定時間の未使用で失効するため、間隔の空いた呼び出しでは、読み取りの恩恵を受けないまま書き込みコストだけを払うことがあります。さらに、呼び出しの間で接頭部分が変わる(指示が異なる、文脈が入れ替わる)場合は、キャッシュできる安定したブロックがありません。キャッシュは、長く安定したプロンプトを頻繁に呼び出すときに最も役立ちます。
免責事項
これは簡略化したモデルです。キャッシュの書き込みコスト・失効までの時間・キャッシュ可能な最小長はプロバイダーによって異なり、ここでは近似しています。公表されている料金や割引率は時間とともに変わります。請求の根拠にする前に、最新の料金・キャッシュ条件・正確なトークン数をプロバイダーで確認してください。これは参考情報であり、課金額を保証するものではありません。