Skip to content

一句话总结:RAG 性能优化三板斧——语义缓存(意思相同的查询直接返回,延迟几秒→几十毫秒、成本归零)、KV Cache 复用(共享前缀跳过重复计算)、增量索引(CDC 只重索引变更文档);配合异步 chunk 生命周期,线上无感更新。

语义缓存(RAG 标志性技术)

  • 原理:查询编码为向量 → 缓存库相似度搜索,超过阈值直接返回缓存答案
  • 与传统缓存区别:Redis 是"字面相同"才命中,语义缓存"意思相同"就命中
  • 收益:绕开最耗时的 LLM 生成阶段——延迟几秒→几十毫秒,成本归零
  • 阈值调优:太高(0.95)命中差、太低(0.7)返回错答案;建议 0.85 起调,看线上相似度分布找最优切点

KV Cache 复用 / Prefix Caching

  • 多轮对话里共享历史(system prompt + 前几轮)固化为只读 prefix
  • 跳过重复 token 的 QKV 投影与 softmax 计算——吞吐提升、显存省

增量索引与数据新鲜度

  • CDC 捕获:监听元数据 updated_at 变化,只对近 24h 变更文档重索引
  • 时效性衰减:f(t) = e^(-λ·Δt),λ=0.02 时每 50 小时权重降 37%——动态重打分,避免静态 TTL 过早/过晚更新
  • 异步 chunk 生命周期:新文档不立即 embedding → 写变更日志(Kafka)→ Worker 集群按优先级消费 → 原子写入向量库;线上服务零影响

优化案例(金融问答)

850ms → 220ms:高频查询缓存(TTL=5min,命中68%) + 向量索引预加载 + 上下文模板缓存

三层缓存全景:语义缓存(查重)→ KV 缓存(生成)→ 索引缓存(高频预加载)

面试要点

  • 能讲语义缓存原理、收益与阈值调优(0.85 起调)
  • 能讲 KV Cache 复用(只读 prefix 跳过重复计算)
  • 能讲增量索引(CDC + 衰减函数)与异步生命周期
  • 能默写三层缓存

相关概念

  • [AI-Agent-RAG生产化与混合检索](/学习笔记/AI技术/AI Agent/AI-Agent-RAG生产化与混合检索) — 检索链路
  • [AI-Agent-AgenticRAG与高级检索](/学习笔记/AI技术/AI Agent/AI-Agent-AgenticRAG与高级检索) — 检索智能决策
  • [AI-Agent-向量数据库](/学习笔记/AI技术/AI Agent/AI-Agent-向量数据库) — 索引底座
  • [AI-Agent-生产部署](/学习笔记/AI技术/AI Agent/AI-Agent-生产部署) — 线上服务