AIが文字数を数え間違えるのはなぜか:「15文字ちょうどで10本」と頼んだら、14文字や17文字が混ざっていた

企画会議の前に、担当者が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を使う。手順は、次の四つだ。

  1. 文章を一文字ずつに分ける
  2. 隣り合う組が何回現れるかを数える
  3. 最も多い組を、一つの新しいトークンにまとめる
  4. 決めておいた語彙の数に達するまで、2と3を繰り返す
BPEは、文章を一文字ずつに分け、いちばん多く隣り合う組を一つのトークンにまとめる手順を、決めた語彙の数まで繰り返す

「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の能力より、「一文字ずつ書き出して数えて」の一行だった。

出典

拙著『ChatGPT はじめてのプロンプトエンジニアリング』の2章1節に、AIは言葉をトークンに分けて答えを探すので、不満があればまずプロンプトを疑うという話を書きました。読むと、AIが計算を間違えたとき、能力の限界と渡し方のどちらを先に疑うかを決められます。

AIの答えが物足りないとき、疑うべきはAIか、自分の言葉か。

ChatGPT はじめてのプロンプトエンジニアリング 表紙

『ChatGPT はじめてのプロンプトエンジニアリング』

AIは言葉でしか動かない。プロンプトを暗記するのをやめ、構成要素に分解して、自分の言葉で意図を込める力を鍛える本です。

読み終えたとき、手元に残るもの

  • 必須、任意、形式の三つに分けたプロンプトの構造
  • 回答の質を変える、意図を込めた生きたプロンプト
  • 発注と検収は人が担う、AIとの役割分担
  • 章末の演習プロンプト26題

4刷重版。全国の大学図書館65館が所蔵しています(2026年10月時点)。

Amazonで見る

著者プロフィール・お問い合わせ