提示词上下文窗口

🤖 Prompt Context Window Usage

Count the tokens used by a multi-turn conversation and see what share of the model context window they occupy, so you know when to trim or compress history.

📐 计算公式 / 原理
已用 tokens = 系统提示 + 历史 + 当前输入;剩余 = 上下文窗口 − 已用;占用率 = 已用 / 窗口 × 100%
上下文窗口是硬性上限,输入加输出总和超限会被截断或报错。占用超过 90% 时应压缩历史、摘要旧对话或改用更长上下文模型;注意输出也要预留额度,不能把窗口填满。

📐 计算公式与说明

上下文占用判据:占用率 = 已用 tokens ÷ 上下文窗口 × 100%,其中已用 = 系统提示 + 历史 + 当前输入;剩余 = 窗口 − 已用;判据:已用 ÷ 窗口 > 0.9(即占用率超 90%)判定「接近上限」为是,否则为否。校验:非有限数值(输入为空或分母为 0)时补「分母为 0 或输入为空」警告提示。

接近上限时需截断或总结历史。

📚 深度解析:提示词上下文窗口

💡 常见使用场景

长对话溢出预警
窗口 32k,当前累计 28k token → 占用 87.5%,剩余 4k 仅够约一句长回复。若再追加 5k 历史将溢出,应裁剪最早 6k 或用摘要替代原文。

❓ 常见问题(FAQ)

为什么超出窗口会被截断?
模型注意力只能覆盖固定长度上下文,超出的前缀会被丢弃(或报错)。裁剪应保留最近对话与关键事实,避免丢失约束指令。
压缩历史会丢信息吗?
会。摘要压缩以语义概括替代原文,可能损失细节;权衡做法是保留最近 N 轮原文、更早的做摘要,关键参数始终置顶。

Formula & Standard References

Item Formula / Note Source / Standard
Token accounting input plus output tokens must stay within the context limit Model documentation
Length conversion English runs about four characters per token and Chinese one to two per character Tokenizer documentation
Overflow handling overflow is truncated or rejected, so summarise or chunk long chats Model documentation