跳到主要内容

上下文用量与压缩

模型每次回复都受上下文窗口限制。对话越长,历史消息、附件、Tool 结果和当前输入占用越多。压缩会把较早内容总结成更短的上下文,为后续回复腾出空间。

阅读上下文用量​

把鼠标移到输入区右侧的圆形百分比上,查看详细用量。关闭浮层后,如果需要重新打开,先移开鼠标,再移回百分比。

Ghast 真实编码客户端,输入区上方展开上下文用量浮层
英文客户端的真实编码示例,侧栏已收起。浮层显示用量、输入/输出 Token 和输出预留;具体数值取决于会话与模型,数字格式可能沿用电脑的区域设置。

面板可能显示:

字段含义
已用 / 上限当前估算 Token 与模型上下文窗口
输入请求中使用的输入 Token
输出已生成的输出 Token
推理模型报告的推理 Token(模型支持时)
缓存模型报告的缓存读取(Provider 支持时)
输出预留为下一次回答保留的空间

字段是否出现取决于模型和 Provider。切换模型后,上下文上限与百分比会按新模型重新显示。

将在下次请求前压缩 表示当前请求已经接近压缩条件。自动压缩可能因为达到 设置 → 对话行为 → 自动压缩 的阈值触发,也可能因为下一次回答的输出预留已经不足而更早触发。大型附件或 Tool 输出会让用量快速上升。

自动压缩​

在 设置 → 对话行为 → 自动压缩 中可以启用或关闭自动压缩、设置触发阈值,以及设置摘要之外保留多少个近期用户轮次。Ghast 还会尽量保留至少约 16% 的近期 token 尾部,因此实际保留内容可能更多。

压缩成功后,上下文用量会刷新;当前时间线不会显示一条可见的“上下文已压缩”记录,也不会弹出成功提示。自动压缩失败时会保留原上下文,并进入约 60 秒冷却;失败事件不一定显示错误。

手动压缩​

在输入区发送:

/compact

单独发送命令,不要附加其他要求。Ghast 会尝试压缩当前对话,完成后重新打开上下文用量检查变化。成功时不另行提示;没有可压缩的早期内容或节省不足时,用量可能不变。历史太少则可能报错。操作与处理方式见手动压缩指南。

压缩后的边界​

  • 早期消息被摘要替代,近期用户轮次和 token 尾部按当前策略保留。
  • 摘要可能省略细节,关键约束、路径、数字和未完成事项应在压缩后重新确认。
  • 压缩不是删除整个对话,也不会撤销文件或外部操作。
  • 继续原对话时使用摘要;从较早消息创建分支是否继承压缩取决于分支点。若分支点不包含压缩标记,早期原文可能重新进入新分支上下文并增加用量,因此不要把分支当作清空上下文。
  • 如果目标、工作区或权限范围已经改变,新建对话通常比继续压缩旧对话更清楚。

更深入的设置见上下文压缩。