NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

Claude公式から学ぶトークン消費節約術

はじめに

株式会社ネクストスケープ Chief Technology Office所属の小野塚です。

今回はClaudeCode公式サイトからClaudeCodeにおけるトークン消費を抑える方法をまとめてみます。

/clearコマンド

/clear、/compact、/usage及び/contextといったコマンドがトークン消費に関係しており、まずは/clearコマンドについて説明します。

Claude Code は会話を続けるほど、過去のやり取り全部を「思い出す」ためにコンテキストに積み上げていきます。
コンテキストというのはこちらからチャットで依頼した内容だけでなく、読み込んだファイル、実行したコマンドの出力、Claudeの返答、全部になります。
それはそうだろうという話なのですが、ここで問題なのは、次のメッセージを送るたびに、その積み上がった過去全部が再送信されるという点です。
例えば朝にAの調査をして、昼にまったく別のBのデバッグを始めた。。という状況でそのまま続けていると、Bの作業中も「Aで読み込ませたファイル全文」がずっとコンテキストに居座って、毎ターン課金されます。
これを防ぐのが /clearコマンドで、話題が変わるタイミングで会話履歴をまっさらにするコマンドになります。
ただ、元のセッションに戻りたいかもしれない場合、/clearの前に/renameでセッションに名前を付けておくと後から/resumeでそのセッションの名前を辿って戻れます。
1.Aの作業中
2./rename で「session_a」という名前を付ける
3./clear でコンテキストを空にしてBの作業へ
4.Bの作業
5.Aに戻りたくなったら /resumeでsession_aを選んで復帰
という流れです。しおりのようなイメージですね。

/compactコマンド

これはもしかすると普段の作業でClaudeCodeが勝手に(というと表現がよろしくないですが)行っているのを見たことがある人がいるかもしれません。
これはその名の通り、過去のやり取りを要約してくれるものです。
ただ、Claude Codeにお任せしてしまうと何を残して何を捨てるのかはClaude Codeが勝手に決めてしまうため、大事なことを捨てられてしまうと困ります。
残してほしいものがある場合は/compactコマンドに引数を付けて手動で実行できるというのがポイントになります。

例えば

/compact チケットxxxで実際に動いた設定値とビルド手順を優先して残して
と依頼すれば引数に渡した内容を残して圧縮できます。
あとはCLAUDE.mdに書くパターンがありまして、毎回上記のように残してほしいものを書くのは面倒だと思います。
その場合はCLAUDE.mdに

ーーー

# Compact instructions

要約するときは、実行したコマンドとその結果、コードの変更内容を優先して残してください。途中の議論や試行錯誤は省いて構いません。

ーーー

と書いておくと、自動で/compactが走る際も上記の指示に従って要約してくれます。

/usageコマンド

このコマンドはトークン節約とはちょっと話がずれますが、/usageで現在のトークン使用状況を確認したり、ステータスラインに常に表示しておくこともできますので都度確認するようにすることをお勧めします。

適切なモデルの選択

(2026年5月30日時点の話です)Sonnet はほとんどのコーディング タスクを適切に処理し、Opus よりもコストが低くなるそうです。
ただ、複雑なアーキテクチャ上の決定や複数ステップの推論には Opus を使用したほうがよいらしいです。
また、単純なサブエージェント タスクの場合はhaikuがおすすめとのこと。
まとめると

・基本は Sonnet で進める
・詰まったとき・設計判断が必要なとき だけ /model で Opus に切り替え
・サブエージェント には Haiku を割り当てるとさらに節約
・セッション全体を Opus で回すのは、本当に難しい問題のときだけ

という感じです。
とはいえいちいち切り替えるのは。。という場合は「Sonnetで一回やらせてみて、ダメだったらOpusに上げる」という運用が、単純かつコストと品質のバランス的にはちょうどいいと思います。

MCPサーバーのオーバーヘッドを削減する

そもそもMCP(Model Context Protocol)サーバーは、Claude を外部サービスと繋ぐ仕組みです。たとえば「GitHub MCP サーバー」を繋げば、Claude が GitHub の Issue を読んだり PR を作ったりできるようになります。

以前はMCP サーバーを繋ぐと、そのサーバーが提供する全ツールの「使い方の説明書」がコンテキストに含まれてしまって無駄な消費が行われていたのですが、今回公式のドキュメントを改めて見るとツール名だけがコンテキストに入って、実際にそのツールを使う段になって初めて詳しい内容が読み込まれるようです。とはいえ「ツール名の一覧」自体もタダではなく、繋ぐサーバーが多すぎるとそのリストだけでもそれなりのトークンを食います。

