一、Token:大模型世界的“最小货币单位”

当我们与大模型(如GPT、Claude)对话时,输入和输出的文字并非直接以我们熟悉的“字”或“词”来处理。模型内部,文本会被切分成一个个更小的、称为 Token 的单元。Token 是大模型理解和生成文本的基本单元,也可以说是其内部的“最小货币单位”。

可以把它理解为模型的“词汇表”。一个Token可能是一个英文单词(如 “hello”),也可能是单词的一部分(如 “un” “belie” “vable”),或是一个汉字、标点符号。这种处理方式(称为分词,Tokenization)解决了词汇表无限庞大的问题,让模型能用有限的参数处理几乎无限的文本组合。

关键理解:Token 不等同于字数。英文中,一个常见单词通常是一个Token,但长单词可能会被拆成2-3个Token。中文里,单个汉字通常是一个Token,但常用词组有时会被合并。这使得计费和计算上下文长度必须基于Token数量,而非简单的字符数。

二、Tokenizer:如何将文字“切”成Token?

负责将文本切分为Token的组件叫做 Tokenizer(分词器)。不同的大模型家族通常使用不同的Tokenizer,其背后的算法(如BPE,字节对编码)决定了切分方式。这意味着同样一段文本,送给GPT-4和另一个开源模型,产生的Token数量可能不同,因此费用和上下文占用也会有差异。

我们可以用代码直观感受一下切分过程。以OpenAI官方提供的tiktoken库为例:

import tiktoken

# 加载GPT-4使用的分词器
encoding = tiktoken.encoding_for_model("gpt-4")

text = "大模型改变世界"
tokens = encoding.encode(text)
print(f"文本: {text}")
print(f"Token IDs: {tokens}")
print(f"Token 数量: {len(tokens)}")

# 逆向解码,看每个Token是什么
for token_id in tokens:
    print(f"ID {token_id} -> '{encoding.decode([token_id])}'")

这段代码的输出会清楚地展示“大”、“模”、“型”、“改”、“变”、“世”、“界”可能各自成为一个Token。核心收获:在估算API成本或控制输入长度时,最好先用对应的Tokenizer进行实际测算。

三、Token 与计费:API调用的成本如何计算?

所有主流的大模型API服务(如OpenAI API、Anthropic API)都采用按Token计费的模式。计费单位通常是“每千个Token”或“每百万个Token”。费用分为两部分:

  1. 输入Token(Prompt Tokens):你发送给模型的提示词、问题、上下文等所有内容都会被计为输入Token。这是你的“提问成本”。
  2. 输出Token(Completion Tokens):模型返回给你的回答、生成内容所消耗的Token。这是模型的“回答成本”。

通常,输出Token的单价会比输入Token高,因为生成内容比单纯理解内容消耗的计算资源更多。模型的价格表(如 $0.03 / 1K input tokens)就是基于这个原理。一次API调用的总费用 = (输入Token数 * 输入单价 + 输出Token数 * 输出单价) / 1000。

四、优化成本:如何聪明地使用Token?

理解计费原理后,优化成本就有了清晰方向。核心是:在保证效果的前提下,减少不必要的Token消耗。

成本估算小技巧:在开发调试阶段,使用模型的“计算器”功能或在代码中统计Token数,养成成本意识。不要将海量无关数据一股脑塞进上下文。

五、Token的局限性:不只是“字数”的换算

虽然Token是基础单元,但它的抽象性也带来一些需要注意的“陷阱”。中文与英文的Token效率不同。表达同一个意思,中文文本因为字符信息密度高,其Token数量通常比等效的英文文本要少,这意味着处理中文内容在同等信息量下可能更“便宜”。

上下文窗口是硬约束。大模型有固定的上下文长度限制(如8K、32K、128K Tokens),这包括了输入和输出的Token总和。一旦超过,API会报错。因此,管理长文档或长对话时,必须进行摘要、分段或使用外挂存储等技术来绕过此限制。

六、展望:Token的未来与计量演进

随着技术发展,Token和计费模型也在演进。一些趋势值得关注:按结果计费(如一次成功函数调用一个固定价)、差异化定价(不同能力模型,如视觉、代码、推理价格不同)开始出现。这标志着服务从粗放的“算力时间”售卖,向更精细的“智能成果”售卖转变。

归根结底,理解Token与计费,是高效、经济地使用大模型API的基石。它帮助我们将抽象的“智能”转化为可量化、可管理的成本与产出,在拥抱强大能力的同时,做好精细的工程管理。