ChatGPTのトークンとは?仕組み・数え方・上限・料金を完全解説【2026年最新】
室谷今回はChatGPTの「トークン」を取り上げましょう。.AI(ドットエーアイ)のコミュニティでも「トークンって結局なんですか」って聞かれることが多いんですよね。
料金のところで出てくるし、APIを使おうとするとすぐ「トークン上限に達しました」って出るし・・・
料金のところで出てくるし、APIを使おうとするとすぐ「トークン上限に達しました」って出るし・・・
テキトー教師ですよね。講座で「ChatGPTの料金の仕組みを教えてください」って話になると、まずトークンを説明しないといけないんですよ。
でも「文字数じゃないんですか?」って最初は全員混乱するんです(笑)。
でも「文字数じゃないんですか?」って最初は全員混乱するんです(笑)。
室谷それ、すごくわかります。日本語を使っていると特に混乱しやすくて、文字数とトークン数が一致しないんですよね。
英語だと「1単語≒1トークン」でだいたいイメージがつくんですが、日本語だと1文字で複数トークンになるケースもある。
英語だと「1単語≒1トークン」でだいたいイメージがつくんですが、日本語だと1文字で複数トークンになるケースもある。
テキトー教師そういう話を丁寧にしていくと、APIコストの計算もできるようになるし、「なぜ長い会話になると精度が落ちるのか」も理解できる。トークンってChatGPTを使いこなす上でかなり根本的な概念だと思いますよ。
室谷じゃあ今回は、トークンとは何か、どう数えるか、上限はどうなっているか、そしてAPI料金との関係まで一気に解説しましょう。
ChatGPTのトークンとは何か
テキトー教師まずトークンの定義から入りましょう。一言で言うと、「AIがテキストを処理するときの最小単位」です。
ChatGPTはテキストをそのまま文字単位で読んでいるわけじゃなくて、まずテキストをトークンという単位に分割してから処理するんですよ。
ChatGPTはテキストをそのまま文字単位で読んでいるわけじゃなくて、まずテキストをトークンという単位に分割してから処理するんですよ。
室谷そのトークン分割の仕組みが「BPE(Byte Pair Encoding)」っていうアルゴリズムで、ざっくり言うと「よく出てくる文字の組み合わせは1トークンにまとめる」という方式なんですよね。
テキトー教師そうなんですよ。だから英語だと "the" とか "ing" みたいな頻出パターンは1トークンになりやすい。
でも日本語は英語ほどOpenAIの学習データに入っていないので、1文字が2〜3トークンになることもある。
でも日本語は英語ほどOpenAIの学習データに入っていないので、1文字が2〜3トークンになることもある。
室谷OpenAIの公式ヘルプでも「1トークン≒4文字(英語)、または0.75単語」って書いてあるんですよ。スペイン語の "Cómo estás"(英語の "How are you")だと10文字で5トークンになる。
日本語はさらにトークン効率が悪くて、英語の3〜4倍のトークンを消費するケースが多いです。
日本語はさらにトークン効率が悪くて、英語の3〜4倍のトークンを消費するケースが多いです。
テキトー教師これ、コミュニティのメンバーさんが「日本語で使うとAPIコストが高い気がする」って言うのはここに理由があるんですよ。英語でプロンプトを書いてから日本語に翻訳させると、トークン消費が大幅に減ることがあります。
室谷実際にMYUUUのAPIプロジェクトでも、英語プロンプトに切り替えてコストが3分の1になったケースがあるんですよね・・・
トークンの具体例(英語の目安)
テキトー教師OpenAI公式の目安として、こういう数値が出ています。
| テキスト | 目安トークン数 |
|---|---|
| 1〜2文(英語) | 約30トークン |
| 1段落(英語) | 約100トークン |
| 1,500単語(英語) | 約2,048トークン |
| Wayne Gretzky の名言(英語) | 11トークン |
| 米国独立宣言全文(英語) | 約1,695トークン |
室谷日本語の場合はこれの3〜4倍と考えるといいですね。100文字の日本語テキストなら、だいたい150〜300トークンくらいになる。
テキトー教師体感値として「日本語1,000文字≒1,000〜1,500トークン」と覚えておくと、コスト計算がしやすいですよ。
ChatGPTのトークン数を確認・計算する方法
室谷じゃあ「今自分が送っているテキストが何トークンか」を確認する方法を見ていきましょう。大きく2つあって、1つはOpenAIの公式ツールを使う方法、もう1つはコードで計算する方法です。
テキトー教師Web版ChatGPTのUIでも、最近は「このメッセージは〇トークンです」みたいに表示されるようになってきましたね。ただAPIを使っている人には、やっぱりtiktokenが一番使いやすいと思います。
OpenAIの公式Tokenizerツールを使う
室谷OpenAIがでインタラクティブなトークナイザーツールを公開しています。テキストを入力すると、リアルタイムでトークン数が表示されて、どの文字列が何トークンになるかも色分けして見せてくれる。
テキトー教師これ、講座で実際に見せると「あ、日本語って1文字でも2〜3トークンになるんだ」って驚く人が多いんですよ。コスト感覚を身につけるためにまず触ってみてほしいツールです。
tiktokenでプログラムから計算する
テキトー教師プログラムで計算する場合は、OpenAIが公開しているtiktokenライブラリが公式推奨です。Python向けのBPEトークナイザーで、APIを叩く前にトークン数を事前計算できます。
室谷APIをヘビーに使っているエンジニアなら、送信前にトークン数をチェックして、上限を超えそうなら要約してから送るというフローを組み込んでいますね。
import tiktoken
enc = tiktoken.encoding_for_model("gpt-4o")
text = "ChatGPTのトークンについて説明してください"
tokens = enc.encode(text)
print(f"トークン数: {len(tokens)}")
テキトー教師tiktokenはpipでインストールできます。pip install tiktoken
室谷APIレスポンスの中にも
usage.prompt_tokens、usage.completion_tokens、usage.total_tokens が返ってくるので、それを集計するだけでコストをリアルタイムに把握できます。ChatGPTのトークン上限(コンテキストウィンドウ)
テキトー教師次に「上限」の話に移りましょう。よく「ChatGPTのトークン上限に達しました」というエラーが出たという話を聞くんですが、これはコンテキストウィンドウが満杯になった状態です。
室谷コンテキストウィンドウっていうのは、「モデルが1回の会話で見られるトークンの総量」のことですね。入力(プロンプト+会話履歴)と出力(返答)を合わせた上限がある。
テキトー教師整理すると、こういう構造です。
コンテキストウィンドウ = 入力トークン(プロンプト + 会話履歴)+ 出力トークン(返答)
室谷で、これが最近すごく広くなっていて、Claude Sonnet 4.6は100万トークンのコンテキストウィンドウになっています。ChatGPTも年々拡大を続けていますね。
ChatGPT(Web版)のトークン上限
テキトー教師ここ、注意が必要なんですが、ChatGPT Web版の上限とAPIの上限は別物なんですよ。ChatGPT Plusを使っている人が体感しているのは、主にWeb UIの制限です。
室谷2026年4月時点での情報として確認できるのは、GPT-5.2のコンテキストウィンドウがPlus/Businessプランで256K(Thinking有効時)という数値です。ただしOpenAI公式の数値は頻繁に更新されるので、で確認するのが確実です。
テキトー教師コンテキストウィンドウを超えると何が起きるかというと、「古い会話内容が見えなくなる」んですよ。モデルが「忘れた」わけじゃなくて、物理的に読めなくなっている。
これがよく言われる「長い会話になると精度が落ちる」問題の本質です。
これがよく言われる「長い会話になると精度が落ちる」問題の本質です。
室谷これ、経営者視点で言うとコスト管理の話でもあるんですよね。コンテキストを無駄に積み上げると、APIコストも跳ね上がる。
MYUUUのシステムでも「どこかのタイミングで会話を圧縮する」という仕組みを入れています。
MYUUUのシステムでも「どこかのタイミングで会話を圧縮する」という仕組みを入れています。
プラン別の上限の違い
| プラン | ChatGPTでの主な上限 |
|---|---|
| Free | 制限多め(GPT-5.2の利用に上限あり) |
| Plus(月$20) | GPT-5.2: 160メッセージ/3時間、Thinking: 3,000回/週 |
| Pro(月$200) | さらに広いアクセス |
| API(従量課金) | モデルごとにコンテキストウィンドウが異なる |
テキトー教師Freeプランでよく聞くのが「しばらく使えなくなった」って話ですね。3時間ごとにリセットされるメッセージ上限に引っかかっているケースがほとんどです。
室谷APIを使う開発者なら、モデルごとのコンテキストウィンドウを確認してアーキテクチャを設計する必要があります。長文ドキュメントを扱うなら、大きなコンテキストウィンドウのモデルを選ぶか、チャンク処理+RAGの組み合わせを検討するか、ですね。
ChatGPTのトークン料金(API利用時)
室谷じゃあ料金の話に移りましょう。ChatGPT Web版は月額固定ですが、APIを使う場合はトークン数に応じた従量課金になります。
テキトー教師ここが一番「難しい」って言われるポイントですよね。「何トークン使ったら何円か」がパッと計算できないと、コスト見積もりができない。
室谷OpenAI APIの料金は「100万トークンあたりいくら」という単位で表示されています。2026年4月時点での主要モデルの料金はこうなっています。
| モデル | 入力(1Mトークン) | キャッシュ済み入力 | 出力(1Mトークン) |
|---|---|---|---|
| GPT-5.4 | $2.50 | $0.25 | $15.00 |
| GPT-5.4 mini | $0.75 | $0.075 | $4.50 |
| GPT-5.4 nano | $0.20 | $0.02 | $1.25 |
(出典: OpenAI API Pricing)
テキトー教師整理すると、入力と出力でコストが違うんですよ。入力(自分が送るプロンプトや会話履歴)より、出力(ChatGPTが生成した返答)の方が高い。
GPT-5.4だと出力は入力の6倍のコストになります。
GPT-5.4だと出力は入力の6倍のコストになります。
室谷これ、コスト最適化の観点では重要なんですよね。「返答をできるだけ短くさせる」だけでコストが劇的に下がる。
プロンプトに「簡潔に答えてください」を入れるのは、コスト削減としても効果があります。
プロンプトに「簡潔に答えてください」を入れるのは、コスト削減としても効果があります。
キャッシュトークンの仕組み
テキトー教師表の中に「キャッシュ済み入力」という項目がありましたね。これがプロンプトキャッシングという仕組みで、同じプロンプトの先頭部分を繰り返し送る場合、2回目以降はキャッシュが使われて料金が10分の1になるんです。
室谷RAGシステムとかで「毎回同じシステムプロンプト+取得したドキュメント」を送るような設計だと、キャッシュトークンを活用するだけでコストが大幅に変わってきます。MYUUUでも意識してシステムプロンプトを先頭に固定する設計にしています。
テキトー教師リゾニングトークンという概念もあって、GPT-5.4のThinkingモードみたいな思考型モデルだと「内部で考えるステップ」にもトークンが消費されます。出力に見えているテキスト以外に、裏側で考えた分のトークンコストがかかる。
室谷ここ、コスト計算で見落としがちなんですよね・・・「出力が短いのになんでこんなにコスト高いの」ってなるやつです。
トークンの種類:入力・出力・キャッシュ・リゾニング
テキトー教師トークンには種類があって、APIレスポンスの
usage フィールドに全部返ってきます。整理するとこうなります。| トークン種別 | 内容 | コスト感 |
|---|---|---|
| 入力トークン(prompt_tokens) | 送ったプロンプト+会話履歴 | 安め |
| 出力トークン(completion_tokens) | モデルが生成した返答 | 高め |
| キャッシュ済み入力(cached_tokens) | 再利用されたプロンプト部分 | さらに安い |
| リゾニングトークン(reasoning_tokens) | 思考型モデルの内部思考ステップ | 出力と同等 |
室谷リゾニングトークンのところが2026年になって注目されるようになっています。GPT-5.4みたいなモデルをThinkingモードで使うと、内部の思考プロセスにもトークンが積み上がっていく。
テキトー教師コミュニティのメンバーさんで「Thinkingモードで試してみたらコストが跳ね上がった」っていう経験をした人が多いですね。出力の見た目は短いのに、APIのusageを見ると数万トークン使ってる、みたいな。
室谷だから「どのモデルをどのモードで使うか」がコスト設計の核心になるんですよね。タスクによって使い分けが必要です。
ChatGPTのトークンを節約・圧縮する方法
室谷じゃあ節約の話をしましょう。トークンを節約することは、直接コスト削減につながります。
大きく3つのアプローチがあります。
大きく3つのアプローチがあります。
テキトー教師1つ目は「プロンプトを短くする」こと。これが一番シンプルで、特に長いシステムプロンプトをコンパクトにするだけでかなり効果が出ます。
室谷ただ短くすればいいってものでもなくて、指示が曖昧になると出力品質が落ちてリトライが増えてコストが増えるというトレードオフがある・・・適切な長さを見つけるのが腕の見せどころですね。
会話履歴の圧縮
テキトー教師2つ目が「会話履歴の管理」です。長い会話になるほど、過去のやりとりが全部入力トークンとして積み上がっていく。
これを放置すると、コンテキストウィンドウが埋まる前にコストが青天井になります。
これを放置すると、コンテキストウィンドウが埋まる前にコストが青天井になります。
室谷解決策として「定期的に会話を要約してから続ける」という手法がよく使われます。OpenAIの公式ドキュメントでも「Compaction」という概念で紹介されています。
テキトー教師実装パターンとしては、「X回やりとりしたら過去の会話を要約させて、要約文だけを次の入力に入れる」という方法です。コンテキストが無限に伸びていくのを防げます。
室谷Claude Codeでも同じ問題があって、コードレベルで3層の圧縮パイプライン(MicroCompact→AutoCompact→FullCompact)が入っているんですよ。以前ツイートしたときに反響が大きかったんですが、トークン管理って本質的な課題なんだなと改めて感じました。
英語プロンプトの活用
テキトー教師3つ目が「英語でプロンプトを書く」こと。先ほど話した通り、日本語は英語の3〜4倍のトークンを消費することが多い。
室谷プロンプト部分だけ英語にして、「Reply in Japanese」と入れる方法が一番コスパがいいですね。出力は日本語で返ってくるし、入力トークンは大幅に節約できる。
テキトー教師翻訳が必要なシステムでも、中間処理を英語でやって最後だけ日本語化するというパターンが有効です。
RAGとトークン設計
室谷もう1つ加えると、RAGシステムでの検索結果の件数をコントロールすることも重要です。「関連度の高い情報だけをN件入れる」と「とにかく全部入れる」では、コストが数倍変わることがある。
テキトー教師講座でRAGシステムを作るときに「検索結果を何件入れますか?」って必ず確認するんですが、初めて作る人は「多ければ多いほどいい」って思いがちなんですよ。実際は精度とコストのバランスを考えて設計する必要があります。
室谷上位5件でいいのか、上位20件必要なのか、これはタスクによって変わる。でも上位5件で十分なケースが意外と多いですね。
ChatGPTとトークンの関係をもっと深く理解する
Web版ChatGPTとAPIでの違い
室谷ここまで説明してきて気づくのは、「一般ユーザーとして使うChatGPT」と「APIとして使うChatGPT」でトークンの体験がまったく違うということですよね。
テキトー教師Web版だとトークンを直接意識する場面はほとんどないですよね。制限に引っかかったときに「なんか使えなくなった」って感じるくらいで。
でもAPIだとトークンがそのままお金に直結するので、嫌でも意識するようになります。
でもAPIだとトークンがそのままお金に直結するので、嫌でも意識するようになります。
室谷.AIのコミュニティで「ChatGPTを業務自動化に使いたい」って言うメンバーには、まずAPIの仕組みを理解してもらう必要がある。Web版の感覚でAPIを使うと、コスト見積もりが外れてびっくりすることになります。
トークン数が多いと精度が下がる?
テキトー教師「コンテキストウィンドウが大きいほど何でも入れていい」かというと、そうでもないんですよ。海外の研究で "lost in the middle" 問題として知られていて、コンテキストの真ん中あたりにある情報はモデルが見落としやすいという話があります。
室谷これ面白いんですよね・・・。100万トークンのコンテキストウィンドウがあっても、モデルが均等に全体を参照しているわけじゃない。
コンテキストの先頭と末尾の情報が優先されやすい傾向がある。
コンテキストの先頭と末尾の情報が優先されやすい傾向がある。
テキトー教師だから長文ドキュメントを渡すとき、重要な情報をランダムに置くんじゃなくて「最初か最後に置く」という設計が効果的です。
室谷これもRAG設計の話につながってくるんですよね。関連度の高い情報だけを厳選して入れる方が、無差別に大量に入れるよりも精度が高くなることが多い。
コンテキスト制限を超えたときの代替設計
テキトー教師コンテキスト上限を前提とした設計の話をすると、大きく2つのアプローチがあります。1つ目が「チャンク処理+サマリー積み上げ」で、2つ目が「RAGによる外部記憶」です。
室谷チャンク処理は「長い文書を分割してバッチで処理する」方式で、コンテキストウィンドウに収まるサイズに区切って順番に処理していく。各チャンクのサマリーを積み上げて最後に統合するという流れです。
テキトー教師RAGは「全部入れるんじゃなくて、必要な情報をリアルタイムで検索して入れる」方式ですね。メモリを無限に拡張するイメージ。
ドキュメント量が多くなるほどRAGの方が有効になります。
ドキュメント量が多くなるほどRAGの方が有効になります。
室谷MYUUUのプロジェクトでも、社内ドキュメントが数千件以上あるお客さんにはRAGを提案することが多いですね。コンテキストウィンドウに全部入れようとするとコストも速度も話にならない。
ChatGPTのトークンに関するよくある質問
ChatGPT無料版のトークン制限は?
テキトー教師無料版(Free)ではGPT-5.2へのアクセス自体に回数制限があります。「1日〇回まで」という固定値ではなく、システムの状況によって変動するため、公式ので最新情報を確認してください。
室谷無料でも十分使えるんですが、上限に達すると数時間待つか、Plusにアップグレードするかの選択になります。
トークン上限に達したときの対処法は?
テキトー教師選択肢は3つあります。
- 新しいチャットを始める(会話履歴がリセットされる)
- 重要な内容だけを抜き出して新しいチャットに持ち込む
- 長い会話の場合は、途中で「ここまでの内容を要約してください」と依頼してから新チャットに貼り付ける
室谷「要約してから持ち込む」が一番賢い方法ですね。長い会話ほど後半のやりとりが重要なことが多いので、初期のやりとりは要約してコンパクトにするのが有効です。
日本語と英語でトークン数はどれくらい違うか?
室谷目安として、同じ内容を英語と日本語で書くと、日本語の方が3〜4倍のトークンを消費します。「Hello, how are you?」は4トークン程度ですが、「こんにちは、お元気ですか?」は10〜15トークン程度になります。
テキトー教師OpenAIのTokenizerツールで実際に比べてみると体感できます。日本語が意外と「重い」んだとわかる。
APIコストを真剣に削減したい場合は、プロンプト部分だけ英語にすることを検討してみてください。
APIコストを真剣に削減したい場合は、プロンプト部分だけ英語にすることを検討してみてください。
tiktokenはどのモデルに対応しているか?
室谷tiktokenはOpenAIの主要モデルに対応しています。GPT-4o系のエンコーディング(cl100k_base)が現在の標準です。
テキトー教師tiktoken.encoding_for_model("gpt-4o") のように指定するのが確実です。古いモデル名を指定するとエラーが出るので、で対応モデルを確認してください。ChatGPTのトークン数を確認する方法は?
室谷API利用の場合、レスポンスの
usage フィールドに prompt_tokens、completion_tokens、total_tokens が返ってきます。これをログとして記録しておけば使用量の把握が簡単です。
テキトー教師Web版ChatGPTではUIに直接トークン数が表示されないので、事前に確認したい場合はOpenAIの公式Tokenizerツールかtiktokenライブラリを使うのが確実です。
まとめ:ChatGPTのトークンを理解すると何が変わるか
室谷まとめると、トークンを理解すると「なぜ長い会話になると精度が落ちるのか」「なぜAPIコストが思ったより高いのか」という疑問が全部解決するんですよね。根本的な仕組みがわかると、使い方の設計が変わります。
テキトー教師講座でこの話をした後に「APIを本格的に使ってみようと思います」って言う人が増えるんですよ。コスト感覚がつかめると、怖くなくなるんだと思います。
室谷Web版のChatGPTユーザーにとっても、「コンテキストウィンドウを超えたら新しいチャットに要約を持ち込む」という使い方を知っているだけで、作業効率がかなり変わります。
テキトー教師今後もAIモデルのコンテキストウィンドウは拡大し続けると思いますが、トークンの概念自体は変わらないですね。「AIがテキストを処理する単位」として理解しておくと、ChatGPT以外のモデルにも同じ考え方が使えます。
室谷ChatGPT Web版を使っているだけなら、正直トークンをそこまで意識しなくても使えます。でも業務自動化やAPIを使ったアプリ開発に踏み出すなら、今回の内容は必須知識です。
.AIのコミュニティでもAPIを使いこなせている人とそうでない人の差はここにあることが多いです。
.AIのコミュニティでもAPIを使いこなせている人とそうでない人の差はここにあることが多いです。
