本文へスキップ

LLMコスト分析

コスト分析はLLM API使用コストを多角的に分析するメニューです。コスト状況の把握、モデル別コスト比較、性能対比コスト効率分析、コスト最適化対象の選定に活用できます。

画面は上から下へサマリー → 推移・詳細 → キャッシュ・性能効率 → テーブルの順で構成されており、現状把握から最適化対象の選定まで自然に進められます。

上部オプションバーで時間範囲、フィルター、検索条件を設定してウィジェットデータを照会します。サマリーカードで比較期間(直前同一期間または前週同一期間)を選択でき、チャートドラッグで区間を絞り込めます。

コスト分析

サマリーカード

選択した時間範囲の主要指標を一目で確認できるカードです。

合計コスト

選択した時間範囲内で発生した合計コスト($)を表示します。InputコストとOutputコストを合算した金額です。

  • コスト分析の出発点として、全体のコスト規模を一目で把握できます。
  • コスト変動と合わせて確認すると、前期間と比べてコストがどのように変化したかを確認できます。

コスト変動

前期間比のコスト変動率(%)と変動金額($)を表示します。

  • プラス(▲ 赤): コストが増加しました。リクエスト量の増加、高額モデルの使用比率の増加、プロンプトサイズの変化などを確認してください。
  • マイナス(▼ 青): コストが減少しました。最適化効果やトラフィック減少を意味する場合があります。

合計トークン

選択した時間範囲内で使用された合計トークン数(Input + Output)を表示します。

  • 合計コストと合わせて確認すると、コスト増加がトークン使用量によるものか、高額モデルの使用によるものかを区別できます。
  • トークンが増加してもコストが同程度であれば、低価格モデルへの移行がうまく進んでいることを意味します。
  • クリックするとトークン推移ページに移動します。

トークン変動

前期間比のトークン使用量変動率(%)と変動数を表示します。

  • コスト変動と比較すると、コスト変動の原因を把握できます。
  • トークン変動率 > コスト変動率: 低価格モデルの比率が増加したことを意味します。
  • トークン変動率 < コスト変動率: 高額モデルの比率が増加したことを意味します。
  • クリックすると比較期間範囲でトークン推移ページに移動します。

コスト推移

PropertyValue
チャートタイプバーチャート(リクエスト数)+ ラインチャート(コスト、リクエスト当たりコスト)複合
フィルタータグフィルター
アクション個別表示、マージ表示、詳細表示

時間帯別のリクエスト数、コスト、リクエスト当たりコストの推移を表示します。バーチャートはリクエスト数、ラインはコスト($)とリクエスト当たりコスト($)です。

  • リクエスト数とコストが連動して動く場合、使用量に比例した正常なコスト増加です。
  • リクエスト数に変化がないのにコストだけ上昇する場合、リクエスト当たりコストが上がったことを意味します。高額モデルの比率増加やプロンプトサイズの変化を確認してください。
  • リクエスト当たりコストのラインが急騰した場合、モデル切り替えやプロバイダの価格変更が考えられます。

トークン詳細

PropertyValue
チャートタイプカードリスト(モデル別カード)
フィルターModel / Provider / Operation / Agent タブ切り替え
アクション詳細表示

タグ基準(Model、Provider、Operation、Agent)別にコスト、比率(%)、平均Latency、エラー率をカード形式で整理します。

各カードには以下の情報が表示されます。

PropertyDescription
モデル名/エージェント名タグ値
コスト該当グループの合計コスト($)
比率該当グループコスト / 全体コスト x 100(%)
平均Latency該当グループのLatency平均
エラー率該当グループのエラー件数 / 全体リクエスト件数 x 100(%)
キャッシュヒット率該当グループのcached_tokens / input_tokens x 100(%)
  • コストが高い項目が上部にソートされるため、コスト寄与度の大きいモデル/エージェントをすぐに確認できます。
  • エラー率が高い項目は、失敗したリクエストにもコストが発生しているため、エラーを削減するとコスト削減に直接的な効果があります。

キャッシュ節約コスト推移

PropertyValue
チャートタイプラインチャート($)
フィルタータグフィルター
アクション個別表示、マージ表示、詳細表示

プロンプトキャッシングにより節約された金額($)の時間帯別推移を表示します。キャッシュされたトークンは通常の入力トークンより低い単価が適用され、この差額が節約コストとして算出されます。

  • 節約コストが安定して発生していれば、キャッシング戦略が効果的に機能していることを意味します。
  • 節約コストが減少した場合、キャッシュヒット率の低下を確認してください。
  • 合計コスト対比の節約コスト比率で、キャッシングの全体コスト削減寄与度を把握できます。

