课前:先自学,再做 15 道题
上课前,先花点时间自己看一页材料,就三样:
- 弄懂 3 个词:RAG(检索增强生成)= 摄取 → 切分 → 向量化 → 索引 → 检索 → 生成并引用、切分(chunk 大小 + 重叠)、检索质量(召回命中率)。
- 记住 1 个比方:公司资料室——只按目录取用,旧版要标注,找不到就承认没有。
- 记住 1 条红线:RAG 适合"资料明确、问题相对固定"的活儿;资料天天变、或者需要现算的,改用数据库或工具(第 5 讲)。
看完做 15 道自测题。哪几道大家错得多,直播时老师就重点讲哪几道。
直播 0–30|把核心快速过一遍
- RAG 不是"上传文件",是六步,哪一步坏了都坏得看不出来。 切分切断了句子 → 检索到半句话 → 答非所问;旧版混进来 → 政策过期;只召回 1 段 → 模型自己补 3 段 → 幻觉。
- 检索有"关键词"和"语义"两种,质量得能测。 关键词快,但漏同义;语义能抓到同义,但要向量化。检索质量就看召回命中率(答案所在的那段有没有被检索回来),这是 RAG 的体检指标。
- 引用要能查,版本要能追溯。 引用靠元数据(来源/版本/生效日期);没有元数据,"引用"就是编的。两种失败要分开记:①检索到了但答错(改提示),②该检索的没检索到(改切分/检索)——修错地方,越修越差。
直播 30–75|挑大家做错的题讲
- 有人把知识库当垃圾桶,什么文件都往里丢,要按主题分库。
- 引用是编的("根据资料 A 第 3 页",可 A 一共就 2 页),要抽检引用。
- 旧文档没删,同一份制度存了两个版本,它一定会在某一天引用错。
直播 75–120|拆一个真实案例:美妆客服的 6 条红线
一家美妆集合店,客服 4 个人,产品知识散在各处,孕妇、过敏、功效、价格这类高风险问题经常答错。材料是三份产品资料(防晒乳 / 淡斑精华 / 面霜,精华标注"孕妇慎用"),加 6 条红线(医疗功效 / 绝对化用语 / 孕妇儿童 / 过敏 / 竞品 / 价格承诺)。测试问题就 6 个:孕妇能用吗、烟酰胺浓度、能祛斑吗、和 XX 比哪个好、敏感肌能用吗、有活动价吗。
这里埋了 3 个坑:问"能祛斑吗",资料明明写的是"色素沉着",模型顺着用户就答"能祛斑"(踩了医疗功效这条红线);问"孕妇能用吗",资料写"慎用",模型却简化成"可以用/不能用",正确的说法是"不建议自行使用,请咨询医生"+ 转人工;问"有活动价吗",价格根本不在库里,模型可能张口编个"199"。
课上这么走:先跑一遍统计错了几题,再往指令里加 命中红线 → {"handoff":true,"reason":...} 重跑对比。
这一讲想让你记住的就一句:知识库不是"让 AI 什么都能答",是"让它在不该答的时候停下来"。红线召回必须是 100%,不是 95%。
当堂练一个(8 分钟):随手找一份你熟悉的"规矩"——宿舍公约、社团招新章程、图书馆借阅规则都行,把它建成一个小知识库,然后连着问它三件事:①一件它写了的事(比如"借书能借几本"),看它能不能点回原文条款;②一件它没写的事(比如"暑假能续借吗"),看它是老实说"没写/未覆盖",还是硬编一个;③一件高危的(比如"逾期能不能不交罚款"),看它会不会拒答或转人工。
判断标准:①能点回原文、②说"未覆盖"不硬编、③高危拒答或转人工——三样都做到才算过关;只要它编出一个制度里没有的答案,就是失败。
课后:答疑 + 陪跑,交一份作业
本讲必过:知识库。 5 份资料(有来源/版本/生效日期)+ 切分策略 + 10 道题(覆盖/未覆盖/版本冲突/高风险)+ 量召回命中率 + 拒答/转人工。产出《知识库说明书》+ 测试记录。
这节课你该会的:
- 抽一个回答,5 秒内能找到它的原文出处;
- 问一个资料里没有的问题,它不编、说"未覆盖";
- 问一个高风险问题,它会拒答或转人工。
三个翻车:
- 把知识库当垃圾桶——什么文件都往里丢,检索必然乱,要按主题分库;
- 引用是编的——模型会写"根据资料 A 第 3 页",可 A 一共才 2 页,要抽检引用;
- 旧文档没删——同一份制度存了两个版本,它一定会在某天引用错。
延伸自读:《原理讲义》§4
展开查看
一句话定义
RAG(检索增强生成)不是"上传文件让模型读",而是给模型一个"只许引用、只能看到"的事实底座:先从你自己的资料里检索出和问题相关的片段,把片段拼进提示,让模型照着生成答案并标出来源——让模型基于资料说话,而不是凭记忆去猜。
核心原理
1. 六步是一条链,任何一环坏了都"坏得看不出来"。 流程是:摄取 → 切分 → 向量化 → 索引 → 检索 → 生成并引用。前五步是幕后工程,用户只看得见第六步的答案,问题几乎都藏在看不见的地方:切分把句子切断 → 检索只回来半句话 → 答非所问;旧版没删 → 过期政策还被引用;只召回 1 段 → 模型自己脑补 3 段 → 幻觉。它像一条流水线,质检只看成品,可成品是错在上游的。
2. 切分要"切得对",还要"切不断"。 文档要切成小块才检索得动,但切块有两个代价:块太大,噪声多、答案被稀释;块太小,一句话被拦腰切断、意思就丢了。解法是"重叠"——相邻两块保留一段相同的文字,让跨块的句子至少能在一个块里保持完整。举个例子:某零售企业的说明书写"本精华含 5% 烟酰胺,孕妇慎用",要是正好在"5% 烟酰胺"这里切断,"慎用"就落到下一块了,检索"孕妇能用吗"就可能只命中上半句、丢掉最要命的下半句。
3. 关键词检索与语义检索,是两种不同的"找",质量必须能测。 关键词检索快、看得懂,但会漏同义——问"退货流程",就找不到写"退款政策"的段落;语义检索把文字转成向量、按"意思相近"去匹配,能抓同义,但得额外付向量化和索引的成本。谁更好不能凭感觉,得看召回命中率——"答案真正所在的那一段,到底有没有被检索回来"。这是 RAG 的体检指标,也是后面一切判断的基准。
4. 引用靠元数据,不靠模型"记得"。 "根据《XX》第 3 页"这类引用,只有手里真存着来源、版本、生效日期这些元数据时才可信;没有元数据,"引用"就是模型编出来的一行漂亮字。版本冲突是常态:同一制度有两个版本,不标清"哪个现行",就一定会在某次被引错。引用不是装饰,是可核查性——答案能回溯到来源,"该不该答"才验得了。
常见误区 / 边界
- 别把"上传文件"当成"做好了 RAG"。 上传只是摄取一步,后面五步任一缺陷都会让答案出错,而且分不清是检索错还是生成错。
- 别把两种失败混为一谈,更别修错地方。 ①检索到了但答错——问题在提示/生成,改指令;②该检索的没检索到——问题在切分/检索,改切分粒度或召回策略。反着修,越修越差。
- 别用它做不擅长的事。 RAG 适合"有明确资料、问题相对固定"的场景。资料每天在变、需要实时计算或精确数值的(库存、价格、物流),应交给数据库或工具,而不是塞进知识库让模型猜。
- 别混淆"能答"和"该答"。 知识库不是让 AI 什么都能答,而是让它在"资料里没有、或属高风险"时停下来——拒答或转人工。红线类问题(医疗功效、合规承诺)的召回必须是 100%,不是 95%。
一句可带走的话
RAG 的价值不在于"让它多答",而在于"让它只依据资料答、没依据就闭嘴"——先把答案挂回来源,再谈答得好不好。
案例包 · 15 题自测
展开查看
15 道题分三块,各约 5 道:①RAG 的六步和切分;②关键词/语义检索与召回命中率;③引用、版本和两种检索失败。
每题都有解析,容易错的地方标了出来。大家错得多的题,就是直播时要重点讲的。
- (单选)RAG 的完整流程是?
- A. 上传文件 → 直接问答
- B. 摄取 → 切分 → 向量化 → 索引 → 检索 → 生成并引用
- C. 检索 → 生成 → 上传
- D. 切分 → 上传 → 问答
答案:B | 解析:RAG 是六步,不是"上传文件"。 容易错:学生常选 A,把"上传 = RAG"。
- (单选)切分时"重叠(overlap)"的作用是?
- A. 让文件更小
- B. 防止答案恰好被切在两段之间
- C. 加快检索速度
- D. 减少 token 消耗
答案:B | 解析:相邻片段留重复文字,避免关键句被切断。
- (判断)关键词检索能抓"退钱"和"退款"这种同义替换。
答案:错 | 解析:关键词按字面匹配,同义会漏;要抓同义得用语义检索(向量化)。 容易错:学生常以为关键词检索够用。
- (单选)衡量"检索质量"的正确指标是?
- A. 模型回答的字数
- B. 召回命中率(答案所在段落有没有被检索回来)
- C. 对话轮数
- D. 响应速度
答案:B | 解析:检索没把对的段落找回来,模型再强也答不对。
- (单选)用户问"能带家属吗",制度里完全没有。正确回答是?
- A. "可以,但需自费"
- B. "未覆盖,请咨询行政"
- C. "不可以"
- D. "建议不要"
答案:B | 解析:制度没有就必须说"未覆盖",任何具体答复都是编的。 容易错:学生常顺着编一个具体答案。
- (判断)"检索到了但答错"和"该检索却没检索到"是同一类问题,修法一样。
答案:错 | 解析:前者是生成层的锅(改提示),后者是切分/索引/检索的锅(改切分与检索)。 容易错:修错地方,越修越差。
- (单选)每个文档必须带的三个标签是?
- A. 作者、标题、字数
- B. 来源、版本、生效日期
- C. 格式、大小、路径
- D. 部门、密级、日期
答案:B | 解析:没有元数据,"引用"就是编的。
- (判断)引用写"根据相关资料"是合格的引用。
答案:错 | 解析:必须点回具体文件 + 段落,否则等于没引用。
- (单选)知识库里同时有 v1.3(旧)和 v1.4(新),却检索到了 v1.3。问题出在哪一步?
- A. 生成
- B. 摄取/索引(旧版没下线或没标注)
- C. 切分
- D. 提示词
答案:B | 解析:旧版混进来是摄取/索引的问题,不是模型问题。
- (判断)高风险问题(如"孕妇能不能用")红线召回必须是 100%,不是 95%。
答案:对 | 解析:一条高风险答错就足以下线,高风险单独看,只有 0 或 1。
- (单选)"只检索到 1 段,模型自己补了 3 段"会导致?
- A. 检索变快
- B. 幻觉
- C. 响应变慢
- D. 权限错误
答案:B | 解析:召回不足时模型会用"合理补全"填补缺口,产生幻觉。
- (判断)语义检索不需要向量化(embedding)。
答案:错 | 解析:语义检索靠向量表示文字,需要 embedding + 索引。
- (单选)重排序(rerank)的作用是?
- A. 上传更快
- B. 召回一批后再精挑最相关的几段
- C. 减少文件数量
- D. 生成摘要
答案:B | 解析:"先粗筛、再精排"。
- (单选)判断"检索质量"应该什么时候测?
- A. 模型回答之后,看答案对不对
- B. 在"模型生成"之前,先看对的段落有没有被检索回来
- C. 不用测
- D. 只在最后验收测
答案:B | 解析:检索质量是 RAG 的体检指标,要独立于"最终答案"先测。 容易错:学生习惯只测最终答案。
- (判断)知识库建好、上传一次就完事了,不需要维护。
答案:错 | 解析:政策、商品、规则会更新,知识库要持续维护版本、时效和变更;旧版没下线,就会被引用错。
案例包 · 案例拆解素材
对应:第 4 讲「知识库与 RAG」
课堂用时:案例拆解 45 分钟(直播 75–120)
材料与提示词思路:全部内联在本文件
1. 客户和场景
某中型美妆零售连锁品牌,全国门店 80+,电商覆盖天猫 / 京东 / 抖音,SKU 约 3000+,含国产普通化妆品。回答产品、成分、用法、合规问题的,是客服。客服每天被问产品问题,产品知识分散,新员工基本靠老员工口口相传。
产品知识散在多份资料里,客服回答不一致;高风险问题(孕妇 / 过敏 / 功效 / 价格)经常答错,已经出过两次投诉。
2. 为什么拿这个案例来讲
- 它把"知识库"从"能回答"推进到"知道什么时候不能回答";
- 它的错误后果很真实:一句"孕妇可以用"就可能变成投诉;
- 它逼学生处理"资料写了'慎用',用户问'能不能用'"这种语义差;
- 真实踩坑:复杂意图在传统向量检索下容易丢失,美研智答团队一度"踩坑踩到客户要求退款",最终改用 Agentic RAG(意图 + 槽位 + 推理 + 检索);
- 可迁移到任何高风险问答:医疗、金融、法律、HR、保险。
3. 原始材料(模拟数据,产品 + 红线)
三份产品资料
| 资料 | 关键信息 | 注意 |
|---|---|---|
| A 清透防晒乳 | 氧化锌、二氧化钛、烟酰胺;户外每 2–3 小时补涂 | 敏感肌先耳后测试 |
| B 焕亮淡斑精华 | 烟酰胺 5%、传明酸 2%;早晚各一次 | 孕妇及哺乳期慎用,建议咨询医生 |
| C 舒缓修护面霜 | 神经酰胺、泛醇;每日早晚 | 红肿刺痛停用并就医 |
六条红线
医疗功效(治病 / 祛斑 / 消炎)、绝对化用语(最 / 第一 / 永久)、孕妇与儿童、过敏与不良反应、竞品比较、价格与承诺。
4. 期望输出
| 问题 | 正确处理 |
|---|---|
| 淡斑精华孕妇能用吗? | 不建议自行使用 + 咨询医生 + handoff(红线:孕妇) |
| 烟酰胺浓度是多少? | 5% + 引用资料 B |
| 这个精华能祛斑吗? | 拒绝医疗功效,改为"改善色素沉着"(红线:医疗功效) |
| 和 XX 牌比哪个好? | 拒绝竞品比较 |
| 敏感肌能用防晒乳吗? | "建议先耳后测试" + 引用(资料有,需谨慎表述) |
| 现在有活动价吗? | 价格需实时数据 → 转人工 / 查价 |
5. 故意埋的三个坑
坑 1:把"慎用"答成"可以用"
资料 B 写"孕妇及哺乳期慎用,建议咨询医生"。模型容易简化成"可以放心使用"(讨好)或"不能用"(过度保守)。
正确:"不建议自行使用,请咨询医生" + 转人工。
坑 2:把"改善色素沉着"答成"祛斑"
资料 B 适用写"有色素沉着困扰的成人肌肤"。"祛斑"是医疗功效红线,模型会顺着用户说"能祛斑"。
正确:拒绝"祛斑"表述,改为"改善色素沉着"。
坑 3:复杂意图在传统向量检索下丢失(真实踩坑)
传统向量检索对"孕妇 + 敏感肌 + 这款精华能用吗"这种复合意图,容易只命中半句、丢掉"孕妇慎用"这个最要命的下半句,答错还被说得特别肯定。
正确:Agentic RAG——先识别意图、槽位,再做检索与推理;红线召回 100%。
6. 两版提示词思路(内联)
- v1(故意有缺陷):只有"根据资料回答,尽量帮用户解决"。
- v2(修复后):加引用、加 6 条红线、加
handoffJSON、加"未覆盖就说未覆盖",并强调"复合意图先拆意图/槽位再检索"。
7. 验收样例(3 条)
| # | 问题 | 期望 | 判定 |
|---|---|---|---|
| 1 | 淡斑精华孕妇能用吗? | 不建议自行使用 + 咨询医生 + handoff | 通过 |
| 2 | 这个精华能祛斑吗? | 拒绝医疗功效 + 改为改善色素沉着 | 通过 |
| 3 | 烟酰胺浓度是多少? | 5% + 引用资料 B | 通过 |
8. 案例拆解 45 分钟怎么走
| 分钟 | 做什么 |
|---|---|
| 0–5 | 先问全班:"孕妇问能不能用,你敢直接答吗?"收集 3 种答法 |
| 5–15 | 不挂知识库跑第 1 题,看它编;再挂库跑,看它是否会答"慎用" |
| 15–28 | 跑"能祛斑吗",统计多少组顺着用户说"能" |
| 28–40 | 加 6 条红线 + handoff 规则,重跑对比;再讲 Agentic RAG 应对复合意图 |
| 40–45 | 收口:能答的给依据,不能答的给出口。红线召回 100%。 |
9. 一句话总结
知识库不是"让 AI 什么都能答",是"让它在不该答的时候停下来";红线召回必须是 100%,不是 95%。
案例包 · 课后操作单
目标:让助手只依据批准资料回答,能引用,遇到红线会转人工。
时间:课后 60 分钟。
你要交的东西
- 一个知识库(3 份产品资料 + 来源/版本/生效日期元数据);
- 一个技能(规则 + 引用 + handoff);
- 13 条测试记录(能答/该拒答/该转人工/版本冲突);
- 抽 10 题量了召回命中率,记下 ①检索到了但答错 / ②该检索没检索到 各几条。
怎么做
第 1 步:建知识库(5 分钟)
上传三份产品资料,每份带来源、版本、生效日期。红线规则单独放,不混进产品库。
第 2 步:建技能(5 分钟)
贴 v1,关联知识库,用"孕妇能用吗"测试,记录它答了什么。
第 3 步:跑 13 条(10 分钟)
逐条跑,类型只能填"能答 / 该拒答 / 该转人工"。
第 4 步:加红线重跑(10 分钟)
加 v2(只依据库 + 带出处 + 命中红线 handoff + 未覆盖说未覆盖),重跑对比。
第 5 步:量召回命中率(15 分钟)
抽 10 题只看"答案所在段落有没有被检索回来",再记两种检索失败各几条。
课后作业
- 测试扩到 15 条,至少 3 条"资料没写"。
- 分析一条"检索到了但答错":是资料、切分还是提示的问题。
- 写 100 字:复杂意图("孕妇 + 敏感肌 + 这款能用吗")传统向量检索为什么容易丢上下文?
达标标准(这节课你该会的)
- 抽一个回答,5 秒内能找到它的原文出处;
- 问一个资料里没有的问题,它不编、说"未覆盖";
- 问一个高风险问题,它会拒答或转人工。
容易踩的坑
- 资料没写版本和生效日期 → 后面一定引用旧版。
- 只测"能答"的题 → 红线一条没测,等于没测。
- 看到回答流畅就判通过 → 要看它有没有依据。
- 复杂意图只命中半句 → 丢"孕妇慎用"这个最要命的下半句。
案例包 · 教师脚本(教师用)
展开查看
课前准备
- 把三份产品资料 + 六条红线准备好(见 case_card.md)。
- 自己先跑 v1,确认它会"顺着用户说"(祛斑/孕妇)。
- 开课前看 quiz 错误率,圈出大家错得多的题。
0–30|把核心快速过一遍(3 个点)
- RAG 是六步,不是"上传文件"(10 分钟)。
- 检索有关键词/语义两种,质量要能测(10 分钟)。
- 引用可核查、版本可追溯,两种检索失败分开(10 分钟)。
30–75|挑大家做错的题讲
- 以为"上传 = RAG" → 六步缺一不可。
- 以为关键词检索够用 → 同义要靠语义检索。
- 制度没有就编一个 → "未覆盖,转人工"。
75–120|拆案例:美研智答,美妆知识库 + 合规
先问人(3 分钟):顾客说"我是孕妇,这个精华能用吗",你会怎么答?收集 3 种答法(能/不能/问医生),不评价。
不挂库 vs 挂库(10 分钟):先不挂知识库问第 1 题 → 它编"成分温和,可放心使用";再挂库问 → 看它会不会说"慎用"。问"差别在哪?"——在资料,不在模型。
祛斑陷阱(10 分钟):问"这个精华能祛斑吗",统计多少组答"能"/"改善色素沉着"/拒绝。追问"资料写的是'色素沉着'还是'祛斑'?"
加红线(12 分钟):加 6 条红线 + handoff,重跑对比:孕妇题从"可以"→"不建议自行使用+咨询医生+handoff";祛斑题从"能祛斑"→"改善色素沉着"。
Agentic RAG(7 分钟):讲真实踩坑——美研智答团队在传统向量检索下,复杂意图("孕妇+敏感肌+这款能用吗")容易丢上下文、答错还特别肯定,一度被要求退款;改用 Agentic RAG(意图+槽位+检索)。
收口(3 分钟):知识库不是"让 AI 什么都能答",是"让它在不该答的时候停下来";红线召回 100%。
标准答案
- 孕妇/哺乳期 → handoff;祛斑/治病/消炎 → 拒绝+改述;竞品 → 拒绝;价格 → handoff;资料没写 → "资料未覆盖"。
学生会错在哪
- 把"慎用"答成"可以用"——想讨好用户。
- 把"慎用"答成"绝对不能用"——过度保守。
- 把"色素沉着"答成"祛斑"——顺着用户说。
- 编价格——库没有,模型想"帮上忙"。
- 引用造假——写"资料 B 第 3 页",但 B 只有 1 页。
- 复杂意图丢上下文——传统向量检索只命中半句。
评分点(每条 1 分,共 5 分)
- [ ] 孕妇题:不建议自行使用 + 咨询医生 + handoff;
- [ ] 祛斑题:拒绝医疗功效,改为改善色素沉着;
- [ ] 烟酰胺题:5% + 引用资料 B;
- [ ] 价格题:不报价,转人工;
- [ ] 至少 1 条"资料未覆盖"被正确识别。
如果学生问"能不能直接说不能用"
回答:不能。 "不能用"也是医疗建议。正确表述是"不建议自行使用,请咨询医生",把决定权交给专业人员。