你 LLM 帐单变成真实 line item 时,你必须优化。默认「全部送 GPT-5」在低量 OK、规模化贵。好消息:有 7 个可叠加优化、每个砍成本 20-60%、大部分不损品质。
1. Prompt caching
单一最大赢。Anthropic、OpenAI、Google 全部支援重复 prompt 内容(系统 prompt、RAG context、few-shot 例子)的 cache。Cache 命中花普通 input token 的 10%。
典型 RAG 应用,系统 prompt 1000 token 不变:
- 没 caching:每 query 付完整 input 率
- 有 caching:第一次写 cache 后付那率的 10%
- 节省:重复前缀的 input 成本省 80-90%
实作:在 API call 里标可 cache 前缀。Claude 跟 OpenAI 都用参数或 breakpoint 支援。Cache TTL 通常 5 分钟(每命中更新),chat session work well。
2. 模型 routing
不是每个 query 都需要前沿智能。简单分类器(常常较小模型)路由:
- 60% query 给便宜模型(Haiku 4.5、GPT-5 Mini、DeepSeek)
- 30% 给中段(Sonnet 4.5)
- 10% 给前沿(Claude Opus 4.7、GPT-5 Pro、o3)
真实例子:客服 agent。大部分问题是例行 FAQ 风($0.001 在 Haiku 上)。复杂多步问题升到 Sonnet。真正新场景用 Opus。
结果:5-10 倍成本减少,品质下降难以察觉。
实作:小分类器 prompt 给小模型:「这 query 简单还是复杂?」用答案挑模型。
3. Output token capping
大部分 API 对 output 收费比 input 多 3-5 倍。长不必要完成是纯浪费。
- 积极设
max_tokens。输出有界(摘要 200 字)的话,cap 在 400 token。 - Tool-use loop,cap 每轮让模型不啰嗦。
- 用 stop sequence 在自然边界结束输出。
平均输出长度减 50% 能代表帐单减 30-40%,因为 output 主导成本。
4. 从 chat 换 completion 风
结构化任务(分类、抽取、摘要),不要用完整 chat API。一些 API 提供更便宜「completion」endpoint 或 batch API,是同步 chat 的 50% 价格。
OpenAI Batch API:50% off、24 小时 SLA。非实时 workload 很好。 Anthropic Batch API:50% off、类似取舍。 Provider 特定优惠:看你特定 provider 的 batch 定价。
5. 通用任务用较小开源
品质差难以察觉的任务(分类、抽取、简单摘要),自架 Llama 3.1 70B、Qwen 2.5、DeepSeek 能取代前沿 API call。
Production 团队真实数字:
- Claude Sonnet 每天 5M token:约 $1500/月
- 同量自架 Llama 3.1 70B:GPU + ops 成本后约 $300/月
- 简单任务品质下降:极小
- 复杂推理品质下降:实质 — 那留前沿
6. 积极减 context
- 修剪对话历史。大部分聊天不需要 20 个前轮全部。
- 摘要旧 context。10 个旧轮用一个摘要轮取代。
- 捞到 chunk 不真相关就不要含进来。用 reranker 挑 top-3 取代 top-10。
- Audit 系统 prompt。大部分比需要长 2-3 倍。
Context 减 30% 大致代表 input 成本减 30%。
7. Batch 跟 async 哪可以哪用
很多 operation 能 batch:
- 在一个 API call embed 100 个文件而非 100 次 call(较低每 call overhead)
- 过夜报告用 async batch API 处理
- 预先算常见 query 的回应
实时 UX,batching 加延迟。背景处理,batch API 在大部分 provider 上 50% off。
累乘节省
一起套,优化乘而非加:
- Prompt caching:input 成本省 50%(假设 80% cache 命中率)
- 模型 routing:混合成本省 70%(大部分 query 在便宜模型)
- Output capping:output 成本省 30%
- Context 修剪:剩 input 成本省 30%
- Batch API(可用时):batch 部分省 50%
套用所有这些的团队能看到总帐单下降 70-80%,品质没被察觉下降。
不要做什么
不要所有东西用最便宜模型。 品质下降造成客户抱怨、更多 support ticket、更多退款,假经济。
不要为了「省钱」停 streaming。 Streaming 没成本差;它是 UX 跟可能 time-to-first-token。
不要每天根据定价换 provider。 整合改变的工程成本超过大部分团队的价格差。
不要在量测前加复杂度。 帐单 $200/月,优化不值得工程时间。$2000+/月才优化。
优化前先量测
优化前:
- 每个 API call log:模型、input token、output token、成本
- 按功能 / endpoint 聚合找什么贵
- 识别驱动 80% 成本的 top 20% call
- 优化那些、留其他
没量测你会优化错东西。第一周设基本 log;第二周开始优化。
有帮助的工具
- Helicone、Langfuse、Portkey — 带成本 dashboard 的 observability 平台
- OpenRouter — 多 provider router,内建 fallback 跟定价
- Martian、Anyscale — 自动化模型 routing 服务
- PostHog + 自定 — 每功能追踪 LLM 成本
早期团队,自定 log 够。Production 规模,用专门平台。
什么时候不要钻
- 总帐单每月 $500 以下:聚焦产品、不优化
- Pre-product-market-fit:成本优化能等
- 还小的爆量流量:平均成本重要,不是 peak
成本真实重要时优化。在那之前,ship 更快。
决策树
- 帐单 < $500/月:不优化、聚焦产品
- 帐单 $500-5k/月:启用 prompt caching + output capping + 模型 routing
- 帐单 $5k-50k/月:所有 7 个优化 + observability 平台
- 帐单 > $50k/月:专门基础设施团队聚焦、可能自架
下一步
- 这周按功能设成本 log
- 明天启用 prompt caching(5 分钟改变大省)
- 为你 top 用途加简单模型 router
- 为非实时 workload 看特定 provider 的 batch API