広告

Claude Codeのトークン:それらは何か、そしてどのように数えられるのか

Dev.to / 2026/3/31

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • Claude Codeは使用量を「トークン」で測定します。トークンは、LLMが入力をエンコードし出力を生成するために用いる基本的なテキストの塊です。
  • トークン化の詳細が重要です。句読点/空白/コードの構文などがトークンに含まれ、モデルによって異なるトークナイザは同じ文章でも分割のされ方が変わり得ます。
  • Claudeにはコンテキストウィンドウがあります(多くの場合、約200kトークン)。これを超えると、古いトークンが削除され、その結果、会話やファイルのうちどれだけが利用可能なまま残るかに影響します。
  • ClaudeのトークナイザはAnthropicのデータで学習されており、平均すると1トークンあたり約4文字(約1.5トークン/単語)です。また、「()」や「{」のような短いコード記号は、それぞれ約1トークンとして扱われます。
  • 使用量は、長いコーディングセッションほど増えやすくなります。なぜなら、プロンプトには会話履歴、読み込まれたファイル、システムプロンプト、コマンド出力などが含まれるためです。さらにClaudeは入力トークンと出力トークンを別々に追跡し(キャッシュも関与します)。

Claude Code が「トークン」と呼ばれる消費量を通じて利用状況を追跡していることにお気づきかもしれません。これは、たぶん /cost/context コマンド、Anthropic ダッシュ、あるいは Claude の会話で見かけたことがあるはずです。

トークンは、Claude がテキストを読み取り、生成するために使う不変の基礎となる単位です。Claude のトークンは NLPトークンと同じで、LLM が入力を処理し、生成するために使うものと同一です。つまり Claude に限定されるものではありません。

トークン化(NLPにおける)

LLM はテキスト内容をトークンに分解します。トークンとは、1文字から完全な単語までの長さのどこかになり得る「テキストの塊」です。使用しているトークナイザによっては、単語「programmatically」は「program」+「matically」に分割されることもあれば、単語全体(あるいは 文字トークン化では文字ごとに分解して、一意な綴りや誤字を拾えるようにする)として扱われることもあります。OpenAI のモデルが このWebアプリでどのようにテキストをトークン化するかを見ることができます。

それぞれのトークンには、学習データ内での使われ方に基づいて「次に最も起こりやすいトークン」があります。LLM は入力テキストを受け取り、トークン化された入力の後に統計的に続きそうなトークンの系列を出力します。

句読点、空白、コードの構文もトークンに含まれ、書き言葉のそのままの文章よりもトークン長は短くなります。すべての LLM にはコンテキストウィンドウ(同時に保持できるトークン数のメモリ上限)があります(ほとんどの Claude モデルは約200k)。コンテキストウィンドウを超えると、それ以前のトークンは削除されます。

つまり Claude Code を使うときは、コードは自然言語よりもトークン密度が高いことを意識してください。また Python のような言語は Rust や C++ よりもトークン効率が高いです。

Claude がテキストをトークン化する方法

Claude は、その学習データに特化して訓練されたトークナイザを使うため、文字列は GPT-5 のような他のモデルとは異なる形でトークン化されます。Claude のトークン長は平均すると 1 トークンあたり約 4 文字で、1 単語あたり 1.5 トークンです。コードスニペットではトークン長はさらに短くなり、たとえば (){ はそれぞれ 1 トークンに相当します。

CC に入力をプロンプトするとき、単にメッセージだけをトークン化するわけではありません。会話履歴、読み込まれたファイル、システムプロンプト、コマンドの出力なども含めて処理します。Claude がより多くのコンテキストを処理するほど、この「入力」が積み重なるため、消費するトークン数も増えます。これにより、長いセッションほど進むにつれて利用量の減りが速くなります。

入力トークンと出力トークン(およびキャッシュトークン)

Claude は入力トークン(たとえばモデルに投入する内容、および履歴+コンテキスト)と、出力トークン(生成するテキスト)を区別しています。これらは別々に追跡され、料金体系も異なります。

Claude は入力トークンよりも出力トークンの方を高く課金します。たとえば Claude Sonnet では、出力トークンは入力トークンよりも「1百万トークンあたり約5倍」コストがかかります。そのため、Claude が 300 行のコードを書けば、300 行を読み取って短い回答を生成する場合よりもずっと高くつきます。あるいは CC があなたのコードベース全体を読み込む場合、同等のサイズのコードベースをワンショットで生成するよりもコストは下がります。

トークンには3つ目のタイプのクラスがあります。それがキャッシュトークンです。CC は プロンプトキャッシュをサポートしており、繰り返されるコンテキスト(長いシステムプロンプト、コードベースのスナップショットなど)を保存して、ずっと低いトークン単価で再利用できます。したがって、プロジェクトのコンテキストをシステムプロンプトに追加し、CLAUDE.md を活用することで、(同じ指示をプロンプト内で何度も繰り返すのとは対照的に)時間とともに利用量を抑えやすくなります。

トークン使用量の追跡方法

Claude Code のトークンを追跡するための詳細な ガイドです。

API 経由で Claude を使っている場合は、Claude Consoleで、トークン消費量、モデルごとのコスト、時間経過に伴う利用状況を確認できます。

Claude Code セッション中に /cost コマンドを実行すると、コストに関して現在のセッションのトークン使用量が表示されます。Pro または Max のサブスクリプションで、かつ API ではない場合は、/cost は API 経由で 支払うはずだった金額を反映します。また /context を実行すれば、コンテキストウィンドウを現在どれくらい埋めているか(トークン数)を確認できます。

サードパーティのツールでも、使用量に関する良い指標が得られます。ccusage は軽量な CLI ツールで、Claude のローカル JSONL ファイルを読み取り、トークン指標を分析します。npx ccusage@latest で実行・インストールできます。よりリアルタイムなものが欲しい場合は、Claude-Code-Usage-Monitor を実行して、トークン消費量とバーンレートをライブで追跡できます。さらに、制限に到達しそうなタイミングも予測してくれます。

Claude Code の環境

Claude Code で開発するときは、新しい機能はすべて、安全で隔離された環境で十分にテストされていることを確認したいでしょう。エフェメラル(使い捨て)環境は CC と相性が抜群です。ブランチ/PR に基づいて環境を自動で起動し、テストを実行し、QA を行い、パッチをプッシュし、準備ができたと判断したらマージすることができます。

Shipyard は、Claude Code を使う開発者向けのプラグ&プレイのエフェメラル環境ソリューションです。Claude は MCP/CLI を通じて環境と自律的にやり取りできます(ログを取得する、各ライブURLを取得する、Playwright MCP で環境を訪問する、など)。30日間無料で試す を利用して、開発/テストのループがどれくらい速くなるか確認してください。

広告