| name | cost-aware-llm-pipeline |
| description | Cost optimization patterns for LLM API usage — model routing by task complexity, budget tracking, retry logic, and prompt caching. |
| origin | ECC |
Cost-Aware LLM Pipeline
品質を維持しながら LLM API コストを制御するためのパターンです。モデルルーティング、予算追跡、リトライロジック、プロンプトキャッシングを組み合わせ可能なパイプラインにまとめます。
起動条件
- LLM API(Claude、GPT など)を呼び出すアプリケーションを構築する場合
- 複雑さが異なるアイテムのバッチを処理する場合
- API 支出の予算内に収める必要がある場合
- 複雑なタスクの品質を犠牲にせずにコストを最適化する場合
コアコンセプト
1. タスクの複雑さによるモデルルーティング
シンプルなタスクには安価なモデルを自動選択し、複雑なタスクには高価なモデルを確保します。
MODEL_SONNET = "claude-sonnet-4-6"
MODEL_HAIKU = "claude-haiku-4-5-20251001"
_SONNET_TEXT_THRESHOLD = 10_000
_SONNET_ITEM_THRESHOLD = 30
def select_model(
text_length: int,
item_count: int,
force_model: str | None = None,
) -> str:
"""Select model based on task complexity."""
if force_model is not None:
force_model
text_length >= _SONNET_TEXT_THRESHOLD item_count >= _SONNET_ITEM_THRESHOLD:
MODEL_SONNET
MODEL_HAIKU