ですので接続したけど使っていないMCPサーバーがありましたら削除・無効にしておくことをお勧めします。

/contextコマンド

ここで/contextコマンドの出番なのですが、これを使うことで何にどれだけトークンが消費されているかがわかります。

言い方がよろしくないかもしれませんが、「犯人」が特定できますので是非一度試してみてください。

画像

画像


CLIツールを使う

MCPを避ける、/contextで消費量を調べる、と続いた後に出てくるのがこのCLIの活用になります。

たとえば GitHub を操作したいとき、選択肢は2つあります。

選択肢A:GitHub MCP サーバーを繋ぐ
→ ツール一覧(タイトルリスト)がコンテキストに乗る。使うたびに該当ツールの説明書も読み込まれる。

選択肢B:gh コマンド(GitHub CLI)を使う
→ Claude Code はそもそも Bash を叩けるので、gh issue list とか gh pr create とか普通のコマンドとして実行できる。何もコンテキストに事前ロードされない。

MCPを避けるというのとはちょっと違いますが、個人的にはGitの操作はClaudeCodeに任せるのは怖いということもあり、自分で実行していたのですが、これも結果的にトークンの節約につながっていたようです。
つまりは「MCP は便利だけど、CLI で済むなら CLI のほうがコンテキストに優しい」というお話になります。

MCPに限らず「自分でやっても手間が変わらない」、「大変ではない」というものは自分で対応することをお勧めします。

CLAUDE.mdからスキルへの移行

CLAUDE.mdファイルは、セッション開始時にコンテキストに読み込まれます。
特定のワークフロー(PR レビュー等)に関する詳細な手順が含まれている場合、関係ない作業を行っている時もCLAUDE.mdが読み込まれるのでやはりこれも無駄なトークン消費につながります。

例えばその中でスキルに任される作業があればスキルを作成・利用した方が良いといったことが書かれています。

スキルは呼び出されたときにのみオンデマンドで読み込まれるため、専門的な手順をスキルに移動することで、ベースコンテキストを小さく保つことができます。

CLAUDE.mdには必要最低限​​の情報のみを含めることで、200 行以内に収めるのが良いとのこと。

プロンプトを具体的に書く + Plan Mode

これは「Claudeに無駄な探索をさせない」という話です。
Claudeは指示が曖昧だと「何を求められてるかを確認するため、とりあえずコードベース全体を見渡そう」となります。

例えば「このコードベースを改善して」といった曖昧な指示を出した場合に
→ Claudeはどこを改善すべきか不明
→ 「まずファイル構成を把握しないと」
→ 主要ファイルの読み込み
→ 関係ないファイル読んで、3万トークン消費(トークンの数は適当です)
→ それでも何をすべきかわからず、曖昧な提案におわり、結局具体的な指示を出す

ということになってしまうため、もっと具体的に
「auth.cpp の login 関数に入力バリデーションを追加して。
メールアドレス形式チェックとパスワード長10文字以上の確認を行う」
という指示をすれば
→ Claude: auth.cpp を1ファイル読む
→ 該当関数を編集
→ 800トークンで完了(「上よりは少ないトークンで完了」の意味です)

つまりは「探させない、迷わせない」のがポイントになります。
Plan Mode は 「いきなりコード書かないで、まず計画書を見せて」というモードですが、なぜこれがトークン節約になるかというと、皆さんも経験があるかもしれませんが、間違った方向に実装が走ったあとのやり直しが一番高くつくからです。

大量のデータ読み込みを避ける

例えば自分の作ったシステムにおいてエラーログをそのまま渡してしまうと楽ではあるのですが、エラーログが大量にあると大量のトークン消費へと繋がります。

そこで例えばエラーログのフォーマットを共有し、エラーを含む特定の情報を抜き出すpythonを書いてもらい、その出力結果をClaudeCodeに共有することで消費を抑えることができます。
これはログの中にClaudeに渡したくない情報がある場合にも有効です。

終わりに

上で紹介したトークン節約方法は他のAIツールでも流用できることがあると思います。

この記事を見た方でトークンの消費が気になる方は是非これを機に使い方を見直してみてはいかがでしょうか

当社ネクストスケープはこのように生成AIをはじめとした新しい技術・知識を日々取り入れており、Webサイト、スマホアプリ、Hololensアプリの開発をはじめ、CMSを利用したサイトの新規構築やリニューアルなど、お客様のニーズに幅広く対応いたします。お困りのことがございましたら、いつでもお気軽にお問い合わせください。

nextscape.net

(以下当社お問合せフォーム)

Microsoft Forms

当社では一緒に働いてくれる仲間を募集しています。是非以下のサイトよりお申込みください。

recruit.nextscape.net