成本与延迟优化:缓存、路由与预算

06-工程化与前沿 核心 约 20 分钟 #成本优化#缓存#模型路由#延迟 更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),关键结论建议对照经典文献复核。

一句话定义

RAG 的成本与延迟大头是 LLM 调用与检索链路,优化杠杆按性价比排序:语义缓存(同问不重答)、小模型路由(简单问题不请大模型)、上下文瘦身(少喂 token)、检索链裁剪(少跳路)、以及按查询复杂度的分级服务——每一项都要在质量回归的保护下做。

为什么重要

RAG 是 token 消耗大户:一次 GraphRAG 全局查询的索引+查询成本可达普通向量问答的数十倍(kp-024)。没有成本意识的 RAG 项目常死于账单;没有延迟意识的项目死于用户弃用。优化纪律与 kp-017 相同:先测量(成本/延迟分解)再动刀。

前置知识

kp-009(索引层)、kp-013/014(检索与上下文链)。

核心概念

  • 语义缓存(semantic cache):按"问题语义"命中历史答案——嵌入相似度超阈值即返回缓存;必须带权限维度(kp-030)与新鲜度约束(时效问题不缓存)。命中率通常 20–40%,是最便宜的优化。
  • 模型路由(model routing):按问题复杂度分级——闲聊/简单事实走小模型,复杂推理/多跳走旗舰模型;分类器或规则路由,成本差 10–50 倍。
  • 上下文瘦身:上下文压缩(kp-014)、块数精简、prompt 模板去水分——输入 token 常占成本 60%+,每省 1k token 都是纯利润。
  • 检索链裁剪:关闭无收益的环节(评测验证后),如非必要不跑 HyDE/多查询(kp-011 的成本账);重排窗口按 P95 延迟预算定。
  • 异步与流式:全局类重查询异步化(返回任务 ID + 通知);答案流式输出改善体感延迟。

原理与机制

成本分解先行:把一次请求的成本拆为嵌入查询、检索(索引算力)、重排、生成(输入+输出 token)四段分别计量——优化打在最大的一段。经验分布:生成输入 token 占 50–70%,重排与大模型路由次之。

延迟预算分配(示例:端到端 2s)——嵌入+检索 100ms、重排 300ms、生成首 token 500ms(流式开始)、生成完成 1s。超预算时按段治理:重排窗口砍半、上下文压缩、小模型路由。延迟优化与质量优化的冲突点就在重排窗口与上下文长度——决策依据是评测曲线(质量-延迟权衡点),不是拍脑袋。

质量保护机制:所有成本优化都必须挂质量回归门禁——缓存答案抽样复检、小模型路由的错路率监控、压缩前后 faithfulness 对比。省下钱再赔进质量事故是净亏。

公式或模型

  • 月成本 ≈ 请求数 × (输入 token × 输入价 + 输出 token × 输出价) × (1 − 缓存率) + 检索/重排算力。
  • 缓存收益:成本节省 = 命中率 × 单次生成成本;风险 = 语义误命中(相似但不同问题)→ 阈值要偏高设置。

图示

请求 ─► 语义缓存(含权限维度) ─命中─► 直接返回(20~40%流量)
        │未命中
        ├─ 路由器: 简单? → 小模型生成 (成本 1/20)
        │          复杂? → 旗舰模型 + 全链路
        ├─ 上下文: 压缩/精简 → 输入token↓50%
        └─ 全局重查询 → 异步任务 + 通知

实例或案例

  • 客服机器人优化实录:语义缓存命中率 35% + 70% 流量路由到小模型 + 上下文压缩 40%,月账单降至原 1/6,评测集指标不降。
  • GraphRAG 全局查询异步化:同步 P95 从 25s 降到交互可用的 800ms(返回任务受理),完成率反而上升。

常见误区

  • 误区一:"先上线再优化成本"。成本结构由架构决定(用不用图、重排窗口多大),后期改架构代价远大于设计期预算;成本是设计约束不是事后补丁。
  • 误区二:"缓存阈值设低提高命中"。语义缓存误命中(相似问题不同答案)是静默事故;权限与新鲜度维度漏掉则是安全事故。
  • 误区三:"小模型一定省"。错路率导致重试与差评处理的隐性成本可能吃掉差价;路由错误率要监控并设回退。

与其他知识点的关系

  • kp-017:方法论一致——先测量再优化。
  • kp-024/026:GraphRAG 的成本结构决定其适用面。
  • kp-014/030:压缩与缓存都依赖上下文工程与权限体系。

自测题

  1. 语义缓存必须带哪两个非语义维度?

答:权限维度(防跨用户命中越权答案)与新鲜度约束(时效性问题的缓存失效策略)。

  1. 成本优化的第一动作是什么?

答:把单请求成本按嵌入/检索/重排/生成四段分解计量,找出最大段再动刀;通常生成输入 token 是大头。

  1. 为什么所有成本优化要挂质量回归?

答:缓存误命中、小模型错路、压缩失真都是静默质量损失;无回归门禁的省钱=把成本转化为更贵的事故。

延伸阅读

  • GPTCache / 各厂商语义缓存文档。
  • Anthropic/OpenAI 模型分级与 batch API 定价页(路由的经济基础)。
  • Google SRE 关于延迟预算(budget)分解的做法。