RAG 还值不值得做?向量库、分块、重排与评测一次讲透
·
《大模型实战》第 3/10 篇
上篇:四层架构
下篇预告:MCP 协议实战
上篇把 LLM 应用拆成 Prompt → RAG → Tool → Agent。很多人一听「私有知识」,第一反应就是上向量库。2026 年更务实的问题是:
你的场景,真的值得做 RAG 吗?
本篇给你决策树、分块/召回/重排要点,以及一套最小评测方法。
你将学到
- RAG 适用与不适用场景
- 分块、Embedding、向量库、重排怎么选
- Hybrid Search 为什么常常比「纯向量」稳
- 上线前至少要有的评测指标
一、先结论:RAG 不是默认选项
值得做 RAG
- 知识量大,塞不进上下文
- 内容常更新(制度、产品文档、工单)
- 需要可追溯引用(答完要能指出出处)
- 多租户/权限下,不同人看到不同知识切片
先别做 RAG
| 情况 | 更合适的做法 |
|---|---|
| 知识只有几页 | 直接放进 Prompt / 系统消息 |
| 要精确计算、库存、余额 | 查库 / Tool Calling |
| 强流程、固定步骤 | 工作流引擎,不必 Agent+RAG |
| 权限极复杂且检索层未做过滤 | 先做权限,再谈召回 |
一句话:RAG 解决「模型不知道」,不解决「系统不会算 / 不会查」。
二、RAG 最小链路
问题
→ 查询改写(可选)
→ 检索(向量 / 关键词 / 混合)
→ 重排(Rerank)
→ 组装上下文
→ 生成答案 + 引用
工程上最容易翻车的,不是模型,而是:切错、召回错、拼错、没评测。
三、分块:RAG 的第一道生死关
常见策略:
- 按标题/章节切:手册、制度类最稳
- 固定 token 窗口 + overlap:通用兜底
- 按语义切:长文、杂文更细,但成本和不稳定性更高
- 表格/代码单独切:避免表格被撕碎后不可读
实操建议:
- 先按文档结构切,再对超长段二次切
- overlap 适度(常见 10%~20%),不是越大越好
- 每个 chunk 带元数据:
doc_id / title / url / updated_at / permission
四、Embedding 与向量库:够用优先于追新
Embedding
看三件事:中文效果、维度/成本、是否可私有化。
同一业务不要频繁换 Embedding,否则索引要全量重建。
向量库怎么选
| 类型 | 适合 | 注意 |
|---|---|---|
| PGVector / 业务库插件 | 中小规模、想少运维 | 超大规模性能要评估 |
| Milvus / 专用向量库 | 大规模、高并发检索 | 运维与成本更高 |
| 云托管向量检索 | 要快上线 | 合规与锁定风险 |
选型原则:先满足权限过滤与元数据查询,再比 ANN 参数。
五、为什么 Hybrid Search 往往更稳
纯向量擅长语义相近,但容易栽在:
- 专有名词、工单号、错误码
- 精确型号 / 法规条款号
关键词(BM25 等)擅长精确匹配。
所以很多生产系统是:
向量召回 + 关键词召回 → 合并 → Rerank
这比「只上一个更大 Embedding 模型」更常带来体感提升。
六、重排(Rerank):把「找到了」变成「找对了」
流程:
- 初召回 Top 50(宽)
- Rerank 得到 Top 5~10(准)
- 送进上下文生成
注意:
- Rerank 有延迟和成本,要做缓存与超时降级
- 无 Rerank 时,至少做简单规则重排(标题命中、新鲜度、权限权重)
七、组装上下文:不是把 TopK 糊进去
好的上下文组装通常包括:
- 去重(同一段落多版本)
- 按相关度/时间排序
- 保留引用来源
- 控制总 token,给回答留空间
- 明确告诉模型:「仅依据下列资料,不知道就说不知道」
八、最小评测:没有评测就不要谈优化
准备 30~100 条真实问题,人工标期望文档/答案要点。
至少看:
| 指标 | 含义 |
|---|---|
| Recall@K | 正确答案是否进了前 K |
| nDCG / MRR | 排序是否合理 |
| 忠实度 | 是否胡编(人工抽检) |
| 引用正确率 | 出处是否对 |
| 延迟 | P95 检索+生成 |
优化顺序建议:
- 分块与元数据
- Hybrid 召回
- Rerank
- 查询改写
- 最后才换更大生成模型
九、和 Tool / Agent 的边界
- 事实在文档里 → RAG
- 事实在业务系统里 → Tool(SQL/API)
- 既要读文档又要办事 → RAG + Tool,再考虑 Agent 编排
别用 RAG 硬查库存,也别用 Agent 硬背规章。
小结
RAG 还值不值得做?看三点:
- 知识是否大、是否常变、是否要引用
- 你是否愿意做分块/混合检索/评测
- 问题是否其实该用 Tool 而不是检索
值,就按「切好 → 找准 → 排对 → 拼对 → 测到」做。
不值,就别为了架构图上的 RAG 框而上 RAG。
下篇预告:《大模型实战》第 4/10 篇
MCP 协议实战:为什么 2026 年 Agent 都在接 MCP。
更多推荐

所有评论(0)