近年来,检索增强生成(RAG)一直是大语言模型(LLM)领域备受关注的技术方向,其核心思路非常清晰:让模型在生成答案时,能够实时从外部知识库中检索相关信息,并将检索到的内容融入生成过程,从而输出更准确、更具时效性的回答。这种组合方式确实有效解决了许多实际应用中的难题。

不过,近期一篇标题颇具冲击力的论文在行业内引发了广泛讨论——它直接呼吁“别再使用RAG”,并提出用另一种方法——上下文感知生成(CAG)来取而代之。这究竟是技术演进中的一次重要突破,还是又一次“新瓶装旧酒”的营销噱头?
什么是CAG?它真的比RAG更强吗?
CAG的核心逻辑与RAG存在根本性差异:它完全放弃了实时检索这一环节,而是将所有可能需要用到的知识提前加载进LLM的上下文窗口中。从表面上看,这种做法带来的优势确实颇具吸引力:
- 零延迟:数据已预先就位,模型在生成回答时几乎无需等待。
- 错误更少:省去了文档排序、相关性选择等可能出错的步骤,路径更短,理论上结果更纯净。
- 架构简化:不再需要独立的检索模块,整个系统更加轻量化。
- 准确性提升:模型在统一的上下文中进行推理,上下文一致性更强,逻辑也更为连贯。
从这些优势来看,CAG似乎恰好命中了RAG长期以来的几个痛点——检索延迟、系统复杂、有时检索结果不精准。然而,这些亮眼表现的背后,是否真的意味着CAG能够全面替代RAG呢?
CAG的局限性:看似美好,实际应用却未必理想
当然,任何技术方案都有其适用范围,CAG也不例外。它在解决某些问题的同时,也引入了新的、甚至可能更棘手的挑战。
对动态知识的“无力感”
CAG最大的短板在于它难以应对信息变化。预加载的知识一旦固定,就意味着与最新信息彻底隔绝。对于新闻、金融、实时技术文档等知识频繁更新的场景,CAG显得力不从心——要么重新加载上下文,要么从头再来,这与RAG“即查即用”的动态检索能力相比,灵活性差距明显。检索责任从系统转向了模型自身
在RAG体系中,检索部分高度可定制,开发者可以根据知识库的复杂程度设计精细的检索逻辑,确保准确召回。而CAG则将这一重任完全交给LLM自行完成。模型需要在海量的预加载文本中自主定位并筛选有用信息。如果上下文过长或信息密度过高,模型同样可能出现遗漏、混淆,甚至产生更隐蔽的“幻觉”——因为它输出的结果看起来像是基于“充分知识”得出的结论。
RAG与CAG,不是替代,而是互补
因此,结论其实非常明确:CAG并非来终结RAG,它更像是RAG之外的一种补充方案,用于解决特定场景下的特定问题。两者各有擅长的领域,谈不上谁更高级。
RAG依然是处理动态、大规模、高频更新知识库问题的利器,其灵活性和适用范围是CAG目前难以企及的。而CAG则在固定知识背景下的高精度、低延迟生成任务中展现出独特价值。例如,企业内部产品手册、固定教材、标准答案明确的FAQ等场景,CAG的优势就能充分发挥。
这篇论文本身确实为行业提供了新的思路和可能性,但“别用RAG”这个标题更像是一剂强心针,容易让人忽视其适用边界。技术的发展从来不是非此即彼的选择题,能够洞察每种方法的亮点与局限,才是真正理解了这个领域。
