为什么聪明绝顶的 AI,数不清 strawberry 里有几个 r?

这不是段子。前两年,全世界的网友排着队,拿这个小学水平的问题去考各家最顶尖的 AI:strawberry,草莓这个英文单词,里面有几个字母 r?标准答案是三个。结果一大票能写代码、能考律师证的 AI,张口就答:两个。你怎么纠正,它还跟你犟。

很多人看完哈哈一笑:AI 也不过如此嘛。但今天我要告诉你,AI 数错这个数,不是因为它笨,而是因为它从头到尾,根本就看不见那几个字母。它看世界的方式,和你想的完全不一样。而要讲清楚这件事,就绕不开 AI 世界里最底层、也最值钱的一个词:token

AI 读文字,读到的到底是什么?

先从第一性原理问起:AI 读我们写的字,它读到的到底是什么?

你可能觉得,这还用问,它读的当然是字啊。还真不是。计算机的世界里只有数字,AI 也一样。任何文字,在喂给 AI 之前,都必须先被切成一小块一小块,然后给每一块编上一个号。AI 真正读到的,是一串编号。这个被切出来的块,就叫 token。有人把它翻译成词元,但说实话,这个中文名远没有 token 本身流行,所以我们就直接叫它 token。

活字印刷:一个穿越时代的类比

这么说还是有点抽象。来,我带你走进一个地方,你一下子就懂了。

想象你穿越回了古代,走进一家活字印刷的作坊。你递给排字师傅一篇文章,想印一百份。师傅接过来怎么干?他不会拿刀现刻你的文章。他面前立着一面巨大的字盘墙,墙上成千上万个小格子,每个格子里躺着一块铸好的铅字。他做的事,是把你的文章拆开,对着字盘,一块一块把铅字拣出来,在排字台上码好,然后上机器开印。

AI 读文字,干的就是排字师傅这个活,而且每个角色都能对上号:

  • 那一块块铅字,就是 token。一块铅字不一定是一个字——像“的、了”这种单字,单独铸一块;但像“今天、可以”这种高频词,干脆铸成一整块。所以一个 token 有时是一个字,有时是半个词,有时是一整个词。
  • 那面巨大的字盘墙,叫词表——这个 AI 认识的全部铅字的清单。一个现代 AI 的字盘里,大概有十万到二十万种不同的铅字。
  • 那位决定你这句话该拆成哪几块铅字的排字师傅,就是分词器(tokenizer)。你发给 AI 的每一句话,第一站都是先过他的手:咔咔几刀,拆成一串铅字,再把每块铅字换成它的编号。

注意,重点来了:从这一刻起,AI 看到的就只有编号了。它没见过这些字长什么样,更没见过里面的字母。

解开 strawberry 之谜

现在,我们回到开头那个问题,你自己就能解开了。strawberry 这个词太常见了,在师傅的字盘里,它很可能就是一整块铅字,或者顶多拆成两三块。当你问 AI「strawberry 里有几个 r」,这相当于冲进作坊,指着师傅手里那块铅字问:这块铅字里头,藏着几个 r?

师傅懵了。他拣字、排版、收钱样样在行,可这块铅字在他手里就是一个整体。要知道里面有几个 r,他得把铅字砸开看,可 AI 没有锤子,它砸不开自己的 token,只能凭记忆里的印象猜一个。猜错了,就有了那个全网群嘲的“两个 r”。

你看,不是它笨,是它的眼睛天生就不是一个字母一个字母看东西的。同样的道理,你还能顺手解释一堆怪事:

  • 为什么 AI 口算多位数乘法容易翻车?因为长长的数字也会被切成好几块铅字,它看到的根本不是一个完整的数。
  • 为什么让它写藏头诗、数字数,经常出洋相?同一个病根:它看不见字,只看得见铅字块的编号。

上下文窗口:那张排字台面

师傅拣出来的铅字,要码在排字台上才能开印。这张台面有多大,决定了他一次最多能排多长的文章。AI 也有这么一张台面,名字你肯定听过,叫上下文窗口。窗口多大,说的就是台面上最多能同时摆多少块 token。

