Skip to content

RAG 链路设计原则 | 从零理解如何构建 AI Agent

帮助你快速判断本章定位、前置要求与学习目标。

RAG 解决什么

RAG 解决的是稳定、可治理、可索引、可追溯的知识进入上下文的问题。它不负责过程控制,也不负责开放世界实时信息。

适合 RAG 的数据:企业制度、产品手册、API 文档、代码库、架构文档、FAQ、工单、需要权限过滤和引用溯源的资料。

不适合直接离线 RAG 的数据:最新新闻、高频变化的网页、实时价格和版本公告、来源质量不稳定的开放资料。

正确选型顺序

不要先问"用哪个向量库"。先按链路判断:

text
文档解析
  -> Chunking
  -> Metadata
  -> Embedding
  -> Dense / Sparse / Hybrid Retrieval
  -> Rerank
  -> Permission Filter
  -> Citation
  -> Evaluation

先判断知识是否适合入库

问题判断
是否稳定高频变化资料更适合 Search 或实时 API
是否有明确来源来源不清的资料会污染答案
是否能版本化不能版本化就难以解释引用
是否有权限边界有权限就必须进入 metadata
是否能删除和更新不能删除就不适合生产索引
是否有评测样本没样本就无法判断检索质量

RAG 的输入质量决定上限。把脏资料塞进向量库,只会让模型更稳定地输出错误。

链路决策表

默认建议什么时候升级主要风险
文档解析Markdown、HTML、结构化文本PDF、表格、扫描件、多格式企业文档parser 错,后面全错
Chunking按语义结构切代码、表格、API、法规制度边界错,召回和重排都救不回来
Metadatasource、version、owner、acl多租户、权限、版本管理没 metadata 就无法治理
Embedding通用多语种模型起步代码、法律、金融等垂直领域模型升级导致索引重建
向量库按规模和过滤能力选多租户、高 QPS、复杂 filterschema 锁定比向量迁移更痛
Hybrid Retrievaldense + sparse/BM25错误码、API 名、类名、编号很多分数融合不可随便相加
RerankTopK 后重排精度要求高、候选多成本和延迟上升
GraphRAG高关系密度再上跨实体、跨文档、全局总结构建贵、更新难、调试难
Long Context RAG少量长文档全局推理上下文成本可接受贵、慢、权限过滤难
权限过滤检索前过滤企业知识库必须做生成后过滤已经泄露
引用审计保留 source、chunk、version面向用户输出必须做无引用就无法验错

具体组件怎么选看 检索组件选型。具体产品怎么选看 向量数据库选型Embedding 模型选型。如果是选 RAG 平台(RAGFlow、Dify 等)还是自建 pipeline,看 RAG 平台与方案选型

一个失败样本怎么分析

用户问"最新休假制度里陪产假是多少天",系统答错时不要直接换 embedding。先拆:

text
是否解析到了最新制度?
chunk 是否保留了"适用地区"和"生效日期"?
metadata 是否有 version 和 region?
检索 query 是否带上"陪产假"同义词?
正确 chunk 是否进入 TopK?
rerank 是否把旧制度排到前面?
最终答案是否引用了旧版本?

只有知道错误发生在哪一层,才知道该修 parser、chunk、metadata、hybrid、rerank,还是引用策略。

评估不要只看答案

RAG 评估至少分三层:

评估什么
召回正确 chunk 是否进 TopK
重排正确 chunk 是否排在前面
生成答案是否基于引用,不编造

只看最终答案会掩盖问题。生产 RAG 要把检索质量和生成质量分开看。

生产 RAG 最小要求

上线前至少要有:可重复的索引构建流程、文档版本和删除回收、检索前权限过滤、召回/重排/生成的 trace、答案引用、固定评测集、成本和延迟监控。

没有这些,RAG 只是 demo,不是系统。

什么时候用 RAG 平台,什么时候自建

如果文档以 PDF、扫描件、复杂的多格式混合为主,或者团队没有专门的检索工程能力,RAG 平台(如 RAGFlow)可能比自建 pipeline 更快落地。如果知识格式可控、权限逻辑复杂、需要深度定制评估体系,自建 pipeline 更合适。

具体方案对比和选型判断,见 RAG 平台与方案选型