性能対比コスト

PropertyValue
チャートタイプバブルチャート(x軸: 性能指標、y軸: リクエスト当たりコスト、バブルサイズ: リクエスト数)
フィルターModel / Provider / Operation / Agent タブ切り替え
アクション詳細表示、x軸指標選択

モデル/エージェント別の性能とコスト(リクエスト当たりコスト)の関係をバブルチャートで表示します。バブルサイズはリクエスト数を表し、点線で全体平均基準線が表示されます。

x軸選択可能な指標

指標説明
Avg Latency (ms)平均応答完了時間
Avg TTFT (ms)平均初回トークン受信時間
Avg TPOT (ms)平均トークン生成間隔
p95 Latency (ms)95パーセンタイル応答時間
p95 TTFT (ms)95パーセンタイル初回トークン時間
p95 TPOT (ms)95パーセンタイルトークン生成間隔

四分面の解釈

位置意味推奨アクション
左下(速くて安い)最もコスト効率が高い領域このモデルの使用比率を維持または拡大
右上(遅くて高い)コスト最適化が最も急がれる領域代替モデルの検討またはプロンプト最適化
左上(速いが高い)性能は良いがコストが高い該当の性能が本当に必要なワークロードか検討
右下(遅いが安い)コストは低いが性能が不足性能要件が低いワークロードに適合
  • バブルが大きい項目ほど全体コストに占める割合が大きいため、最適化の効果が大きくなります。

コスト詳細

PropertyValue
チャートタイプテーブル
フィルターModel / Provider / Operation / Agent タブ切り替え
アクション詳細表示、CSVダウンロード、カラム設定

タグ基準(Model、Provider、Operation、Agent)別にコスト関連の主要指標をテーブルで整理します。

ColumnDescription
Nameタグ値(モデル名、エージェント名など)
Requestsリクエスト件数
Input Tokens入力トークン数
Output Tokens出力トークン数
Total Tokens全体トークン数
Input Cost ($)入力コスト
Output Cost ($)出力コスト
Total Cost ($)全体コスト
Share (%)コスト占有率(該当グループコスト / 全体コスト)
Cost/Req ($)リクエスト当たりコスト
Avg Latency平均応答時間
Cache Hit (%)キャッシュヒット率
Cached Cost ($)キャッシュトークンコスト
Error Rate (%)エラー率
Error Cost ($)エラーにより発生したコスト
  • Total Cost ($)が高い項目を中心にコスト最適化対象を選定してください。
  • Cost/Req ($)が高い項目はリクエスト当たりのコストが高いモデルのため、代替モデルの検討やプロンプト最適化を検討してください。
  • Error Rate (%)が高い項目は失敗したリクエストにもコストが発生しているため、エラー原因を解決するとコスト削減に直接的な効果があります。
  • Error Cost ($)でエラーにより無駄になった金額を正確に確認できます。
  • 右上のダウンロードボタンで現在のデータをCSVにエクスポートできます。
  • カラム設定で表示するカラムを選択できます。

参考

比較期間の計算方式

比較モード計算
直前同一期間現在の照会期間と同じ長さだけ前の時点のデータと比較します。例: 本日09:00 ~ 12:00照会時、06:00 ~ 09:00と比較
前週同一期間現在の照会期間からちょうど7日前の同じ時間帯のデータと比較します。例: 4/6 09:00 ~ 12:00照会時、3/30 09:00 ~ 12:00と比較

モデル別トークン価格のユーザー設定

モデル別のトークン料率を直接指定します。指定した値はエージェントの自動算出(genai-pricesパッケージ)より優先して適用されるため、セルフホスティング・ファインチューニング・プロキシ経由のモデルのように公開料率表にないモデルのコストを算出したり、契約単価が定価と異なる場合に実際の単価へ補正したりできます。

whatap.conf
llm_model_pricing=model|input_per_1m|output_per_1m|cached_per_1m
# llm_model_pricing=gpt-4o|2.50|10.00|1.25,gpt-4o-mini|0.15|0.60|0.075,my-custom-model|1.00|5.00
  • モデル間の区切りはカンマ(,)、フィールド間の区切りはパイプ(|)を使用します。

  • 4番目のフィールドは省略(model|1.00|5.00)または空欄(model|1.00|5.00|)のどちらも可能です。

  • 設定の変更は即時反映され、再起動は不要です。