@akshay_pachaar: RAG vs. CAG,清晰解释!RAG 很棒,但有一个主要问题:每次查询都命中向量数据库,即使是静态数据也是如此……

X AI KOLs Following 工具

摘要

解释了缓存增强生成(CAG)作为一种将静态知识直接缓存到模型 KV 内存中的方法,与传统 RAG 相比,可降低延迟和成本,并展示了如何将两者结合以获得最佳性能。

RAG vs. CAG,清晰解释! RAG 很棒,但有一个主要问题: 每次查询都命中向量数据库,即使是数月未变的静态信息也是如此。 这既昂贵、缓慢,又没有必要。 缓存增强生成(CAG)通过让模型在其键值(KV)内存中直接“记住”静态信息来解决这个问题。 事实上,你可以结合 RAG 和 CAG,两全其美。 其工作原理如下: RAG + CAG 将你的知识分为两层: ↳ 静态数据(政策、文档)被一次性缓存到模型的 KV 内存中 ↳ 动态数据(近期更新、实时文档)通过检索获取 这带来了更快的推理、更低的成本和更少的冗余。 关键在于有选择性地缓存内容。 只缓存那些很少变化的静态、高价值知识。如果缓存所有内容,你会触及上下文限制。将“冷”(可缓存)数据和“热”(可检索)数据分开,能让这个系统保持可靠。 你可以今天就着手实施。OpenAI 和 Anthropic 已经在它们的 API 中支持提示缓存。 如果你想深入了解,我在下面分享了最近关于提示缓存的文章。 你已经在生产环境中尝试过 CAG 了吗? 下面,我引用了自己写的一篇关于提示缓存的文章,以及 Claude Code 如何实现 92% 的缓存命中率。不妨一读。
查看原文
查看缓存全文

缓存时间: 2026/05/19 14:48

RAG vs. CAG,清晰解读!

RAG 很好,但它有一个显著问题:

每个查询都要访问向量数据库。即使是对几个月未变的静态信息也是如此。

这样做昂贵、缓慢,且不必要。

缓存增强生成(CAG)通过让模型直接在其键值(KV)记忆中“记住”静态信息,解决了这一问题。

实际上,你可以将 RAG 与 CAG 结合,实现两全其美。

具体原理如下:

RAG + CAG 将你的知识分为两个层次:

↳ 静态数据(策略、文档)被一次性缓存到模型的 KV 记忆中

↳ 动态数据(近期更新、实时文档)则通过检索获取

这样能带来更快的推理速度、更低的成本,并减少冗余。

关键在于有选择地缓存。

只缓存那些极少变化的、高价值的静态知识。如果缓存所有内容,你会触及上下文限制。将“冷”数据(可缓存)与“热”数据(可检索)分离,才能保持系统可靠。

今天就可以开始实践。OpenAI 和 Anthropic 的 API 已经支持提示缓存(prompt caching)。

如果你想深入了解,我在下方附上了最近关于提示缓存的文章。

你是否已经在生产环境中尝试过 CAG?

下面引用了我就提示缓存以及 Claude Code 如何实现 92% 缓存命中率所写的一篇文章。不妨一读。

相似文章