2026年9月7日 月曜日
AI時短ラボ
検証· 約13

コーディングエージェントの「なぜ高くつくのか」を見えるようにする Frugal Tokens

OSSツールFrugal Tokensは、OpenCode・Claude Code・PI・Codex・Cursorのセッションログをローカルで読み取り、トークン消費とキャッシュミスの影響を可視化するダッシュボード。作者は「自分のセッションがなぜこんなに高くつくのか気になって」自作したとHacker Newsで説明している。

コーディングエージェントの「なぜ高くつくのか」を見えるようにする Frugal Tokens
執筆・編集:
目次

3行まとめ

  1. Frugal Tokensは、OpenCode・Claude Code・PI・Codex・Cursorのローカルセッションログを読み取り、トークン消費・推定作業時間・重複セッション・モデル別の支出・キャッシュミスの影響を可視化するダッシュボード。
  2. セッションをクリックすると、個々のモデル呼び出しとツールの入出力を1件ずつ辿れる「エクスプローラー」画面と、キャッシュミスが起きた箇所へのジャンプ機能がある。GitHubのソースツリーを確認すると、claudeCodeImporter.tscodexImporter.tsopenCodeImporter.tspiImporter.tscursorAgentRepository.tsのように5ツールそれぞれに専用のインポーター実装があることが分かる
  3. Deno 2.9以上が必要で、deno task build && deno task startの1コマンドでローカルに起動する。作者は「自分のセッションがなぜこんなに高くつくのか気になった」ことがきっかけだとHacker Newsで説明している。同スレッドでは類似ツール「agentsview.io」「codeburn」を挙げるコメントもあった

開発のきっかけは「自分の請求額への疑問」

Hacker NewsのShow HN投稿で作者は次のように書いている。「自分のセッションがすべてでいくらかかっていて、キャッシュミスがその支出にどれだけ影響しているかを知りたくて作り始めた。人によって支出のプロファイルが大きく違うことに気づき、何がそれに影響しているのかをもっと理解したかった」。開発を進める中で、機能は単一セッションのコストだけでなく、すべてのセッションを横断した利用パターンの可視化に広がったという。

見られる内容

Show HNの投稿本文によれば、ダッシュボードで確認できるのは次の内容だ。

  • 全体の利用状況、推定作業時間、重複するセッション
  • モデル別・キャッシュミス別の支出の内訳
  • セッション単位の指標(パーセンタイル分布込み)
  • セッション一覧とそれぞれの概要情報

セッションをクリックすると、個々のモデル呼び出しとツールの入出力を辿れるエクスプローラーが開き、キャッシュミスが発生した箇所に直接ジャンプすることもできる。もう1つの機能として、記録されたセッションが「別のモデルの料金体系だったらいくらだったか」「Anthropicなら5分キャッシュと1時間キャッシュのどちらだったらいくらだったか」という粗い比較も表示される。

動かし方

GitHubリポジトリのREADMEによれば、必要なのはDeno 2.9以上のみ。導入手順は次の通り。

curl -fsSL https://deno.land/install.sh | sh   # Denoが未導入の場合
cp .env.example .env
deno task build && deno task start

起動後はhttp://localhost:9000を開く。.envでセッションログの場所やポート番号(PORT)を上書きできる。開発向けにはdeno task devでクライアント・サーバーの自動リロード付きのhttp://localhost:5273が使える。対応するセッションログの由来として、README冒頭には「OpenCode、Claude Code、PI、Codex、Cursorのセッションに対するローカルの読み取り専用ビュー」と明記されている。

公開されているデモサイト(demo.frugaltokens.com)は実データの一部をスクラブ(匿名化)した状態で見た目を確認できる、とShow HN投稿には書かれている。

GitHubリポジトリのsrc/serverディレクトリを開くと、機能ごとのファイル構成が確認できる。

ファイル名 対応する機能
claudeCodeImporter.ts / codexImporter.ts / openCodeImporter.ts / piImporter.ts / cursorAgentRepository.ts 5ツールそれぞれ専用のログ読み取り実装(codexFamilyImporter はテストファイル codexFamilyImporter.test.ts のみが存在し、同名の実装ファイルはリポジトリにない)
cacheMissPricing.ts / ttlMissAnalytics.ts キャッシュミスの発生箇所・支出への影響の分析
costScenario.ts 「別のモデル・別のキャッシュ体系だったらいくらか」という仮想シナリオ比較
workRhythm.ts 推定作業時間・作業パターンの分析
sessionRollups.ts / overviewAnalytics.ts セッション横断の集計・概要表示

