Wattage:AIエージェントのToken浪費をCIで検知するプロファイラ
導入
AIエージェントのコスト増は、単に高価なモデルを使っているから起きるとは限りません。実際には、同じコンテキストを何度も送る、検索を繰り返しても有効な結果が得られない、同じツールを重複して呼ぶ、簡単な処理に過剰なreasoning tokenを使う、といった実装上の細部に潜んでいます。
Wattageは、そうした問題を可視化するための「AIエージェント向け電力計」のようなツールです。OpenTelemetry GenAIのセマンティック規約に基づくOTLP JSONトレースを読み取り、各呼び出しのtoken消費を分類し、価格に換算し、無駄のパターンと修正案を提示します。基本的な利用では設定ファイルもAPIキーも不要で、完全にオフラインで動作します。
主なポイント
- トレースから消費を分解:
wattage report trace.jsonにより、入力、出力、キャッシュ読み取り、キャッシュ作成、reasoningなどのカテゴリ別にtokenを集計します。 - 実コストで表示:同梱された日付付きの価格スナップショットを使って呼び出しを評価します。価格不明のモデルについては推測せず、CIでは明示的に失敗させます。
- 8種類の検出器:安定したプロンプト接頭辞の再送、キャッシュ利用不足、冗長な出力、重複ツール呼び出し、非収束、検索の空回り、モデルミスマッチ、reasoningの過剰消費を扱います。
- CIでのコスト回帰防止:
wattage ciは、スコア低下、コスト増加、重大な検出結果に応じてビルドを失敗させ、PRコメント、SARIF、JUnit XMLを出力できます。 - スコアとバッジ:0〜100のToken Efficiencyグレードを生成し、READMEや継続的なレビューに利用できます。
特に注目されるのが、非収束を検出するconvergence engineです。これは、タイムスタンプだけが変わるリトライ、2つの戦略を行き来する振る舞い、各呼び出しは一意でも実質的な進展がない停滞など、単純な完全一致では捉えにくいループを検出することを狙っています。
プロジェクトは、手作業でラベル付けした10個の合成ループを用いたベンチマークを公開しています。その結果ではWattageのPrecision、Recall、F1はいずれも1.00でした。一方、SHA-256による完全一致ベースラインはPrecisionこそ1.00ですが、Recallは0.14、F1は0.25にとどまります。これは、エージェントの失敗パターンが単純な重複検出だけでは扱いにくいことを示しています。
また、実際に取得されたAgentトレースの例では、安定したプロンプト接頭辞にキャッシュを有効化するシミュレーションにより、コストが0.000199ドルから0.000110ドルへ、44.7%下がると示されています。3ターンのデモなので金額は小さいものの、本番環境で同じ構造が繰り返されれば影響は大きくなります。
意義と影響
エージェントが開発支援、社内自動化、検索拡張型ワークフロー、サポート業務に組み込まれるほど、tokenコストはソフトウェア品質の一部になります。機能テストに通っていても、プロンプトやオーケストレーションの変更でコストが増える可能性があります。Wattageは、その変化をマージ前に検出する仕組みを提供します。
同時に、品質への配慮も組み込まれています。モデルのダウングレードやreasoning削減のように出力品質へ影響し得る修正は、quality mapによる根拠がある場合にのみスコアへ反映されます。単に安くするのではなく、品質リスクを明示したうえで最適化する設計です。
Wattageは、すでにトレースを持つチームや、OpenTelemetryによる計測を導入しようとするAgent開発者に向いています。業務品質の評価を置き換えるものではありませんが、token浪費を再現可能で監査しやすいエンジニアリング指標に変える点で有用です。
出典:Hacker News
コメント
ログイン状態を確認中…
コメントを読み込み中…