Appearance
一句话总结: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-生产部署) — 线上服务