返回AI笔记
AI Day 26

AI Day 26: LLM成本工程 — 从$10K/月降到$2K/月的实战方法

LLM成本工程 = 在保持输出质量的前提下,通过模型路由、缓存、压缩、批处理、混合部署等手段,将LLM运营成本降低50-80%。

2026-04-27
成本优化模型路由Prompt缓存BatchAPI混合部署

日期: 2026-04-27 阶段: 第二阶段 — 工程实践 (Day 16-30) 标签: #成本优化 #模型路由 #Prompt缓存 #BatchAPI #混合部署


学习路径

第二阶段:工程实践 (Day 16-30)
├── Day 16-17: LLM应用架构 + 安全Guardrails ✅
├── Day 18: 可观测性与监控 ✅
├── Day 19-21: 生产级RAG三部曲 ✅
├── Day 22-25: Agent系统工程化四部曲 ✅
├── Day 26: LLM成本工程 ← 你在这里
├── Day 27: 多模型编排与Fallback
├── Day 28: LLM应用测试策略
├── Day 29: 案例分析:企业LLM平台架构
└── Day 30: 第二阶段总结

核心概念

一句话定义

LLM成本工程 = 在保持输出质量的前提下,通过模型路由、缓存、压缩、批处理、混合部署等手段,将LLM运营成本降低50-80%。

金融类比

LLM成本优化 = 银行IT成本优化

不是"少花钱",而是"提高每一分钱的ROI":

传统银行成本优化              LLM成本优化
├── 交易分级处理              ├── 模型分级路由
│   (小额走快捷/大额走核心)   │   (简单→Haiku/复杂→Opus)
├── 批量清算代替逐笔          ├── Batch API代替实时
├── 缓存热点数据              ├── 语义缓存热点回答
├── 本地机房+云灾备            ├── 本地模型+云端API混合
└── 费率谈判/集采              └── 承诺用量/预付折扣

知识点1: 2025-2026 LLM定价全景

主流模型价格对比(2025-2026)

模型输入($/1M tokens)输出($/1M tokens)上下文特点
GPT-4.5$75$150128K最贵,创意最强
GPT-4o$2.50$10128K性价比主力
GPT-4o-mini$0.15$0.60128K极致性价比
o3$10$40200K推理模型,按思考Token额外收费
o4-mini$1.10$4.40200K推理性价比之选
Claude Opus 4$15$75200K最强编码/推理
Claude Sonnet 4$3$15200K均衡首选
Claude Haiku 3.5$0.80$4200K轻量快速
Gemini 2.5 Pro$1.25-$2.50$10-$151M+超长上下文
Gemini 2.0 Flash$0.10$0.401M极致便宜
DeepSeek V3$0.27$1.10128K开源最强性价比
DeepSeek R1$0.55$2.19128K推理模型开源
Llama 3.3 70B自部署自部署128K开源免费
Qwen 2.5 72B自部署自部署128K中文最强开源

关键洞察:最贵(GPT-4.5 $75/M)和最便宜(Flash $0.10/M)相差 750倍。大部分请求不需要最贵的模型。

定价模式

四种LLM定价模式
═══════════════════════════════════════════════════════════

1. 按Token计费(主流)
   ├── 输入Token + 输出Token分别计价
   ├── 思考Token(Reasoning模型额外收费)
   └── 缓存Token有折扣(通常75%off)

2. Batch API(延迟换价格)
   ├── OpenAI Batch: 50%折扣,24h内返回
   ├── Anthropic Batch: 50%折扣
   └── 适合非实时任务(分析/评估/生成)

3. 承诺用量(Committed Use)
   ├── Anthropic/OpenAI企业版预付折扣
   └── 类似云服务Reserved Instance

4. 自部署(固定成本)
   ├── GPU租赁/购买 + 电费 + 运维
   ├── 请求量越大,单价越低
   └── 需要工程团队维护
═══════════════════════════════════════════════════════════

知识点2: 分层模型路由策略

路由架构

智能模型路由
═══════════════════════════════════════════════════════════

用户请求
    │
    ▼
┌────────────────┐
│  路由分类器     │ ← 基于规则 / ML分类 / LLM判断
│  (Router)      │
└───┬────┬────┬──┘
    │    │    │
    ▼    ▼    ▼
 简单   中等   复杂
 Tier1  Tier2  Tier3

┌───────┐ ┌────────┐ ┌──────────┐
│Haiku  │ │Sonnet  │ │ Opus/o3  │
│$0.80  │ │$3      │ │ $15-$75  │
│<500ms │ │<2s     │ │ <30s     │
└───────┘ └────────┘ └──────────┘

