📚 系列:[大模型入门:从原理到实践,技术人的认知升级指南]


一道让 GPT 答错的简单题

在 ChatGPT 刚流行的时候,网上流传着一道测试题,专门用来"整"大模型:

“单词 ‘strawberry’ 里有几个字母 r?”

正确答案是 3 个(strawberry)。

但很多早期版本的 GPT 会自信地回答"2 个"。

这让很多人觉得莫名其妙:这不是什么难题,一个小学生都能数清楚,一个"号称读过全互联网"的 AI 为什么数不对?

答案藏在这一章里。理解了 Token,你就理解了这个反直觉的现象,也理解了大模型在最底层是如何"看待"语言的。


大模型不读字母,它读 Token

人类阅读时,看到的是一个个字母,拼成单词,组成句子。

大模型不是这样工作的。它看到的不是字母,也不是单词,而是一种介于两者之间的东西,叫做 Token

Token 是大模型处理语言的最小单元。在英文里,Token 大致相当于一个词根、一个常见词,或者一个词的一部分。比如"strawberry"这个词,在大多数模型里会被切成两个 Token:strawberry——因为这两个都是常见的英文词根,模型在训练时见过很多次。

unbelievable → 3 Tokens

un

believ

able

strawberry → 2 Tokens

straw

berry

hello → 1 Token

hello

图 2-1:英文文本的 Token 切分示意。常见词通常是一个 Token,生僻词或长词会被切成多个 Token。“strawberry"被切成"straw”+“berry”,所以模型无法直接"数字母"——它从来就没有以字母为单位看过这个词。

现在你明白了:GPT 数不清 “strawberry” 里有几个 r,不是因为它笨,而是因为它根本没有以字母为单位看过这个词。它看到的是 strawberry 两个色块,要从色块里数字母,对它来说是一件需要额外推理的事——就像你被蒙住眼睛,只能靠触感摸清楚一个字的笔画数,而不是直接看。


为什么中文比英文"贵"

Token 这个概念,对中文用户来说还有一个非常实际的影响:用中文和大模型对话,要比用英文花更多的 Token

原因在于大多数主流大模型(GPT 系列、Claude 等)最初主要以英文语料训练,词表的设计对英文更友好。一个常见的英文单词通常对应 1 个 Token,而中文的情况则复杂得多。

简单来说:一个汉字,大概需要 1 到 2 个 Token 来表示。英文一个单词平均约 1.3 个 Token,但中文一个字就可能需要同样的 Token 数——而中文表达同样意思往往字数更少,但 Token 消耗不一定少。

表达相同内容,中英文 Token 消耗对比(示意) 简单问候 技术说明 长段落 200 180 160 140 120 100 80 60 40 20 0 Token 数量

图 2-2:中文(橙色)在表达相同内容时,Token 消耗普遍高于英文(蓝色)。这意味着在 Token 数量有限的上下文窗口里,中文"装得下"的内容更少。

这个差异在日常使用中影响有限,但在处理长文档、大量数据的场景下,Token 的消耗直接影响成本和能力边界。了解这一点,对你后面理解"上下文窗口"非常关键。


Token 是大模型的计费单位

说到成本,Token 还有一个现实意义:它是几乎所有大模型 API 的计费单位

你往模型里发一段话(输入 Token),模型返回一段话(输出 Token),两部分都会计入用量。所以当你看到"这个模型支持 128K 上下文",其中的 “128K” 指的就是 128,000 个 Token——大约等于一本中等厚度的小说,或者约 20 万个英文单词。

理解 Token,你就能读懂大模型产品的规格参数,也能在实际使用中做出合理的判断。


上下文窗口:模型的"工作桌"

现在来到这一章最重要的概念:上下文窗口(Context Window)

每一次和大模型的对话,模型都需要把"目前为止所有的信息"装进一个有限的空间里同时处理——这个空间就叫上下文窗口。它的大小用 Token 数量来衡量。

用一个类比来理解:把大模型想象成一位记性极好但桌子有限的顾问。

你每次发给它的内容——你的问题、你们的对话历史、你粘贴的文档——都要铺在这张桌子上。顾问只能看见桌子上的东西,桌子以外的内容对它来说不存在。

上下文窗口(Token 上限固定)

💬 对话历史
(最早的内容)

❓ 当前问题

📄 附加文档

⬇️ 超出上限时
最早内容掉落
模型看不见

图 2-3:上下文窗口就像模型的工作桌。桌子大小固定(Token 上限),对话历史、你的问题、粘贴的文档都要放在这张桌子上。桌子满了,最早的内容就会"掉落",模型看不见了。

这个类比解释了几个你可能遇到过的现象:

为什么长对话越说越"跑偏"?
随着对话轮次增加,早期的内容(你一开始设定的背景、前提条件)被新内容挤出了窗口,模型"忘了"最初的约定,回答开始漂移。

为什么把整个代码库丢给 GPT 效果不好?
一个中等规模的代码库轻松超过百万 Token,当前大多数模型的窗口装不下。即便窗口够大,信息密度太高,模型能有效"关注"的内容也会下降(这和第 3 章讲的注意力机制有关)。

为什么 AI 不记得上次对话的内容?
每次新开对话,桌子被清空,重新开始。除非产品层面做了"记忆"功能,否则上一次对话对当前对话完全不可见。


上下文窗口的军备竞赛

近几年,各家大模型在上下文窗口大小上展开了激烈竞争:

2020 GPT-3 4K Token 2023 GPT-4 8K / 32K Token 2023 Claude 2 100K Token 2024 Gemini 1.5 1M Token 2024 Claude 3 200K Token 2025 主流模型 普遍达到 128K~1M 主流模型上下文窗口的演进

图 2-4:主流大模型上下文窗口大小的演进时间线。从 2020 年的 4K 到 2025 年普遍超过 128K,增长了 30 倍以上。但窗口变大并不意味着"无限记忆"——信息在大窗口里的利用效率仍然是一个活跃的研究问题。

窗口变大是好事,但有两点需要注意:

第一,更大的窗口意味着更高的成本。处理 100K Token 的代价远高于处理 4K Token,这直接反映在 API 定价上。

第二,“装得下"不等于"处理得好”。研究发现,当上下文很长时,模型对窗口中间部分的内容关注度会下降——这个现象叫做"迷失在中间"(Lost in the Middle)。关键信息放在开头或结尾,效果通常更好。


Token 视角下重新看大模型

学完 Token 和上下文窗口,你对大模型的认知应该发生了一个具体的变化:

它不是一个可以无限对话的智能体,而是一个每次只能"看见"有限范围内的语言片段,并在这个范围内进行生成的系统。

这个限制既是工程约束,也是理解大模型行为的钥匙。几乎所有你在使用中遇到的"奇怪现象"——越说越跑偏、记不住前面说的话、处理长文档效果下降——背后都有 Token 和上下文窗口的影子。

带着这个认知,我们可以进入下一步:了解在这个有限的窗口里,模型是如何处理信息、"理解"语言的——这就是下一章要讲的 Transformer 和注意力机制。


本章小结

  • Token 是大模型处理语言的最小单元,介于字母和单词之间;
  • 大模型以 Token 为单位读取语言,而不是字母,这解释了它"数不清字母"的原因;
  • 中文每字消耗的 Token 通常多于英文每词,处理相同内容成本更高;
  • 上下文窗口是模型每次能同时处理的 Token 总量,相当于"工作桌";
  • 窗口有上限:内容装满后,最早的信息会被挤出,模型"忘记"它;
  • 大窗口不等于无限记忆——长上下文中的利用效率仍然有限。

Logo

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

更多推荐