新一代增强式生成架构: RAG + CAG

87 阅读3分钟

新一代增强式生成架构: RAG + CAG【AI大模型教程】

内容预览

在大模型应用的浪潮中,**RAG(检索增强生成)**一直是提高模型回答准确性的关键技术。而几个月前,另一个词——**CAG(缓存增强生成)**开始频频出现,很多人都在讨论它的潜力。 但真正的魔力,其实发生在 RAG 与 CAG 的融合 之中。

记得之前看过一篇文章,Manas 为了解决推理速度及算力的问题,就使用了类似这样的技术。

那CAG + RAG 架构到底是什么?怎么做?

  1. RAG 与 CAG 是什么? =================

RAG(Retrieval-Augmented Generation):通过语义检索,把外部知识库中的内容取出来,拼接进 Prompt 里,辅助模型生成更准确的回答。 适合应对动态、实时变化的信息

CAG(Cache-Augmented Generation):把不常变化的高频知识(如企业规则、核心数据)提前预计算成模型的 KV 缓存,加载进 LLM 内存中,随时调用。适合提供稳定、快速响应的静态知识

如过再粗暴一点,你可以将 CAG 理解为内存,RAG 理解为硬盘,都是装知识的地方

  1. CAG + RAG 的融合流程 ==================

整个流程可以分成两个阶段:数据准备 和 查询执行

CAG + RAG 的融合流程

2.1 数据准备(Data Preprocessing)

① 缓存冷数据(CAG 部分)

找出那些变化极少但被频繁查询的数据源,比如企业政策、产品手册、固定文档。

将这些数据预计算为 LLM 的 KV 缓存(Key-Value Cache),加载到模型内存中。

只需执行一次,后续可以长期复用。

② 构建向量索引(RAG 部分)

对动态或外部信息(如新闻、知识库、网页)计算向量嵌入(embeddings)

存入向量数据库(Vector DB)或普通数据库,供后续检索使用。

2.2 查询执行(Query Path)

③ 构造提示(Prompt)

将用户问题 + 系统指令组合起来,并明确告诉模型:“哪些信息来自缓存(CAG),哪些来自检索(RAG),以及如何综合使用。”

例如:告诉模型可从缓存的公司内部规章(CAG部分)中获取固定政策信息,从检索到的外部数据(RAG部分)中获取最新补贴标准。

④ 检索外部信息

将用户问题向量化,在向量数据库中执行语义搜索,

获取最相关的上下文内容。

如果无需语义检索,也可直接查实时数据库或网络。

5. 融合上下文

将检索到的外部信息与缓存的内部知识合并,

构成最终的 Prompt 输入。

6. 生成回答

将融合后的 Prompt 送入大模型,生成最终回答并返回给用户。

3 注意事项

① 区分冷热数据

  • “冷数据”是变化极少的知识,适合缓存;
  • “热数据”更新频繁,应通过 RAG 检索。混用会导致数据过时、应用不同步。

② 敏感数据要谨慎缓存

缓存数据往往对所有用户可见,如果其中包含敏感信息,会引发安全问题。

③ RBAC(权限控制)难题缓存机制下很难做细粒度的角色权限区分。若业务对权限敏感,建议每个角色使用独立模型与独立缓存

  1. 总结 =====

在传统 RAG 中,模型每次都要检索所有信息,效率受限;而 CAG 把核心知识“预热”进模型,使得回答更快、更稳定。

一个不是特别恰当的比喻,你可以把 RAG 看成是检索装在“硬盘”里知识的技术,而把 CAG 看成是检索装在“内存”里的知识。当两者融合,AI 助手既能实时搜索新信息,又能快速调用内部知识库。