流量分布(典型应用):
├── Tier 1: 60% 请求 → 成本仅占 10%
├── Tier 2: 30% 请求 → 成本占 30%
└── Tier 3: 10% 请求 → 成本占 60%

综合节省: 60-80%
═══════════════════════════════════════════════════════════

路由策略实现

方案原理优点缺点
规则路由按任务类型/Token长度/关键词简单可控不够灵活
ML分类器训练分类模型判断复杂度准确高效需要训练数据
级联路由先用小模型试,不行再升级自适应延迟可能增加
LLM路由用小模型判断该用哪个大模型灵活路由本身有成本

成本节省计算示例

场景:客服系统,月100万请求

方案A:全部用 Sonnet ($3/$15)
├── 平均输入 500 tokens, 输出 300 tokens
├── 月成本: 1M × (500×$3 + 300×$15) / 1M = $6,000

方案B:分层路由 (60/30/10)
├── Tier1 (60万): Haiku → $480 + $720 = $1,200
├── Tier2 (30万): Sonnet → $450 + $1,350 = $1,800
├── Tier3 (10万): Opus → $750 + $2,250 = $3,000
├── 月成本: $6,000
│
│   等等,和方案A一样?因为Tier3太贵了。
│   优化:Tier3 用 Sonnet 4 而非 Opus
│
├── Tier3优化 (10万): Sonnet → $150 + $450 = $600
├── 月成本: $1,200 + $1,800 + $600 = $3,600
└── 节省: 40%

方案C:方案B + 缓存(30%命中率)
├── 实际请求: 70万
├── 月成本: ~$2,500
└── 节省: 58%

知识点3: 缓存策略降本

三层缓存架构

缓存命中优先级
═══════════════════════════════════════════════════════════

请求 → [L1 精确缓存] → 命中? → 返回
              │ 未命中
              ▼
       [L2 语义缓存] → 命中? → 返回(相似度>0.95)
              │ 未命中
              ▼
       [L3 Prompt Cache] → 前缀匹配? → 减少输入Token
              │ 无匹配
              ▼
         调用LLM → 结果写入L1/L2
═══════════════════════════════════════════════════════════

Prompt Cache(2025-2026原生支持)

特性AnthropicOpenAI
机制显式标记缓存断点自动前缀匹配
折扣输入 90% off(仅$0.30/M)输入 50% off
命中条件前缀完全匹配 ≥1024 tokens前缀匹配 ≥1024 tokens
最佳场景长System Prompt + RAG上下文多轮对话共享前缀
ROISystem Prompt 5000 tokens → 每请求省 $0.015类似

实战技巧:把不变的内容(System Prompt/Few-shot示例/工具定义)放前面,变化的内容(用户消息)放后面,最大化缓存命中。


知识点4: Prompt优化降本

Token压缩技术

技术压缩率质量损失适用场景
手动精简20-40%极低所有场景
LLMLingua50-70%低-中长文档RAG
摘要替代全文60-80%历史对话
工具描述精简30-50%Agent场景
Few-shot→Zero-shot40-60%能力强的模型

实用降本技巧清单

立即可做的10个降本动作
═══════════════════════════════════════════════════════════

1. ✅ 审计System Prompt,删除冗余(通常可精简30%)
2. ✅ 开启Prompt Cache(Anthropic/OpenAI原生支持)
3. ✅ 多轮对话用摘要替代完整历史
4. ✅ RAG结果限制Top-3而非Top-10
5. ✅ 非实时任务走Batch API(50%折扣)
6. ✅ 简单任务路由到小模型
7. ✅ 加精确缓存层(FAQ/常见查询)
8. ✅ 设置max_tokens避免过长回复
9. ✅ Agent设置最大步数限制
10. ✅ 监控Token用量并设告警
═══════════════════════════════════════════════════════════

知识点5: 本地部署 vs 云API混合架构

决策框架

本地 vs 云 决策树
═══════════════════════════════════════════════════════════

数据敏感?──是──→ 必须本地部署
    │ 否
    ▼
月请求量 > 100万?──是──→ 本地可能更省
    │ 否                      │
    ▼                         ▼
需要最强模型?──是──→ 云API    计算TCO对比
    │ 否
    ▼
延迟要求 <100ms?──是──→ 本地(无网络延迟)
    │ 否
    ▼
云API(最简单)
═══════════════════════════════════════════════════════════

混合架构示例

场景部署方式模型原因
内部文档QA本地Qwen2.5-7B数据敏感
客户咨询云APISonnet质量要求高
数据分析Batch APIGPT-4o-mini非实时+省钱
代码Review云APIOpus需要最强能力
日志分析本地Llama 3.3 8B量大+隐私

