语言模型有一个结构性缺陷:它知道的一切都被压缩进了权重,而权重在训练结束那一刻就冻结了。它不知道昨天发生了什么,不知道你公司内网里的文档,也无法说清自己为什么这样回答。
检索增强生成(RAG)给出的解法朴素得几乎不像研究成果:先去查,再回答。把问题拿去检索一批相关文档,塞进上下文,让模型基于这些材料作答。2020 年 Lewis 等人提出这个框架时,它还是一个把检索器与生成器联合训练的学术设计;五年后,它成了企业部署语言模型时事实上的默认架构。
而当模型不只被动接受检索结果,而是自己决定何时查、查什么、够不够、要不要再查一轮,RAG 就长成了智能体。
破除误解:三个流传最广的错误直觉
第一,RAG 不是"给模型接个搜索引擎"。 真正决定质量的环节几乎全在检索之前和之后:文档怎么切块(切碎了丢上下文,切大了稀释信号)、用什么表示(稠密向量擅长语义相近,稀疏检索擅长精确术语与罕见词,二者互补而非替代)、召回后怎么重排、多少条塞进上下文、冲突的材料怎么处理。工业界反复验证的经验是:在同一个模型上,检索管线的工程质量造成的效果差距,往往大于换一个更强的模型。
第二,长上下文不会消灭 RAG。 "既然模型能读一百万 token,把所有文档都塞进去不就行了"——这个推论在三个层面站不住。成本上,注意力的代价随上下文增长而快速上升,把整个知识库塞进每次请求在经济上荒谬;效果上,长上下文中的信息利用并不均匀,被淹没在无关材料中的关键句常常被忽略;治理上,检索留下了"这句话来自哪份文档"的可审计链路,而把一切塞进上下文则把这条链路抹掉了。长上下文与检索解决的是不同问题:前者是"能不能读完",后者是"该读什么"。
第三,智能体不是"把模型放进 while 循环"。 让模型反复调用工具很容易,让它可靠地完成十步任务很难,原因是纯粹的算术:若每一步成功率是 $p$,$n$ 步全对的概率是 。 单步 85% 看起来不错,十步连成一串只剩约 20%。这条曲线解释了为什么演示视频里流畅的智能体在生产环境里频繁翻车,也解释了为什么真正有效的做法不是"提高单步成功率"这一条路——更重要的是缩短链路、让失败可检测、让错误可回滚。
检索管线:质量藏在细节里
一条成熟的 RAG 管线大致有六层,每层都有自己的失效模式。
切块(chunking):把文档切成可检索的单元。固定长度切分简单但会腰斩句子与表格;按语义或结构(标题层级、段落)切分更好,但对格式混乱的真实文档鲁棒性差。一个被低估的技巧是在块里保留上下文锚点——所属章节标题、文档标题、时间戳——否则检索出来的块脱离语境,模型无从判断它说的是哪一年、哪个版本。
嵌入与索引:把块映射成向量,用近似最近邻搜索在亿级向量里做次线性检索。这一层的工程约束往往被低估:向量库的更新、删除与一致性,比"查得准"更容易出事。
混合检索:稠密向量擅长"意思相近但用词不同",BM25 这类稀疏方法擅长"必须精确命中的术语、编号、人名"。生产系统几乎总是两者并用,再用倒数排名融合之类的方法合并结果。只用向量检索的系统,会在查产品型号和法条编号时莫名其妙地失灵。
重排(reranking):召回阶段追求高召回率,代价是精度不足;交叉编码器重排器逐条精读查询与候选,把最相关的少数几条顶上来。这一步通常是单位算力收益最高的改进。
上下文组装:塞多少条、按什么顺序、怎么标注来源、冲突时如何呈现。这里的每个选择都直接改变输出。
生成与归因:要求模型逐句标注引用,是把幻觉从"无法检测"变成"可以核对"的关键一步——它不消灭幻觉,但把它变成可审计的错误。
智能体:把控制权交给模型
传统 RAG 的检索是固定的一跳:查一次,答一次。面对需要多跳推理的问题——"把 A 报告里的口径套到 B 数据上会得出什么"——一跳检索必然失败,因为第二次查什么取决于第一次查到了什么。
智能体范式把控制权交给模型:给它一组工具(关键词检索、语义检索、读取整篇文档、调用 API、执行代码),让它自己规划、调用、评估结果是否充分、决定是否再来一轮。ReAct 一类的框架把"推理"与"行动"交替进行,形成可观察的轨迹。
工具接口的标准化是 2024 年之后最实质的工程进展之一:与其为每个模型和每个数据源写一套胶水,不如约定一层统一协议,让工具的发现、描述与调用有共同的形状。这把"接一个新数据源"从项目工程降级成配置工作。
但智能体也引入了 RAG 没有的失效模式:
- 上下文污染:无关的工具输出堆积在上下文里,反而降低了后续步骤的判断力。研究发现,对能力较弱的模型,无条件地塞入检索结果是有害的——关键能力不是"会用工具",而是"知道何时不用工具"。
- 复合误差:前面提到的 问题,是多步智能体最根本的约束。
- 不可复现:同样的输入可能走出不同的轨迹,使调试、评估与事故复盘都远比确定性系统困难。
Gartner 预测,超过四成的智能体 AI 项目会在 2027 年前被放弃——引人注意的不是这个数字本身,而是给出的原因:失败的多数不是模型能力不足,而是模型周围的系统没有按生产标准工程化。
评估:这个领域最脆弱的一环
RAG 与智能体最尴尬的现实是:很难说清它到底好不好。
传统信息检索有标注好的相关性判断,机器翻译有参考译文,而"基于这些文档回答这个问题"的正确答案往往不唯一。业界的应对办法各有硬伤:
- 拆解式指标(检索命中率、答案忠实度、答案相关性)可以自动计算,但每个都只覆盖一段管线,加总起来不等于用户满意度;
- 用语言模型当裁判便宜且可扩展,但存在循环风险——用同一族模型评判自己的输出,会系统性偏好自己的风格,并对细微的事实错误不敏感;
- 人工评估最可信,也最贵,且难以覆盖长尾。
更根本的问题是分布漂移:真实用户的问题分布与开发者构造的测试集几乎从不一致,而 RAG 系统的失败往往集中在长尾——那些恰好没有对应文档、或文档互相矛盾的问题。
代价与争议
RAG 常常被当成幻觉的解药,但它只是把幻觉的位置挪了。 检索错了,模型会自信地基于错误材料作答;检索对了但材料本身过时或矛盾,模型也无从判断。归因引用能让错误可核查,却不能让错误消失。
"知识库"的治理问题被系统性低估。 一个 RAG 系统的答案质量上限,是它索引的那堆文档的质量。而多数组织的内部文档充斥着过期版本、互相矛盾的口径与无人负责的草稿。把语言模型接到一个混乱的知识库上,得到的是一个能言善辩的混乱。
安全边界变了形状。 当模型能调用工具、读取文档、执行动作,攻击面从"骗模型说错话"扩展到"骗模型做错事"。间接提示注入——把恶意指令藏在被检索的文档里——是一类结构性风险:模型难以区分"用户的指令"与"数据里的文字",因为在它眼里两者都是 token。目前没有公认的彻底解法,主流做法是最小权限、动作确认与输出过滤,都属于缓解而非消除。
架构选择正在被营销词汇淹没。 "智能体"已经膨胀成一个几乎无所指的标签。有价值的区分只有一个:控制流由代码决定,还是由模型决定。 前者可预测、可测试、可回滚;后者灵活但难以保证。多数生产系统的正确答案是混合——用代码固定关键路径,只在真正需要判断的节点交给模型。
未知的边界
- 长上下文能力持续增强后,检索的边界会退到哪里?是否存在一个"文档规模阈值",越过后检索必然优于直接读取?
- 有没有可能给多步智能体建立可组合的可靠性保证,让 不再是硬约束——例如通过可验证的中间状态或形式化的任务契约?
- 间接提示注入是否存在原理性的解法,还是必然要靠权限隔离这类系统级手段兜底?
- 评估的循环问题能否被打破?是否可能构造出不依赖强模型判分、又能规模化的评价方法?
- 检索器与生成器应该联合训练,还是保持解耦?前者效果更好,后者工程上可替换、可审计。
- 当组织把决策链路交给智能体,责任归属如何界定?这已经不是技术问题,但技术设计会决定它是否可回答。
跨域连接
- 大语言模型:RAG 与智能体的全部行为都受底座模型的能力边界约束——指令遵循、长上下文利用、工具调用的可靠性、拒绝回答的校准。很多被归咎于"管线没调好"的失败,根源是模型缺乏"我不知道"的能力;反过来,很多被宣传为模型能力的提升,实际来自周边工程。分清这两者,是评估任何 AI 系统的第一步。
- 信息检索与搜索:RAG 不是新学科,而是半个世纪信息检索传统的重新装配。倒排索引、BM25、查询扩展、相关性反馈、评估集构建这些老工具在 RAG 里全部复活,而忽视它们的团队正在一个个重新发现分词、停用词与精确匹配的重要性。检索的经典教训是:召回率与精度的取舍无法回避,只能显式选择。
- 近似最近邻搜索:向量检索的可行性完全依赖 ANN——精确最近邻在高维空间里退化成全表扫描。"近似"这两个字是有代价的:召回率、延迟与内存三者构成一个无法同时最优的三角,而多数向量库的默认参数把这个取舍替使用者做了决定,且不告诉他。
- 注意力与 Transformer:注意力机制解释了长上下文为何昂贵,也解释了信息为何在长序列中利用不均。检索本质上是在注意力之外做了一次硬性的信息筛选——用一个便宜的机制先把候选集缩小到注意力负担得起的规模。理解这一点,就理解了检索与长上下文不是竞争关系而是分工关系。
- 计算机安全原则:智能体把最小权限原则推到了新的语境——一个能读文档、调 API、执行代码的模型,其权限设计与传统的服务账号并无本质不同,但威胁模型多了"输入即指令"这一层。纵深防御、能力最小化、动作可审计与可撤销这些老原则,在这里是目前唯一可靠的抓手。
参考文献
- Lewis, P. et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020.
- Karpukhin, V. et al. Dense Passage Retrieval for Open-Domain Question Answering. EMNLP 2020.
- Yao, S. et al. ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023.
- Singh, A. et al. Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG. arXiv:2501.09136, 2025.
- Gartner. Predicts: Over 40% of Agentic AI Projects Will Be Canceled by End of 2027. 2025.
延伸阅读
- Khattab, O. & Zaharia, M. ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. SIGIR 2020.
- Greshake, K. et al. Not What You've Signed Up For: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection. AISec 2023.
- Liu, N. F. et al. Lost in the Middle: How Language Models Use Long Contexts. TACL 2024.
- Manning, C., Raghavan, P. & Schütze, H. Introduction to Information Retrieval. Cambridge University Press, 2008.(RAG 时代重新变得必读的经典)