大模型原理 · 产品下面的模型

RAG 的代价与优化策略

成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略

本页解决的问题

先给结论

「RAG 的代价与优化策略」要解决的关键问题是什么?

成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略

判断标准

先检查模型究竟看到了什么。 把指令、参考材料、历史、工具和输出规则拆开。上下文变得可见后,通常更容易选对修复方式。

下一步

在修改 Prompt 或模型之前,先画出一个小流程的输入和输出。

常见误区

不断增加文字,但真正的问题其实是相关性、顺序或缺少边界。

额外成本来源
文档向量化
低(一次性)
Embedding 入库时跑一次,之后复用
问题向量化
每次查询约 0.1 元/百万 Token
向量检索
大规模知识库时延迟显著
Prompt 增大
每次多注入 500–2000 Token,LLM 费用倍增 ⚠
最关键的优化:先做意图识别,判断是否需要 RAG。70% 的对话其实不需要检索文档,直接用 LLM 回答更快更便宜。
PM 应对策略
建立检索命中率评测:知道有多少问题被成功检索到正确文档
引用来源强制显示:让用户可核查,也倒逼知识库质量
定期清洗知识库:RAG 质量上限 = 知识库质量
四种优化策略(点击展开)
关键词触发(过滤)
节省成本:跳过 30–70% 查询
先判断问题是否需要检索。「今天几号?」不需要查文档,直接回答;「我们的退款政策」才触发 RAG。
实现:用意图分类器或简单规则预判断,跳过不必要的检索链路。
模型路由(分级处理)
整体 LLM 费用降低 60–80%
简单问题用小模型(便宜),复杂问题才上旗舰模型。避免用 GPT-4 回答「你好」。
实现:问题复杂度分级 + 模型梯队配置(小模型兜底,大模型按需调用)。
语义缓存
高频查询降低 50% 延迟和费用
相似的问题复用同一检索结果。「退款政策」和「怎么退款」结果几乎一样,无需重复查询。
实现:问题向量相似度 ≥ 0.95 时直接返回缓存,跳过整条 RAG 链路。
精准切块(Chunking 策略)
准确率提高 20–40%
文档切割粒度影响检索质量。太大注入冗余 Token;太小丢失上下文。
最佳实践:约 512–800 Token/块,以标题/段落为边界,保留语义完整性。
还有一条路:让模型自己去翻
RAG:先切好、先算好向量
检索是「找相似」,答案在片段里
  • 适合:语料海量且相对稳定——产品手册、法规、客服知识库、历年工单
  • 适合:问题是「这事怎么规定的」,答案散在几百份文档的某几段里
  • 代价:切块、入库、更新一整条流水线,文档一改就得重跑
  • 软肋:只按语义相似度捞,要「精确匹配某个编号」时经常捞不准
工具读取:grep / glob / read
模型自己决定翻哪个文件、翻几遍
  • 适合:语料本来就带结构又天天变——代码仓库、日志、当前这台机器上的文件
  • 适合:要精确匹配(函数名、错误码、订单号),grep 一把命中,向量检索反而绕
  • 代价:多轮工具调用,延迟和 Token 都比一次检索高,且要给模型开读取权限
  • 软肋:文件规模超过模型能翻的范围就会漏,得靠目录结构和命名帮它收敛
怎么选:先问一句「这份资料有没有天然的索引」。 代码有文件路径和函数名,日志有时间戳,这类直接给工具让模型自己翻; 一堆没结构的 PDF 和网页,才轮到 RAG 先切块建索引。两者也常常混着用—— 先 RAG 找到大致位置,再用工具把那个文件完整读一遍。
RAG ≠ 全量检索。生产级 RAG 系统的核心是「什么情况下不用 RAG」,做好过滤和路由才是关键。知识库质量 → 检索质量 → 回答质量,三层缺一不可。

「额外成本来源」为什么能找到相关内容

「成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略」把检索问题从“把资料存起来”推进到“怎样找到真正相关的资料”。这一步决定了 RAG、推荐和以图搜图最后交给模型的输入质量。

相似度不是答案,召回之后还要核对

