引子:一个让医生困惑的问题
你可能已经用过ChatGPT,也注意到了那个不起眼的数字——「本次对话消耗了1,247个T oken」。你大概知道T oken跟钱有关(毕竟API是按T oken收费的),但心里也在嘀咕:Token到底是什么?为什么不能直接按「字」算?
这恰恰是理解AI的第一个门槛。T oken不是字、不是词、甚至不是我们日常理解的任何语言单位。它是AI眼中的「原子」——一种人类不会用、但机器必须用的阅读方式。
本章我们从一个词源故事开始,逐步拆解T oken的来龙去脉。
7.1 词源追溯:从「令牌」到「语义原子」
7.1.1 古英语里的「标志」
T oken这个词源自古英语tācen,意为「标志、记号、证据」。它的词根可以追溯到原始日耳曼语*taiknam,与德语Zeichen(符号)同源。
在中世纪,「T oken」指的是作为身份凭证的实物标志——比如领主发给仆人的金属令牌,凭令牌可以领取食物。这层含义至今保留在「地铁代币」(subway token)
或「游戏币」(game token)中。
7.1.2 语言学中的「标记」
进入20世纪,语言学借用T oken来描述一个词在具体语境中的每一次出现。语言学家区分:
Type(类型):词汇表中的唯一词条。例如「发热」这个词本身。
Token(实例):这个词在文本中实际出现的次数。例如「患者发热,伴有发热性惊厥」中,「发热」出现了2次,即2个T oken。
换言之,T ype是「字典里的词」,T oken是「说出来的词」。这个区分看似学术,却直接奠定了AI处理文本的底层逻辑。
7.1.3 计算机科学中的「记号」
在编译器设计中,T oken是源代码被解析后的最小语法单元。当你写下一行代码if (temperature > 38.5),编译器会将其切分为:
[if] [(] [temperature] [>] [38.5] [)]每一个括号、每一个变量名、每一个比较符,都是一个T oken。这是计算机「阅读」
程序语言的第一步。
7.1.4 AI时代:Token的终极含义
2017年Transformer架构诞生后,T oken获得了新定义:大语言模型处理文本的最小语义单元。它不再等同于「一个字」或「一个词」,而是一个被数字化(映射为向量)的文本片段,是AI「阅读世界」的原子单位。
一句话总结:T oken是AI眼中文字的最小颗粒。人类用字词句思考,AI用T oken序列思考。
7.2 Token到底长什么样?
7.2.1 动手实验:看AI怎么切Token
我们用一段医生再熟悉不过的文字来测试:
原文:「患者主诉持续性头痛3天,伴恶心、呕吐。」
将这个句子送入OpenAI的T okenizer(分词器),它会被切成:
患者 主诉 持续性 头痛 3 天 , 伴 恶心 、 呕吐 。
中文看似按词切分,但仔细看——「3」和「天」是分开的,「、」单独占一个T oken。如果换成英文:
原文:「The patient complains of persistent headache for 3 days, with nausea and vomiting.」
切分结果:
The patient complains of persistent headache for 3 days , with nausea and v omiting .注意最后那个v和omiting被拆成了两个T oken。为什么?因为「vomiting」在英文训练数据中可能不如「headache」常见,模型采用了更细粒度的切分。
7.2.2 中英文Token化的巨大差异
这是一个对中文使用者至关重要的认知:
| 维度 | 英文 | 中文 |
|---|---|---|
| 1个T | oken≈ 0.75个英文单词 | 0.5-1.5个汉字 |
| 切分逻辑 | 按空格+子词 | 按语义+统计 |
| 同一个意思的T数较多(单词长但词间有空格的天然分隔)较少(单字信息密度高) | oken | |
| 实际成本举个例子——同一句话中英文对比: | 偏高 | 便宜30%-50% |
中文:「请帮我分析这份胸部CT报告中的异常发现。」 → 约15个T oken
英文:「Please analyze the abnormal findings in this chest CT report.」 → 约20个T oken
中文的信息密度更高,同样的语义,中文占用的T oken更少。这对于医生来说是个好消息——用中文问AI问题,天然省钱。
7.2.3 BPE算法:Token如何被发明出来
T oken切分不是靠人工词典,而是靠一个叫BPE(Byte Pair Encoding,字节对编码)的算法自动完成。理解BPE的最好方式是类比:
BPE做的正是同样的事:统计文本中哪些字符组合出现频率最高,把它们合并成一个Token。 重复这个过程反复合并,直到达到设定的词汇表大小(GPT-4约10万个T oken)。
BPE的巧妙在于:
- 常见词会被保留为完整T oken(如「心脏」「fever」)
- 罕见词
会被拆成多个常见子词T oken(如「二尖瓣脱垂」可能被切成「二尖瓣」「脱垂」两个T oken) - 完全生僻的词落到单个字符级别也不怕这解释了为什么GPT能认识几乎所有中文词——哪怕一个词从未在训练数据中出现过,它也可以通过子词组合来「猜」出含义。
7.3 为什么AI要「多此一举」?
7.3.1 把文字变成数字
AI的本质是矩阵运算。神经元不能理解「发热」这个词,只能理解数字。T oken化的根本目的是——文字(人类可读)→ Token(语义单元)→ Embedding(向量/数字序列)→ AI大脑每一个T oken对应一个固定维度的向量(GPT-3是12,288维)。这个向量编码了该T oken的语义信息,使AI可以在高维空间中进行数学运算。
7.3.2 Token和上下文窗口
GPT-4的上下文窗口是128K T oken。这意味着AI一次「阅读」不能超过约128,000个T oken。
这在医学场景中极其重要。以下是一些实际换算:
内容 中文字数(估计)
Token数(估计)
占GPT-4 128K窗口一篇典型病历摘要 500字 700-800 ~0.6%一份完整住院病历 3,000字 4,000-5,000 ~3.9%一篇中文SCI论文全文 8,000字 10,000-12,000~9.4% 2,000,000字 2,500,000 超了约19倍内容 中文字数(估计)
Token数(估计)
占GPT-4 128K窗口一整本《外科学》教材(约200万字)
这也是为什么你不能直接把整本《实用骨科学》丢给AI然后问「帮我查一下股骨粗隆间骨折的分型」——窗口装不下。解决方案就是第15章会讲的RAG(检索增强生成):先检索相关片段,只把相关内容放在窗口里。
7.3.3 为什么按Token收费
为什么不用字数、用时长、用问答次数?三个原因:
第一,Token是AI实际「工作」的单位。 不管你的问题是10个字还是100个字,AI内部都在处理T oken序列。一个T oken意味着一次矩阵乘法、一次注意力计算。
Token数 = 算力消耗量,按此计费最公平。
第二,语言不同但算力相同。 中文一个字可能比英文一个单词信息量大,但AI处理它们的算力成本是相似的(都需经过同样的Transformer层)。如果按「字数」收费,中文用户就亏了。
第三,激励效率。 如果你知道问题越长越贵,你自然会学会精简提问——这反过来减轻了整个系统的算力负担。
医生实用技巧:把病历摘要写得简洁但完整,不仅节省T oken,也提高AI回答的准确性(少即是多,减少噪声干扰)。
7.4 从医生视角看Token:四个实用洞察
洞察一:Token限制决定了「一次性塞多少信息」
当你让AI「帮我分析这个患者的全部病历,包括过去三年的所有住院记录、门诊记录、化验单和影像报告」,你碰到的第一个瓶颈不是AI的「智能」,而是上下文窗口。
实用规则:单次对话中,所有输入+输出加起来不能超过上下文窗口。128K窗口≈中文字数约8-10万字。
洞察二:中文的Token效率是一大优势同样的问题,用中文表述比英文便宜30-50%。对于每天大量使用AI的医生来说,这就是实实在在的成本优势。这也是国产大模型(DeepSeek等)在中文T oken定价上更具竞争力的原因之一。
洞察三:Token碎片化影响医学文本理解医学文本充满缩写和专有名词。当一个罕见术语被BPE拆成多个子词T oken时,AI的理解能力可能会打折扣。例如:
「骨筋膜室综合征」→ 可能被切成「骨」「筋膜」「室」「综合征」
「甲氨蝶呤」→ 如果足够常见,可能保留为完整T oken这提示我们:在使用AI处理高度专业的医学文本时,尽量使用完整、规范的全称,减少自创缩写。 你说的「骨筋膜室」可能是骨科的常识,但对训练AI的语料来说,完整写出「骨筋膜室综合征」会让语义更明确。
洞察四:理解Token是理解AI一切能力边界的钥匙为什么AI不能读完一本完整教材?→ T oken窗口 为什么问题太长AI会「忘记」前面的内容?→ 注意力在长序列中衰减 为什么GPT-4比GPT-3.5强那么多?→ 参数更多、窗口更大、推理更深 为什么要做RAG(检索增强生成)?→ 把大海捞针变成池塘找鱼Token不是一个小概念——它是理解AI运作原理的第一块多米诺骨牌。
7.5 本章小结
| 要点 | 一句话 |
|---|---|
| T | oken的词源从古英语「标志/令牌」,到语言学「词例」,到AI「语义原子」 |
| T | oken的本质大语言模型处理文本的最小单元,用于把文字变成向量 |
| 中英差异 | 中文信息密度更高,同样语义占T oken更少,更省钱 |
| BPE算法 | 统计高频字符组合,自动学习「最优切分方案」 |
上下文窗口 128K T oken≈中文字数8-10万字,是AI的「一次性阅读上限」
计费逻辑 T oken数=算力消耗量,按此计费公平透明医学应用 简洁完整的中文表述=省T oken+高准确率给医生的Token三原则:
中文优先——省钱且高效。
全称优先——专有名词写完整,不做自创缩写。
简洁优先——浓缩是精华,少即是多。
7.6 延伸思考
读到这里,你可以试着问自己三个问题:
你在使用ChatGPT时,有没有遇到过「说太多被截断」的情况?那时候上下文窗口还有多少余量?
想一想病历系统里的那些字段——主诉、现病史、既往史、辅助检查——如果你把它们拼接成一整段文字送给AI,大概会用掉多少T oken?
如果AI是按T oken收费的,你每天读的那些医学文献——转化成T oken要花多少钱来「喂给AI阅读」?
这些问题会在后续章节中得到更深入的解答。下一章,我们将走进「参数」的世界——揭开AI「大脑」的构造。
本章初稿,待浩哥审阅。写作思路:词源追溯 → 实际切分演示 → 中英文对比 →BPE原理 → 为什么重要 → 医生视角洞察。