LLM Token 成本优化策略
在系统架构层面降低大模型 Token 消耗成本的策略,覆盖模型路由、prompt 压缩、缓存和用量监控。
#tech / ai
#type / howto
#status / growing
[!info] related notes
- 相关概念: LLM Task Routing, 多模型 LLM Provider 抽象层
- 相关 MOC: AI MOC
LLM Token 成本优化策略
目标
业务量增长时,在不降低体验的前提下控制大模型调用成本。
前置条件
- 有 token 用量监控和成本统计
- 能区分不同业务场景的调用模式
步骤
1. 模型路由:按任务复杂度选模型
不是所有请求都需要最强模型。
| 任务类型 | 推荐模型 | 原因 |
|---|---|---|
| 简单分类/提取 | 小模型(GPT-4o-mini, Haiku) | 便宜、快 |
| 复杂推理/生成 | 强模型(GPT-4o, Opus) | 质量优先 |
| 代码生成 | 代码专长模型 | 性价比高 |
| 格式化/翻译 | 小模型 | 规则性强,不需要强推理 |
在 Provider 抽象层 的 Router 中实现。
2. Prompt 优化:减少输入 Token
- 压缩 system prompt:去掉冗余说明,用结构化格式
- 历史消息裁剪:只保留最近 N 轮,或用摘要替代完整历史
- 上下文精简:RAG 只召回最相关的 top-k,而非全量文档
- 避免重复注入:system prompt 中不要重复已有工具定义
3. 缓存:命中高频问题
- Prompt Caching:利用 Anthropic / OpenAI 的 prompt cache,相同前缀自动命中
- 结果缓存:对高频、确定性问题(如 FAQ)缓存模型输出
- Embedding 缓存:相同文档不要重复做向量化
4. 输出控制
- 限制
max_tokens:避免模型生成过长回答 - 提前终止:流式输出时,如果用户取消就立即停止模型请求
- 结构化输出:要求 JSON 格式,减少废话
5. 监控与预警
- 按业务线统计 token 消耗
- 设置成本预警阈值
- 定期审查异常调用模式
验证
- 对比优化前后的单次调用平均 token 数
- 对比月度成本趋势
- 确认用户体验没有明显下降
常见问题
- Q: 缓存会不会导致回答不新鲜? A: 结果缓存需要设 TTL,对时效性要求高的场景不缓存或短 TTL。
- Q: 小模型质量不够怎么办? A: 用路由层做 fallback,小模型失败时自动升级到强模型重试。