上下文窗口占用 使用指南
统计提示词与生成回复的 token 数,计算其对模型上下文窗口的占用比例,适用于长文本处理、上下文截断预警与计费估算。
计算公式与原理
占用率 = (系统提示 + 用户输入 + 预期回复) / 上下文窗口 × 100%;剩余 = 窗口 − 已用
规划对话时把预期回复长度一并计入,避免生成到一半撞上窗口上限被截断。长窗口模型虽标称很大,但注意力成本随长度平方增长,且中段内容容易被忽略(lost-in-the-middle),并非越长越好。
使用步骤
- 填写「系统提示 tokens」。
- 填写「对话 tokens」。
- 填写「回复 tokens」。
- 填写「上下文上限」。
- 结果区会即时更新;可一键复制结果用于记录或汇报。
典型使用场景
- 占用比=提示词 token + 生成 token / 窗口上限(如 4k/32k/128k)。
- 中英混排时中文按字或 subword 计,需以具体分词器为准估算。
- 占用超 100% 将截断,长任务应预留生成空间并定期压缩历史。
算例参考
- 占用预警:窗口 8k,提示 6k + 预计生成 2k = 8k 恰好满;若实际生成超 2k 即溢出。建议提示控制在 5k 以内留 3k 给生成。
注意事项
结果为按上述公式得到的理论估算值,实际表现受数据分布、实现细节与运行环境影响,落地决策请以实测为准;本工具纯前端运行,输入不上传服务器。
- 为什么显示占用满了却还能聊?
- 部分实现会滚动丢弃最早历史以维持窗口,表现为'能继续但忘了开头';严格实现则直接报错。占用比应预留生成余量。
- 不同模型 token 数一样吗?
- 不同。同一段中文在 GPT/Claude/国产模型下 token 数差异明显,估算仅供参考,精确值需对应分词器计数。