昨日書いた「メモリファイルを圧縮した話」の続きです。
あの時、原因を調べながらふと思いました。
「なんとなくトークンがギリギリになる」感覚はあったけど、実際に何にどれだけ使われてるのか、ちゃんと数字で見たことがなかったな、と。
/explain-usageスキルで自分のセッションを解析してみた
Claude Codeには標準で「/explain-usage」というスキルが用意されています。
使い方はシンプルです。Claude Codeのチャット欄にそのままスラッシュコマンドを打つだけです。
/explain-usage
これを使うと、今のセッションのトランスクリプト(やり取りの記録が入ったjsonlファイル)を自分で読み込んで、トークンの内訳を出してくれます。
自分の会話ログを、自分自身で解析する。ちょっと不思議な構造ですが、頼んでみて地味に面白いなと感じました。
簡易的な重み付けロジックで内訳を出す
中身は、cache_creation(新しく記憶する分)・cache_read(前回までのキャッシュを読み返す分)・output(実際の返答)、それぞれに重みをつけて集計する簡易的なロジックでした。
キャッシュ読み込みは実際のコストとしては軽い一方で、出力トークンは重い、といった単価の違いをならして「体感に近い重み」で計算し直す仕組みです。
結果、66%が「同じ会話の読み返し」だった
出てきた内訳を見て、正直びっくりしました。予想外の数字でした。
全体のうち66.4%が「これまでの会話を毎回読み返す」再読み込み分。
自分の返信やツール呼び出しが25.3%、システム指示のオーバーヘッドが6.2%、残りがファイル操作・Bashコマンド・ブラウザ操作・外部連携といった、実際の作業そのものにあたる部分でした。

つまり、実際に手を動かしてる部分は数%程度しかなくて、大半は「ここまでの話を思い出す」ことに使われていたわけです。
「なんとなく会話が長くなると重くなる気がする」という体感が、感覚論じゃなくちゃんと実データで裏付けられた瞬間でした。
セッションを区切る判断材料になる
これが分かったことで、地味に実務的な収穫もありました。数字は裏切りません。
「そろそろ会話が長くなってきたから、キリのいいところで区切ろう」という判断を、なんとなくの感覚じゃなくて、再読み込みコストが積み上がってきてるという実感込みでできるようになった気がします。
自分のセッションを自分で解析して可視化する、というのは思った以上に発見がありました。
感覚で「なんか重いな」と思ってたことを、実際に数字で確認してみるって、地味だけどやってよかったなと思います。
この記事が参考になったら、応援クリックをお願いします



