汉语宝典

上下文窗口占用

统计提示词与生成回复的 token 数,计算其对模型上下文窗口的占用比例,适用于长文本处理、上下文截断预警与计费估算。

📚 Context Window Usage Calculator

Count the tokens in your prompt and expected completion and see how much of the model context window they consume.

📐 计算公式 / 原理
占用率 = (系统提示 + 用户输入 + 预期回复) / 上下文窗口 × 100%;剩余 = 窗口 − 已用
规划对话时把预期回复长度一并计入,避免生成到一半撞上窗口上限被截断。长窗口模型虽标称很大,但注意力成本随长度平方增长,且中段内容容易被忽略(lost-in-the-middle),并非越长越好。

📐 计算公式与说明

占用 = 系统+对话+回复;占用率 = 已用/上限

超出上限需截断或摘要历史。

📚 深度解析:上下文窗口占用

💡 常见使用场景

  • 占用比=提示词 token + 生成 token / 窗口上限(如 4k/32k/128k)。
  • 中英混排时中文按字或 subword 计,需以具体分词器为准估算。
  • 占用超 100% 将截断,长任务应预留生成空间并定期压缩历史。
占用预警
窗口 8k,提示 6k + 预计生成 2k = 8k 恰好满;若实际生成超 2k 即溢出。建议提示控制在 5k 以内留 3k 给生成。

❓ 常见问题(FAQ)

为什么显示占用满了却还能聊?
部分实现会滚动丢弃最早历史以维持窗口,表现为'能继续但忘了开头';严格实现则直接报错。占用比应预留生成余量。
不同模型 token 数一样吗?
不同。同一段中文在 GPT/Claude/国产模型下 token 数差异明显,估算仅供参考,精确值需对应分词器计数。