見出し画像

AI課金の謎を解く|トークンとは何か、AIの料金と精度を決める最小単位

※図解はデータを基にTrexが作成

AIを使っていて、「なんでこれで料金がかかるんだろう」とか、「長く会話していたら、さっき伝えたことを忘れられた」と感じたことはありませんか。実はこの両方とも、たった一つの言葉で説明がつきます。それが「トークン」です。地味な用語ですが、ここを分かっているかどうかで、AIにかかるお金も、引き出せる成果も、けっこう変わってきます。今日はこの一語を、できるだけやさしく解きほぐします。

ひとことで言うとトークンとは、AIが文章を読み書きするときの最小単位。料金も、一度に扱える量も、すべてこれで決まります。

僕はTrex(Tレックス)。AIブリッジエンジニアとして、AIを毎日実務で使い倒しています。自己紹介はこちら


🔍 トークンって、結局なに?

AIは文章を、僕たちが思う「単語」や「文字」ではなく、「トークン」という独自の単位に区切って処理しています。この区切り作業をするのが「トークナイザー」という仕組みです。

※図解はデータを基にTrexが作成

たとえば英語の「tokenization」という単語は、AIの中では「token」と「ization」のように分割されることがあります。逆に「Hello」のようなよく使う単語は、まるごと1トークンです。目安としては、英語なら1トークンがだいたい4文字、単語にして0.75語くらい。つまりトークンは「単語よりちょっと細かい、文章のかけら」だと思ってください。

なぜ単語より細かく区切るのか、と思うかもしれません。理由は、世の中のすべての単語をそのまま覚えておくのは無理があるからです。そこでAIは、よく出てくる文字のかたまりを「部品」として持っておき、初めて見る単語も、その部品の組み合わせで表します。珍しい言葉や専門用語ほど細かく割れて多くのトークンになりやすいのは、このためです。逆に、ありふれた言葉は少ない部品でまかなえるので、その分トークンも少なく済みます。

イメージとしてはレゴのブロックに近いです。僕たちが文章を渡すと、AIはそれをいったん細かいブロックに分解し、そのブロック単位で読み、ブロック単位で組み立て直して返してくる。だから「文字数」と「トークン数」はイコールではありません。ここが最初のポイントです。

感覚をつかむために具体例を挙げます。英語の「Hello, how are you?」という短い一文は、だいたい5〜6個のトークンに分かれます。長めの文章なら、1ページぶんでざっくり数百トークンといったところです。普段は意識しませんが、僕たちがAIに送った瞬間、文章は裏側でこうした細かいかけらに変換されているわけです。

⚙️ なぜ日本語はトークンを「食う」のか

ここで日本語ユーザーにとって大事な話になります。英語は単語がスペースで区切られているので、トークンに分けやすい言語です。一方の日本語は、単語の切れ目がはっきりしません。そのため1文字が1トークン、ときには1文字が複数トークンになることもあり、同じ意味の文章でも日本語のほうがトークン数が多くなりやすいのです。ある解説では、日本語でのAPI利用コストは英語の2倍以上になるとも指摘されています。

※図解はデータを基にTrexが作成

なぜこれがお金の話に直結するのか。多くのAIサービスは、APIの利用料金をトークン数で計算します。しかも、こちらが送る文(入力)とAIが返す文(出力)は別々にカウントされ、出力のほうが単価が高いのが一般的です。つまり、長すぎるプロンプトや無駄な前置きは、そのまま料金として跳ね返ってきます。

日本語ユーザーとして、ざっくりの目安を1つ持っておくと便利です。全角の文字は、おおむね1文字あたり1トークン前後、場合によってはそれ以上かかると見ておくと、見積もりが大きく外れません。たとえば数百字のメッセージを送れば、それと同じくらいか、それ以上のトークンを送っている、という感覚です。文字数の感覚をそのままトークンの感覚に重ねておくと、長すぎる文章に自然とブレーキがかかります。

出力の単価が高いのは、AIが一語ずつ計算しながら文章を生み出す処理そのものに負荷がかかるからです。だから「もっと長く、詳しく答えて」とお願いするほど、料金は静かに増えていきます。ここを知らないと、なぜか月末の請求が膨らんでいる、という事態になりがちです。

