← レッスンに戻る
第9章 · ベストプラクティス

コスト最適化

Cost Optimization · 約 12 分

重要キーワード

English日本語説明
Routing ルーティング 簡単/難しいでモデルを使い分ける
Quota クォータ ユーザーごとの利用上限
Output Compression 出力圧縮 不要な前置きを省いて応答を短くする工夫

コスト最適化

LLM 運用は意外とコストがかさみます。以下のレバーを意識しましょう。

1. モデル選択 (Routing)

簡単なタスクは Haiku, ほどほどは Sonnet, 難しいときだけ Opus

2 段階ルーティング

wzxhzdk:0

2. Prompt Caching

固定的な system / RAG コンテキストはキャッシュ。 ヒット率 60-80% を目標に (第4章参照)。

3. Output 削減

4. Batch API

リアルタイム不要な処理は Batch で 50% 引き。

5. 入力削減

6. キャッシング (アプリレベル)

7. ガードレール

8. 監視と継続改善

コスト計算ツール

Anthropic 価格ページ で モデル別の token 単価を確認できます。 ざっくり計算式:

wzxhzdk:1

典型的な節約パターン

施策 削減幅
Sonnet → Haiku への切替 60-80%
Prompt Caching (高ヒット率) 50-90%
Batch API 50%
出力圧縮 (前置き除去 + max_tokens 短縮) 10-30%
RAG Top-K 削減 (10→3) 20-50%

組み合わせれば 元コストの 5-10% まで圧縮可能。

Anti-pattern

❌ 何でも Opus を使う ❌ システム入力をキャッシュしない ❌ 出力に max_tokens を設定しない ❌ ユーザー間で無制限に呼び出させる ❌ 監視せずデプロイ

試す

コスト改善の提案を Claude に。

▶ コスト診断
私たちのチャットボットは Claude Sonnet で月 $5,000 かかっています。ユーザーは 1 日 1 万人、平均 5 ターン会話、system プロンプト 5,000 字、ユーザー入力 100 字、応答 200 字程度。コスト削減アイデアを 5 つ優先度順に。

演習問題

演習 1: コスト推定スクリプト

リクエスト 1 件のトークン消費を見積もって月間コストを算出するスクリプトを書いてください。

入力: - system 文字数, 平均 user 文字数, 平均 assistant 文字数 - 1 日のリクエスト数 - モデル選択 (haiku/sonnet/opus) - prompt cache のヒット率

出力: 月間コスト (USD) と内訳。

スタータープロンプト:
Python で簡単なコスト推定スクリプトを書いてください。引数:
--model {haiku|sonnet|opus}
--system-chars 5000
--user-chars 100
--assistant-chars 200
--rps 1.0
--cache-hit-rate 0.7
1 文字を 1.5 トークンと仮定。haiku/sonnet/opus の単価は適当に仮置き ($/Mtok 単位で表に書く)。月間コストを内訳付きで出力。
ヒントを見る

exit 2 のとき stderr に書いた文言が Claude に渡るので、ブロック理由をきちんと出力すること。jq が必要です。

理解度チェック

  1. 簡単なタスクで最初に試すべきモデルは?
    1. Opus
    2. Sonnet
    3. Haiku
    4. GPT-2
  2. Batch API の値引き率は?
    1. 10%
    2. 30%
    3. 50%
    4. 90%
  3. コスト削減レバーでないのは?
    1. Prompt caching
    2. 出力サイズ縮小
    3. GPU 温度を下げる
    4. モデルダウンサイジング
  4. ルーティングで「難易度判定」に最適なモデルは?
    1. Opus
    2. Sonnet
    3. Haiku
    4. GPT-4
解答と解説を見る
  1. C — 簡単な分類・抽出は Haiku で十分なことが多いです。
  2. C — Batch は通常料金の 50% オフです。
  3. C — GPU 温度はユーザー側のコストに無関係です。
  4. C — 判定は短く高頻度なので Haiku が最適。