Token是什么?为什么AI每次说话都在花钱
哈哈,你抓到一个好问题。Token 不是货币,但确实和“烧钱”有关系。Token 是大模型处理文本的最小颗粒度,可以理解成一个“计价单位”。
打个比方,它就像出租车计价器的格子。你打车时,里程每跳一格,计价器就加一次钱。在 AI 里,每个 Token 就是一格,模型每处理或生成一格,就产生对应的成本。你问一句话进去,AI 会先把你的话切成很多个 Token,这些叫“输入 Token”;然后它回答你时,又不断蹦出一个一个 Token,叫“输出 Token”。最终账单就是这两部分的总和。
说白了,Token 就是 AI 眼中的“字”,但不是我们平时理解的汉字,后面详细说。
对,很多人一开始都以为一个汉字就是一个 Token,其实不是。在主流模型(比如 GPT-4)里,1000 个汉字大约消耗 1300 到 1500 个 Token,差不多是 1 比 1.3-1.5 的样子。
为什么会这样?因为 Token 不是按照“一个完整汉字”来切的。大模型会先把文本转成一种叫 Byte Pair Encoding (BPE) 的子词切分法。它会优先把常见词、常见字组合当成一个 Token,比如“我们”可能是一个 Token,“人工智能”也可能是一个 Token。但生僻字或者英文单词后缀,就可能被拆成好几个 Token。所以中文通常比英文更“费” Token,因为英文一个单词经常就是一个 Token,而中文一个字有时候会被拆开。
等等,我前面那句“一个字就是一个 Token”不太准,准确说:大部分常用单字是一个 Token,但很多双字词会合并成一个 Token,所以平均下来每个汉字对应的 Token 数就略大于 1。实测下来,就是 1:1.3 左右的比例。
这个问题问得很细。确实,输入和输出的计算成本完全不同。举个例子,下面是一些真实模型的定价对比:
| 模型 | 输入价格 (每百万 Token) | 输出价格 (每百万 Token) |
|---|---|---|
| GPT-4o | $5.00 | $15.00 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
| DeepSeek-V3 | $0.27 | $1.10 |
可以看到,输出 Token 的价格往往是输入的 2 到 5 倍。老实说,这是因为生成文本比理解文本要消耗多得多的算力。你输入一段话,模型通常只需要通过一次前向传播就能理解;但生成回答时,模型要一个 Token 一个 Token 地循环生成,每一步都要重新计算并考虑前面所有 Token 的上下文,这个“自回归”过程非常吃显存和计算。用生活类比一下:就像去餐厅吃饭,看菜单(输入)不花钱,但你点完菜厨房做菜(输出)就要付加工费了。
另外,很多模型服务商(比如 OpenAI)会把输入 Token 的缓存也折价计算,因为如果你反复用同一段提示,它们可以直接用缓存结果,省掉重算成本,所以输入就更便宜了。
好问题,这是很多人混淆的地方。ChatGPT 的 Plus 订阅是固定月费,确实不按 Token 明细计费,但它背后仍然受 Token 限制。OpenAI 会在后台统计你的 Token 使用量,只不过它用了一个更友好的方式:限制你每 3 小时能发送的消息条数(比如 GPT-4o 大概是 80 条/3小时)。底层逻辑是:每条消息平均消耗的 Token 数其实在一定范围内,限制条数本质上就是在限制 Token 用量,避免少数人把服务器跑崩。
而如果你是通过 API 调用,那就不再有订阅这层包装了,你充的钱直接按 Token 消耗扣,用多少扣多少。所以面向开发者的 API 都是“计程车模式”——走一格 Token 扣一格钱。
没错,你悟性很高。🔑 一句话记住:Token 是 AI 的“计价器格子”,输入和输出分开跳表,输出更贵。
至于快速估算,可以先用 OpenAI 官方提供的 Tokenizer 工具(platform.openai.com/tokenizer)粘贴一段文本,它会瞬间告诉你这段文本有多少 Token。其他模型也有类似工具。平时写提示词时,简短明确一点,既能省钱又能让回答更精准。需要我帮你试试估算个例子吗?