上下文压缩

上下文压缩用模型写出的摘要替换代理的对话历史,使长会话重新装进上下文窗口,同时舍弃部分细节。

压缩可能在上下文接近窗口上限时自动发生,也可以手动触发。Claude Code 使用 /compact,还能附上关注重点,例如 /compact focus on the API changes。Codex CLI 也有 /compact,会概括当前可见的对话以腾出 token。

摘要本身并非免费。生成摘要需要单独发出一次携带整段对话的请求,因此压缩长上下文也是一次很大的请求。Claude Code 文档指出,提示缓存尚有效时,大部分输入可从缓存读取,价格比原始长度暗示的低;若停顿超过缓存寿命,历史就须作为未缓存输入重新处理。下一次请求从较短的新历史开始,也需要重新建立缓存。

哪些内容留下,取决于来源。在 Claude Code 中,系统提示词继续有效,项目根目录的 CLAUDE.md 和自动记忆会从磁盘重新载入。完整的工具输出和中间推理会由摘要取代,只在聊天中提过的指令可能随之丢失。

压缩能延续会话,但不会自动让会话便宜。下一项任务若毫不相关,新会话无需背负旧历史,Claude Code 的 /clear 本身不产生模型请求。若需要延续当前工作,在自然的任务边界指定摘要重点,通常比让自动压缩在工作中途决定保留什么更可控。

← 全部术语