企画会議の前に、担当者がAIに頼んだ。「キャッチコピーの候補を、15文字ちょうどで10本出して」。
返ってきた候補を数えると、14文字や17文字が混ざっていた。
担当者は笑った。AIはまだまだだ、と。
だが、笑って済む話ではない。数え直さずに会議へ出せば、条件を外れた案がそのまま並ぶ。
どの一本が外れたかは、人が数えるまで分からない。
では、数え間違いの責任は、AIと頼む側のどちらにあるのか。
AIが読んでいる「部品」の正体
答えの手がかりは、AIの目に何が映っているかにある。
14文字になった一本も、AIの側では、いくつかの番号が並んだ列にすぎなかった。AIには、文字が見えていない。
番号の一つひとつが指す部品を、トークンと呼ぶ。
トークンは、単語と一文字の中間にあたる部品だ。サブワードとも呼ぶ。
区切りは、どの並びがよく現れるかで決まる。
区切りを作る代表的な手順が、BPE(Byte Pair Encoding)である。出発点は、言葉の研究とは別の場所にあった。
1994年2月、ソフトウェア技術者のPhilip Gageが、C Users Journal誌に発表した。データ圧縮の技術としてである。
いちばん多く隣り合うバイトの組を、使っていない1バイトに置き換える。置き換えを、縮まなくなるまで繰り返す。
2016年、Rico Sennrichらが、BPEを機械翻訳に持ち込んだ。計算言語学の国際学会ACLの論文である。
狙いは、めったに出ない単語を、部品の組み合わせで表すことだった。
いまは、Transformerを土台にしたモデルの多くが、BPEを使う。手順は、次の四つだ。
- 文章を一文字ずつに分ける
- 隣り合う組が何回現れるかを数える
- 最も多い組を、一つの新しいトークンにまとめる
- 決めておいた語彙の数に達するまで、2と3を繰り返す
「low」と「lower」の二語で試す。最初は「l o w」と「l o w e r」である。
(l, o) をまとめると、「lo」になる。次に (lo, w) をまとめると、「low」と「low e r」になる。
よく出る並びほど、大きな一つの部品になる。まれな並びは、小さな部品のまま残る。
カラクリは単純だ。AIが受け取るのは、頻度で切った部品の番号の並びである。文字の並びとは別物だ。
文字数、数字、日本語で、なぜつまずくのか
先に、厄介な点を言っておく。苦手の程度は、モデルごとに違う。自分の資料で数えるまで、どれほど割を食うかは分からない。
BPEが頼りにするのは、並びの回数だけだ。単純な仕組みから、三つの苦手が生まれる。
一つ目は、文字を数えること。一つの単語が一つのトークンになると、モデルが見るのは番号一つである。
単語の中に何の文字がいくつあるかは、番号の外にある。15文字の注文は、AIにとって目隠しの注文だった。
二つ目は、数字。
ある4桁の数は、一つのトークンになる。別の4桁の数は、二つに分かれる。
数字を一桁ずつに分ける設計のモデルもある。不ぞろいへの対策だ。
最後が、言語によって割高になる点である。学習データが手薄な言語ほど、細かく分かれる。
差は小さくない。Aleksandar Petrovらは、2023年の機械学習の国際会議NeurIPSで論文を発表した。
同じ文章を各国の言葉に訳して、トークンの数を比べた。差は、最大で15倍に達した。
料金も、一度に読める量も、トークン数で数える。同じ内容でも、言語しだいで払う額と読める量が変わる。
日本語で仕事をする人は、知らないうちに割高な側に立っているかもしれない。
差がつくのは、渡し方を変えられるかどうかだ
苦手の正体が分かれば、手は打てる。
文字数を数えさせたいときは、一文字ずつ改行して書き出させてから数えさせる。
計算が要るときは、式と途中経過を書かせる。計算の道具を使わせる方法もある。
日本語の長い資料は、必要な部分に絞って渡す。
どの工夫も、自分が何を求めているかを言葉にするところから始まる。
AIに問う力とは、何を数えてほしいか、資料のどこを読んでほしいかを、先に決める力である。
次のプロンプトのかっこの中を、自分の依頼に書き換えて使える。
(例:新商品のキャッチコピー)の候補を5本出してください。
条件:(例:15文字ちょうど)
手順:候補ごとに一文字ずつ番号を振って書き出し、文字数を数えてから出力してください。
出力:(例:候補、文字数、ねらいを一行ずつ)
15文字ちょうどの候補は、どうすれば揃ったのか
担当者は、AIを笑った。だが、AIは最初から文字を見ていなかった。
冒頭の担当者に足りなかったのは、AIの能力より、「一文字ずつ書き出して数えて」の一行だった。
出典
- A New Algorithm for Data Compression(Philip Gage、C Users Journal、1994年)
- Neural Machine Translation of Rare Words with Subword Units(Sennrichほか、ACL、2016年)
- Language Model Tokenizers Introduce Unfairness Between Languages(Petrovほか、NeurIPS、2023年)
拙著『ChatGPT はじめてのプロンプトエンジニアリング』の2章1節に、AIは言葉をトークンに分けて答えを探すので、不満があればまずプロンプトを疑うという話を書きました。読むと、AIが計算を間違えたとき、能力の限界と渡し方のどちらを先に疑うかを決められます。
AIの答えが物足りないとき、疑うべきはAIか、自分の言葉か。
『ChatGPT はじめてのプロンプトエンジニアリング』
AIは言葉でしか動かない。プロンプトを暗記するのをやめ、構成要素に分解して、自分の言葉で意図を込める力を鍛える本です。
読み終えたとき、手元に残るもの
- 必須、任意、形式の三つに分けたプロンプトの構造
- 回答の質を変える、意図を込めた生きたプロンプト
- 発注と検収は人が担う、AIとの役割分担
- 章末の演習プロンプト26題
4刷重版。全国の大学図書館65館が所蔵しています(2026年10月時点)。