(出典:GitHubリポジトリsrc/serverディレクトリの一覧)

ファイル名だけからの推測にとどまるが、5ツール分がそれぞれ独立したインポーター実装として存在している点は、READMEの記述(「5ツールへの読み取り専用ビュー」)が体裁だけでなく実装レベルで裏付けられていることを示している。

Hacker News上のコメントには、実際に使ってみた感想も並んでいる。

"I have started using this to inspect some of my heavier sessions and it has helped uncover some of the parts of my workflow and my project's build pipeline that were really slowing me down. I also had no idea how many cache misses were happening when I stepped away for an hour or more at times." (重いセッションを調べるのに使い始めたところ、ワークフローやビルドパイプラインのどこが本当に遅くしていたのかが分かった。1時間以上離席した際にどれだけキャッシュミスが起きていたかも、これまで知らなかった)——stephensilber氏

投稿にはHacker News上で37ポイントが付き、コメントは分岐込みで10件(2026年9月4日にHN Algolia APIで再確認)。作者自身(HN上のハンドルはdpc94)も「agentsview.io」を勧めるコメントに返信しており、「自分がこのツールを作る際に取ったアプローチの1つはキャッシュミスに焦点を当てることだった」としたうえで、さらに踏み込んだ具体例を明かしている。

"yeah i tried to do even deeper and classify the types of misses and their monetary cost. for example, I was using Fable at work, and a single TTL miss (responding an hour and half later), cost $6 for one message" (ミスの種類とその金銭的コストをさらに細かく分類しようとした。例えば仕事でFableを使っていたとき、1時間半後に応答したことによるTTLミス1件だけで、1メッセージ6ドルかかったことがあった)——dpc94氏(作者本人)

同じスレッドでは、thehazarika氏が「codeburn」を使っているが「支出額しか分からず、メッセージ数などその他の情報は分からない」とコメントし、gen220氏は「こうした独立に検証可能なデータポイントは、企業や個人が昨年トークン利用を野放しにしていた状態からROI測定に戻ろうとする中で今後重要になる」と評している。複数ツール横断のセッション可視化というニーズ自体は、Frugal Tokens以外にも複数の個人開発者が個別に取り組んでいる領域であることがうかがえる。

リポジトリの規模

GitHub APIで確認したリポジトリのメタデータは次の通り(2026年9月4日時点)。

項目
作成日 2026-07-10
直近のpush 2026-09-02
スター数 22
フォーク数 4
Open issues 6
主要言語 TypeScript
ライセンス 未設定(リポジトリにLICENSEファイルなし)

(出典:GitHub API repos/dpclark4/frugal-tokens

src/serverディレクトリをGitHub APIで直接一覧取得すると、ファイルサイズにも偏りが見える。最も大きいのは会話ログの書き込み処理を担うconversationWriteRepository.ts(78,492バイト)とconversationRepository.ts(71,798バイト)で、次いでcodexRepository.ts(45,440バイト)、claudeCodeRepository.ts(38,221バイト)が続く。ツールごとのインポーターより、取り込んだデータをどう保存・集計するかのリポジトリ層のほうがコード量が多い構成だ。また各実装ファイルにはほぼ例外なく対応する.test.tsが存在し、例えばclaudeCodeImporter.ts(13,464バイト)に対してclaudeCodeImporter.test.tsは30,910バイトと本体の倍以上のサイズがある。テストファイルの分量だけを見れば、パース処理の分岐(各ツールのログ形式の違い)をかなり細かく検証している作りだと推測できる。

ファイル名から構成は分かったが、パース処理のコード自体は読んでいない

GitHubリポジトリのsrc/serverディレクトリをAPI経由で一覧取得したことで、5ツール分の専用インポーターファイルが実在すること、ファイルサイズの内訳、リポジトリの作成日・スター数・フォーク数までは確認できた。一方、公式デモサイト(demo.frugaltokens.com)はJavaScript必須のSPAで本文を直接取得できなかった。また各インポーターファイル(claudeCodeImporter.tsなど)の中身、つまり実際のパース処理のロジックそのものは、ファイル名とサイズの一覧から存在と分量を確認しただけで、コード本体は今回読んでいない。実際にDenoをインストールしてセッションログを読み込ませ、ダッシュボードの画面を自分の手元で確認したわけでもない。

複数ツール横断のコスト可視化ダッシュボードはまだ紹介されていない

Zenn・Qiitaともに言及はゼロだった。AIコーディングツールの料金・トークン消費を扱う日本語記事は各社の公式料金表の解説が中心で、複数ツールを横断したセッションレベルのコスト可視化という切り口はまだ見当たらない。

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事