トークン、コンテキスト & 料金
API のコストと上限は、すべて**トークン**(単語の約 ¾)で測られます。正しく押さえるべきことが 3 つあります。
1. トークンを正しく数える
推測しないこと、そして別のモデルのトークナイザーを使わないこと(例: tiktoken) — トークン数はモデルファミリーごとに異なります。Anthropic のトークンカウントエンドポイント/SDK ヘルパーを使って、送信前にリクエストを計測しましょう。おおまかな計画上の目安: 約 750 語 ≈ 約 1,000 トークン。
2. max_tokens ≠ コンテキストウィンドウ
max_tokensは応答の長さに上限を設けます。出力が途中で切れる場合は、これを上げます。- コンテキストウィンドウは、入力 + 出力の合計予算です。大きな入力は、出力に使える余地を減らします。
max_tokens はタスクに必要な値に設定しましょう — 低すぎると切り詰められます。必要以上に高くてもコストは増えません(生成されたトークン分を支払うため)が、応答が冗長になりがちです。
3. コストを見積もる
請求は入力トークン + 出力トークンに対して、モデルごとの単価(Opus > Sonnet > Haiku)で行われます。簡単な見積もり:
cost ≈ (input_tokens × input_rate) + (output_tokens × output_rate)
最新の単価は公式の料金ページから取得してください — ここでは意図的にハードコードしていません。
コストを削減する(品質を落とさずに)
- モデルを適正サイズにする — Sonnet から始め、Opus は難しい部分のために取っておく(モデルの選び方)。
- プロンプトキャッシュ — 安定したプロンプトの先頭部分を呼び出し間で再利用する。
- 入力をトリミングする — 重要なコンテキストだけを送る(ここで RAG も役立ちます)。
- レイテンシーが問題にならないオフライン作業はバッチ処理する。
さらなる戦略はコストとレイテンシーのトレードオフで。