トークンを理解する:AIモデルは実際どのようにテキストを「読んで」いるのか
2026年9月17日
大規模言語モデルの料金体系、コンテキストウィンドウ、そしてスペルや計算に関する一見奇妙な挙動さえも、すべて「トークン」というひとつの概念にたどり着きます。トークンは単語でも文字でも、音節でもありません。モデルごとに異なる圧縮の仕組みであり、その仕組みを理解すると、そうでなければ一見無秩序に見えるAIの挙動の多くが説明できるようになります。
単語でないとしたら、トークンとは正確には何なのか?
トークンとは、テキストの一部分——ときには一般的な単語全体、ときには単語の一部、ときには1文字――のことで、学習データの中で最も頻出する文字列のまとまりをできるだけ効率的に表現するように訓練されたトークナイザーによって決定されます。英語で頻出する「the」や「cat」のような単語は通常1トークンになりますが、あまり一般的でない単語や複合語はしばしば2つや3つに分割されます(例えば英語の「tokenization」は「token」+「ization」に分割されることがあります)。英語のおおまかな目安としては、1トークンはおよそ4文字、あるいは単語の4分の3程度とされることが多いですが、これはモデルによって異なり、あくまで概算にすぎません。
なぜAI APIの料金は、単語単位やリクエスト単位ではなくトークン単位で提示されるのか?
モデルが内部で実際に処理している単位は、単語ではなく文字通りトークンだからです。入力されるトークンも生成されるトークンも、それぞれが計算資源を消費するため、課金の基準として最も直接的で公平な単位になります。トークン単位の課金には、入力と出力を別々の料金にできるという利点もあります(一般的に生成の方が読み取りよりも計算コストが高くなります)。これが、ほとんどのAI API料金が、1回のリクエストに対する一律料金ではなく、入力トークン料金と出力トークン料金を別々に設定している理由です。
なぜ一部の言語は、1文あたりのコストが英語よりも明らかに高くなるのか?
主要なトークナイザーの多くは英語のテキストが中心の学習データで訓練されているため、英語の単語は不釣り合いなほど高い確率で、単一の効率的なトークンに対応付けられます。文字体系や語形が異なる言語——多くの日中韓(CJK)言語や、複合語が多い言語など——は効率的にトークン化されにくいことが多く、英語では1トークンで済む意味を表現するのに2つ、3つ、あるいはそれ以上のトークンが必要になることがあります。実際の影響として、同じ内容の文章を翻訳した場合でも、ある言語では別の言語よりも明らかに多くのトークン数(そしてそれに応じたAPI料金)がかかることがあります。これは内容自体の複雑さではなく、単にトークナイザーがどのように訓練されたかという副産物にすぎません。
モデルの「コンテキストウィンドウ」は、実際何を制限しているのか?
コンテキストウィンドウとは、モデルが一度に考慮できる最大トークン数のことで、入力(システムプロンプト、会話履歴、提供された文書など)と、モデルが生成する応答を合わせた合計です。これは単独で「どれだけ質問できるか」を制限するものではなく、その1回のやり取りでモデルが読むべきすべての情報と生成するすべての情報を合わせた、共有の予算枠なのです。長い会話履歴や貼り付けられた大きな文書は、モデルが応答の言葉を1つも生成する前に、コンテキストウィンドウの大部分を消費してしまうことがあります。これが、非常に長い会話で初期のやり取りの詳細を見失ってしまうことがある理由です——単純にトークンの予算から外れてしまっているのです。
