吴恩达RAG实战课:从基础检索增强到Agentic RAG完整指南

RAG:提升大模型回答质量最主流的技术方案
检索增强生成(Retrieval Augmented Generation,简称RAG)已经成为提升大语言模型回答质量与准确性最广泛使用的技术。吴恩达(Andrew Ng)在最新的 DeepLearning.AI 课程中,联合资深AI工程师 Zan Hassan,系统性地讲解了如何从零搭建一套可用于生产环境的RAG问答系统。
大语言模型的一个天然局限在于:它只掌握训练时接触到的公开数据。如果你需要基于专有数据(比如企业内部文档)来回答问题,模型本身是无能为力的。RAG 的价值正在于此——它让模型能够访问额外的数据源,从而回答那些未曾被训练过的事实性问题。这也是为什么 ChatGPT、Claude、Gemini 等聊天机器人会告诉你「正在搜索网络」,本质上就是在通过检索额外信息来保证回答的准确与时效。
RAG最早由Meta AI(原Facebook AI Research)的Patrick Lewis等人在2020年的论文中正式提出。其核心思想是在生成答案之前,先从外部知识库中检索相关文档片段,再将这些片段作为上下文提供给生成模型。这解决了大语言模型的两个根本性问题:知识截止日期(模型只知道训练数据截止时间之前的信息)和幻觉问题(模型倾向于编造看似合理但实际错误的信息)。在企业级应用中,RAG特别受欢迎的原因还在于它不需要对模型进行昂贵的微调,就能让模型基于最新的专有数据进行问答。

吴恩达在课程中直言:RAG 可能是当今世界上被构建最多的一类基于大模型的应用。大企业用它帮助客户解答产品问题、帮助员工查询内部政策;初创公司则在医疗(回答医学问题)、教育(学科辅导)等垂直领域大量落地 RAG 应用。
RAG核心原理:经典搜索与大模型推理的深度结合
Zan Hassan 是一位在过去十年间深耕AI领域的工程师、研究者和教育者,曾就职于领先的向量数据库公司 Weaviate——而向量数据库正是 RAG 系统的关键组件之一。
向量数据库(Vector Database)是专门为存储和检索高维向量数据而设计的数据库系统。在RAG系统中,文本首先通过嵌入模型(Embedding Model)转换为高维向量(通常是768维或1536维的浮点数数组),这些向量在数学空间中的距离反映了文本语义的相似度。当用户提出问题时,问题也被转换为向量,然后通过近似最近邻(ANN)算法在数据库中快速找到语义最相似的文档片段。主流的向量数据库包括Weaviate、Pinecone、Milvus、Qdrant和Chroma等,它们各自在性能、可扩展性和功能特性上有所差异。
他对 RAG 的定位非常清晰:RAG 的核心思想,是将经典的搜索系统与大语言模型的推理能力配对结合。RAG 概念本身并不复杂,但实现方式却有「无数种」,而这些设计选择会对系统的准确性和速度产生巨大差异。
课程刻意在两个层面之间做了平衡:一方面覆盖搜索与大模型底层的基础概念,另一方面提供架构高性能 RAG 系统的实战技巧。学员将学到如何准备数据、如何设计提示词以最大化利用数据,以及如何通过评估真实用户流量来持续保证回答质量。

大模型技术进化如何重塑RAG最佳实践
一个值得关注的趋势是:随着大模型技术的进步,RAG 系统也在快速吸收这些进展。
幻觉率持续下降
吴恩达指出,最近一代模型相比一两年前,在「基于给定文档或上下文进行 grounding」方面表现好得多。过去一年里,RAG 系统的幻觉率呈现稳步下降的趋势。同时,推理模型的出现让 RAG 能够处理更复杂的问题,并在提供的上下文之上进行深层推理。
Grounding(接地/锚定)是指让模型的回答严格基于提供的参考文档或上下文,而非依赖模型内部可能不准确的参数化知识。幻觉(Hallucination)则是大语言模型生成看似流畅但事实错误内容的现象。最新的研究表明,通过改进的训练方法(如RLHF中加入事实性奖励信号)、更好的指令跟随能力,以及推理时的链式思考(Chain-of-Thought),模型在grounding方面的表现有了显著提升。Vectara等公司定期发布的幻觉率排行榜显示,GPT-4o、Claude 3.5等新一代模型的幻觉率已降至3%以下。
推理模型(Reasoning Models)如OpenAI的o1/o3系列和DeepSeek-R1,能够在回答前进行多步逻辑推理。当这类模型与RAG结合时,系统不仅能检索相关信息,还能对检索到的多个文档片段进行交叉比对、逻辑推演和综合分析。例如,面对需要整合多份财报数据才能回答的复杂金融问题,推理模型可以从检索到的不同季度报告中提取关键数字,进行计算和比较,最终给出有理有据的分析结论。
上下文窗口扩大改变超参数调优策略
随着输入上下文窗口的增大,传统那套「如何切分文档、往上下文里塞入多少内容」的最佳实践也在演变。过去需要把信息拼命压缩进狭小的上下文窗口,如今这一约束已大大放松。
文档分块(Chunking)是RAG流水线中的关键预处理步骤。常见策略包括:固定大小分块(如每512个token一块)、基于语义的分块(利用段落或章节的自然边界)、递归字符分割(按层次结构逐步细分)、以及基于句子嵌入相似度的语义分块。分块大小直接影响检索精度和生成质量——太小会丢失上下文,太大则引入噪声。随着Claude(200K tokens)、Gemini(1M+ tokens)等超长上下文模型的出现,开发者有了更大的灵活度,甚至可以考虑将整篇文档直接放入上下文窗口,从而减少对精确分块的依赖。

