【要約】Claude Code の利用ログを SQLite に取り込んで API 換算したら302万円だった [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がClaude Codeの利用コストを把握しようとする際、サブスクリプション内での実態が見えにくい課題がある。筆者はログを解析してコストを可視化したが、以下の問題に直面した。
- ・新モデルの単価が未定義だと「0円」として処理され、総額の33%を見落とす実害が出た。
- ・モデル名の部分一致によるフォールバックが、誤った単価適用を招いた。
- ・「不明」と「無料」が区別できず、エラーなく計算が狂う設計上の欠陥があった。
// Approach
筆者は、集計の正確性を担保するために、未知のモデルを「0」として扱う既存のロジックを修正した。具体的には以下の手法を採用した。
- ・単価未定義のモデルを「None」として扱い、実行時に警告を表示する仕組みを導入した。
- ・未知のモデルを検知するための
unknownセットを実装し、集計の不完全さを明示的に示した。 - ・部分一致によるフォールバックを避け、あるいはフォールバックした事実を呼び出し側に通知する設計への変更を検討した。
// Result
集計ロジックの改善により、静かな計算ミスを「目に見える警告」へと変えることに成功した。
- ・総額302万円に対し、未定義モデルによる33%の過少計上を検知可能にした。
- ・キャッシュ読み出しがコストの66.5%を占めるという、プロンプト節約よりもコンテキスト管理が重要である知見を得た。
- ・会話が長引くほど1ターンのコストが2.6倍に増大する傾向を定量的に示した。
Senior Engineer Insight
> LLMのコスト管理において、単価表の更新遅延は致命的なリスクである。「不明」を「0」と同一視する設計は、監視システムにおいて最も避けるべきアンチパターンだ。また、キャッシュの挙動がコスト構造を劇的に変えるため、単なる入力トークン数ではなく、キャッシュの利用効率をKPIに置くべきである。