Token 和上下文窗口是什么?一篇文章帮你算清 AI 的账单(2026入门)

这两年整理了不少 AI 提示词模板,但一直没有一篇把「token 到底是什么」讲清楚。今天补上。几个常见问题:为什么 128K 的模型装不下 20 万字的合同?窗口大小到底影响了什么?这一篇说清。

内容参考了 OpenAI 官方的 token 说明(tiktoken 是它的开源分词工具)和 Hugging Face 关于分词器的入门文档,术语解释都来自这两家,链接放在文末,token 的事以这两家为准。

token 就是 AI 认字的「积木」

模型不认识「汉字」这个词,它读的是 token:把文字切成的小块。少部分常见词是一个 token(比如「中国」),生僻字要多切几刀(比如「夔」会碎成好几个 token)。一个词有多碎,取决于训练时模型见过的语料。

中文大致是 1 token 对应 1.5 到 2 个汉字,英文平均一个单词约 1.3 个 token。粗略换算:token 数约等于字数除以 1.5 到 2,记成「字数的一半多一点」就够用。

要不要精确算?不用自己算。OpenAI 有在线的 tokenizer 工具,把一段话粘进去直接显示 token 数。对话接口返回的 usage 字段里,也能看到每次调用实际用了多少。

上下文窗口:模型的一次性「记忆力」

上下文窗口是模型单次能装下的 token 总量。把模型想成一块黑板,这个数字就是黑板的大小:能写下多少字,就能一次看多长的文章、多长的对话记录。各家会标注这个参数,比如 Kimi K3 是 1M token,大多数模型在 128K 到 256K 这个量级。

两个容易误解的点:一是超出窗口时,模型不是「慢慢读」而是「压根读不进去」,要么报错要么先切分;二是窗口指单次会话的上限(输入加输出加系统提示都在里面),不是模型的长期记忆。

所以「200 页合同一次问完」这类操作,先做换算:200 页约 30 到 50 万字,按 1 个 token 折 1.5 字算,差不多要 15 万到 25 万 token。128K 的模型装不下,要么用 1M 窗口的模型,要么先切片再喂。

为什么窗口大不等于能用满

两个现实原因。一是输出也占窗口预算,你要 5000 token 的答案,输入就得从窗口总量里相应扣掉。二是「中间丢失」(lost in the middle)效应:斯坦福 2023 年那篇论文测过,模型对长上下文首尾的内容记得较牢,中间部分容易被忽略。素材很长时,把重要内容放头尾,输出质量更好。

更现实的是成本:输入多长就按多长计费,输出再单独算一次。做文档摘要时一上来把整本书都灌进去、只问一个小问题,是最烧钱的用法。

几个实用的数

  • 中文:1 token 约 1.5 到 2 字;英文:1 token 约 0.75 个词
  • 一篇 5000 字的中文文章:约 2500 到 3500 token
  • 一份 1 万字的 PDF:约 5000 到 7000 token
  • 100 页英文书稿:约 3 万到 5 万 token,128K 的窗口装得下

只想快速估算的话:「中文字数 × 2」报个大概,剩下的交给工具去精确算。

想省 token,几个习惯就够了

指令放 system,长素材按需贴,别把没用的内容反复翻进对话。更具体的做法,之前写过一篇处理超长文档的技巧,这里不重复。

总结一下:token 是计费单位,上下文窗口是单次能装下的上限。这两个概念清楚了,选模型、算成本就不是玄学。

参考:OpenAI 的 tiktoken(github.com/openai/tiktoken)、Hugging Face 文档的 tokenizer 章节。各家窗口和价格随版本会变,用之前查一眼官方页面。

发表评论