上下文、压缩与检查点
查看 token 构成,理解大输出外置、后台压缩和不可恢复的摘要损失。
上下文窗口是模型当前一次回复能参考的信息总量,容量取决于模型。系统指令、工具定义、用户提示、回复,以及工具请求和结果都会占用窗口;磁盘上保存了会话历史,不表示每一条历史都仍在模型当前上下文中。
查看使用情况
输入 /context 查看当前模型、已用 token 和总容量,并按类别分析:System Prompt、Custom Instructions、System Tools、MCP Tools、Messages、Free Space 和 Buffer。Custom Instructions 仅在实际加载时显示;Buffer 是为回复和运行余量保留的容量,不能直接算作可任意填满的空间。
如果会话增长很快,先看 Messages 中的大型工具输出,以及 MCP 工具定义占比,再决定缩小文件读取范围或调整工具配置。
大型工具输出
默认超过 20 KiB 的工具结果写入临时文件,模型获得路径和预览,而不是整个输出。这也适用于 MCP 工具。
可在启动前设置 COPILOT_LARGE_OUTPUT_THRESHOLD_BYTES,值为正数,单位是 UTF-8 字节。提高阈值会让更多工具结果直接进入窗口,也会减少后续对话和工具调用可用空间;不能把它理解成增加模型总上下文容量。
自动与手动压缩
当前上下文专题说明:使用量约到 80% 时开始后台压缩,保留约 20% 供工具继续运行;如果压缩结束前达到约 95%,CLI 暂停等待摘要完成。概览页仍将自动压缩简写为接近 95% 时发生,此处采用专题中的两阶段说明,具体行为以正在使用的版本为准。
输入 /compact 可主动压缩,适合一个阶段结束、准备进入下阶段时使用。手动压缩尚未结束时可按 Esc 取消;已经完成的压缩不能撤销。
压缩会把历史生成结构化摘要,记录目标、已完成工作、关键技术信息、重要文件和下一步,替换旧的活动对话历史,同时保留原始用户指令、计划 / 待办状态,以及后台压缩期间新增的消息。
摘要不是无损记忆
摘要不保证保留每条原话、每次命令完整输出或早期的小决定。需要精确内容时,应重新提供具体文件、约束或结论。不要把“会话可继续”理解成模型永久记住全部历史细节。
如果任务已经改变,或者多次压缩后关键背景不断丢失,可以建立新会话,把必要的结果和限制整理后继续。相关的多阶段实现、调试和探索则适合保留在同一会话。
压缩检查点
每次自动或手动压缩都会保存编号、标题和摘要内容:
/session checkpoints
/session checkpoints 2第一行列出检查点,第二行查看指定编号。它们用于核对压缩保留了什么,或调查为什么后续工作偏离了早先决定;它们不是完整原始上下文的恢复按钮,也不同于文件回滚。
恢复会话时可以继续查看其检查点,入口见会话管理。