AI・LLM調べる更新 2026-08-09
ClaudeやChatGPTのAPI料金が想定より高い原因——キャッシュとコンテキスト長の仕組み
LLM APIの請求が見積もりを超えるとき、原因は出力ではなく入力側にあることがよくあります。単価表を見ると出力単価は入力単価の5〜8倍なので出力に注意が向きますが、会話履歴やRAGで渡す文書は毎回の全リクエストに乗るため、積み上がると入力側が支配的になります。この記事では、料金が膨らむ仕組みと、プロンプトキャッシュがどこまで効くのかを、当サイトが毎日更新している各社の公式料金データで計算して確認します。
この記事が役に立つ人
- RAGやチャットボットのように、毎回同じ文書やシステムプロンプトを送っている人。ここがキャッシュの効きが最も大きい構成です
- 見積もりを英語ベースや短い入力で作ったあと、実際の請求が想定を超えた人
- モデルを1段下げる前に、いまの構成で削れる余地があるかを確認したい人
当てはまらない人
- 入力が毎回まったく違う使い方(1回限りの短いプロンプト、ユーザー入力だけを送る構成)。キャッシュは共通の前置きがないと効きません
- 出力が長い用途(記事生成・コード生成)が請求の大半を占めている人。この場合はキャッシュより出力側の設計が先です
- 月の請求が数百円規模の人。削減額より実装の手間が上回ります
API料金が想定より高い原因は、ほぼ入力トークンの積み上がり
LLM APIの料金は「トークン数×単価」で、入力と出力で単価が違います。掲載中のモデルでは出力単価が入力単価の5〜8倍なので、単価表だけを見ると出力側が高く感じます。ところが実際の請求では、入力側のほうが大きくなることがよくあります。
理由は単純で、入力は「毎回・全部」送り直されるからです。チャットの会話履歴は往復のたびに長くなり、RAGは検索でヒットした文書を丸ごと詰め込みます。システムプロンプトや業務ルールの説明文も、リクエストのたびに先頭に付きます。1回あたりでは気にならない量でも、月に数千回まわると入力トークンが支配的になります。
当サイトの計算機に入っている「RAG検索応答」の想定(月5,000回・入力6,000文字・出力500文字・日本語)で計算すると、Claude Sonnet 5では請求の約71%が入力側になります(キャッシュなしの場合)。出力単価のほうが高いのに、金額としては入力が主役ということです。
日本語はさらに不利に働きます。当サイトの計算機は日本語を1文字あたり約1トークン、英語を1文字あたり約0.25トークンとして概算しています。英語の事例やベンチマークを基準に見積もると、同じ文章量でも実際のトークン数が数倍になり、請求が見積もりを超えます。なお、この係数はあくまで概算です(料金データ側の注記:「文字数からの概算係数。トークナイザにより実際は0.7〜1.5倍程度の幅がある。正確な値は各社のトークンカウントAPIで確認のこと。」)。
キャッシュ料金の仕組み——読み取りは入力単価の約10分の1
プロンプトキャッシュは、リクエストの前半にある共通部分(システムプロンプト、業務ルール、参照文書など)をサーバー側に保持し、2回目以降はその部分を安い単価で課金する仕組みです。掲載中の14モデルでは、キャッシュ読み取り単価は通常の入力単価の10分の1です。
| 提供元 | キャッシュの料金の扱い | 料金の取得日 |
|---|---|---|
| Anthropic (Claude) | キャッシュ読み取りは入力単価の約0.1倍。書き込みは1.25倍(5分TTL)/2倍(1時間TTL)。 | 2026-08-06 |
| OpenAI (GPT) | キャッシュ入力は通常入力の約0.1倍。 | 2026-08-06 |
| Google (Gemini) | コンテキストキャッシュは入力単価の約0.1倍+保持時間あたりのストレージ料金($1.00/1Mトークン/時間)。 | 2026-08-06 |
ここで見落としやすいのが、読み取りが安くなる代わりに書き込みには追加の料金がかかる点です。Anthropicは書き込みに1.25倍(5分TTL)または2倍(1時間TTL)、Googleはキャッシュの保持時間に対してストレージ料金がかかります。キャッシュの内容が毎回変わる設計だと、書き込みばかり発生して逆効果になります。
キャッシュヒット率を上げると月額はいくら変わるか
RAG検索応答の想定で、キャッシュヒット率0%と90%の月額を比べます。数字は当サイトが追跡している各社の公式単価と為替レート(158.02円/ドル・2026-08-04時点)から計算しているので、料金改定があれば自動で入れ替わります。
| モデル | ヒット率0% | ヒット率90% | 差額 |
|---|---|---|---|
| Claude Sonnet 5 | 20,148円/月 | 8,628円/月 | −11,520円/月 |
| GPT-5.6 terra | 14,222円/月 | 6,542円/月 | −7,680円/月 |
| Gemini 3.6 Flash | 10,074円/月 | 4,314円/月 | −5,760円/月 |
Claude Sonnet 5では月額が約57%下がります。モデルを1段安いものに置き換える判断より先に、いまのモデルのまま構成を変えるだけで届く範囲があるということです。
キャッシュヒット率の欄は計算機の入力項目になっています。自分のリクエスト数・入力と出力の長さ・ヒット率を入れると、日本語のトークン換算で月額が円建てで出ます。
自分の構成で月額を計算するLLM API料金計算機・入力3つ・無料
キャッシュが効かない・効きにくいケース
都合のいい話だけ書くのは不誠実なので、効かない条件を先に挙げます。
- 前置きが共通していない構成。キャッシュはリクエストの先頭から一致している部分にしか効きません。ユーザーの入力を先頭に置く実装では、後ろにどれだけ共通の文書があってもヒットしません
- 共通部分が短い場合。キャッシュの対象になる最小トークン数はモデルごとに決まっており、短いシステムプロンプトだけでは対象外になることがあります。条件は提供元の公式ドキュメントで確認してください
- 呼び出しの間隔が空く場合。キャッシュには保持時間があり、Anthropicの料金表には5分と1時間の2種類が載っています。1日に数回しか叩かないバッチでは、毎回書き込みからやり直しになります
- 出力が支配的な用途。記事生成やコード生成のように出力が長い場合、入力側をいくら削っても効きません。出力単価は入力単価の5〜8倍なので、この場合はモデル選択と出力上限の設定のほうが効きます
キャッシュより先にコンテキスト長を削るべき場合
キャッシュは「送る量はそのままで単価を下げる」手段です。これに対してコンテキスト長を削るのは「送る量そのものを減らす」手段で、こちらが先に効く場面があります。
- まず請求の内訳を入力と出力に分ける:どちらが支配的かで打ち手が変わります。入力側が支配的ならキャッシュとコンテキスト長、出力側が支配的ならモデル選択と出力上限です。ここを見ずに対策を選ぶと外します
- 会話履歴の持ち方を見る:全履歴を毎回送っていないかを確認します。直近N往復だけを渡す、要約して圧縮するといった変更は、キャッシュを入れるより実装が軽く済むことがあります
- RAGで渡すチャンク数を見直す:上位10件を渡していたものを3件に減らしても回答品質が落ちないなら、入力トークンはそのまま3割になります。単価を10分の1にするより、量を3分の1にするほうが手っ取り早いケースです
- そのうえでキャッシュを設計する:共通の前置きを先頭にまとめ、変わる部分を後ろに置く構成に直します。この順番で並べ替えて初めてキャッシュが効きます
参考までに、当サイトの計算機のRAG検索応答プリセットは初期値としてヒット率50%を置いています。この状態での月額はClaude Sonnet 5で13,748円/月です。0%と90%の中間にあたる、現実的によくある水準として置いた値です。
最適セレクトの管理人の判断(料金以外は意見です)
私の考えでは、請求が想定より高いときに最初にやるべきはモデルの乗り換えではありません。入力と出力のどちらが支配的かを見て、入力側ならコンテキスト長の削減とキャッシュの順で手を入れるほうが、品質の再検証をしなくて済む分だけ安全です。モデルを下げると、リトライや人の手直しという請求書に出てこないコストが増えることがあります。逆に、出力側が支配的なワークロードでこの記事のキャッシュの話を適用しても、ほとんど効きません。まず内訳を見る、という順序自体が一番効く判断だと思っています。
入力と出力のどちらが支配的かは、リクエスト数と長さを入れれば計算機の内訳で確認できます。モデルを入れ替えたときの差額も同じ画面で出ます。
入力と出力の内訳を確認するLLM API料金計算機・入力3つ・無料
まとめ
- 出力単価は入力単価の5〜8倍だが、入力は毎回全部送り直されるため、請求では入力側が支配的になりやすい
- プロンプトキャッシュの読み取り単価は通常の入力単価の10分の1。ただし書き込みには追加料金(Anthropicは1.25〜2倍、Googleはストレージ料金)がかかる
- RAG検索応答の想定では、ヒット率0%→90%でClaude Sonnet 5の月額が約57%下がる
- 共通の前置きが先頭にない構成、呼び出し間隔が空くバッチ、出力が支配的な用途ではキャッシュは効かない
- 打ち手を選ぶ前に、請求を入力と出力に分けて内訳を見る。順序を間違えると効かない対策に工数を使う
出典
- Anthropic (Claude) 料金(公式)確認 2026-08-06
- OpenAI (GPT) 料金(公式)確認 2026-08-06
- Google (Gemini) 料金(公式)確認 2026-08-06