知识库实战:从 RAG 到 Agentic RAG,一条完整链路是怎样的
假设你问公司知识库一句现在去上海出差住宿一晚能报多少这看起来只是一次普通问答系统背后却要连续做出几次判断去哪里找规定“住酒店”能不能匹配文档里的“住宿标准”新旧两版制度同时存在时该信哪一份如果两份现行文件互相矛盾是选一个数字还是承认冲突这个提问者有没有资格看相关资料RAG 真正解决的从来不只是“给模型塞几段文字”。它解决的是怎样使用正确的方式把正确的资料交给模型。一、RAG 是什么先找资料再回答RAG 的全称是 Retrieval-Augmented Generation中文通常译作“检索增强生成”。普通大模型回答问题时主要依赖训练阶段学到的知识。它不知道你公司上周刚调整的报销标准也看不到只存在于内部文件里的产品报价和审批规则。RAG 就是在模型回答前增加了一步先去企业资料中检索相关内容再让模型只根据这些内容组织答案。用户问题 ↓ 必要时做查询改写 ↓ 向量与关键词检索相关资料 ↓ 把资料和问题一起交给大模型 ↓ 生成带来源的答案原理挺简单的但难点全在“检索相关资料”这个环节。二、检索之前还有一关数据文档怎样变成知识上面的流程图省略了一个很危险的前提知识库里的文档已经是干净、连续、结构清楚的文本。真实企业交过来的往往不是这样。它可能是一份几十页的 Word、一张跨页表格、双栏排版的 PDF或者一份只有公章和扫描图像、根本没有文本层的合同、HTML、FAQ、CRM 记录等。如果这一步解析错了后面切片再精细、重排模型再强也只是在错误材料里挑“最相关”的错误答案。这就是常说的 Garbage In, Garbage Out输入是垃圾输出也很难可靠。所以文档进入 RAG 之前通常还要经过一条转换流水线原始文件 ↓ 识别格式与文本层 ↓ 提取标题、段落、表格、页码和图片信息 ↓ 清理页眉页脚、乱码、空白和重复内容 ↓ 补齐版本、状态、密级和允许访问角色 ↓ 转换成统一的 Markdown 中间格式 ↓ 人工抽检通过后再切片、入库这里最重要的设计不是“支持多少种文件”而是先规定一个稳定的中间格式。下游只认识“元数据 结构化正文”至于上游来自 Word、PDF 还是将来的文字识别结果都由各自的转换器负责翻译。三、文档为什么不能整篇塞给模型一份制度可能有几十页。如果每次提问都把整份文件交给模型会出现四个问题上下文溢出、慢、贵、噪声多。所以文档入库前要先切成较小的片段也就是 chunk。切片是一组互相拉扯的选择切得太小金额和适用条件可能被分开切得太大真正相关的句子会淹没在无关内容里表格被拦腰切开数值就失去了表头和单位关键句刚好落在边界上两边都可能只有半句话。星澜知识库按标题和段落切分目标约 850 个中文字符过长内容再二次切分相邻片段保留约 120 字重叠。切片同时继承文档编号、版本、状态、生效日期和允许访问的角色。正文负责回答问题元数据负责决定这段正文能不能被采用。这是企业知识库和普通聊天机器人的第一处分水岭。四、检索前为什么还要改写 Query文档已经处理干净用户问题却未必适合直接检索。知识库写的是“员工费用报销与凭证管理办法”用户可能只问“这个能报吗”上一轮刚聊完出差住宿下一轮又追问“那餐补呢”。人能依靠上下文补全意思检索引擎只看到当前几个字时很容易找错方向。Query 就是系统最终拿去搜索知识库的“查询”。Query 改写不是把句子润色得更正式而是把用户的真实意图变成可以独立检索、又没有改变约束条件的查询。它主要处理三类鸿沟表达鸿沟把“补卡太多有啥影响”对齐到制度里的“异常补签”信息省略把“报多少”补全为具体费用、城市和人员级别多轮指代结合最近对话把“那实习生呢”还原成完整问题。常见策略不止一种策略 · 做法 · 适合什么问题 · 星澜知识库规范化改写 — 做法口语转为完整、可独立检索的问题适合什么问题短问、代词、行业术语不一致星澜知识库已使用Multi-query多查询 — 做法从不同表达角度生成多个查询并行检索后合并适合什么问题一种说法容易漏召回星澜知识库已使用最多 3 个变体问题拆解 — 做法把比较、计算和跨文档问题拆成多个子问题适合什么问题“A 和 B 相差多少”这类复合题星澜知识库交给 Agent 路径星澜知识库的做法是“加法而不是替换”qwen-flash结合最近三轮对话生成最多三个变体但用户原问题永远保留在第一路。四路查询并行进行向量与关键词检索再合并去重、重排。即使某个改写跑偏原问题仍然有机会召回正确材料。这种设计还要面对三个生产问题延迟改写会额外调用一次模型。项目把改写模型从qwen-3.7max换成qwen-flash后实测约从 11 秒降到 0.6 秒漂移模型可能擅自改变产品名、时间范围、数字或否定关系所以原问题必须保留关键实体也不能被改写掉成本变体越多Embedding 和检索次数越多。简单明确的问题不需要无限扩写复杂问题则交给 Agent 分步处理。判断改写有没有价值不能看它写得是否通顺而要比较改写前后的 Recallk、最终答案准确率和延迟。检索不准有时不是知识库没有答案而是系统没有听懂用户究竟在问什么。五、向量检索为什么能听懂“人话”用户说“住酒店能报多少”制度里写的是“住宿费报销上限”。如果只比较字面两句话重合很少。Embedding 模型会把文字转换成一组数字也就是向量。语义相近的文字在向量空间里的位置也更接近。星澜知识库使用text-embedding-v3输出 1024 维向量。入库时把文档片段转成向量提问时再用同一个模型把问题转成向量然后通过余弦距离寻找最接近的片段。这里有两条不能破的规则文档和问题必须使用同一个 Embedding 模型否则两边不在同一张“地图”上。更换 Embedding 模型后已有文档必须重新生成向量并重新跑评测确认效果。但向量检索也有盲区。产品型号、制度编号、错误码、金额这类精确记号未必有稳定语义。“27001”对人来说可能代表 ISO 27001对向量模型来说却可能只是一串数字。所以还需要第二条检索路径。六、关键词检索向量找意思它找原词关键词检索擅长处理向量检索不稳定的内容产品名、编号、金额、专有词。标准 BM25 会综合词频、词的稀有程度和文档长度判断相关性。星澜知识库目前使用 jieba 进行中文分词再通过 PostgreSQLts_rank计算词频相关性。它属于 BM25 思路的轻量近似并不是严格的 BM25 实现。这个区别需要说清楚。项目里把它称为“BM25 关键词检索路径”是为了表达它在系统中的职责真正落到代码使用的是 PostgreSQL 全文检索。两条路径互补向量检索擅长近义表达和口语问法 关键词检索擅长编号、金额和精确术语七、两路结果为什么不能直接加分向量检索给的是相似度关键词检索给的是词频相关性。两种分数含义不同直接相加就像把体温和体重加在一起。星澜知识库使用 RRF也就是倒数排名融合。RRF 不比较原始分数只看每个结果在各自列表中排第几。某个片段如果在两条路径里都靠前融合后通常也会获得更高排名。它的优势不是“永远最准确”而是不需要先把两套分数校准到同一个尺度。对于缺少大量人工标注数据的项目这是一个稳定、容易验证的起点。融合之后还会做一次重排。粗检索只负责找出可能相关的候选重排模型会同时阅读问题和候选原文判断“这段材料到底能不能回答这个问题”。海选负责别漏人面试负责排对人。八、生成不是自由发挥而是受证据约束最终进入生成模型的不是整座知识库而是排在最前面的少量片段。生成层需要遵守几条硬规则只根据检索材料回答关键结论标注来源材料不足就拒答不编造数字、日期和流程多份现行资料发生冲突时展示冲突不擅自裁决推断内容必须明确标记为推断。引用不是装饰。企业用户真正需要的是“我为什么可以相信这句话”。九、什么时候上 Agentic RAG普通 RAG 是固定流水线无论问什么通常都是检索一次再生成一次。如果用户问Business 和 Enterprise 的 P1 首次响应时间相差多少分钟系统需要查 Business、再查 Enterprise最后计算差值。一个问题里包含多个动作固定检索很容易只拿到一半资料。Agentic RAG 的变化是把部分调度权交给模型。理解问题 ↓ 决定先查什么 ↓ 调用检索工具 ↓ 观察结果是否足够 ↓ 继续检索或调用计算器 ↓ 生成最终答案常见实现方式是 ReActReasoning Acting也就是“判断下一步 → 调用工具 → 阅读结果 → 再判断”。Agentic RAG 更强但也更难控制。它可能查错方向、重复调用、过度使用工具也会带来更高延迟和调用成本。因此至少要有最大步骤数Token 预算重复查询缓存工具内部不可绕过的权限过滤完整的调用轨迹面向复杂问题的独立评测。一个重要判断是能用固定流程解决的问题不要为了“更智能”强行交给 Agent。 Anthropic 在生产 Agent 的经验中也强调应先使用最简单、可组合的方案再根据任务需要增加自主性。十、怎么知道系统真的变好了RAG 每一层都可能出错切片丢上下文、检索漏材料、重排排错、生成误解材料、权限过滤遗漏。所以不能只看最终答案要使用同一套测试题进行评测。知识库通常使用三类核心指标Recallk应该命中的材料有多少进入了前 k 名Precisionk前 k 名里有多少真的有用答案准确率最终回答是否符合金标准。此外权限泄露、恶意请求和旧版污染不能被平均分掩盖。这些属于上线门槛出现一次就需要单独处理。评测的作用不是证明系统优秀而是尽早发现它在哪些地方不可靠。十一、真正需要记住的流程离线入库 Word / PDF / 扫描件 → 解析或文字识别OCR→ 质量检查 → 统一 Markdown → 结构化切片 → Embedding / 关键词索引 → 入库 普通 RAG 问题最近对话→ 查询改写 → 原问题与多个变体并行检索 → RRF → 重排 → 权限内生成 → 引用 Agentic RAG 问题 → 路由 → 多步规划 → 调用检索/计算工具 → 判断是否足够 → 回答RAG 解决“模型应该看到什么”。Agentic RAG 解决“为了回答这个问题下一步应该做什么”。它们不是新旧替代关系。固定流水线更稳定Agent 更灵活。真正的系统通常同时保留两者把问题送到合适的路径。这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容