RAG 的代价与优化策略
成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略
本页解决的问题
先给结论「RAG 的代价与优化策略」要解决的关键问题是什么?
成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略
先检查模型究竟看到了什么。 把指令、参考材料、历史、工具和输出规则拆开。上下文变得可见后,通常更容易选对修复方式。
在修改 Prompt 或模型之前,先画出一个小流程的输入和输出。
不断增加文字,但真正的问题其实是相关性、顺序或缺少边界。
实现:用意图分类器或简单规则预判断,跳过不必要的检索链路。
实现:问题复杂度分级 + 模型梯队配置(小模型兜底,大模型按需调用)。
实现:问题向量相似度 ≥ 0.95 时直接返回缓存,跳过整条 RAG 链路。
最佳实践:约 512–800 Token/块,以标题/段落为边界,保留语义完整性。
- 适合:语料海量且相对稳定——产品手册、法规、客服知识库、历年工单
- 适合:问题是「这事怎么规定的」,答案散在几百份文档的某几段里
- 代价:切块、入库、更新一整条流水线,文档一改就得重跑
- 软肋:只按语义相似度捞,要「精确匹配某个编号」时经常捞不准
- 适合:语料本来就带结构又天天变——代码仓库、日志、当前这台机器上的文件
- 适合:要精确匹配(函数名、错误码、订单号),grep 一把命中,向量检索反而绕
- 代价:多轮工具调用,延迟和 Token 都比一次检索高,且要给模型开读取权限
- 软肋:文件规模超过模型能翻的范围就会漏,得靠目录结构和命名帮它收敛
「额外成本来源」为什么能找到相关内容
「成本分析表 + 关键词触发 / 模型路由 / 语义缓存 / 精准切块四种策略」把检索问题从“把资料存起来”推进到“怎样找到真正相关的资料”。这一步决定了 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 工具里。
我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。
读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。
如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。
还没有这篇文章的讨论。