TCO对比(月100万请求)

云API方案:
├── Sonnet: 100万 × 800 tokens × $9/M ≈ $7,200/月
│
本地部署方案(Qwen2.5-7B on A10G):
├── GPU租赁: $1.50/h × 730h = $1,095/月
├── 运维人力: ~$500/月(分摊)
├── 总计: ~$1,600/月
├── 但质量可能不如Sonnet
│
混合方案:
├── 60%走本地(简单): $960
├── 40%走云端Sonnet: $2,880
├── 总计: $3,840/月
└── 节省: 47% vs 纯云端

知识点6: Batch API与异步处理

适用场景

场景实时性推荐方案折扣
批量内容生成24h内OpenAI Batch50%
数据标注/分类次日Anthropic Batch50%
日报/周报生成定时Batch + Cron50%
模型评估非实时Batch50%
批量翻译非实时Batch50%

Batch API工作流

Batch处理流程
═══════════════════════════════════════════════════════════

1. 准备 JSONL 文件(每行一个请求)
2. 上传文件 → 获取 file_id
3. 创建 Batch Job → 获取 batch_id
4. 等待完成(通常数小时,最长24h)
5. 下载结果 JSONL
6. 解析并入库

适合场景:每天攒一批 → 凌晨批处理 → 早上拿结果
═══════════════════════════════════════════════════════════

知识点7: 成本预测与预算管理

月度成本预测模型

月成本 = Σ(场景i × 请求量i × 平均Token数i × 单价i × (1 - 缓存命中率i))

实际还要加上:
├── 失败重试(+5-10%)
├── 监控/评估调用(+3-5%)
├── 开发/测试环境(+10-15%)
└── 安全边际(+10%)

预算管理架构

成本控制四层防护
═══════════════════════════════════════════════════════════

L1 预算上限
├── 月度总预算 Hard Limit
├── 超限自动降级到便宜模型
└── 紧急时切断非核心功能

L2 配额管理
├── 按用户/租户/功能分配配额
├── 高价值用户配额更高
└── 实时配额余量查询

L3 异常告警
├── 单用户Token突增(可能Prompt Injection)
├── 单请求成本超阈值
├── 日环比成本增长>20%
└── Agent循环检测

L4 成本报表
├── 日报:各模型/功能/用户的成本分布
├── 周报:趋势分析+优化建议
├── 月报:ROI计算+预算vs实际
═══════════════════════════════════════════════════════════

今日思考

问题1: 成本优化和质量之间如何取舍?

我的理解:关键是定义"质量下限"。先明确每个场景的最低可接受质量(如客服满意度≥85%),然后在这个约束下最小化成本。实践中发现,80%的请求用小模型质量够用,只有20%确实需要大模型。不要一刀切。

问题2: 本地部署真的更便宜吗?

我的理解:取决于量级和模型选择。月请求<10万,云API几乎总是更便宜(无运维成本)。10-100万之间需要算TCO。>100万且可以用开源7B模型,本地大概率更省。但别忘了隐性成本:运维、升级、故障恢复、人力。

问题3: 2025-2026 LLM价格趋势会怎样?

我的理解:持续下降。GPT-4级别能力在2024年要$30/M,2025年$2.5/M(GPT-4o),降了12倍。预计2026年还会再降50%。但最前沿能力(推理模型如o3)仍然昂贵。策略:用今天的中端模型替代昨天的高端模型。


面试表达

30秒版本

LLM成本优化核心是分层路由+缓存+异步。60%简单请求走小模型,30%走中端,只有10%复杂请求用顶级模型。加上Prompt Cache和语义缓存,典型场景可以从$10K/月降到$2-3K/月,同时保持质量SLA。

追问准备

Q: 怎么判断一个请求该路由到哪个模型? → 三种方案:规则(按任务类型)、ML分类器(训练一个小模型)、级联(先试小模型,置信度低再升级)。金融场景推荐级联+规则混合,因为合规类请求必须走高质量模型。

Q: 缓存会不会导致回答过时? → 设置TTL(生存时间),FAQ类缓存可以长(7天),实时数据类缓存要短(1小时)或不缓存。关键是区分静态知识和动态信息。


学习资源

资源说明
Anthropic Prompt Caching文档官方缓存指南
OpenAI Batch API文档Batch处理指南
LiteLLM多模型路由+成本追踪
Portkey AI Gateway企业级AI网关+成本管理
HeliconeLLM可观测性+成本分析

明日预告

Day 27: 多模型编排与Fallback策略 — 如何设计模型故障时的自动切换和降级。