問い合わせ1件のトークン数を数えました。文書を渡さないと入力84・出力46で、出力が35.4%を占めます。
文書を10件渡すと入力352・出力46になり、出力の割合は11.6%まで下がります。増えているのは入力だけです。
問い合わせ1件のトークン数を実際に数えました。渡す文書を増やすと、入力だけが増えます。
コスト監視で見るべき場所を確かめるため、実際に数えました。指示・問い・渡す文書・返ってきた答えを分けてトークン数を出しています。
数えたのは実物です。実際に使われている符号化の仕組みを入れて、そのまま数えました。渡す文書の件数だけを変えています。
for k in [0, 1, 3, 5, 10]:
ctx = count(''.join(DOCS[:k]))
inp = sys_t + q_t + ctx
rows.append((k, ctx, inp, ans_t, inp + ans_t))
渡す件数 指示 問い 文脈 入力の合計 出力 1件の合計
0件 70 14 0 84 46 130
1件 70 14 30 114 46 160
3件 70 14 85 169 46 215
5件 70 14 134 218 46 264
10件 70 14 268 352 46 398
渡す件数 入力の割合 出力の割合
0件 64.6% 35.4%
1件 71.2% 28.7%
3件 78.6% 21.4%
5件 82.6% 17.4%
10件 88.4% 11.6%
上の表を見てください。出力はどの行でも46トークンです。増えているのは入力だけです。
文書を渡さない場合、出力は全体の35.4%を占めます。3件に1件以上が出力ぶんです。
10件渡すと11.6%まで下がります。出力を短くする工夫が効きにくい構成になっています。
渡す件数 月間の入力 月間の出力 月額 0件との差
0件 3,696,000 2,024,000 41.45ドル +0.00ドル
1件 5,016,000 2,024,000 45.41ドル +3.96ドル
3件 7,436,000 2,024,000 52.67ドル +11.22ドル
5件 9,592,000 2,024,000 59.14ドル +17.69ドル
10件 15,488,000 2,024,000 76.82ドル +35.38ドル
文書を10件渡すと、月額は41.45ドルから76.82ドルになりました。1.85倍です。
増えたぶんはすべて入力です。出力の月間トークンは2,024,000のまま動きません。
文書を増やすと入力だけが伸びる。出力は動かない。
Track token consumption to identify optimization opportunities原文Anthropic ドキュメント「Pricing」 この内容の有効期限2027-02-18
合計額ではなく、入力と出力に分けて見ます。どちらが多いかで、打つ手がまったく変わります。
コスト監視は、呼び出しの費用を分解して把握する取り組みです。合計額だけを見ても打つ手が決まりません。
4番目が分かれ目です。合計が倍になったとき、件数が倍なのか1件が倍なのかで対処が変わります。
多くの提供元で、出力のほうが単価が高く設定されています。前の節で使った値も、出力が入力の5倍です。
ただし前の節のとおり、量では入力が88.4%を占めます。単価と量の両方を見ないと、どちらが効くか決まりません。
前の節の表で、指示はどの行でも70トークンでした。毎回同じ内容を送っています。
Anthropicのドキュメントも、同じ大きな指示・文書・会話の履歴を毎回処理し直す代わりに、通常の入力価格の一部で読み出す仕組みがあると説明しています。
トークン数は実測ですが、単価と件数は置いた値です。金額そのものではなく、渡す件数を変えたときにどこが増えるかという関係を見てください。トークンの数え方そのものはトークン使用量追跡の記事で扱っています。
Instead of reprocessing the same large system prompt, document, or conversation history on every request, the API reads from cache at a fraction of the standard input price.原文Anthropic ドキュメント「Pricing」 この内容の有効期限2027-02-18
入力が大半を占めるので、まず入力から手を付けます。使い回しと、急がない処理のまとめ方が効きます。
コスト監視で内訳が見えたら、多いほうから手を付けます。前の節では入力が88.4%を占めていました。
4番目を先にやりがちですが、出力は全体の11.6%です。半分にしても全体では6%ほどしか減りません。
使い回す仕組みには、最初に置くときの費用がかかります。何回読み出せば元が取れるかが決まっています。
Anthropicは、読み出しは通常の入力価格の10%であり、5分の保持なら1回、1時間の保持なら2回の読み出しで元が取れるとしています。
すぐ返す必要のない処理は、別の経路に回せます。大量の要求を非同期で処理し、入力と出力の両方で50%の割引が適用されると案内されています。
夜間の一括処理や、集計の下ごしらえが向きます。利用者が待っていない処理を仕分けるところから始めてください。まとめ方そのものはバッチ処理の記事で扱っています。
多いほうから手を付ける。出力は後回しでよい。
The Batch API allows asynchronous processing of large volumes of requests with a 50% discount on both input and output tokens.原文Anthropic ドキュメント「Pricing」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る