进阶

消息压缩

4 种策略保持对话在上下文窗口限制内

~6 分钟阅读

0

压缩策略

0

压缩模块文件

0+

实现代码行数

AI 模型有一个'记忆限制' — 它们一次只能处理一定量的文本(上下文窗口)。随着对话中工具调用、文件内容和响应的增长,可能会超过这个限制。

消息压缩就像一个聪明的笔记员坐在你的对话旁。当内容太长时,它会总结较旧的消息,同时保留重要的上下文。你永远不会注意到它在发生,但这就是 Claude Code 能够处理长达数小时的编码会话而不崩溃的原因。

4 种压缩策略 #

不同情况下的不同策略

自动压缩

当对话超过 token 预算时触发。优先总结最旧的消息,保留最近的上下文。最常见的策略 — 处理约 90% 的情况。

响应式压缩

在流式响应生成过程中监控 token 使用。如果响应本身增长过大,触发流中压缩以防止上下文溢出。

剪切压缩

在对话历史中使用边界标记来识别安全的剪切点。移除整个段落(如大型文件内容),同时保留摘要标记。比自动压缩更精确。

微压缩

对单个工具结果进行内联摘要,而非压缩整个消息范围。在单个工具输出(如大型文件读取)占据上下文时特别有用。

上下文窗口管理 #

token 预算如何保持对话健康

压缩前

90%
阈值

压缩后

40%
阈值