你每天都在用 AI,但你真的知道它是怎么"读懂"你说的话的吗?


哈喽,大家周五晚上好,我是顾北!

问大家一个问题,你知道我们嘴边常说的Token是什么吗?

如果你最近关注 AI,一定反复看到一个词——Token

"这个模型支持 128K Token 上下文"、"API 按 Token 计费"、"输出 Token 比输入贵"……这些说法天天见,但 Token 到底是什么?为什么所有大模型都绕不开这个词?

今天我们不聊论文,不讲公式,就用最直白的方式,把 Token 这件事讲清楚。

图片

Token 这个词,比 AI 老多了!

Token 这个英文词的核心含义是"代表某种东西的小物件"——代币、凭证、令牌,都是它。

在进入 AI 领域之前,Token 已经在很多地方出现过了:

游戏厅的代币——你小时候在游戏厅投的那个硬币,就是 Token。它不是真正的钱,但在街机面前,它"代表"了钱。

程序员的登录令牌——如果你做过开发,一定用过 Token 鉴权。你登录成功后,服务器给你发一个 Token,就像进门后发了一条手环。之后你每次请求,带上这条手环,服务器就知道"这人验证过了,放行"。手环过期了,就得重新验证拿新的。

区块链的数字代币——2017 年前后的币圈热潮,各种 Token 满天飞,本质上也是"用一个数字符号代表一份价值"。

编译器里的词法单元——这个你可能没听过,但其实早在上世纪 60 年代,编译器领域就在用 Token 了。编译器把你写的代码拆成一个个最小的有意义片段(关键字、变量名、运算符),这些片段就叫 Token。而这个用法,恰恰是今天大模型 Token 的直接前身。

你发现了吗?不管在哪个领域,Token 的核心逻辑从来没变过。

用一个"小东西"来代表一个"大东西"。

安全 Token 用一串字符代表你的整个身份信息;大模型 Token 用一个数字 ID 代表一段文本的含义。以小代大,这就是 Token 的精髓。

然后到了 2017 年,Google 发表了著名的论文《Attention Is All You Need》,提出了 Transformer 架构。在这篇论文以及后续的 GPT、BERT 等模型中,Token 被用来指代模型处理文本的基本单位。2022 年底 ChatGPT 爆火,Token 这个词才真正"出圈"——因为 API 按 Token 计费,大家突然都需要关心"我这句话花了多少 Token"。

🧱 大模型的 Token:语言的"乐高积木"

理解大模型 Token 最好的方式,是想象乐高积木

乐高工厂不会给你一整块完整的城堡,而是给你一堆标准化的小积木块。你可以用这些小块,拼出城堡、飞机、恐龙——拼出任何你想要的东西。

大模型的 Tokenizer(分词器)干的就是类似的事:把你输入的文字拆成一块块"语言积木"。

每一块积木就是一个 Token。它可能是一个完整的词(比如英文的 "hello"),也可能是一个词的一部分(比如 "un" + "believ" + "able"),甚至可能只是一个字符。

关键在于,模型从来不直接"读"文字。它把每个 Token 转换成一个数字 ID,然后在数字的世界里做计算。

你看到的是:今天天气真好

模型看到的是:[12043, 98234, 4521, 8832]

它从来没有"读"过哪怕一个字,它只是在数字之间找规律。 但就是靠着这种方式,它学会了人类语言的逻辑。这大概是整个 AI 领域最"魔幻"的事情之一。

图片

✂️ 分词器是怎么"切"文本的?

那么问题来了:模型怎么决定从哪里"切"一刀呢?

目前主流的方法叫 BPE(字节对编码),听着吓人,原理其实很朴素:

第一步:把所有文本拆成最小的单位——单个字符。比如 hello 变成 h, e, l, l, o

第二步:在海量文本中统计,哪两个字符最常"挨在一起"出现?比如 t 和 h 总是形影不离,那就把它们合并成一个新 Token th

第三步:继续统计,th 和 e 又经常连着?合并成 the

如此反复,常见的组合不断被"打包"成更大的积木块,直到积木种类达到预设上限(通常是几万到十几万种)。

最终效果就是:

  • 超级常见的词(the、is、hello)→ 整个词就是 1 个 Token

  • 常见的词根词缀(un-、-ing、-tion)→ 各自 1 个 Token

  • 罕见的长词 → 被拆成好几个 Token

来看几个实际例子:

文本

Token 切分

Token 数量