多模态文档摄取能力显著增强
随着 agentic 文档抽取等技术的进步,如今可以更轻松地在 PDF、幻灯片等多种文档类型之上构建 RAG 系统,从而摄取、推理并回答关于更广泛材料的问题。
从基础RAG到Agentic RAG:架构演进全解析
课程最令人兴奋的部分,是它涵盖了从基础 RAG 到高级 Agentic RAG 的完整光谱。
传统RAG:人工驱动的检索流程
早期的 RAG 系统本质上是由人类工程师编写大量代码和规则来驱动的:给定一个查询,工程师预先决定如何将长文档切成片段、如何检索、取出多少片段(比如七块)放入大模型上下文。整个「给什么作为上下文」的决策,都掌握在人类工程师手中。

Agentic RAG:AI自主决策的智能检索
Agentic RAG 则彻底改变了这一逻辑。你可以给 AI 智能体一系列检索工具,然后让它自己决定:
- 下一步是否要做网络搜索?如果要,用什么关键词?
- 是否要查询某个专门的数据库?
- 第一轮检索到的信息够不够?还是需要进行第二轮检索?
Agentic AI(智能体AI)是2024年以来AI领域最重要的范式转变之一。与传统的单次输入-输出模式不同,AI智能体能够自主规划任务、使用工具、观察环境反馈并迭代执行。在Agentic RAG中,智能体将检索视为其工具箱中的一个工具,可以根据当前任务需求动态决定是否检索、检索什么、从哪里检索。主流的智能体框架包括LangGraph、CrewAI、AutoGen等,它们提供了构建多步骤、多智能体协作工作流的基础设施。吴恩达在其Design Patterns of Agentic AI演讲中将反思(Reflection)、工具使用(Tool Use)、规划(Planning)和多智能体协作列为四大核心设计模式。
这种高度自主的系统能够根据具体的信息需求,自行决定检索什么内容。吴恩达认为,这是让系统变得更加灵活、强大的重要方式——它给了系统一种应对真实世界「混乱」的能力:当出错时,智能体可以回退并修正自己的处理方案。
Zan 也特别提到,他个人非常看好 Agentic RAG,即构建使用多个大模型的系统,每个模型负责大型工作流中的某一部分,并拥有相应的自主权(agency)去决定检索哪些数据。这正处于当前企业推动大模型应用性能的最前沿。
RAG在复杂智能体工作流中的关键角色
随着团队构建越来越复杂的多步骤 agentic 工作流,RAG 往往成为其中的一个核心组件。吴恩达举例:在某个企业内部工作负载的第五步或第七步,RAG 为智能体提供了处理文档或推理客户请求所需的信息。
换句话说,学习 RAG 不仅仅是学习一项独立技术,更是掌握一套通用的思维框架——如何组装当下丰富的生成式AI工具去构建应用、评估应用,并驱动持续改进。
吴恩达和 Zan 都认为,即便AI领域持续快速演进,RAG 也不会消失。大模型将持续受益于对高质量、相关数据的访问。这门课程涵盖了从多模态、推理模型,到 RAG、微调、长上下文模型等多种方法的权衡,为学习者构建了扎实的基础。
对于刚开始搭建生成式AI应用的开发者而言,这门课程提供的不仅是 RAG 的完整概览,还包括构成 RAG 的众多组件——而这些组件在你未来构建其他应用时同样有用。
核心要点
相关推荐

Claude Code创建者建议:大改动别急着写代码,先对齐再动手
Claude Code创建者Boris分享AI编程协作最佳实践:面对大改动,先读仓库提问、确认方案再编码、写完立刻验证。掌握这套流程,避免AI沿错误方向返工,提升编程效率。

HydraNet-VSM架构解析:Mamba与注意力机制并行融合的推理新思路
深入解析HydraNet-VSM混合架构设计提案,探讨Mamba状态空间模型与Attention注意力机制并行融合方案,以及Verified Step Memory验证循环如何解决思维链推理不忠实问题。

Seed7编程语言:无GC实现内存安全的独特设计
深入解析Seed7编程语言如何在不依赖垃圾回收(GC)的情况下实现内存安全,探讨其AOT编译、可扩展语法、整数溢出检查等核心特性,以及与C++、Rust、Java等主流语言的对比。