系列[大模型入门从原理到实践技术人的认知升级指南]一道让 GPT 答错的简单题在 ChatGPT 刚流行的时候网上流传着一道测试题专门用来整大模型“单词 ‘strawberry’ 里有几个字母 r”正确答案是 3 个strawberry。但很多早期版本的 GPT 会自信地回答2 个。这让很多人觉得莫名其妙这不是什么难题一个小学生都能数清楚一个号称读过全互联网的 AI 为什么数不对答案藏在这一章里。理解了 Token你就理解了这个反直觉的现象也理解了大模型在最底层是如何看待语言的。大模型不读字母它读 Token人类阅读时看到的是一个个字母拼成单词组成句子。大模型不是这样工作的。它看到的不是字母也不是单词而是一种介于两者之间的东西叫做Token。Token 是大模型处理语言的最小单元。在英文里Token 大致相当于一个词根、一个常见词或者一个词的一部分。比如strawberry这个词在大多数模型里会被切成两个 Tokenstraw和berry——因为这两个都是常见的英文词根模型在训练时见过很多次。unbelievable → 3 Tokensunbelievablestrawberry → 2 Tokensstrawberryhello → 1 Tokenhello图 2-1英文文本的 Token 切分示意。常见词通常是一个 Token生僻词或长词会被切成多个 Token。“strawberry被切成straw”“berry”所以模型无法直接数字母——它从来就没有以字母为单位看过这个词。现在你明白了GPT 数不清 “strawberry” 里有几个 r不是因为它笨而是因为它根本没有以字母为单位看过这个词。它看到的是straw和berry两个色块要从色块里数字母对它来说是一件需要额外推理的事——就像你被蒙住眼睛只能靠触感摸清楚一个字的笔画数而不是直接看。为什么中文比英文贵Token 这个概念对中文用户来说还有一个非常实际的影响用中文和大模型对话要比用英文花更多的 Token。原因在于大多数主流大模型GPT 系列、Claude 等最初主要以英文语料训练词表的设计对英文更友好。一个常见的英文单词通常对应 1 个 Token而中文的情况则复杂得多。简单来说一个汉字大概需要 1 到 2 个 Token 来表示。英文一个单词平均约 1.3 个 Token但中文一个字就可能需要同样的 Token 数——而中文表达同样意思往往字数更少但 Token 消耗不一定少。表达相同内容中英文 Token 消耗对比示意简单问候技术说明长段落200180160140120100806040200Token 数量图 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 不记得上次对话的内容每次新开对话桌子被清空重新开始。除非产品层面做了记忆功能否则上一次对话对当前对话完全不可见。上下文窗口的军备竞赛近几年各家大模型在上下文窗口大小上展开了激烈竞争2020GPT-34K Token2023GPT-48K / 32K Token2023Claude 2100K Token2024Gemini 1.51M Token2024Claude 3200K Token2025主流模型普遍达到 128K1M主流模型上下文窗口的演进图 2-4主流大模型上下文窗口大小的演进时间线。从 2020 年的 4K 到 2025 年普遍超过 128K增长了 30 倍以上。但窗口变大并不意味着无限记忆——信息在大窗口里的利用效率仍然是一个活跃的研究问题。窗口变大是好事但有两点需要注意第一更大的窗口意味着更高的成本。处理 100K Token 的代价远高于处理 4K Token这直接反映在 API 定价上。第二“装得下不等于处理得好”。研究发现当上下文很长时模型对窗口中间部分的内容关注度会下降——这个现象叫做迷失在中间Lost in the Middle。关键信息放在开头或结尾效果通常更好。Token 视角下重新看大模型学完 Token 和上下文窗口你对大模型的认知应该发生了一个具体的变化它不是一个可以无限对话的智能体而是一个每次只能看见有限范围内的语言片段并在这个范围内进行生成的系统。这个限制既是工程约束也是理解大模型行为的钥匙。几乎所有你在使用中遇到的奇怪现象——越说越跑偏、记不住前面说的话、处理长文档效果下降——背后都有 Token 和上下文窗口的影子。带着这个认知我们可以进入下一步了解在这个有限的窗口里模型是如何处理信息、理解语言的——这就是下一章要讲的 Transformer 和注意力机制。本章小结Token是大模型处理语言的最小单元介于字母和单词之间大模型以 Token 为单位读取语言而不是字母这解释了它数不清字母的原因中文每字消耗的 Token 通常多于英文每词处理相同内容成本更高上下文窗口是模型每次能同时处理的 Token 总量相当于工作桌窗口有上限内容装满后最早的信息会被挤出模型忘记它大窗口不等于无限记忆——长上下文中的利用效率仍然有限。
第 2 章:Token——语言的原子
系列[大模型入门从原理到实践技术人的认知升级指南]一道让 GPT 答错的简单题在 ChatGPT 刚流行的时候网上流传着一道测试题专门用来整大模型“单词 ‘strawberry’ 里有几个字母 r”正确答案是 3 个strawberry。但很多早期版本的 GPT 会自信地回答2 个。这让很多人觉得莫名其妙这不是什么难题一个小学生都能数清楚一个号称读过全互联网的 AI 为什么数不对答案藏在这一章里。理解了 Token你就理解了这个反直觉的现象也理解了大模型在最底层是如何看待语言的。大模型不读字母它读 Token人类阅读时看到的是一个个字母拼成单词组成句子。大模型不是这样工作的。它看到的不是字母也不是单词而是一种介于两者之间的东西叫做Token。Token 是大模型处理语言的最小单元。在英文里Token 大致相当于一个词根、一个常见词或者一个词的一部分。比如strawberry这个词在大多数模型里会被切成两个 Tokenstraw和berry——因为这两个都是常见的英文词根模型在训练时见过很多次。unbelievable → 3 Tokensunbelievablestrawberry → 2 Tokensstrawberryhello → 1 Tokenhello图 2-1英文文本的 Token 切分示意。常见词通常是一个 Token生僻词或长词会被切成多个 Token。“strawberry被切成straw”“berry”所以模型无法直接数字母——它从来就没有以字母为单位看过这个词。现在你明白了GPT 数不清 “strawberry” 里有几个 r不是因为它笨而是因为它根本没有以字母为单位看过这个词。它看到的是straw和berry两个色块要从色块里数字母对它来说是一件需要额外推理的事——就像你被蒙住眼睛只能靠触感摸清楚一个字的笔画数而不是直接看。为什么中文比英文贵Token 这个概念对中文用户来说还有一个非常实际的影响用中文和大模型对话要比用英文花更多的 Token。原因在于大多数主流大模型GPT 系列、Claude 等最初主要以英文语料训练词表的设计对英文更友好。一个常见的英文单词通常对应 1 个 Token而中文的情况则复杂得多。简单来说一个汉字大概需要 1 到 2 个 Token 来表示。英文一个单词平均约 1.3 个 Token但中文一个字就可能需要同样的 Token 数——而中文表达同样意思往往字数更少但 Token 消耗不一定少。表达相同内容中英文 Token 消耗对比示意简单问候技术说明长段落200180160140120100806040200Token 数量图 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 不记得上次对话的内容每次新开对话桌子被清空重新开始。除非产品层面做了记忆功能否则上一次对话对当前对话完全不可见。上下文窗口的军备竞赛近几年各家大模型在上下文窗口大小上展开了激烈竞争2020GPT-34K Token2023GPT-48K / 32K Token2023Claude 2100K Token2024Gemini 1.51M Token2024Claude 3200K Token2025主流模型普遍达到 128K1M主流模型上下文窗口的演进图 2-4主流大模型上下文窗口大小的演进时间线。从 2020 年的 4K 到 2025 年普遍超过 128K增长了 30 倍以上。但窗口变大并不意味着无限记忆——信息在大窗口里的利用效率仍然是一个活跃的研究问题。窗口变大是好事但有两点需要注意第一更大的窗口意味着更高的成本。处理 100K Token 的代价远高于处理 4K Token这直接反映在 API 定价上。第二“装得下不等于处理得好”。研究发现当上下文很长时模型对窗口中间部分的内容关注度会下降——这个现象叫做迷失在中间Lost in the Middle。关键信息放在开头或结尾效果通常更好。Token 视角下重新看大模型学完 Token 和上下文窗口你对大模型的认知应该发生了一个具体的变化它不是一个可以无限对话的智能体而是一个每次只能看见有限范围内的语言片段并在这个范围内进行生成的系统。这个限制既是工程约束也是理解大模型行为的钥匙。几乎所有你在使用中遇到的奇怪现象——越说越跑偏、记不住前面说的话、处理长文档效果下降——背后都有 Token 和上下文窗口的影子。带着这个认知我们可以进入下一步了解在这个有限的窗口里模型是如何处理信息、理解语言的——这就是下一章要讲的 Transformer 和注意力机制。本章小结Token是大模型处理语言的最小单元介于字母和单词之间大模型以 Token 为单位读取语言而不是字母这解释了它数不清字母的原因中文每字消耗的 Token 通常多于英文每词处理相同内容成本更高上下文窗口是模型每次能同时处理的 Token 总量相当于工作桌窗口有上限内容装满后最早的信息会被挤出模型忘记它大窗口不等于无限记忆——长上下文中的利用效率仍然有限。