你问的话、它答的话、你们之前聊过的所有内容,全都摆在这张台面上。最早的时候,台面只能摆两千来块铅字;这几年疯狂扩张,最大的已经摸到上百万块。但台面再大也是台面——摆满了,最早放上去的铅字就得撤下来。所以你跟 AI 聊得太久,它会把你开头说的话给忘了。不是它没记性,是台面就那么大。

按 token 计费:作坊按铅字收工钱

用 AI 的接口(API),是按 token 计费的——你发进去的要钱,它吐出来的也要钱。为什么不按字数、不按次数?现在你懂了:作坊收工钱,当然按用掉多少块铅字算。

这里还有个有点扎心的冷知识。同样一个意思,用中文表达,花掉的 token 经常比英文多。为什么?因为大多数 AI 的字盘,是拿英文为主的语料铸出来的:英文的高频词都铸成了整块铅字,而中文早些年一个汉字经常要被拆成两三块碎铅字。同一句话,英文拣十块就排完了,中文可能得拣二十块,账单自然厚一截。好消息是,新模型的字盘里,中文铅字越铸越多,差距在缩小。但字盘怎么铸,决定你花多少钱,这个底层逻辑不会变。

Token 切法的源头:一个压缩文件的小窍门

这套切法是谁发明的?这段历史特别有意思。

它的源头,跟 AI 一点关系都没有。1994 年,一个叫菲利普·盖奇的程序员,在一本编程杂志上发表了一个压缩文件的小技巧:扫描一遍数据,找出最常挨在一起出现的那一对,把它们合并成一个新的;然后再扫,再合并,反复来。这个算法叫字节对编码(BPE)。它实在太朴素了,发表之后默默无闻了二十多年。

直到 2016 年,英国爱丁堡大学一个做机器翻译的研究团队突然发现:这不就是铸铅字的完美方法吗?哪些组合最常一起出现,就把它们铸成一整块;高频的合并成大块,生僻的留着小块拼。后来的各家大模型,几乎全是顺着这条路走下来的。

你品品这件事:今天这个全世界烧钱最凶的 AI 产业,所有模型读写世界的方式,源头居然是九十年代一本编程杂志上、一个压缩文件的小窍门。底层的好东西,真的能穿越时代。

搞懂 Token,对你有什么用?

三个马上就能用上的:

  1. 省钱。你知道了 AI 按 token 收费,而且你的客套话它也一块一块照算不误,那写提示词的时候就别铺垫寒暄了,把要求说清楚就行。对 AI 太客气,是真的要花钱的。
  2. 会喂料。你知道了台面就那么大,那把一整本书塞给 AI 之前,先想想要不要切一切、挑重点喂。很多 AI 应用在后台帮你干的,其实就是这件事。
  3. 会判断。再看到 AI 在数字母、算大数、写藏头诗这种小事上翻车,你不会再大惊小怪地说 AI 不行。你知道那只是铅字切法的锅,跟它聪明不聪明没关系。该信它的地方照样信,不该信的地方留个心眼。

更重要的是,你不需要学会铸字盘,也不需要会写分词器。AI 时代,不是什么都得自己学会做。你只需要掌握最小的那块底子——比如今天这块——剩下的九成九,交给 AI 去干。学会怎么指挥一个专家,比自己变成一个专家,重要一万倍。

最后留个问题给你:你有没有碰到过 AI 在某件特别简单的小事上,翻车翻得莫名其妙?现在你可以回过头猜一猜,那是不是 token 的锅。欢迎到评论区讲讲你的翻车现场,我们一起断个案。如果你想顺着今天的话题继续深挖,记住这几个关键词:token、分词器、上下文窗口。然后去各大视频平台,搜索这几个关键词,开始你的打怪升级之旅。我是王利杰,我们下期见。


📺 更多元知识视频,搜索 Wiki4What | 🌐 blog.wiki4what.com