Skip to main content

自动上下文摘要

当您的对话接近模型的上下文窗口限制时,Caret 会自动对其进行摘要以释放空间并继续工作。

自动压缩功能压缩对话上下文

工作原理

Caret 在对话过程中监控令牌使用情况。当您接近限制时,他会:

  1. 创建发生的所有事情的综合摘要
  2. 保留所有技术细节、代码更改和决策
  3. 用摘要替换对话历史记录
  4. 准确地从中断的地方继续

当这种情况发生时,您将看到摘要工具调用,显示总成本,就像聊天视图中的任何其他 API 调用一样。

为什么这很重要

以前,Caret 在达到上下文限制时会截断较旧的消息。这意味着会丢失对话早期的重要上下文。

现在有了摘要功能:

  • 保留所有技术决策和代码模式
  • 文件更改和项目上下文保持完整
  • Caret 记住他所做的一切
  • 您可以不间断地处理更大的项目
tip

上下文摘要与焦点链完美协同。当启用焦点链时,待办事项列表会在摘要中持续存在。这意味着 Caret 可以处理跨越多个上下文窗口的长期任务,同时通过待办事项列表在每次重置中保持正轨。

技术细节

摘要通过您配置的 API 提供商使用您已经在使用的相同模型进行。它利用提示缓存来最小化成本。

  1. Caret 使用摘要提示请求对话摘要。

  2. 一旦生成摘要,Caret 用继续提示替换对话历史记录,该提示要求 Caret 继续工作并提供摘要作为上下文。

不同模型在自动摘要启动时有不同的上下文窗口阈值。您可以在context-window-utils.ts中看到如何确定阈值。

成本考虑

摘要利用您对话中现有的提示缓存,因此成本与任何其他工具调用大致相同。

由于大多数输入令牌已经被缓存,您主要为摘要生成(输出令牌)付费,使其非常具有成本效益。

使用检查点恢复上下文

您可以使用检查点从摘要发生之前恢复任务状态。这意味着您永远不会真正失去上下文 - 您总是可以回滚到对话的先前版本。

note

在摘要工具调用之前编辑消息将类似于检查点工作,允许您将对话恢复到那个点。

下一代模型支持

自动压缩使用先进的基于 LLM 的摘要,我们发现这对下一代模型效果显著更好。我们目前支持以下模型的此功能:

  • Claude 4 系列
  • Gemini 2.5 系列
  • GPT-5
  • Grok 4
note

使用其他模型时,即使在设置中启用了自动压缩,Caret 也会自动回退到标准的基于规则的上下文截断方法。