外观
RAG 与 CAG 的对比
RAG vs CAG
RAG 改变了我们构建知识落地系统的方式,但它仍然存在一个弱点。
每次查询到来时,模型往往需要从向量数据库里重新取一遍相同的上下文,这既昂贵,又冗余,还慢。
缓存增强生成(Cache-Augmented Generation,CAG)解决了这个问题。
它让模型能够直接把稳定不变的信息缓存进自己的键值(key-value)记忆中,从而「记住」这些信息。
你还可以更进一步,把 RAG 和 CAG 融合起来,如下图所示:

简单来说,它是这样运作的:
在常规的 RAG 方案里,你的查询会发送给向量数据库,检索出相关分块,再把它们提供给 LLM。
但在 RAG + CAG 方案里,你会把知识分成两层。
- 静态的、很少变化的数据——比如公司规章制度或参考手册——会被一次性缓存进模型的 KV 记忆中。
动态的、频繁更新的数据——比如最近的客户互动记录或实时文档——则依然通过检索来获取。
这样一来,模型就不需要每次都重新处理同一份静态信息。
它可以直接从缓存中即时调用这些信息,再用检索补充最新内容,从而实现更快的推理。
这里的关键在于,你要有选择地决定缓存哪些内容。
你应该只缓存那些稳定、不常变化、且高价值的知识。
如果你把所有东西都缓存起来,就会触及上下文长度限制。所以,区分「冷」数据(可缓存)和「热」数据(需检索),是保持这套系统可靠运行的关键。
你也可以在上图中看到这一实际应用效果。
像 OpenAI 和 Anthropic 这样的许多 API 已经支持提示词缓存(prompt caching),你可以立刻动手尝试。