当你说一句话给 AI,它不是按"字"或"词"来理解的——它是按 Token 来理解的。
Token 是 AI 模型处理文本的最小单位。一个 Token 可以是一个完整的单词"apple",也可以是单词的一部分"appl",甚至可以是单个字母或标点符号。具体怎么切分,取决于模型使用的 Token 切分器的规则。
用中文举个例子:
"我今天很开心"这句话,可能会被切成 ["我今天", "很开心"] 两个 Token,也可能会被切成 ["我", "今天", "很", "开心"] 四个 Token。不同模型的切分方式不同,但原理一样:把你的文字拆成小块,一块一块地处理。
中英文在 Token 切分上有一个显著差异:在大多数模型中,一个中文汉字大约对应 0.5~1 个 Token,而一个英文单词大约对应 1~3 个 Token。这意味着用中文写提示词时,同样的意思可能会消耗更少的 Token——这是中文用户的一个隐形优势。
你可以把 Token 切分理解成一个简单的查表过程。
模型有一个巨大的词汇表——比如 GPT-4 的词汇表大小约 10 万个 Token。当它看到一段文字时,它会用最高效的方式把文字匹配到词汇表中的 Token。目标是:用最少的 Token 数覆盖最多的内容。
这个"压缩"效率很重要,因为模型的处理能力和成本都跟 Token 数量直接相关。所以模型会尽量把常见的词语或短语作为一个整体 Token 来切分,而不是拆成更细的碎片。
比如,英文中 "Hello World" 可能被切成 ["Hello", "World"] 两个 Token,也可能被切成 ["Hello World"] 一个 Token——如果这个短语足够常见,切分器会"记住"它。
中文中,"人工智能"可能作为一个整体被切成一个 Token,也可能被切成 ["人工", "智能"] 两个 Token。这也是为什么不同模型在处理中文时的效率和准确度不同——它们的词汇表中包含的中文短语规模不一样。
你可以把 Token 理解为模型思考的"时间单位"。模型每处理一个 Token,都需要完成一次计算。它在回答你的问题时,"读懂你的输入"和"生成回答"这两件事,都是以 Token 为单位进行的。
这也是为什么模型的输出速度用 "Token/秒" 来度量——"这个模型每秒能生成 80 个 Token" 是一个比 "每秒能写几个字" 更精确的性能指标。80 Tokens/秒大概相当于每秒写 40~80 个汉字,或者 25~60 个英文单词。
这里有一个对实际使用很重要的细节:模型的"思考"和"输出"是交替进行的。 模型不是先完全理解你的需求再开始生成回答——它在已经读了你的部分输入后,就已经开始预测你应该看到什么了。这就是为什么你在某些工具中能看到"流式输出"——AI 不是一次性给你整段回答,而是一个字一个字地往外吐。这个过程的快慢受 Token 数量的直接影响:输入 Token 越多,AI 的"理解"阶段耗时越长;输出 Token 越多,你的"等待"时间越长。
了解 Token 的存在有两层实际意义。
第一,它影响你的提示词效率。 同样的意思,用不同的表达方式,Token 数量可能差一倍。比如在英文中 "please" 这个单词占用 1 个 Token,但 "please kindly note that" 占 4 个 Token,传递的信息量几乎一样。写提示词时,简洁精炼的表达能减少 Token 消耗,间接降低成本。中文也是一样——"请给我生成一个用户注册功能"比"我想请你帮我做一个小功能,就是说……就是一个用户可以注册的功能,麻烦你了"省一半以上的 Token。
第二,它帮你理解"模型为什么在这个地方表现不好"。 如果你发现在处理中文、代码或特定领域的术语时,模型表现得不如预期,一个可能的原因是这些内容的 Token 切分方式不利于模型理解。比如罕见的技术术语可能被切成多个碎片,导致模型丢失了它的整体含义。
举个例子,"同态加密"这个技术术语,如果被切成了 ["同态", "加密"] 两个 Token,模型对它的理解是"一种特殊的加密方式";如果被切成了 ["同", "态", "加", "密"] 四个 Token,模型可能就不会把它理解为一个整体概念了。这就是为什么在模型中技术术语有时表现不好——不是因为模型不知道这个词,而是因为切分方式让它"看不出来这是一个完整的概念"。
这不是一个需要你深究的知识点——但你知道了 Token 的存在,就多了一个理解模型行为的维度。当 AI 不理解你的某个术语时,你可以尝试换个同义词、加一个简短的解释、或者用更通用的语言来描述它。这些都是围绕 Token 切分问题所做的实际调整。
Token 的另一个重要性质是它直接决定了成本。
不管是按量付费(API 计费)还是订阅制(固定费用但有限额),Token 消耗都是 AI 工具的"计价单位"。你每次对话消耗的总 Token = 输入 Token + 输出 Token。
以 Claude 3.5 Sonnet 的 API 价格为例:输入约 $3/M Tokens,输出约 $15/M Tokens。如果你一次对话消耗了 10K 输入 Token + 5K 输出 Token,那这次对话的成本大约是 $0.03 + $0.075 = $0.105——看起来很少,但如果你每天进行 100 次这样的对话,一年的 API 成本就超过 $3,800。
当然,大多数个人用户用的是订阅制(比如 Claude Code 的 $20/月),不按 Token 计费。但即使如此,你的"成本"不是钱,而是效率:同样的上下文窗口,你用来装废话,就不能用来装有效信息。你消耗的每个 Token 都在占用 AI 的"注意力"——这个注意力是有限的,你应该用它来传递最多信息。
找一个在线 Token 计数工具(或直接问 AI),把你刚才写的一段提示词贴进去,看看它被切成了多少个 Token。然后试着简化表达,看能不能用更少的 Token 表达同样的意思。对比两次的数字差异。
进阶追问:
"我这段提示词里,哪些词或表达占用了不必要的 Token?帮我改写一个更精简的版本,保持意思不变。"
这个练习做 3~5 次之后,你会自然形成"先想清楚再说"的习惯——不仅省 Token,而且 AI 的回答准确率也会提升。