ざっくり言うと
トークンとは、AI(LLM)が文章を読み書きするときに使う、処理の部品です。
1文字だけで1個のこともあれば、単語まるごとや、単語の一部で1個のこともあります。
多くのAIのAPIでは、料金も、一度に扱える文章の長さも、このトークンの数で管理されています。
OpenAI・Anthropic・Googleの料金表で、「100万トークンあたり◯ドル」という書き方を見たことがあるかもしれません。あの「トークン」が、これです。
ただし、一般向けのチャットサービスの月額プランでは、トークン単位で利用者に請求されるとは限りません。
イメージ
大事なのは、「1文字=1箱」ではないところです。言語や単語によって、1箱に入る文字数は変わります。
正確には
OpenAIのヘルプセンターでは、トークンは文章の一部、つまりよく出てくる文字の並びだと説明されています(※原文は「common sequences of characters」)。
英語の場合の目安として、1トークンは約4文字、または1単語の約3/4と紹介されています。単語によって前後するので、あくまで目安です。
Anthropicの公式ドキュメントでは、トークンはLLMが読み書きする最小の単位と位置づけられています。文字、単語のかけら(subword)、句読点などを、モデルごとに決まったルールで切り分けるという説明です。
Google AI(Gemini)の公式ドキュメントでも、入力した文章はトークンに変換されてからモデルへ渡されると整理されています。入力トークン数と出力トークン数の合計が、料金とコンテキストの上限に効いてきます。
日本語と英語では、同じ内容でも数が変わります
はじめのうち、いちばん戸惑うのがここです。トークンの数は、言語によっても、モデルによっても、文章によっても変わります。
OpenAIは英語の目安を1トークン約4文字または約0.75語、GoogleはGeminiの目安を約4文字としています。ただし、この数字を日本語へそのまま当てはめることはできません。
同じ意味の文章でも、言語や表記、モデルの切り分け方によってトークン数は変わります。日本語が英語より多くなる場合もありますが、固定の換算率はありません。
「100万トークン」は、どれくらいの量?
料金表でよく見る単位「1M tokens(=100万トークン)」は、ピンとこない方も多いはずです。あくまで目安ですが、こんな規模感になります。
- 英語なら、約75万単語前後です(分厚い長編小説の数倍にあたります)
- 日本語は、モデルや文章による差が大きいため、文字数へ固定換算できません
「100万」という数字は大きく見えます。それでも、長いPDFや議事録、何ヶ月ぶんかのチャット履歴をまるごと渡すと、案外あっという間に消費していきます。
コンテキストウィンドウも、単位はトークンです
AIには、一度に読める文章の上限があります。これをコンテキストウィンドウ(context window)と呼び、こちらも単位はトークンです。
「コンテキストウィンドウ20万トークン」なら、一度に約20万トークンぶんの文章まで読める、という意味になります。
上限を超えたときにどうなるかは、サービスの作りしだいです。リクエストを断る、途中で切り詰める、要約するなど、扱いは分かれます。
料金も、一度に読める上限も、トークンが基準になります。ここまで押さえておけば十分です。
使う場面
トークンの考え方が必要になるのは、主に長い文章をAIへ渡すときです。
段ボールでたとえるなら、トラックの荷台にあたるのがコンテキストウィンドウです。荷台が広ければたくさん積めますが、積みすぎると、古い箱を下ろすことになるか、それ以上は積めなくなります。
「入力が長いほど賢くなる」とは限りません。関係のない文章まで詰め込むと、AIはどこを見ればよいのか迷いやすくなります。
注意点
よくある勘違い
トークン数は、文字数と同じではありません
もうひとつよくあるのが、「コンテキストウィンドウが大きいモデルなら、何でもそのまま貼ればいい」という思い込みです。上限が大きくても、関係のない情報が多いと、答えの焦点がぼやけることがあります。
貼る前に、その文章が答えに必要かどうかを3つに分けてみてください。
- 絶対に必要な前提
- あると助かる参考情報
- 今回はいらない背景情報
まず1と2だけを渡して、足りなければあとから足しましょう。そのほうがトークンを節約でき、答えも読みやすくなります。
関連用語
- トークナイザー — 文章をトークンに切り分ける仕組みそのものです。
- コンテキストウィンドウ — 一度に読める文章の量の上限です。こちらも単位はトークンです。
- LLM(大規模言語モデル) — トークンを読み書きするAI本体にあたるモデルです。
やってみよう