跳转到内容

智能上下文压缩

Carry Code 的智能上下文压缩功能可以自动管理对话长度,让你在长时间对话中也能保持高效。


AI 对话有一个重要的限制:Token 数量。每个 AI 模型都有一个最大 token 限制(如 128K、200K 等)。

当对话变长时:

  • 超过限制会导致对话无法继续
  • 发送长上下文会增加 API 成本
  • 影响 AI 响应速度

Carry Code 的智能压缩功能可以解决这些问题。


Carry Code 会自动检测对话长度,当接近 token 限制时:

  1. 分析对话 — 识别关键信息和次要信息
  2. 压缩次要内容 — 简化早期的详细对话
  3. 保留关键信息 — 重要的代码、决策、结果
  4. 保持连贯性 — 让 AI 仍然理解上下文
内容类型处理方式
关键代码完整保留
重要决策完整保留
错误信息精简保留
闲聊内容大幅简化
历史细节选择性压缩

/compact

手动触发上下文压缩。

  • 对话变得很长时
  • 想要清理不必要的历史
  • 想要节省 API 调用成本

压缩后:

  • Token 数量显著减少
  • 关键信息仍然保留
  • 对话可以继续

~/.carry/carrycode.json 中配置:

{
"compaction": {
"enabled": true,
"threshold": 80000,
"preserveKeyInfo": true
}
}
参数说明默认值
enabled是否启用自动压缩true
threshold触发压缩的 token 阈值80000
preserveKeyInfo是否保留关键信息true

  1. 信息精简 — 早期的详细对话会被精简
  2. 要点保留 — 重要的代码和决策会保留
  3. 继续对话 — 你可以继续之前的任务
  • ❌ 不会丢失当前任务的关键信息
  • ❌ 不会删除重要的代码
  • ❌ 不会影响当前对话的上下文

当对话超过一定长度时,主动使用 /compact

  • 保持对话高效
  • 节省成本
  • 避免达到 token 上限

对于完全不同的任务,创建新会话更好:

  • 避免上下文混淆
  • 保持每个任务清晰

不需要写代码时,使用 Plan 模式:

  • 不会产生新的代码内容
  • 上下文更简洁

操作效果
/session new全新空白上下文
/compact压缩当前上下文
/session switch切换到其他上下文

不会。压缩算法会优先保留:

  • 关键代码片段
  • 重要决策
  • 当前任务相关的信息

Q:压缩后还能继续之前的工作吗?

Section titled “Q:压缩后还能继续之前的工作吗?”

可以。AI 会理解压缩后的上下文,你可以继续之前的任务。

在配置文件中设置 "enabled": false,但建议保持启用以避免达到 token 上限。