Q23RAG 检索增强对比选型AgentAlpha 社区约 6 分钟更新 2026-09-29

CAG vs RAG:预缓存和在线检索怎么选

CAG 预缓存知识跳过检索、RAG 在线检索按需取件。这篇给两种范式的成本与边界对比表,结论是组合而非替代。

面试官原题

长上下文时代的 Cache-Augmented Generation 会取代 RAG 吗?

面试官 · Agent 岗面试现场

先给结论

CAG和RAG的选择取决于知识库的具体规模、内容更新频率及数据权限要求。当知识库较小且内容稳定,例如几千页内的产品手册或客服FAQ,并且在多轮对话中高频复用同一套知识时,应选择CAG。它通过预填上下文并缓存KV状态,实现无检索延迟与无召回错误,让模型直接读取全局完整信息。

若知识规模超出上下文窗口限制,内容需频繁增量更新、对时效敏感,或在多租户场景下需做严格的权限隔离过滤时,必须选RAG。RAG按需检索知识片段,不受窗口制约,在海量与动态场景下无法替代。

逐项对比

对比维度CAG(缓存增强生成)RAG(检索增强生成)
定位把全部知识预先塞进上下文并缓存其KV前缀在线按需检索相关知识片段并拼接
强项无检索延迟,无召回错误,答案看到全局知识量不受窗口限制,可增量更新与带权限过滤
弱项知识频繁更新时重建缓存成本高,难做隐私分级存在检索延迟,可能出现召回错误或遗漏
典型场景知识库小且稳定、多轮高频复用(如客服FAQ)知识规模超窗口、多租户权限隔离、时效敏感内容
成本上下文窗口与前缀缓存成本需划算在线检索与外部数据库维护开销

CAG的核心逻辑是将全部知识作为前缀输入模型并保存其KV状态。在后续问答中直接复用缓存,完全跳过在线检索环节。这种做法规避了传统检索分块带来的召回错误,模型能基于完整的全局信息生成回答。但其边界很清晰,一旦知识频繁更新,缓存失效后的重建成本很高。同时,面对不同用户的数据权限差异,CAG很难像传统数据库那样做细粒度的隐私分级。

RAG的运作机制像是在图书馆里按需查阅资料。它只在用户提问时去外部知识库检索最相关的片段,不受限于模型的上下文窗口大小。对于需频繁增量更新的时效敏感内容,或是需根据用户身份做权限隔离的多租户场景,RAG具备不可替代的绝对优势。

在实际工程中,这两种方案可以组合使用。高频访问且稳定的热知识通过CAG进行预缓存,以降低延迟并保证召回完整度;而对于海量长尾冷知识、实时更新或带有严格权限控制的内容,则继续保留RAG链路进行在线检索。

面试怎么答

遇到这道面试题,应当先向面试官确认业务场景的前提条件,主动询问知识库的总体规模、内容更新频率以及是否有严格的多租户权限隔离需求。

明确前提后再给出解答框架。首先定性,明确指出CAG是长上下文与前缀缓存成熟后的新选项,并非RAG的替代品。接着按场景分类,小规模且稳定的高频复用场景选CAG,超大窗口、频繁更新与权限隔离场景选RAG。最后补充热知识缓存与冷知识检索的组合策略。常见错误答法是脱离成本计算,盲目认为长上下文会直接淘汰RAG,或者忽略了CAG在隐私分级上的短板。

—— 本场面试完 ——

我们不做玩具级 Demo 教学。训练营的作业是开源项目和论文——我们想陪伴你,做出能改变生活、最后改变世界的项目。