トークン(生成AI)
Token (Generative AI)
概要(サマリー)
トークン(生成AI)とは、生成AIが文章やコードを処理するときに使う、文字の並びを細かく区切った単位である。
文字数や単語数とは完全には一致しない。長い文章、コード、これまでの会話、画像やファイルを渡すと、この単位を多く消費する。上限に達すると、入力を受け付けなかったり、出力が途中で切れたりする。
詳細解説
トークンは「AIが文章を数える単位」である
人間は文章を読むとき、文字や単語のかたまりとして自然に理解している。
多くのAIは、文章を細かい単位に分けて処理している。
その細かい単位がトークンである。
たとえば、1文字が1トークンになるとは限らない。
短い単語が1トークンになることもあれば、長い単語が複数のトークンに分かれることもある。
日本語でも、1文字ずつではなく、文字の並びやパターンごとに分かれることがある。
そのため、トークンは「文字数」と完全には一致しない。
ただし初心者向けには、まず「AIが文章量を数えるための単位」と理解すれば十分である。
なぜトークンが重要なのか
AIは、無限に長い文章を一度に読めるわけではない。
1回のやり取りで扱える情報量には上限があり、その目安としてトークン数が使われる。
この上限には、次のようなものが含まれることが多い。
- ユーザーが入力した文章
- それまでの会話の文脈
- システム側の指示
- AIがこれから出力する文章
つまり、今入力した文だけでなく、会話の流れ全体もトークンを消費していることがある。
そのため、長い会話や大量のコードを扱っていると、気づかないうちに上限へ近づくことがある。
文字数とどう違うのか
トークンは、文字数や単語数と完全には一致しない。
ここが少しややこしい。
たとえば、英語では短い単語が1トークンになることも多いが、長い単語は複数に分かれることがある。
日本語でも、漢字・ひらがな・記号の組み合わせによって分かれ方が変わる。
そのため、同じ100文字でも、内容によって必要なトークン数が変わることがある。
英語では、おおよそ4文字で1トークン、という目安をOpenAIが示している。日本語はモデルによって分かれ方が違い、この目安はそのまま使えない。
コード、英数字、記号が多い文章では、体感よりトークンが増えることもある。画像やPDFも、対応しているモデルでは文字とは別にトークンを消費する。
つまり、トークンは「見た目の文字量」よりも、「AI内部でどう分割されるか」に近い単位である。
トークン上限に達するとどうなるか
「トークン上限に達した」というのは、AIが一度に扱える量を超えた状態である。
イメージとしては、AIの頭の中の作業机がいっぱいになったようなものに近い。
このとき、次のようなことが起きることがある。
- 長すぎる入力を受け付けられない
- 出力が途中で切れる
- 古い文脈が入りきらず、前半の情報が反映されにくくなる
- APIでエラーになる
- ファイルやコード全体を一度に処理できない
つまりトークン上限は、AIの性能そのものというより、「1回の会話でどれだけの情報を同時に扱えるか」に関わる制約である。
どんなものがトークンを多く使うのか
次のようなものは、特にトークンを消費しやすい。
長いコード
1ファイルまるごとのコード、複数ファイルの貼り付け、大きなログなどはかなりトークンを使う。
長い会話履歴
会話が続くほど、前のやり取りも文脈として含まれ、トークン消費が増えることがある。
細かい条件の多いプロンプト
背景説明、制約、例、補足条件などを大量に書くと、そのぶん入力トークンが増える。
長い出力
「詳しく」「全部」「完全版で」と依頼すると、返答側でも多くのトークンを使う。
AIサービスのプランやモデルとの関係
トークン上限は、利用するAIサービスやモデル、プランによって変わることがある。
モデルやサービスの仕様、プランによっては、より長い文脈を扱える場合がある。
ただし、ここで大切なのは「上位プランなら無制限」という意味ではないことである。
上限が高くなっても、非常に長いコードベースや大量の資料を一気に投げれば、やはり工夫は必要になる。
つまりトークンの理解は、無料・有料に関係なく、AIをうまく使ううえで役立つ基本知識である。
Prompt や Context との関係
トークンは、Prompt や Context とかなり深く関係している。
- Prompt
今回AIへ渡している指示文 - Context
会話の流れや背景情報 - Token
それらをAIが処理するときの情報量の単位
たとえば、プロンプトが長すぎたり、コンテキストを抱え込みすぎたりすると、トークン消費が増える。
その結果、AIの出力余地が減ったり、会話が重くなったりすることがある。
このため、AI活用では「必要な情報は入れるが、不要な情報は削る」という調整も重要になる。
APIでよく出てくる理由
AIをAPI経由で使うときは、トークンという言葉が特によく出てくる。
なぜなら、料金計算や使用量管理、入力制限、出力制限などがトークン単位で扱われることが多いからである。
たとえばAPIでは、次のようなことが話題になりやすい。
- 入力トークン数
- 出力トークン数
- 最大トークン数
- 料金の目安
- モデルごとの上限差
そのため、AIを実務や自動化で扱うなら、トークンの感覚を持っておくとかなり役立つ。
Access Token など別の意味の token とは違う
「トークン」という言葉はAI以外でも使われるため、混同しやすい。
たとえば、ログイン認証やAPI認証で出てくる Access Token はまったく別の意味である。
また、APIキーとも近い文脈で出てくることがあるが、AIのtokenとは別物である。
- AIの token
情報量を数える単位 - Access Token
認証やアクセス許可のための鍵のような情報 - API Key
APIを使う人やアプリを識別するための秘密情報
同じ token という単語でも、文脈によって意味が大きく違う。
AI用語としてのトークンは、「文章処理の単位」の話である。分野ごとの違いはトークンのページにまとまっている。
AIコーディングとの関係
毎回トークン数を数える必要はない。長い入力は、1回で扱える量を圧迫する。
- 長すぎる文章は負担になる
- 長いコードは分割したほうがよい
- 不要な背景説明は削ったほうがよい
- 長い会話は途中で整理したほうがよい
大きなコードを見せるときは、問題のあるファイルだけ、エラー箇所の周辺だけ、目的を先に書く、一度要約してから次に進む、という渡し方にすると、出力に残る余裕が増える。
よくある勘違い
トークン = 文字数そのもの?
違う。
近い感覚ではあるが、実際にはAI内部での分割単位なので、文字数とは完全には一致しない。
トークン上限 = AIの賢さそのもの?
そうではない。
主に、一度にどれだけの情報を扱えるかという容量に関わる話である。
有料プランならトークンを気にしなくてよい?
そこまでではない。
上限が高くなることはあっても、長すぎる入力や長大な会話ではやはり工夫が必要になる。
長いプロンプトのほうが必ずよい?
必ずしもそうではない。
必要な情報は重要だが、不要な情報まで増やすとトークンを無駄に消費してしまう。
AI用語のトークンと Access Token は同じ?
同じではない。
AI用語では文章処理の単位、認証の文脈ではアクセス許可のための情報を指す。
まとめ
- 生成AIのトークンは、文章やコードを処理するときに使う分割単位で、文字数とは一致しない。
- 入力、これまでの会話、システム側の指示、これから出す出力が、同じ上限の中で消費される。
- 英語ではおおよそ4文字で1トークン、という目安がある。日本語や画像はモデルによって違う。
- 認証のアクセストークンやAPIキーとは別物である。
- 長いコードは、必要な箇所だけに分けて渡すと、上限にぶつかりにくい。
情報ソース
より詳しくAIに聞いてみよう
- トークンとは何かを、中学生でもわかるように具体例つきで説明してください。
- トークンと文字数の違いを、初心者向けにやさしく説明してください。
- AIでトークン上限に達すると何が起きるのか、具体例つきで教えてください。
- Prompt と Context と Token の関係を、初心者向けに整理してください。
- 長いコードや文章をAIに渡すとき、トークンを節約するコツを教えてください。