面试知识库
进阶

AI应用成本优化#

一句话答案#

通过语义缓存、模型级联(简单任务小模型/复杂任务大模型)、Prompt 压缩和批量 API 降低 LLM 调用成本。

核心要点

四大策略”缓级压批”:

策略原理降本效果实现难度
语义缓存相似问题向量匹配,复用缓存答案命中率 30-60%,直接省对应比例
模型级联意图分类→简单问题小模型,复杂问题大模型80% 请求走便宜模型
Prompt 压缩精简 System Prompt,上下文摘要压缩减少 30-50% input token
Batch API非实时场景批量调用API 折扣 50%

成本估算公式:

日成本 = 日均调用量 × 平均 token 数 × 单价($/1K token)
plaintext

示例:1 万次/日 RAG 调用,平均 3100 token(System 500 + Context 2000 + Query 100 + Output 500),Sonnet 定价约 $0.003/1K input + $0.015/1K output → 日成本约 $153

模型级联架构:

用户请求 → 意图分类器(轻量)
  ├── 简单/FAQ → Haiku(快、便宜)
  ├── 常规任务 → Sonnet(平衡)
  └── 复杂推理 → Opus(最强)
plaintext

语义缓存实现要点:

  • 用 Embedding 向量化 query,余弦相似度 > 0.95 视为命中
  • 缓存 key = query embedding,value = LLM response
  • 时效性内容设 TTL,非确定性回答不缓存
  • Redis + 向量索引 实现低延迟匹配
面试回答(2分钟版)

AI应用成本优化我总结为四个策略”缓级压批”。第一是语义缓存,对相似问题的LLM回答做缓存,用向量相似度判断是否命中,避免重复调用API,这在FAQ类场景命中率很高。第二是模型级联,类似医院分诊——简单问题用轻量小模型(成本低速度快),只有小模型置信度不够时才升级到大模型处理,这样大部分请求不需要走最贵的模型。第三是Prompt压缩,精简System Prompt、去除冗余上下文、用更短的指令达到同样效果,直接减少input token数量。第四是批量API,把多个请求合并成一次batch调用,很多API提供商对batch请求有折扣。

追问与易错

追问方向:

  • 你们项目月成本多少?用了哪些优化手段? → DocMind 通过模型级联(单次 -28%)+ 语义缓存(命中率 45%)+ Self-Reflection 70% 短路 + 规则引擎替代 LLM 选工具,月度综合降本约 50%
  • 语义缓存命中率怎么提升?缓存失效策略怎么设计? → 频率阈值调低(第 2 次重复即缓存),query embedding 相似度阈值 0.92。失效靠 TTL + 知识库 version 字段变更时自动失效
  • 模型路由的分类器怎么训练?误判了怎么办? → 简单方案用规则(关键词/意图分类),进阶用轻量分类器(BERT-tiny)。误判兜底:小模型置信度低时自动升级到大模型
  • Prompt 压缩会不会影响回答质量?怎么平衡? → 会。关键信息不能压缩,只压缩冗余指令和历史对话。实践中先精简 System Prompt(效果最大),再压缩检索上下文(用摘要替代全文)

易错点:

  • ❌ “缓存所有 LLM 回答” → 时效性内容、个性化回答不能缓存
  • ❌ “只用最便宜的模型” → 复杂任务质量严重下降,用户体验差
  • ❌ “Batch API 适合所有场景” → 只适合非实时场景(离线分析、批量标注)