首页 教程 分类 Skills下载 关于
ZH EN JA KO
高级用法

对话上下文与记忆管理策略

· 8 分钟

上下文管理的挑战

AI 模型通过上下文窗口理解对话历史。上下文越长,AI 的回答越连贯,但 Token 消耗也越高。OpenClaw 提供多种策略来平衡质量与成本。

基础配置

{
  "sessions": {
    "maxHistory": 20,
    "maxTokens": 50000,
    "contextStrategy": "sliding-window"
  }
}

上下文策略

滑动窗口(Sliding Window)

保留最近 N 轮对话,丢弃更早的历史:

{
  "sessions": {
    "contextStrategy": "sliding-window",
    "maxHistory": 20
  }
}

优点:简单直接,内存可控 缺点:可能丢失重要的早期上下文

智能裁剪(Smart Trim)

根据相关性保留上下文:

{
  "sessions": {
    "contextStrategy": "smart-trim",
    "maxTokens": 50000,
    "relevanceThreshold": 0.5
  }
}

工作原理:计算每条历史消息与当前对话的相关性,保留高相关性的消息,裁剪不相关的中间消息。

摘要模式(Summary)

当对话超过阈值后自动生成摘要:

{
  "sessions": {
    "contextStrategy": "summary",
    "summaryAfter": 15,
    "summaryModel": "fast",
    "summaryPrompt": "请将以下对话内容总结为简洁的要点,保留关键信息和用户偏好。",
    "keepRecent": 5
  }
}

工作原理:

  1. 对话达到 15 轮时触发摘要
  2. 使用轻量模型生成对话摘要
  3. 用摘要替代旧的对话历史
  4. 保留最近 5 轮原始对话

混合模式(Hybrid)

结合多种策略:

{
  "sessions": {
    "contextStrategy": "hybrid",
    "phases": [
      {"maxMessages": 10, "strategy": "full"},
      {"maxMessages": 30, "strategy": "smart-trim"},
      {"maxMessages": 999, "strategy": "summary"}
    ]
  }
}

10 轮内保留完整历史,10-30 轮使用智能裁剪,超过 30 轮使用摘要。

系统提示词优化

系统提示词也占用上下文空间,需要精简:

{
  "agents": {
    "main": {
      "systemPrompt": "你是 AI 助手。简洁回答,必要时详细解释。",
      "dynamicPrompt": {
        "base": "你是 AI 助手。",
        "additions": [
          {"condition": "tools_available", "text": "你可以使用以下工具:..."},
          {"condition": "user_is_new", "text": "这是新用户,请友好引导。"}
        ]
      }
    }
  }
}

动态提示词只在需要时添加额外内容,减少不必要的 Token 消耗。

向量记忆配合

将长期信息存入向量记忆,从上下文中释放:

{
  "sessions": {
    "autoMemorize": {
      "enabled": true,
      "triggerWords": ["记住", "以后", "每次"],
      "extractFacts": true
    },
    "autoRecall": {
      "enabled": true,
      "topK": 3,
      "threshold": 0.8
    }
  }
}

当用户说「记住我喜欢简洁的回答」时,这个偏好会被存入向量记忆,不再需要保留在对话历史中。

上下文预算

为不同部分分配 Token 预算:

{
  "sessions": {
    "tokenBudget": {
      "total": 100000,
      "systemPrompt": 2000,
      "memory": 3000,
      "history": 90000,
      "tools": 5000
    }
  }
}

监控上下文使用

openclaw sessions context-stats
Context Usage Statistics:
  Avg context length: 12,500 tokens
  Max context length: 85,000 tokens
  Avg history messages: 15
  Context overflow events: 3 (auto-trimmed)
  Estimated context cost: $1.25/day

按频道定制

不同频道使用不同的上下文策略:

{
  "channels": {
    "telegram-main": {
      "session": {
        "maxHistory": 30,
        "contextStrategy": "hybrid"
      }
    },
    "whatsapp-quick": {
      "session": {
        "maxHistory": 5,
        "contextStrategy": "sliding-window"
      }
    }
  }
}

客服场景保留较长历史以理解完整问题,快速问答场景只需少量上下文。

手动管理

用户可以通过命令管理自己的对话上下文:

用户: /clear
AI: 对话历史已清除。

用户: /context
AI: 当前对话包含 15 条消息,使用了 8,500 个 Token。
{
  "channels": {
    "telegram-main": {
      "commands": {
        "/clear": "session.clear",
        "/context": "session.info"
      }
    }
  }
}

总结

上下文管理是 OpenClaw 性能和成本优化的关键环节。根据不同场景选择合适的策略——简单聊天用滑动窗口,长期服务用摘要模式,结合向量记忆实现无限长期记忆——可以在保持优质对话体验的同时有效控制 Token 开销。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入