RAG 学习计划:零基础 4 周入门
这份计划适合没有写过代码、希望先理解 RAG 原理的学习者。按 4 周、每周 5 次、每次约 30 分钟 安排,总投入约 10 小时;这里的“第几天”指学习次数,可以按自己的节奏完成。
完成后,你应该能解释 RAG 的流程,手动模拟一次知识库问答,并判断回答出错时应该先检查哪里。自动运行的 RAG 程序可以作为后续编程阶段的目标。
本计划已配套 20 篇学习文章。点击下表中的学习日进入对应课程;每篇包含原理、示例、练习和折叠参考答案。先收藏配套资料包,其中统一提供 A—H 资料、10 题测试集与记录模板;从第 1 课开始即可。
一、先理解 RAG 在做什么
RAG(Retrieval-Augmented Generation,检索增强生成)就是先检索相关资料,再把资料和问题一起交给大模型生成回答。 这种做法通常不需要重新训练大模型。可以把它理解为一次开卷考试:检索负责翻到相关页面,大模型负责阅读和组织答案。微软官方原理说明
把流程分成两部分,更容易理解:
- 准备资料:收集文档 → 整理内容 → 切成合适的小段 → 建立方便搜索的索引。
- 回答问题:接收问题 → 检索相关片段 → 把问题与片段放进提示词 → 生成回答并标明出处。
向量检索是常见方法,关键词搜索也可以用于 RAG。RAG 能帮助回答获得依据,但不能保证每次回答都正确。
二、每次学习怎么安排
- 10 分钟理解:阅读一个概念,找一个生活中的类比。
- 15 分钟练习:用自己的笔记或下面的示例资料完成任务。
- 5 分钟记录:写下“今天学会了什么、例子是什么、还有什么不懂”。
每周另外两天可以休息或复习。如果本周验收题还说不清楚,就重复相关练习,再进入下一周。
| 周次 | 学习重点 | 本周成果 |
|---|---|---|
| 第 1 周 | 大模型、提示词、上下文与 RAG 基本流程 | 一张自己能讲清楚的 RAG 流程图 |
| 第 2 周 | 文档切分、向量表示、检索与资料出处 | 一份带编号和来源的小型知识库 |
| 第 3 周 | 手动模拟检索与生成 | 一份可重复使用的问答提示词和 5 次实验记录 |
| 第 4 周 | 评估答案、定位问题与改进 | 一套 10 题的测试集和一页复盘 |
三、第 1 周:建立基本认识
| 学习日 | 理解什么 | 做什么练习 |
|---|---|---|
| 第 1 天 | 大模型能做什么;流畅的回答为什么也可能出错 | 写下 3 个常见用途,标出哪些回答需要查证 |
| 第 2 天 | Prompt 是给模型的指令;Context 是本次回答可用的上下文 | 对同一段公开短文,分别要求“概括内容”和“按三点解释”,观察结果 |
| 第 3 天 | 模型可能不知道某份私人文档或最新规定 | 列出 3 个必须依赖外部资料才能回答的问题 |
| 第 4 天 | 检索、补充上下文、生成分别负责什么 | 用“查图书馆开放时间”画出问答过程 |
| 第 5 天 | RAG 和重新训练模型的区别;RAG 可以被 Agent 使用 | 不看笔记,用 3 分钟向别人解释 RAG |
本周验收:能回答“为什么先找资料”“资料放在哪里”“找到了资料为什么仍可能答错”。用自己的话解释即可。
四、第 2 周:理解资料如何被找到
| 学习日 | 理解什么 | 做什么练习 |
|---|---|---|
| 第 6 天 | 文档质量影响检索;标题、日期和来源有助于判断依据 | 选 3~5 份公开短文或自己的非敏感笔记,为每份资料记录标题和日期 |
| 第 7 天 | Chunking 是文档切分;片段过小可能丢失上下文,过大可能夹杂无关内容 | 把一篇短文分别按自然段和主题切分,比较哪种更适合回答问题 |
| 第 8 天 | Embedding 用数字表示文本特征,帮助比较语义接近程度 | 写出 3 组“说法不同、意思相近”的句子,例如“几点关门”和“闭馆时间” |
| 第 9 天 | 关键词搜索与语义搜索的区别 | 用原文用词和同义表达各提一个问题,手动寻找相关段落并比较难度 |
| 第 10 天 | 索引方便检索;Top-k 是取前 k 个候选片段;来源信息帮助核对答案 | 给片段编号,记录出处,为一个问题挑选最相关的 3 段 |
本周验收:交出至少 8 个资料片段,每段有编号和来源。能说明“排在前面的片段不一定能回答问题”,以及为什么不能只按相似程度判断。
五、第 3 周:手动模拟一次 RAG
这一周由你手动完成检索,再让一个现有的 AI 对话工具依据选中的片段回答。这个练习用来观察各个步骤,后续可以把手动检索替换成程序。
| 学习日 | 理解什么 | 做什么练习 |
|---|---|---|
| 第 11 天 | 问题需要先明确,才能挑选相关资料 | 根据知识库写 5 个问题:直接查询、换一种说法、组合信息和资料缺失都要覆盖 |
| 第 12 天 | 检索质量与回答质量要分开观察 | 先不让模型回答,手动为每个问题选片段,并写出选择理由 |
| 第 13 天 | 提示词如何组织问题、资料和回答要求 | 使用下面的模板,完成一次有出处的问答 |
| 第 14 天 | 缺少证据时应承认不知道;相互冲突的资料需要说明差异 | 分别提供不相关片段和两份冲突资料,观察模型是否编造或擅自取舍 |
| 第 15 天 | 保留实验过程,方便比较 | 完成 5 次问答,记录问题、选中的片段、模型答案和自己的判断 |
练习用的示例资料
以下内容完全虚构,仅用于学习。每一行都可以看作一个有来源编号的资料片段。
| 编号 | 来源 | 内容 |
|---|---|---|
| A | 图书馆开放时间说明,2026 年 10 月版 | 周一至周五 9:00—21:00;周六、周日 9:00—17:00 |
| B | 图书馆借阅规则,2026 年 10 月版 | 每位读者最多同时借 3 本书;每本借期为 14 天 |
| C | 续借说明,2026 年 10 月版 | 未被其他读者预约的图书,可以在到期前续借一次,延长 7 天 |
| D | 临时闭馆公告,2026 年 10 月 12 日 | 2026 年 10 月 18 日全天闭馆,进行设备维护 |
| E | 图书馆借阅规则,2025 年存档版 | 每位读者最多同时借 2 本书;本版已被 2026 年规则替代 |
试着提问:“星期天 18 点能去吗?”“一次能借几本?”“2026 年 10 月 18 日开放吗?”“逾期每天罚多少钱?”
可以直接使用的提示词
复制下面的要求,再填入问题和自己选出的资料:
请根据下方资料回答问题,并在关键结论后标出片段编号。
如果资料不足,请说明缺少什么信息,不要猜测。
如果资料存在冲突,请说明冲突;只有资料明确注明适用时间或替代关系时,才据此选择适用版本。
问题:填写你的问题。
资料:粘贴选出的片段,保留编号、来源和日期。
本周验收:能观察到有依据的回答、资料不足的回答和冲突说明,并检查引用是否真的支持结论。示例中没有逾期罚款信息,所以不能推出具体金额。
六、第 4 周:学会判断效果并改进
| 学习日 | 理解什么 | 做什么练习 |
|---|---|---|
| 第 16 天 | 测试问题需要包含容易、困难和无法回答的情况 | 准备 10 题:4 题直接查询、2 题同义表达、2 题组合或冲突信息、2 题资料缺失 |
| 第 17 天 | 检索评估关注“是否找到足够的证据” | 为每题写下所需证据片段,检查检索结果是否覆盖它们 |
| 第 18 天 | 回答评估关注正确性、是否有依据、引用与缺失处理 | 用下面的记录表逐题评估答案 |
| 第 19 天 | 混合检索结合关键词和语义;重排对候选片段再次排序 | 先用两种方式手动找候选段落,合并后重新排序;每次只改变一个因素再比较 |
| 第 20 天 | 改进要由失败案例推动 | 重做原来的 10 题,比较结果,写出最常见的 3 个问题和下一步改进方法 |
简单的评估记录表
复制这张表,为每个测试问题增加一行。“不适用”适用于没有可回答证据的题目。
| 问题 | 所需证据 | 找到足够证据? | 答案正确? | 引用支持结论? | 缺失或冲突处理是否合适? | 改进方向 |
|---|---|---|---|---|---|---|
| 示例:一次能借几本? | B;若同时检索到 E,需识别替代关系 | 是/否 | 是/否 | 是/否/不适用 | 是/否/不适用 | 填写观察 |
先把问题定位到具体环节:
- 资料里就没有答案:补充资料,或者明确回答信息不足。
- 资料有答案,但没找到:检查切分、问题表达和检索方式。
- 找到了答案,但模型答错:检查上下文是否完整、是否混入冲突内容,以及提示词是否清楚。
- 答案看似正确,但引用不支持它:逐条核对结论与原文,不能仅看有没有引用标记。
本周验收:完成 10 题记录,并用至少一个失败案例说明“哪里出错、如何改、改后是否更好”。这份小测试集用于学习,不能代表所有真实使用场景。
七、遇到术语时查这张表
| 术语 | 先记住的意思 |
|---|---|
| LLM | 大语言模型,负责理解输入并生成文本 |
| Prompt | 给模型的指令和输入内容 |
| Context | 模型本次回答能够使用的上下文 |
| Chunk | 从文档中切出来的资料片段 |
| Embedding | 文字的数字表示,用于比较语义等特征 |
| Index | 为快速查找资料建立的索引 |
| Top-k | 取排序靠前的 k 个候选结果,不代表这些结果一定足够相关 |
| Reranking | 对初步检索到的候选资料再次排序 |
八、阅读资料与后续路线
第 1~2 周以 微软 RAG 基础课程 为主,按原理、资料准备、检索与评估的顺序阅读。遇到英文术语,可以先对照上面的词汇表。
第 3~4 周可以选读 LlamaIndex 的 RAG 概念说明,了解加载、索引、存储、查询与评估的关系;安装和代码部分留到编程阶段。阅读顺序和练习安排是本计划给出的建议。
四周后,如果希望自己搭建自动运行的小项目,下一步可以依次学习:
- Python 的变量、列表、字典、循环和函数。
- 读取文本文件,以及 API 请求和 JSON 的基本概念。
- 先用简单搜索完成“找片段 → 交给模型 → 回答”的最小流程。
- 再加入向量检索,复用这份 10 题测试集比较效果。
- 根据实际问题学习框架、重排和更复杂的检索策略。
九、完成情况
- [ ] 第 1 周:我能讲清楚 RAG 的基本流程。
- [ ] 第 2 周:我整理了带编号和来源的资料片段。
- [ ] 第 3 周:我完成了 5 次手动模拟问答。
- [ ] 第 4 周:我完成了 10 题测试和一页复盘。
第一次学习就从第 1 天开始:写下大模型的 3 个用途,并说说每种用途的结果需要怎样核对。