Skip to content

知识库 RAG:给 AI 开卷考试,不是让它裸考

在 Agent 运行时中的位置:用户消息过安检 + Scene 之后,LLM 回答之前——给大模型翻书的时间
主线 → Agent 运行时 · 步骤 ⑤ + ⑦


先搞清楚:RAG 是什么?(纯概念)

大模型有一个天生缺陷:训练完那一刻,它的知识就冻结了。

你问 GPT-4「今天天气怎么样」——它不知道,它的训练数据截止到某个时间点。你问「晨悦平台的母婴小悦怎么用」——它也不知道,这是你的私有业务知识。

传统做法是让大模型把所有知识都记住(训练时塞进去),但这样贵、慢、还不灵活。

RAG(Retrieval Augmented Generation,检索增强生成) 换了个思路:

不让大模型背答案,而是考试前给它一本书,让它翻着书答题。

类比一下就懂了:

场景无 RAG有 RAG
考试闭卷,全靠记忆开卷,给你一本书现场翻
医生看病凭经验,可能记错翻医学手册,查到再诊断
AI 回答靠训练记忆,可能编造先搜知识库,找到原文再回答

专业定义:

RAG = 用户提问时,先去知识库检索相关内容,把「搜到的」和「用户问的」一起喂给大模型,让大模型基于事实回答问题。

一句话:记忆靠 AI,事实靠文档。


那在晨悦里,它是怎么玩的?(通俗理解)

晨悦母婴馆小悦挂了「育儿百科 KB」。用户问「6 个月宝宝辅食怎么添加」。

没有 RAG:

  • 大模型凭记忆编一个答案,「6 个月可以吃米粉、蛋黄……」——可能对,也可能不对。

有 RAG(晨悦实际流程):

用户问「6 个月宝宝辅食怎么添加」
  → 系统把问题转成向量(一串数字,表示「这句话在说什么」)
  → 去育儿百科 KB 搜「最相关的几段原文」
  → 搜到:「WHO 建议满 6 个月开始辅食,首先推荐铁强化米粉……」
  → 把原文 + 用户问题一起塞给大模型
  → 大模型:「根据 WHO 建议,6 个月宝宝应先尝试铁强化米粉,每天 1 次,从 1-2 勺开始……」

晨悦的 RAG 就是在用户问到之前,替大模型翻一遍资料。


RAG 三步走:入库 → 检索 → 注入

第一步:入库(文档 → 向量库)

你的文档(PDF/Markdown/FAQ)
  → 切片:按段落/标题切成小块(chunk)
  → 向量化:每块转成数字向量(embedding)
  → 存入:ChromaDB 向量库
文档类型切片策略举例
FAQ按 Q&A 对切「Q:怎么退货 A:7天无理由」
API 文档按接口切一个 API endpoint = 一个 chunk
长文/教程按标题段切## 标题 + 下文段落
商品库不用 KB价格/库存走 API 实时查

商品不走 KB

价格变化太频繁(今天 99 明天 79),放进 KB 会过时。母婴案例里商品信息走 Tool/Plugin 实时调接口。

第二步:检索(用户提问 → 搜库)

用户提问 → 同样向量化 → 和 KB 里所有文档算相似度 → 返回最相关的 top_k 条。

检索质量由 top_k(返回几条)和 min_score(最低相似度门槛)控制。

第三步:注入(检索结果 → 上下文 → LLM)

搜到的原文 + 用户原始问题 → 拼成完整 Prompt → 交给大模型生成最终回答。


⚡ 常见误区(KB 配不好比没有更糟)

误区后果正确姿势
不切片,整篇丢检索时返回整篇文章,LLM 在 5000 字里找「辅食」二字按段落/QA 对切,chunk 控制在 500-1000 字
FAQ 当长文切「怎么退货」只搜到「我们支持7天无理由」的后半句FAQ 按 Q&A 完整对切
商品信息放进 KB昨天存的价格今天已过期,用户看到错误价格商品走 API,不走 KB
多个场景共用一个 KB育儿 KB 里混了 AgentPM 的方法论,检索互相污染一个场景一个 KB,互不干扰
只存不维护政策变了 KB 没更新,AI 还在回答旧版建立定期更新流程,每次产品改版同步刷新 KB

看看两个真实的 Agent 怎么用 KB

晨悦母婴馆小悦

KB 内容    →  育儿百科(辅食、疫苗、发育)、购物指南
切片策略   →  按子主题分片(feeding / development / shopping_guide)
检索时机   →  每次用户提问都搜(prepare_context)
二次注入   →  Knowledge Skill 再搜一轮
配套       →  商品不走 KB,用 Tool Skill 实时查价格

AgentPM

KB 内容    →  PRD 规范、SDAD 节选、案例摘要
切片策略   →  按方法论章节切(Sensing / Definition / Architecture / Delivery)
检索时机   →  需求类问题触发
配套       →  配合 Prompt Skill 约束交付格式

5 分钟动手

  1. flow-admin → 知识库 → 新建
  2. 上传 3 份文档(比如育儿科普文),选「长文切片」
  3. 等向量化完成(看进度条)
  4. 去 Agent 编辑页,挂上这个 KB ID
  5. 问一个文档里有的问题,看它能不能引用原文回答

→ 更多实操:Lab 1 · Agent + KB


思维导图


相关文档

晨悦 AI 实践手册