AIのトークン数を見積もる方法|日本語プロンプトの長さと費用を考える
日本語の文字数からAIのトークン数を概算し、モデル別の測定結果と入出力単価から費用を見積もる手順を、誤差が出る理由とともに解説します。
AIに長い文章やコードを渡すとき、文字数だけで「何文字まで入るか」「1回いくらかかるか」を判断するとずれます。AIが処理する単位はトークンだからです。企画時は概算し、上限や予算に近づいたら対象モデルで測り、実行後はAPI(プログラムからAIを呼ぶ仕組み)の利用量を記録しましょう。
文字数とトークン数は違う
トークンは、AIが文章を読み書きするときの細かな単位です。1トークンが1文字になる場合もあれば、単語の一部、句読点、先頭の空白などが1つの単位になる場合もあります。同じ文字数でも、文章の内容や使うモデルによってトークン数は変わります。
OpenAIの公式説明にある「1トークンは約4文字」という目安は英語向けです。日本語の見積もりへ、その比率をそのまま当てはめるべきではありません。日本語、英数字、記号、コードが混ざるほど、単純な文字数換算の誤差が読みにくくなります。
画面に貼った本文だけが入力の全部とも限りません。APIではシステム指示、会話履歴、ツール定義なども入力に含まれることがあります。
日本語で誤差が出る理由
文章をトークンへ分割する規則は、トークナイザーと呼ばれます。規則は提供会社だけでなく、モデルやエンコーディングによっても異なります。OpenAIは、正確な数を得るには対象モデルに対応するTokenizerまたはencoding_for_modelを使うよう案内しています。
日本語へ半角英数字、ファイル名、記号、コードが混ざると、どこで分割されるかは見た目だけでは分かりません。漢字をひらがなへ変える、空白を足すといった変更でも、文字数と同じ比率では増減しないことがあります。
トークナイザー自体も更新されます。Anthropicは、対象モデルを指定して数え直し、以前のモデルで測った値を流用しないよう案内しています。「日本語は1文字で必ず何トークン」と固定せず、概算値には幅を持たせます。
概算の使いどころ
概算は、まだモデルや全文が決まっていない初期判断に向いています。たとえば「短い質問を100件処理する案」と「資料を毎回丸ごと渡す案」のどちらが重いかを比べるなら、厳密な1トークン単位の測定は不要です。
次の順に数えます。
- 依頼文、本文、コード、会話履歴など入力へ入る文字列を洗い出す
- 回答の長さを短め・標準・長めの3通りで置く
- 文字数をトークンへ概算し、下限と上限の幅で持つ
- 呼び出し回数を掛けて、月間の利用量を出す
サイト内のトークン見積りツールを使う場合も、結果はモデル共通の確定値ではなく比較のための概算として扱います。費用の粗い式は次のとおりです。
概算費用 =
入力トークン数 ÷ 1,000,000 × 100万入力トークン単価
+ 出力トークン数 ÷ 1,000,000 × 100万出力トークン単価
キャッシュ入力や追加ツールに別料金があれば、その項目も足します。最新単価は変わるため、計算時点の公式料金表で確認してください。月額契約とAPIの従量課金も同じとは限りません。料金全体の考え方はClaude Codeの料金の考え方で整理しています。
正確な測定が必要な場面
次の場面では、実際に使うモデル向けの測定へ進みます。
- 入力がモデルのコンテキスト上限に近い
- 大量の文書を繰り返し処理する
- 料金提示や予算上限の自動停止に使う
- システム指示、ツール、画像、PDFを含む
- モデルを変更し、以前と同じ処理の費用を比較する
見積もり方法は、必要な精度に合わせて選びます。
| 方法 | 主な用途 | 数えるもの | 注意点 |
|---|---|---|---|
| 文字数からの概算 | 企画初期の案比較 | 本文、指示、想定出力 | 日本語やコードでは誤差が出るため、幅で持つ |
| 対象モデルのトークナイザー | 実行前の上限確認 | 実際に送るテキスト | システム指示やツール定義を別途含める |
| 提供会社のカウントAPI | 構造化入力の事前確認 | メッセージ、ツール、画像、PDFなど | 公式のカウントでも実使用量と少し異なる場合がある |
| API応答の利用量 | 実行後の原価記録 | 入力、キャッシュ入力、出力など | 料金表の区分と同じ列に分けて保存する |
OpenAI系なら対象モデルに対応するTokenizerやtiktokenで本文を測り、実行後はAPI応答のusageにある入力・出力・キャッシュ関連の値を確認します。Anthropicは、メッセージ作成と同じ構造化入力を渡せるToken Counting APIを提供しています。ただし同社の説明では、この事前カウントも推定値であり、実際の入力数とわずかに異なる場合があります。
正確さが必要なら、秘密情報を伏せた代表データを複数測り、最小・中央値・最大を残します。長い例やコードを含む例も混ぜると、予算超過を見つけやすくなります。
入力と出力を分けて考える
費用見積もりでは、「合計1万トークン」だけを記録してはいけません。公式料金表では、入力、キャッシュされた入力、出力などが別の区分・単価になっている場合があります。OpenAIの利用量APIにも、入力と出力を分けた項目があります。Anthropicの料金表もBase Input TokensとOutput Tokensを別列で示しています。
入力には仕様書、過去の会話、検索結果、ツールの実行結果も加わります。出力は作らせる内容で変わり、1語の分類と長い記事では同じ入力でも費用が違います。
記録表には、少なくとも次の列を分けて持ちます。
実行日 / モデル / 件数 / 入力トークン / キャッシュ入力 /
出力トークン / その他の有料ツール / 合計費用 / 処理内容
月額サービスとAPIは請求の仕組みが別の場合があります。月額プランの利用回数を、APIのトークン単価へ機械的に換算しないでください。
継続して比較する場合は、Claude CodeとCodexのコストを記録する方法のように、料金だけでなく作業時間ややり直しも同じ台帳へ残すと判断しやすくなります。
長い指示を削る順番
短くする目的は、必要な条件まで消すことではありません。曖昧な指示でやり直しが増えれば、1回の入力を少し削っても総トークンは増えます。指示が長すぎるときの整理方法も参考にしながら、次の順に削ります。
- 同じ注意や背景説明の重複を1か所へまとめる
- 今回使わない会話履歴、ログ、ファイルを外す
- 長い資料は、必要な章や行だけを渡す
- 出力形式を例で固定し、説明の往復を減らす
- 大きな仕事を「調査」「変更」「検証」に分ける
完成条件、禁止事項、対象ファイル、検証方法は残します。ここを削ると、望まない調査や作り直しが増えます。
最初に概算で重い箇所を見つけ、対象モデルで測り、実行後の利用量との差を記録します。その差を次回へ反映すれば、自分の作業に合う見積もりへ近づきます。モデル名と確認日もセットで残しましょう。
よくある質問
日本語1文字は何トークンですか?
固定の換算率はありません。漢字、ひらがな、英数字、記号の混ざり方とモデルのトークナイザーで変わるため、企画時は幅で概算し、上限や予算に近い処理は対象モデルで測ります。
ChatGPTやClaudeの画面で使う量もAPI料金から計算できますか?
そのままでは計算できません。月額サービスとAPIは料金体系や利用制限が異なる場合があるため、契約中のプランとAPI従量課金を分けて確認してください。
出力トークン数は事前に分かりますか?
確定はできません。短め・標準・長めの3通りを置き、出力上限を設定できる場合は上限も含めて予算を見積もります。実行後はAPI応答の利用量で実績へ置き換えます。
キャッシュされた入力は必ず安くなりますか?
モデルや処理方式によって対象条件と単価が異なります。キャッシュを前提に最安値だけで予算を組まず、通常入力の場合も計算し、実行後にキャッシュ利用量を確認します。
公式情報
以下はすべて2026-07-24確認です。料金、モデル仕様、トークナイザーは更新されるため、利用時点でも再確認してください。
- OpenAI「トークンとは何か、数え方」: https://help.openai.com/ja-jp/articles/4936856-%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B%E6%95%B0%E3%81%88%E6%96%B9
- OpenAI Tokenizer: https://platform.openai.com/tokenizer
- OpenAI API「Usage」: https://developers.openai.com/api/reference/resources/admin/subresources/organization/subresources/usage
- OpenAI API「Models」: https://developers.openai.com/api/docs/models
- OpenAI API「Prompt caching」: https://developers.openai.com/api/docs/guides/prompt-caching
- Anthropic「Token counting」: https://platform.claude.com/docs/en/build-with-claude/token-counting
- Anthropic「Pricing」: https://platform.claude.com/docs/en/about-claude/pricing
続き(結論と実データ)はnoteに置いています
ここでは手順のところまで書きました。実際に出た数字、うまくいかなかった条件、そのまま使える設定ファイルは、 note の記事にまとめてあります。