Files
nexus/wiki/concepts/上下文压缩.md
2026-04-23 04:02:48 +08:00

2.1 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
上下文压缩Context Compaction concept
openclaw
memory
context-window
养龙虾5天血泪史
2026-04-23

Definition

上下文压缩是 AI Agent 在对话填满 Context Window 时,将旧消息压缩成摘要为新消息腾出空间的内置机制。是 OpenClaw 管理上下文长度的核心手段。

How It Works

当对话消息积累到一定量(接近 Context Window 限制OpenClaw 的压缩器运行:

  1. 扫描历史消息
  2. 生成摘要Summary
  3. 丢弃原始消息
  4. 用摘要替代历史

The Problem

压缩摘要丢失细节

  • 姓名、数字、具体决定等关键信息全部消失
  • 摘要抓住了要点,但丢掉了可操作的细节
  • 精心设计的第 3 条消息指令和第 7 条闲聊得到相同处理

"上下文窗口是有限的。但默认行为对一切一视同仁,这意味着你精心设计的第三条消息指令,和第七条消息的闲聊得到了相同待遇。" — 养龙虾5天血泪史

Solution: Memory Flush

在压缩运行前将重要上下文写入磁盘

{
  "compaction": {
    "memoryFlush": {
      "enabled": true,
      "softThresholdTokens": 4000
    }
  }
}

当会话接近上下文限制时:

  1. OpenClaw 触发静默回合
  2. Agent 将重要内容写入 memory/YYYY-MM-DD.md
  3. 压缩器运行
  4. 即使摘要丢失,重要内容仍保留在磁盘上

注意4000 这个数值要根据模型上下文窗口大小调整。大模型32K/128K/200K tokens应设置更高值避免过度压缩导致上下文碎片化。

Key Insight

"压缩不是敌人。压缩过程中丢失信息才是。"

如果只在上下文窗口中,它是临时的。如果在磁盘上,它就能存活。

Connections