⚡ OpenClaw 响应缓存指南

省下每一分钱,快过每一次调用

缓存 语义缓存 Redis 成本优化

📖 为什么需要缓存?

世界上有一种浪费叫"重复计算"——同一个问题问十遍,AI 就老实算十遍,你付十遍的钱。3分37秒,一个 Agent 处理了100条消息,其中32条是相似问题。32次重复调用,32份冤枉钱。

响应缓存就是给 Agent 装上"记忆力":

🏆 缓存类型对比

🎯 精确缓存

Hash 匹配,零误差。命中率高时效果极佳。

命中率:10-30%

延迟:1-5ms

适合:FAQ、模板问答

🧠 语义缓存

Embedding 相似度匹配,灵活命中。

命中率:30-60%

延迟:20-50ms

适合:客服、咨询、搜索

📦 Prompt 缓存

系统 Prompt + 历史消息缓存,减少 Token。

节省:40-70% Token

延迟:无额外延迟

适合:长对话、固定 Prompt

⚡ 快速配置

# ~/.openclaw/config.yaml
cache:
  # 精确缓存
  exact:
    enabled: true
    backend: redis
    host: localhost
    port: 6379
    ttl: 3600  # 1小时
    keyPrefix: "oc:exact:"
    
  # 语义缓存
  semantic:
    enabled: true
    backend: redis
    similarityThreshold: 0.92  # 相似度阈值
    embeddingModel: text-embedding-3-small
    ttl: 7200  # 2小时
    keyPrefix: "oc:semantic:"
    maxResults: 5
    
  # Anthropic Prompt 缓存
  promptCache:
    enabled: true
    # 利用 Anthropic 原生缓存
    # 相同前缀的 Prompt 只算一次

🔧 Skills 集成

# 缓存 Skill 配置
skills:
  - id: response-cache
    name: 智能响应缓存
    config:
      # 缓存策略
      strategy: semantic  # exact | semantic | hybrid
      
      # 语义缓存参数
      embedding:
        provider: openai
        model: text-embedding-3-small
      
      # TTL 策略
      ttlRules:
        - pattern: "FAQ|常见问题"
          ttl: 86400  # 24小时
        - pattern: "新闻|热点"
          ttl: 600    # 10分钟
        - pattern: ".*"
          ttl: 3600   # 默认1小时
      
      # 缓存失效
      invalidation:
        onToolCall: true     # 工具调用后失效
        onContextChange: true # 上下文变化时失效

代码示例

// 带缓存的 Agent 调用
const response = await agent.chat({
  message: "什么是 OpenClaw?",
  cache: {
    enabled: true,
    strategy: "semantic",
    ttl: 3600,
    tags: ["openclaw", "intro"]  // 缓存标签
  }
});

// 手动管理缓存
await agent.cache.set("faq:openclaw-intro", response, {
  ttl: 86400,
  tags: ["faq", "openclaw"]
});

// 按标签失效
await agent.cache.invalidateByTag("openclaw");

💡 最佳实践

✅ 缓存策略选择

场景 推荐策略 预估节省
客服 FAQ 语义缓存 50-70%
代码生成 精确缓存(短 TTL) 10-20%
内容翻译 精确缓存(长 TTL) 40-60%
数据分析 不推荐缓存 N/A
实时资讯 语义缓存(短 TTL) 20-30%

⚠️ 注意事项

  1. 时效性 - 新闻、价格等实时内容不要长缓存
  2. 一致性 - 工具调用结果可能变化,缓存需失效
  3. 隐私 - 用户私人数据不要缓存到共享存储
  4. 阈值调优 - 语义缓存阈值太低会返回错误答案

📊 成本节约估算

# 假设:每天 10,000 次 API 调用
# 平均每次调用 $0.003 (GPT-4o-mini)
# 语义缓存命中率 40%

无缓存成本 = 10,000 × $0.003 = $30/天
缓存命中    = 4,000 次免计算
实际成本    = 6,000 × $0.003 = $18/天

每日节省 = $12
每月节省 = $360
每年节省 = $4,380 🎉

# 加上响应速度提升(50ms → 5ms)
# 用户体验提升 + 并发能力提升

🔗 相关资源