Token是模型分词器对文本的最小处理单位,决定API计费、输入长度和回复截断;它既非单字也非单词,切分方式因模型而异,受BPE、WordPiece或SentencePiece等算法影响。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想弄明白大模型里反复出现的“token”到底指什么,不是查词典式的定义,而是看清它怎么切你的句子、怎么算钱、怎么卡住你发长消息——它既不是字也不是词,却真实决定你调用API时花多少钱、能输多长文本、回复会不会突然断掉。
Token不是汉字,也不是英文单词
把“今天天气很好。”丢给不同模型,拆出来的token数量可能完全不同:有的模型切成5个(今/天/天/气/很/好/。),有的切成6个,还有的会把“天气”合并成1个、把“很好。”当1个再加空格又多1个。中文里一个字常占1~2个token,但“的”“了”这类虚词有时和前字捆在一起;英文里“unfortunately”可能被BPE算法拆成“un”+“for”+“tun”+“ately”,共4个token。
标点、换行、空格全算token——你在提示词末尾多敲一个空格,就多花1个token的钱;复制粘贴一段带缩进的代码,缩进里的每个空格和制表符(\t)都会单独计费。
【关键前提】你看到的token数量,永远取决于当前模型用的分词器(Tokenizer),不是你本地编辑器的字数统计。
为什么token要这样切?三种主流切法
方法一:Byte Pair Encoding(BPE)——GPT系列主力
从单个字节开始,反复合并高频相邻字节对。比如先有“a”“n”“d”,发现“an”总是一起出现,就造新token“an”;再发现“and”高频,就合并出“and”。最终词汇表里既有“the”也有“ing”,还有“transform”这种长子词。好处是平衡了未登录词处理和token数量,坏处是“DeepSeek”可能被切成“Deep”+“Seek”,语义断裂。
方法二:WordPiece——BERT系常用
按词频反向构建:先假设所有词都在词表里,再根据概率删掉低频组合,保留高频片段。它更倾向保留完整单词,所以“playing”大概率是1个token,“play”+“ing”反而少见。但遇到新词如“Qwen3”,容易 fallback 成字符级切分。
方法三:SentencePiece(无空格依赖)——多语言友好
直接把整段文本当字符串处理,不预设空格分隔。对中文、日文、泰文等无空格语言更自然,“人工智能”可能直接成1个token,也可能按语义粒度拆成“人工”+“智能”。国内千帆、讯飞星火等平台多采用此方案优化中文体验。
Token怎么影响你的实际使用
第一步:打开OpenRouter或千帆控制台,粘贴一段含中英混排、emoji和缩进的提示词
第二步:点击「计算Token」或调用/v1/models/{model}/tokenize接口,观察返回的token数组长度
第三步:删掉原文末尾两个空格,再算一次——你会发现token数减了2
第四步:把文末句号“。”换成emoji“✅”,再算——多数模型会给这个符号单独分配1个token,甚至2个(部分平台将emoji视为UTF-16代理对)
这一步操作起来很简单,直接把文件拖进去就行。但要注意:【不可逆操作】一旦请求发出,输入+输出的token总数已计入账单,无法撤回或退款。
上下文窗口就是Token的牢笼
你看到“支持128K Token”,意思是:用户输入(Prompt)+ 模型已生成的历史回复(Completion)+ 当前正在生成的新token,三者加起来不能超过131072个。不是“最多输128K字”,而是所有文本经分词后总ID数上限。
当对话历史变长,模型会自动截断最早几轮——不是随机删,而是按token密度优先丢弃低信息量内容,比如连续的“好的”“明白了”“谢谢”。但如果你在第一轮就塞入10万字PDF摘要,后续提问时连3句话都可能触发截断,因为剩余窗口只剩2万token。
这时候别急着升级模型,先检查:摘要里有没有大段空白行?有没有重复标题?这些全是token黑洞。











