Skip to Content
デザインIssue #4479 トークン使用統計の調整

Issue #4479 トークン使用統計の調整

コンテキスト

Issue #4479 では、Qwen Code のトークン消費量の日次可視化が要求されています。イシュースレッドで スコープが明確化され、CLI コマンド、エクスポート機能、月次サマリー、モデル別トークン消費量が 優先されることになりました。メンテナーのコメントでは、隣接する統計作業との調整も求められています:

  • #4252:/stats 内の生成タイミングメトリクス(TTFT、生成時間、TPS など)。
  • #4182:メモリ診断用のコンテンツなしセッションスケールカウンター。

調整方針

  1. 新しいトップレベルコマンドではなく /stats を使用する。 トークン使用量は /stats daily/stats monthly/stats export として公開され、 セッション統計や将来の生成メトリクスと既存の統計コマンド体系を共有します。

  2. トークンカウンターをローカル JSONL として永続化する。 各 API レスポンスは、ランタイムディレクトリ配下の usage/token-usage-YYYY-MM.jsonl にコンテンツなしのレコードを1件追記します。 これにより、SQLite を新たな依存関係として追加せずに日次/月次の集計が可能になります。

  3. #4252 のタイミングセマンティクスは分離して保持する。 トークン使用サマリーには apiDurationMs が含まれる場合があります。これはテレメトリから取得した 既存のエンドツーエンド API レスポンス時間です。意図的に API 時間として命名されており、 生成時間、TTFT、TPS として提示してはなりません。 生成タイミングメトリクスの管理は引き続き #4252 が担当します。

  4. #4182 のプライバシーとメモリ診断の境界を維持する。 使用レコードには集計カウンターと安定したディメンションのみを格納します:ローカル日付、 月、セッション ID、モデル、認証タイプ、ソース、トークンカウンター、API 時間。 プロンプトテキスト、レスポンステキスト、ツールコンテンツ、プロジェクトパス、 プロンプト ID、レスポンス ID は格納しません。

  5. エクスポートは集計のみに限定する。 CSV および JSON エクスポートはサマリーであり、生のトランスクリプトエクスポートではありません。 合計、モデル、認証タイプ、モデル/認証タイプ、ソースでグループ化されます。

非目標

  • #4252 の TTFT/TPS/生成時間インストルメンテーションをここでは実装しない。
  • /doctor memory を拡張したり、この変更で #4182 を実装したりしない。
  • トークン使用量専用のトップレベルスラッシュコマンドを追加しない。
Last updated on