具体的に考えてみます。たとえば長いマニュアルを毎回まるごと貼り付けて質問していると、その貼り付けた文章は、質問のたびに「入力」としてカウントされます。同じ資料を10回貼れば、単純におよそ10回ぶんのトークンがかかるわけです。本人は質問を1つしているつもりでも、裏では毎回ぶんの容量を送り直している。これが、気づかないうちに料金がふくらんでいく、いちばんありがちなパターンです。

💡 トークンが見えると、AIの使い方が変わる

トークンにはもう一つの顔があります。それが「コンテキストウィンドウ」です。AIが一度に扱えるトークン数には上限があり、入力と出力の合計をこの枠の中に収めなければいけません。そして枠を超えると、古い情報から順に切り捨てられていきます。さきほどの「長く会話していたら忘れられた」の正体は、まさにこれです。AIが薄情なわけではなく、単純に枠からあふれているのです。

よくある失敗がこれです。長いマニュアルを全文貼り付けてから、質問を何度も重ねていく。すると会話が進むほど、最初に貼ったマニュアルが枠の外へ押し出され、AIが前半を読んでいないかのような返事を始めます。本人は「ちゃんと渡したのに」と思っているのに、AIの手元にはもう残っていない。これも、トークンという容量の話だと知っていれば防げます。

では、これを知ったうえで何をすればいいか。僕が実際にやっているのは次の3つです。1つ目は、資料を丸ごと貼り付けず、必要な箇所だけに絞って渡すこと。2つ目は、長い作業では会話を区切り、それまでの要点を要約して次に引き継ぐこと。3つ目は、コストを抑えたいときは指示を英語で書いて日本語で出力させたり、軽いモデルを使い分けたりすることです。どれも特別な技術はいりません。「トークンを意識する」という視点を持つだけです。

もう少し具体的に補足します。1つ目の「絞って渡す」は、マニュアル全文ではなく、関係する見出しや段落だけを抜き出して貼る、というイメージです。2つ目の「区切って引き継ぐ」は、会話が長くなってきたら「ここまでの要点はこの3つ」と自分でまとめ、新しい会話にはその要約だけを持ち込むやり方です。前のやり取りを丸ごと引きずらないので、容量にも料金にもやさしくなります。

4つ目として、僕は「どのくらいトークンを使っているか」をときどき測るようにしています。トークン数をざっくり数えてくれるツールがあり、長い指示文を投げる前に一度通してみると、想像以上の量で驚くことがあります。測る習慣があるだけで、無駄な長文を反射的に削れるようになります。最初に一度だけ測っておけば、あとは感覚でだいたい分かるようになるので、手間もすぐに元が取れます。

🙋 僕はトークンを「文字」ではなく「お金と時間」で見ている

僕はAPIを毎日回す立場なので、トークンを「文字数」だとは思っていません。「お金」であり「処理時間」だと思って眺めています。長い会話の途中で急にAIの答えがズレ始めたら、まず疑うのはトークン上限。料金が想定より膨らんでいたら、たいてい無駄に長い入力が原因です。

もう一つ、僕がよくやるのは、送信ボタンを押す前に「この一文は本当に要るか」と一拍おくことです。AIは丁寧な前置きを求めていません。結論と、判断に必要な材料だけを渡したほうが、答えは速く、料金も軽くなります。トークンを意識するというのは、結局のところ「相手に渡す情報をそぎ落とす」という、ふだんの文章術とよく似た話なのだと思っています。難しく身構える必要はありません。

大事なのは、トークンを意識すると「料金も精度も自分でコントロールできる」ようになることです。AIは魔法ではなく道具です。道具の燃費と容量を知っているかどうかで、毎日の使い心地は大きく変わります。「すごい」で終わらせず「で、どう回すか」に落とし込む。これは僕がずっと持っている基準です。

📝 まとめ

料金も、忘却も、突きつめると全部トークンで説明できます。最初に挙げた「なんで料金がかかるのか」「なんで忘れるのか」という2つの疑問は、どちらもこの一語が答えでした。トークンが「見える」ようになると、AIは急に御しやすい道具に変わります。難しい計算は不要です。まずは「自分の文章はトークンというかけらに分けて読まれていて、それがお金と容量に直結している」。これだけ持って帰ってもらえれば十分です。

🔗 その他のマガジン記事は以下をご確認ください!
https://note.com/trex_ai/m/m9ea42d92706b

🔗 参考リンク

いいなと思ったら応援しよう!