トークンって何?わかりやすく解説

「ChatGPTに長文を貼り付けたら『文字数が多すぎます』って言われた」「APIを使ったら料金が思ったより高かった」――そんな経験、ない? AIと話すとき、裏側では「トークン」っていう単位がずっと動いてるんだけど、これを知っておくと「なんで?」がぜんぶ解決するよ。この記事を読めば、トークンのことがまるごとわかるよ。

「トークン」ってよく聞くんだけど、結局なんのこと?文字数のこと?

文字数に近いけど、ちょっと違うんだよ。トークンっていうのは、AIが文章を読むときの「ひとかたまり」のこと。たとえば英語だと「running」を「run」と「ning」に分けたり、「I am」を「I」「am」の2つに分けたりする。日本語だと「ありがとう」が3〜4トークンになったりするよ。
じゃあ1文字=1トークンじゃないってこと?

そう!英語は1単語がだいたい0.75トークンくらい。「hello」は1トークン。日本語や中国語は1文字が1〜2トークンになることが多い。だから「1000文字の日本語」は1000〜2000トークンくらいになるよ。ざっくり「日本語1文字=1〜2トークン」って覚えておけばOK。
なんでわざわざ「トークン」なんて単位を使うの?文字数でよくない?

AIにとって「意味のかたまり」で処理したほうが効率がいいからなんだ。たとえば「走る」「走り」「走った」は全部「走」が核心でしょ?トークンに分けることで、AIが「これは同じ概念だ」と理解しやすくなるんだよ。コンピュータ側の処理コスト、つまり計算にかかる費用もトークン単位で測るのが自然なわけ。
じゃあトークンが増えると何かまずいことがあるの?

2つあるよ。ひとつはコンテキストウィンドウ、つまりAIが一度に見られる上限を超えると、古い会話を忘れてしまうこと。もうひとつは料金。APIを使うとトークン数で課金されるから、長い文章をたくさん送ると費用がどんどん増えちゃうんだ。
📝 3行でまとめると
  1. トークンはAIが文章を処理するときの単位で、文字数とは微妙に違うもの(日本語は1文字≒1〜2トークン)
  2. AIには一度に扱えるトークン数の上限があり、これをコンテキストウィンドウと呼ぶ
  3. APIを使うとトークン数が料金に直結するので、効率よく使うことが大切
目次

もうちょっと詳しく

トークンは、AIがテキストを扱うための「最小単位」だよ。AIは文章を受け取るとき、まずトークナイザー(つまり文章をトークンに分解する仕組み)を通して、言葉をバラバラの部品に分ける。それぞれの部品に番号(ID)を振って、数字の列として処理するんだ。人間で言えば、文章を読むとき頭の中で「単語」や「フレーズ」ごとに意味を区切るのと似てるよ。この分け方はAIの種類によっても違って、GPTシリーズはBPE(バイト対符号化)、日本語特化モデルは日本語に最適化した方式を使っていたりする。使うAPIによって「同じ文章でも何トークンか」が微妙に変わることも覚えておくといいよ。

💡 ポイント
日本語は英語より同じ文字数でもトークン数が多くなりやすい。APIコストの見積もりは「文字数×1.5〜2」で計算すると安全!

⚠️ よくある勘違い

❌ 「トークン数=文字数だから、1000文字なら1000トークンでしょ」
→ 日本語は1文字が1〜2トークンになることが多く、英語と比べてもトークン数の数え方が違う。「1000文字=1000トークン」と思って予算を立てると、実際には2倍近くかかってびっくりすることがある。
⭕ 「日本語は1文字≒1〜2トークンで計算しよう」
→ OpenAIの「Tokenizer」ページなど、無料で試せるツールで実際のトークン数を確認する習慣をつけると、コストの見積もりがぐっと正確になるよ。
なるほど〜、あーそういうことか!

[toc]

トークンってそもそも何? ──AIの「言葉の単位」を知ろう

AIは文章をそのまま読んでいない

ChatGPTやClaudeなどのAIに文章を送ると、AIはいきなり「文章」として理解するわけじゃないんだ。まず文章を細かいかたまりに分解して、それぞれに番号を付けて処理する。このかたまりのひとつひとつをトークンと呼ぶよ。

たとえば英語の「I like cats」は「I」「like」「cats」の3トークン。日本語の「ねこが好き」は「ね」「こ」「が」「好」「き」のように分かれることもあれば、「ねこ」「が」「好き」みたいにまとまることもある。分け方はAIの種類によって違うけど、だいたい日本語なら1文字あたり1〜2トークンになると思っておけばOK。

なぜトークンで分けるの?

ここでちょっと想像してみてほしいんだけど、外国語を勉強するとき、一文字ずつバラバラに覚えるより「単語のかたまり」で覚えるほうが早いよね。AIも同じで、意味のあるかたまりで処理したほうが効率がいいんだ。

「走る」「走り」「走った」みたいに形が変わる言葉も、トークンに分解することで「これは全部”走”が核心だ」と気づきやすくなる。コンピュータは数字が大好きだから、言葉を数字の列(トークンID)に変換して扱うのが一番速い。このトークンへの変換処理をトークナイズ(Tokenize)、つまり「トークンに変換すること」と呼ぶよ。

コンテキストウィンドウ ──AIが一度に覚えられる量

AIには「作業机」の広さがある

AIには、一度に処理できるトークン数の上限があって、これをコンテキストウィンドウ(Context Window)と呼ぶ。つまり「AIが一度に見られる文章の量」のことだよ。

わかりやすく言うと、AIの作業机みたいなもの。机が広いほどたくさんの資料を広げて作業できるけど、机が小さいと古い資料を端に追いやらないといけない。コンテキストウィンドウが狭いと、長い会話の中で「最初に言ったこと」をAIが忘れてしまうんだ。