在「成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略」对应的流程里,Embedding 负责把对象放到可比较的语义空间,近邻索引负责减少搜索范围,最终的回答仍然依赖召回片段是否覆盖问题、距离指标是否合适,以及内容有没有过期。

  • 适合 :语料海量且相对稳定——产品手册、法规、客服知识库、历年工单
  • 适合 :问题是「这事怎么规定的」,答案散在几百份文档的某几段里
  • 代价 :切块、入库、更新一整条流水线,文档一改就得重跑

先区分找得到和找得准

把「成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略」落成一次小测试:准备几条有明确答案的查询,记录召回的相关性、遗漏和无关结果,再决定是否需要换切分方式、索引或重排。

从「额外成本来源」走到「四种优化策略(点击展开)」

「额外成本来源」先把问题落在「文档向量化 低(一次性) Embedding 入库时跑一次,之后复用 问题向量化 低 每次查询约 0.1 元/百万 Token 向量检索 中 大规模知识库时延迟显著 Prompt 增大 高 每次多注入 500–2000 Token,LLM 费用倍增 ⚠ 最关键的优化: 先做意图识别,判断是否需要 RAG。 70% 的对话其实不需要检索文档 ,直接用 LLM 回答更快更便宜。 PM 应对策略 建立检索命中率评测 :知道…」上;到了「四种优化策略(点击展开)」,讨论继续推进到「关键词触发(过滤) 节省成本:跳过 30–70% 查询 先判断问题是否需要检索。「今天几号?」不需要查文档,直接回答;「我们的退款政策」才触发 RAG。 实现: 用意图分类器或简单规则预判断,跳过不必要的检索链路。 模型路由(分级处理) 整体 LLM 费用降低 60–80% 简单问题用小模型(便宜),复杂问题才上旗舰模型。避免用 GPT-4 回答「你好」。 实现: 问题复杂度分级 + 模型梯队配置(小模型兜底,大模型…」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。

把这条判断带到下一个场景

检索系统也可以这样看:先确定什么算相关,再观察召回是否覆盖问题,最后检查排序、切分和时效性有没有把真正有用的内容挤出去。

  • 「额外成本来源」:文档向量化 低(一次性) Embedding 入库时跑一次,之后复用 问题向量化 低 每次查询约 0.1 元/百万 Token 向量检索 中 大规模知识库时延迟显著 Prompt 增大 高 每次多注入 500–2000 Token,LLM 费用倍增 ⚠ 最关键的优化: 先做意图识别,判断是否需要 RAG。 70% 的对话其实不需要检索文档 ,直接用 LLM 回答更快更便宜。 PM 应对策略 建立检索命中率评测 :知道…
  • 「四种优化策略(点击展开)」:关键词触发(过滤) 节省成本:跳过 30–70% 查询 先判断问题是否需要检索。「今天几号?」不需要查文档,直接回答;「我们的退款政策」才触发 RAG。 实现: 用意图分类器或简单规则预判断,跳过不必要的检索链路。 模型路由(分级处理) 整体 LLM 费用降低 60–80% 简单问题用小模型(便宜),复杂问题才上旗舰模型。避免用 GPT-4 回答「你好」。 实现: 问题复杂度分级 + 模型梯队配置(小模型兜底,大模型…
  • 「最后的要点」:适合 :语料本来就带结构又天天变——代码仓库、日志、当前这台机器上的文件

最后的「最后的要点」把讨论落到「适合 :语料本来就带结构又天天变——代码仓库、日志、当前这台机器上的文件」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。

互动练习

把模糊需求拼成一条可执行的提示词

把目标、背景和限制说清楚,再把整理好的提示词带到你正在使用的 AI 工具里。

填写上面的字段,提示词会出现在这里。
标记为已学完 阅读进度会自动记录
← 上一篇下一篇 →

继续阅读

同一条线上的下一篇。

文章讨论

读到这里,留下一个判断。

把刚想明白的地方、还没想通的问题,留给下一位一起学习的人。

正在讨论 RAG 的代价与优化策略 产品下面的模型
3条讨论文章讨论 · 与共学社区同步
在共学社区查看
AM
Asha Morgan内容编辑
观点实践记录

我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。

文章讨论7 有帮助
LH
Lin Harper独立开发者
观点观点

读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。

文章讨论5 有帮助
KM
Kiki Moore产品运营
问题问题

如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。

文章讨论4 有帮助