Hello

Hello

1 个

ChatGPT

Chat + G + PT

3 个

今天天气真好

今天 + 天气 + 真 + 好

4 个

这里有一个有趣的类比。如果你用过 Elasticsearch 的 IK 分词器,会发现和 Tokenizer 很像——都是把一段文本切成更小的单元。但它们的目的不一样:

  • ES 分词器像语文老师:切出来的每个词都要有实际语义,因为它要服务于搜索匹配。

  • 大模型 Tokenizer 像快递打包员:目标是用最少的"箱子"装下所有东西,至于一个箱子里的东西有没有逻辑关联,不重要——模型后面会自己搞清楚。

💰 Token 和钱的关系

说到大家最关心的——Token 怎么收费?

目前大模型 API 的计费逻辑是:按 Token 数量收费,而且分"输入"和"输出"两种价格。

这就像去餐厅吃饭:

你把菜单递给厨师看(输入 Token),成本不高。但厨师给你做出一道菜来(输出 Token),那可就费功夫了。

所以输出 Token 通常比输入贵 3-5 倍。

2026 年一些主流模型的定价参考(每百万 Token):

模型

输入价格

输出价格

Claude Sonnet 4

$3

$15

GPT-4o

$2.50

$10

DeepSeek V3

$0.27

$1.10

还有一个让中文用户有点"吃亏"的事实:同样的语义内容,中文消耗的 Token 数量通常比英文多。

一般来说,1 个英文字符大约 0.3 个 Token,1 个中文字符大约 0.6 个 Token。也就是说,同样一句话,中文版本要花更多 Token,自然也就更贵。

不过不同模型的分词器差异也很大。腾讯混元大模型做到了 1 个 Token 约等于 1.8 个汉字,而通义千问大约是 1 个 Token 对应 1 个汉字。分词器越"懂中文",你用中文就越省钱。

图片

🧠 上下文窗口:模型为什么会"忘事"?

你有没有过这种体验:和 AI 聊了很久,突然发现它"忘了"你开头说过的话?

这不是 AI 在犯傻,而是因为上下文窗口的限制。

上下文窗口就是模型一次对话中能"看到"的 Token 总量。比如一个 128K Token 的窗口,大约相当于一本 10 万字的书。

超出窗口范围的内容,模型看不见。 注意,不是"忘了",是根本没看到——就像你只能透过一扇窗户看风景,窗户外的东西你再怎么努力也看不到。

所以当你和 AI 对话越来越长,最早的那些内容会逐渐"滑出"窗户,模型就好像"失忆"了一样。这也是为什么,有时候把重要信息重新提一遍,AI 立刻就"想起来"了——因为它重新回到了窗户里。

🤔 Token 到底该翻译成什么中文名?

最后一个有意思的问题:Token 有标准的中文名吗?

说实话,还真没有一个让所有人都满意的翻译:

  • "令牌" — 安全领域的翻译,有"凭证"的意味。但放在大模型语境下,总觉得少了点什么。

  • "代币" — 区块链圈子的翻译。一说代币,脑子里马上浮现出各种虚拟货币。

  • "词元" — 学术界 NLP 领域最正式的翻译,强调"词的基本单元"。但你跟普通人说"词元",对方只会一脸茫然。

  • "标记" — 最接近直译,但太模糊了,什么都能标记。

所以目前最主流的做法是:不翻译,直接用 Token。

就像 WiFi、App、Bug 这些词一样,Token 已经成为一个被中文互联网广泛接受的外来概念。硬要翻译,反而会造成不同领域的人互相听不懂的混乱——你说"词元",搞安全的人以为你在说令牌;你说"代币",人家以为你要炒币。

有时候,不翻译就是最好的翻译。

图片

写在最后

Token 这个概念,说大不大,说小不小。

往小了说,它只是一个"把文字切成小块再编个号"的技术细节。但往大了说,Token 是人类语言和机器计算之间的桥梁——正是因为有了这座桥,AI 才能从数字的世界里,学会理解我们说的每一句话。

下次你再看到"Token"这个词的时候,不妨想想:你眼里的文字,在 AI 眼里只是一串数字。而正是这些数字之间微妙的关系,构成了机器对语言的全部"理解"。

Token 虽小,却是 AI 理解世界的起点。


你对 Token 还有什么疑问?或者有什么有趣的 Token 相关经历?欢迎在评论区聊聊。

我是顾北,关注我,我们下期再见!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