最近のAIはどれくらい覚えられる?

2024〜2025年ごろのAIモデルのコンテキストウィンドウはこんな感じだよ。

  • ChatGPT(GPT-4o):約128,000トークン
  • Claude 3.5 Sonnet:約200,000トークン
  • Gemini 1.5 Pro:約1,000,000トークン(100万!)

200,000トークンは日本語でだいたい10〜15万文字くらい。文庫本1冊分くらいは余裕で入るよ。でも、長い会話をずっと続けたり、大量のドキュメントを貼り付けたりすると、どんなに広い机でもいつかはいっぱいになる。上限を超えると古い情報から順番に「忘れて」しまうんだ。

入力トークンと出力トークン

コンテキストウィンドウの中には入力トークン(自分が送る文章)と出力トークン(AIが返事する文章)の両方が含まれる。つまり「質問も返答も全部合わせて上限内に収まらないといけない」ということ。長い返答をAIに書いてもらいたいときは、質問側をコンパクトにする工夫が大事になるよ。

トークンと料金の関係 ──「なんで高くなるの?」の謎を解く

APIはトークン課金が基本

ChatGPTのアプリは月額固定で使えるけど、プログラムからAIを使う場合はAPI(Application Programming Interface)、つまり「プログラム同士をつなぐ窓口」を使うことが多い。このAPIの料金は、ほとんどの場合トークン数に応じた従量課金(使った分だけ払う仕組み)になってるんだ。

たとえば「1000トークンを送って、500トークンの返答をもらった」なら、1500トークン分の料金が発生する。モデルによって単価が違って、賢いモデルほど高い。

入力と出力で料金が違う

面白いのが、入力トークンと出力トークンで単価が違うこと。一般的に出力トークンのほうが高い。なぜかというと、AIが文章を「生成する」作業は、「読む」作業より計算コストがかかるから。

スーパーのレジで例えると、商品を並べる(入力)より、店員さんが一品ずつ値段を打ち込む(出力)ほうが手間がかかるイメージ。AIが長い文章を返せば返すほど、料金が積み上がっていく仕組みなんだよ。

キャッシュで節約できることも

最近のAPIにはプロンプトキャッシュという機能があって、「同じ文章を何度も送るとき、2回目以降は割引にするよ」という仕組みが使えるものもある。たとえば毎回同じシステム指示(「あなたはカスタマーサポートの担当者です」など)を送る場合、キャッシュを使えばコストをぐっと下げられるんだ。

トークンを意識した使い方 ──賢くAIを使うコツ

なるべく短く、必要なことだけ送る

APIを使うとき、送る文章が短いほどコストが下がる。だから「背景を長々と説明してから質問する」より「結論から先に書いて、必要な情報だけ絞る」ほうが効率がいいよ。

たとえばこんな感じ。

  • ❌ 長い:「先日、お客様から連絡があり、商品の返品について相談を受けました。お客様は3週間前に購入したもので、使用はしていないそうです。この場合、どのように対応すればいいか教えてください。」
  • ⭕ 短い:「未使用・購入3週間の商品返品依頼への対応手順を教えて。」

意味はほぼ同じでも、トークン数はかなり違う。APIをたくさん使う場面では、この工夫が積み重なって大きな節約になるよ。

長いドキュメントは要点だけ渡す

100ページのPDFをまるごとAIに渡すと、トークンが爆発的に増えて料金も跳ね上がる。そういうときは「要点だけを抜き出してから渡す」か、「ページを分割して必要な部分だけ渡す」のがベスト。AIはコンテキストウィンドウの上限内なら全部読んでくれるけど、上限を超えた分は読んでもらえないから、どうせ全部入らないなら最初から絞ったほうがいいんだ。

出力の長さをコントロールする

「詳しく教えて」と言うと、AIはたくさん書いてくれるけどトークンも増える。「3行で教えて」「箇条書きで5点だけ」と指定すると、出力トークンが減って料金が下がるよ。使う場面に合わせて出力の長さを指定する習慣をつけると、コストのコントロールがしやすくなるんだ。

トークンを確認する方法 ──実際にやってみよう

無料で試せるツールがある

「自分の文章、何トークンあるんだろう?」って気になったら、OpenAIが公式に提供しているTokenizerというツールで確認できるよ。テキストを貼り付けると、何トークンに分解されるか色分けして見せてくれる。日本語も対応しているから、実際に試してみると「トークンってこういうものか」という感覚がつかめるよ。

APIレスポンスにトークン数が含まれている

APIを使ってプログラムを作るとき、AIからの返答の中にusage(使用量)という情報が含まれていて、「今回の入力は〇〇トークン、出力は〇〇トークンだった」とわかるようになってる。この数字を記録しておくと、コストの管理がしやすくなるよ。

  • prompt_tokens:自分が送った入力のトークン数
  • completion_tokens:AIが返した出力のトークン数
  • total_tokens:合計のトークン数

プログラムを書くときはこの数字をログに残しておくと、「どの処理が一番トークンを使ってるか」が見えてきて、最適化のヒントになるよ。トークンを制する者がAI活用を制する、なんて言い方もできるかもしれないね。

💡 こっちの記事も参考になるよ
トークナイゼーションって何?わかりやすく解説
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大人になってから「これ知らなかった…」と恥ずかしい思いをした経験から、このサイトを作りました。お金・仕事・社会のしくみって、学校で教えてくれないのに知らないと損することだらけ。むずかしい言葉を「あーそういうことか!」って思えるまでかみ砕いて説明するのが得意です。主に経済・法律・税金・ライフイベント周りの用語を毎日更新中。

目次