powered by TechFeed
表示モード
Deep Dive

Claude Codeのトークンはプロンプトより前に消えていた — 知らないと損するデフォルト設定4つの落とし穴

8月30日、Abhijith N Arjunanが「I checked my Claude Code usage and found four hidden token drains I never knew about」と題した記事を公開した。この記事では、Claude Codeのデフォルト設定が知らぬ間にトークンを消費している4つのパターンと、その対処法について詳しく紹介されている。

8月30日、Abhijith N Arjunanが「I checked my Claude Code usage and found four hidden token drains I never knew about」と題した記事を公開した。この記事では、Claude Codeのデフォルト設定が知らぬ間にトークンを消費している4つのパターンと、その対処法について詳しく紹介されている。


Claude Codeは、Anthropicが提供するターミナルベースのAIコーディングアシスタントだ。月額定額のサブスクリプション制で利用できる一方、各セッションには使用可能なコンテキストウィンドウ(トークン数)に上限があり、これを超えると会話の継続やタスクの完了が制限される。つまりトークンは「通貨」であり、いかに効率よく使うかが快適な利用体験を左右する。

特にヘビーユーザーにとって深刻なのが、自分のプロンプトとは無関係なトークン消費だ。デフォルト設定や有効化したままの機能が、最初のプロンプトを打つ前からコンテキストを埋め始めている。Claude Codeの仕組みに不慣れな段階では、こうした「見えないドレイン」に気づかないまま、セッション上限に繰り返しぶつかることになる。

まず現状把握には /contextコマンドが使える。セッション開始直後(プロンプト入力前)に実行することで、何がすでにコンテキストを占有しているかを確認できる。


最も見落とされやすい:CLAUDE.mdの無差別ロード

最もインパクトが大きく、多くのユーザーが気づいていないのがこれだ。

CLAUDE.mdはセッション開始と同時に、中身を問わず全内容がコンテキストに読み込まれる。 たとえばデプロイ手順をCLAUDE.mdに書いていたとしても、Webスクレイピングを依頼するセッションでも関係なく全量ロードされる。

CLAUDE.mdはClaude Codeにプロジェクトの文脈や指示を伝えるための設定ファイルであり、適切に活用すれば生産性を高める強力なツールだ。しかし記述が膨らむにつれ、タスクに無関係な情報がコンテキストを圧迫するようになる。

対策はCLAUDE.mdの棚卸しだ。プロジェクト固有のタスク指示が書き込まれているなら、それをスキルとして切り出すことを検討する。使うときだけ呼び出せる形にすることで、不要なコンテキスト消費を防げる。


接続したままのMCPサーバーが静かに動いている

MCPサーバーはClaude Codeの機能拡張に便利だが、インストールしたまま無効化を忘れると、使っていないサーバーがセッション起動のたびに自動接続する。 記事の著者は確認したところ、6台のサーバーが最初のプロンプト前から動作していたという。

MCPサーバーが起動するとそのメタ情報(利用可能なツール一覧など)がコンテキストに送信されるため、サーバー数が増えるほど起動時点での消費トークンが積み上がる。「必要なときに入れた」MCPが気づけば大量に残っている、というのはよくある状況だ。

確認・対処の手順は以下の通りだ:

  • /mcpコマンド:接続中のMCPサーバー一覧を表示して現状を把握する
  • 使っていないサーバーは自動接続を無効化する
  • settings.jsondisableClaudeAiConnectorstrue に設定すると、Claude AIコネクタの消費も抑制できる

定期的に棚卸しする習慣が重要である。


スケジュールタスクが不在中にも動き続ける

Claude Codeにはスケジュールタスク機能があり、プロンプトなしでタスクを自動実行できる。問題は、実行のたびにMCPサーバーやCLAUDE.mdなど前述の要素がすべてコンテキストに取り込まれることだ。タスク数と内容によっては、自分が何もしていない間に相当なトークンが消費される。

管理にはClaude Code上で「スケジュールタスクをすべて表示して」と尋ねるか、Claude Code WebのRoutinesタブをGUIで操作する方法がある。各タスクの実行タイミングと、追加ツールの呼び出しが必要かどうかを確認しておきたい。


スキル一覧も毎回送信されている

スキル機能も、セッション開始時に利用するかどうかに関わらず、インストール済みスキルの一覧と概要がClaudeへ送信される。1件あたりの消費量は少ないが、スキルが積み重なれば無視できなくなる。

/doctorコマンドでインストール済みスキルの利用状況を確認できる。見覚えのないスキルや長期間使っていないものは削除・無効化が望ましい。ただし著者も認めているように、スキル一覧がトークン消費全体に占める割合は小さい。セッション上限ギリギリで使っているユーザーが最後の一手として確認する程度の位置づけだ。


まとめ:まず/context/doctorを叩いてみる

これら4つの対策に「万人向けの正解」はない。MCPを複数使って作業効率を上げているなら無効化は本末転倒だし、スキルを大量に使うワークフローでは削除が逆効果になる。

ただ、**/context/doctor/mcpの3コマンドを実行するコストはゼロ**だ。数千トークンの節約でも、サブスクリプションを使い続ける限り長期的には効いてくる。まず現状を可視化するところから始めるのが現実的な第一歩だ。

詳細はI checked my Claude Code usage and found four hidden token drains I never knew aboutを参照していただきたい。