跟朋友聊天,说到AI,他问了一个让我愣了两秒的问题:「你们老说的token到底是个啥?」
确实,这个词在AI圈已经是个默认大家都懂的词了。但说实话,我第一次看到「GPT-4支持128K token」的时候,脑子里想的也是——这跟字节有什么区别?跟字数怎么换算?
这篇文章我用最直白的说法把token讲清楚。
Token就是AI「数数」的基本单位
大模型不认字,只认数字。你输入一句话,模型干的第一件事就是把这句话切成一串小片段,每个小片段对应一个编号,然后模型用这些编号去做计算。这些小片段就是token。
打个比方比较容易理解:token就像你记账时的「条目」。你去超市买东西,小票上不是每个字都记,而是「可乐×2」「面包×1」「牛奶×1」这样的条目。Token差不多就是这个意思——把一段文本切成一个个「语义最小单元」。
英文里,一个单词通常是一个token。比如「I love AI」就是3个token。但要注意——不是所有单词都恰好一个token。高频短词(the、a、is)一个词一个token,而长词或生僻词可能被切成两三个token。比如「unbelievable」可能被切成了「un」「believe」「able」三个片段。
中文就比较「吃亏」了。一个中文字平均占1.5到2个token。所以「我爱人工智能」六个字大概要9到12个token。这也是为什么同样的上下文窗口,中文能塞进去的实际内容要比英文少一截。
Token的三个关键作用
1. 计费单位
你用API调用大模型,账单是按token算的。输入多少token、输出多少token,分别计费。比如GPT-4o,输入大概每百万token 2.5美元,输出每百万token 10美元。写一封500字的邮件,加上AI回复,可能总共不到1000个token,几分钱的事。但如果你是用API批量处理几千篇文档,token数就会飙到几十万上百万,费用就上来了。
2. 上下文窗口
「上下文窗口」就是模型一次性能「记住」的token上限。GPT-4 Turbo是128K token,Claude 3.5 Sonnet是200K。128K token什么概念?大概等于一本300页的小说,或者20万字的文档。超过这个上限的内容,模型就「看不见」了。
所以你在ChatGPT里传一个超长PDF,它不一定真的读了全部——超出窗口的部分被截断了。
3. 分词方式影响输出质量
不同的模型用不同的分词器(tokenizer)。同一个词,GPT可能切成3个token,Claude可能切成2个。这个差异看着小,但对某些任务(比如数学、代码、非英语内容)影响还挺大的。中文编码效率一直是各家竞争的焦点——豆包和DeepSeek的中文分词效率就比早期GPT版本好了不少。
一个能帮你省钱的小技巧
知道token的计数规则之后,写Prompt就知道怎么省钱了:用英文Prompt通常比中文省token(因为英文分词效率高);删掉不必要的礼貌用语(「请」「谢谢」「麻烦你」),省出来的token都是真金白银;把上下文里无关的历史记录清掉,避免窗口被无用信息占满。
最后说一句:不用纠结token的精确换算公式。你用ChatGPT网页版根本不需要关心token数,只有调API的开发者才需要精打细算。对这个词有概念就行,知道它大概是什么,为什么中文比英文「费」token,就够了。
还木有评论哦,快来抢沙发吧~