什么是token
Token 的定义
Token 不是字符、也不是单词,是模型分词器(Tokenizer)切割文本后的最小单元。
大概的规律:
- 英文:1 个单词 ≈ 1~2 个 token
- 中文:1 个汉字 ≈ 1~2 个 token(中文密度更高)
- 代码:1 行代码 ≈ 5~15 个 token(取决于复杂度)
"Hello world" → ["Hello", " world"] → 2 tokens
"你好世界" → ["你好", "世界"] → 2~4 tokens
"const x = 1;" → ["const", " x", " =", " 1", ";"] → 5 tokens
128k 是什么
这是模型的**上下文窗口(Context Window)**大小,表示模型在一次对话中能"看到"的最大文本量。
Token 消耗怎么算
每次请求消耗 = 输入 token + 输出 token
输入 token = 系统提示 + 历史对话 + 当前问题 + 附带的代码文件
输出 token = 模型回复的内容
对话越长,历史消息越多,输入 token 就越大。当累积超过 128k 时,最早的对话会被截断丢弃。
Copilot Pro 的具体规则
GitHub Copilot Pro 的 128k 是单次请求的上下文窗口限制,不是每月总额度限制。每次对话请求都独立计算,不会跨请求累加扣费。
但 Copilot Pro 有每月请求次数限制(premium 模型如 Claude Sonnet、GPT-4o 各有额度),超出后会降级到基础模型或需要额外付费。
