はじめに
Claude Codeを日常的に使っていると、気づけばトークンを大量に消費していることがありませんか?
ここ最近特段Opusを使っているときのトークンの使用量が一気に増えてしまったので備忘録がてら自分が実践しているトークン抑制方法を書いていこうと思います。
1. こまめにcompactする
セッションが長くなるほど、やり取りの履歴がコンテキストに蓄積され、1回のリクエストで扱うトークン量が増えていきます。
そこで、セッション内のトークン量を確認し、多くなってきたら /compact で会話を要約・圧縮しています。
「まだ使えるから」と放置せず、区切りのよいタイミングで早めに実行するのがポイントです。
/context を使うと、現在のコンテキストの使用状況を確認できます。compactするかどうかの判断材料になります。
2. 長いセッションは思い切って手放す
個人的に一番効果を感じているのがこの方法です。
計画書をmdで残す
何かタスクに取り組むときは、まず計画書をMarkdownで出力してもらい、作業の進捗や決定事項をそこに追記していきます。
docs/plan-xxx.md
├── 目的
├── 作業手順
├── 進捗状況
└── 決定事項・メモ
セッション中にやり取りした内容を議事録のようなものとしてメモに概要を残すことで余計なノイズを残さずにすむので、不要なトークンを保持する必要がなくなります。
セッションを解放して引き継ぐ
セッションが長くなってきたら、そのセッションは終了(/clear など)して、新しいセッションを始めます。新しいセッションの最初に計画書を読ませることで、必要な情報だけを引き継いだ状態で作業を再開できます。
この作業を行うことで以下のコスト削減・作業の正確性の向上を図っています。
- 不要な履歴を持ち越さないのでトークン消費を抑えられる
セッション情報にはやり取りしていく中で一回だと微々たるものですが、塵も積もればで回数を重ねていくにつれて不要な情報が増えていきます。そういった情報がノイズとなり、精度の低下につながるので一定のトークンが利用されているときはセッション自体を解放して別セッションで作業を実施するようにしています - 計画書が外部記憶として残る
セッション情報となるとClaude Codeの場合はローカルにデフォルトで30日間しか保持しないため、それ以降で見返す際に自分が何をしていたのか振り返りを出来るようにするため行っています - 作業の経緯が自分にとってのドキュメントにもなる
チャット上でのやり取りだとかなり可読性が落ちてしまい、読むのにも一苦労かかってしまうため、ドキュメント化することで可読性と正確性の向上を図っています
3. insightsで過去の使い方を振り返る
/insights を使うと、過去のセッションをもとに自分の利用傾向を確認できます。
- どんな作業にトークンを多く使っているか
- 同じような指示を何度も繰り返していないか
- もっと効率的に進められた作業はないか
このように、過去の使い方を見ながら改善点を考えています。
使い方の癖は自分では気づきにくいので、定期的に振り返るようにしています。
Claude Codeの/insightsは自身のローカルの履歴に基づき分析されるのでデフォルの場合は30日間分の使用状況を調査してくれます。ですので、月1程度で内容を確認してSkill化やHook処理の追加、整理などをすると良いみたいです。
まとめ
| 取り組み | 目的 |
|---|---|
| こまめなcompact | セッション内のトークン量を抑える |
| 長いセッションの解放 | 計画書で引き継ぎ、不要な履歴を捨てる |
| insights | 過去の使い方から改善点を見つける |
どれもすぐに始められると思うので、取り組んでいない方はClaude Codeの利用量が気になっている方は試してみてください。