cost-optimizer について
LLMを使うDAG実行のコストを追跡し、予算に応じた判断を支援するスキルです。モデルのダウングレードや任意ノードのスキップ、停止を行い、部分結果も報告します。
主な機能
- 01実行中の支出追跡
- 02ノードごとのコスト推定
- 03実行予算の管理
- 04モデル階層のダウングレード
- 05任意ノードのスキップや停止
- 06コスト内訳のレポート
活用シーン
- 01DAG実行の予算設定
- 02実行コスト増加への対応
- 03高コストノードの特定
- 04実行後のコストと最適化案の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill cost-optimizerインストール後、Claude Code で/cost-optimizerを入力して読み込まれたか確認します。
同梱ファイル.claude-plugin/plugin.json
詳細
コストオプティマイザー
DAG の実行中に LLM の累積コストを追跡し、予算内に収めるため、モデルのダウングレード、任意ノードのスキップ、早期停止をリアルタイムで判断します。
使用する場面
✅ 次の場合に使用します:
- DAG の実行に対するコスト予算の設定と適用
- 実行中のリアルタイムなコスト監視
- 実行途中でモデルのティアをダウングレードするタイミングの判断
- 最もコストの高いノードと、その理由の特定
- 実行後のコスト分析と最適化の提案
❌ 次の場合は使用しません:
- ノードごとに使用するモデルの選択(
llm-routerを使用してください) - プロバイダーの料金比較(静的データであり、スキルではありません)
- 請求や請求書発行の機能
予算適用のプロセス
flowchart TD
N[Node about to execute] --> C[Check: spent + estimated_node_cost vs budget]
C --> S{Within budget?}
S -->|Yes, >20% remaining| E[Execute at planned model tier]
S -->|Yes, <20% remaining| W[Execute but downgrade to Tier 1 if possible]
S -->|No| D{Node optional?}
D -->|Yes| SK[Skip node]
D -->|No| H{Human gate available?}
H -->|Yes| A[Ask human: continue over budget?]
H -->|No| ST[Stop execution, return partial results]
予算のティア
| 残りの予算 | アクション |
|---|---|
| >50% | 計画したモデルのティアで実行します |
| 20-50% | 警告を記録します。計画したティアで続行します。 |
| 10-20% | 残りの Tier 2 ノードを Tier 1(Haiku)にダウングレードします |
| 5-10% | 残りのノードをすべて Tier 1 にダウングレードします。任意ノードをスキップします。 |
| <5% | 次のノードがクリティカルパス上にない限り、実行を停止します |
| 0% | 停止します。コストの内訳を添えて部分的な結果を返します。 |
ノードごとのコスト見積もり
各ノードの実行前に、コストを見積もります:
estimated_cost = (avg_input_tokens × input_price + avg_output_tokens × output_price)
このスキルとモデルの組み合わせに関する過去の平均値を使用します。履歴がない場合は、既定値を使用します:
- Tier 1(Haiku):入力約800 + 出力約400 = 約$0.001
- Tier 2(Sonnet):入力約2000 + 出力約1000 = 約$0.012
- Tier 3(Opus):入力約3000 + 出力約1500 = 約$0.16
実行後のレポート
cost_report:
total_budget: 0.50
total_spent: 0.37
budget_remaining: 0.13
nodes_executed: 8
nodes_skipped: 1
nodes_downgraded: 2
model_breakdown:
haiku: { calls: 4, cost: 0.004 }
sonnet: { calls: 3, cost: 0.036 }
opus: { calls: 1, cost: 0.33 }
savings_recommendations:
- "Node 'deep-analysis' used Opus ($0.33) but downstream accepted on first try. Try Sonnet next time — potential saving: $0.32"
- "Nodes 'validate-a' and 'validate-b' are sequential but independent. Parallelize to reduce wall-clock time."
アンチパターン
予算をまったく設定しない
誤り:API の請求が届くまで、コストを追跡せずに DAG を実行します。 正しい方法:余裕のある予算であっても、DAG の実行ごとに必ず予算を設定します。ノードごとの支出を追跡します。
過度なダウングレード
誤り:予算が50%残っている時点で Opus ノードを Haiku にダウングレードし、品質低下を招いて高コストの再試行を発生させます。 正しい方法:実行を停止する以外に選択肢がない場合にのみダウングレードします。再試行は元のモデルティアよりもコストがかかります。
再試行のコストを無視する
誤り:ノードごとに1回の試行だけを想定して予算を設定します。 正しい方法:avg_retries × cost_per_attempt で予算を設定します。Sonnet で3回再試行するノードのコストは$0.012ではなく$0.036です。
コメント
Markdown 対応