<!-- title: 模型分级路由+批处理缓存：AI月账单砍80% -->
<!-- domain: cost-hacks -->

# 模型分级路由+批处理缓存：AI月账单砍80%

> 你以为用最便宜的API就是省钱？错。真正的省钱高手不是挑最便宜的模型，而是**让90%的请求根本不打到贵的模型上**。

## 导语

中国开发者在AI成本上普遍存在一个认知盲区：**只盯单价，不看用量分布**。一个人月消耗500万token，GPT-4o单价$2.50/百万输入token，月账单$50+。但如果其中80%的请求只是简单的文本分类、格式转换、摘要提取——这些任务用$0.15/百万token的模型就能搞定。本文拆解一套经过海外团队验证的"模型分级路由+批处理+缓存"三位一体省钱框架，让你的AI月账单从$200降到$40以下。不是理论推演，每一步都有具体操作和真实数字。

## 一、问题诊断：你的钱花在哪了？

大多数开发者的token消耗分布长这样：

```mermaid
pie title 典型AI项目Token消耗分布
    "简单分类/提取（可用小模型）" : 45
    "格式转换/摘要（可用小模型）" : 25
    "中等推理任务（中档模型）" : 20
    "复杂推理/创作（需大模型）" : 10
```

也就是说，**70%的token消耗在"杀鸡用牛刀"**。核心洞察：

| 任务类型 | 占比 | 你在用的模型 | 应该用的模型 | 成本差异 |
|---------|------|------------|------------|---------|
| 分类/提取/判断 | 45% | GPT-4o ($2.50/$10) | GPT-4o-mini ($0.15/$0.60) | **16.7倍** |
| 格式转换/摘要 | 25% | GPT-4o ($2.50/$10) | Gemini 2.0 Flash ($0.10/$0.40) | **25倍** |
| 中等推理 | 20% | GPT-4o ($2.50/$10) | Claude Sonnet ($3/$15) | 相当 |
| 复杂推理/创作 | 10% | GPT-4o ($2.50/$10) | GPT-4o ($2.50/$10) | 无变化 |

**一个$200的月账单，如果正确路由，可以降到$25-40。** 省下的不是小钱，是80%。

## 二、核心策略一：模型分级路由（Model Routing）

### 2.1 什么是模型路由？

模型路由的思路很简单：**在请求到达LLM之前，先判断这个请求的复杂度，然后分配给合适的模型**。

```mermaid
flowchart TD
    A[用户请求] --> B{路由器判断复杂度}
    B -->|简单: 分类/提取/格式化| C[小模型层]
    B -->|中等: 推理/总结/翻译| D[中档模型层]
    B -->|复杂: 创作/代码/分析| E[大模型层]

    C --> C1["GPT-4o-mini<br/>$0.15/$0.60 per 1M"]
    C --> C2["Claude Haiku<br/>$0.25/$1.25 per 1M"]
    C --> C3["Gemini 2.0 Flash<br/>$0.10/$0.40 per 1M"]

    D --> D1["Claude Sonnet<br/>$3/$15 per 1M"]
    D --> D2["DeepSeek V3<br/>$0.27/$1.10 per 1M"]

    E --> E1["GPT-4o<br/>$2.50/$10 per 1M"]
    E --> E2["Claude Opus<br/>$15/$75 per 1M"]

    style C fill:#90EE90
    style D fill:#FFD700
    style E fill:#FF6B6B
```

### 2.2 开源路由工具对比

| 工具 | GitHub | 路由方式 | 特色 |
|------|--------|---------|------|
| **RouteLLM** | github.com/lm-sys/RouteLLM | ML分类器 | UC Berkeley出品，支持自定义训练路由模型 |
| **Not Diamond** | github.com/not-diamond/not-diamond | 提示相似度 | 自动学习最优模型映射 |
| **LiteLLM** | github.com/BerriAI/litellm | 规则+fallback | 统一API网关，100+模型支持，内置成本追踪 |
| **OpenRouter** | openrouter.ai | 手动配置 | 聚合平台，自动路由+价格对比 |

### 2.3 实操方案：用LiteLLM搭建路由（10分钟部署）

**Step 1：安装**

```bash
pip install litellm[proxy]
```

**Step 2：配置路由规则（config.yaml）**

```yaml
model_list:
  - model_name: auto-route
    litellm_params:
      model: gpt-4o-mini
      api_key: os.environ/OPENAI_API_KEY
    model_info:
      mode: chat
      
router_settings:
  routing_strategy: usage-based-routing-v2
  allowed_fails: 3
  cooldown_time: 60
  
general_settings:
  drop_params: true
```

**Step 3：在代码中使用**

```python
from litellm import completion

# 简单任务自动路由到便宜模型
response = completion(
    model="gpt-4o-mini",  # $0.15/$0.60
    messages=[{"role": "user", "content": "Classify: positive or negative? 'This product is great'"}],
    max_tokens=5  # 限制输出token
)

# 复杂任务手动指定大模型
response = completion(
    model="gpt-4o",  # $2.50/$10
    messages=[{"role": "user", "content": "Design a microservice architecture for..."}]
)
```

**省钱效果**：假设月消耗500万token输入+200万token输出，混合场景：

| 方案 | 月成本 | 省钱比例 |
|------|--------|---------|
| 全用GPT-4o | $32.5 (输入) + $20 (输出) = **$52.50** | 基线 |
| 70%mini + 20%DeepSeek + 10%GPT-4o | $5.78 + $1.54 + $5.25 = **$12.57** | **省76%** |
| 70%Gemini Flash + 20%DeepSeek + 10%GPT-4o | $3.85 + $1.54 + $5.25 = **$10.64** | **省80%** |

## 三、核心策略二：Prompt缓存（省90%输入成本）

这是**最被低估的省钱技巧**。如果你的应用有大量重复的system prompt（比如客服机器人、代码review），缓存机制可以把输入成本砍掉90%。

### 3.1 各平台缓存机制对比

| 平台 | 缓存方式 | 缓存折扣 | 最低缓存token数 |
|------|---------|---------|---------------|
| **Anthropic** | 显式缓存（`cache_control`参数） | 输入**降价50%** | 1024 tokens（Sonnet）/ 2048（Opus） |
| **OpenAI** | 自动缓存（Prompt Caching） | 缓存命中**降价50%** | 1024 tokens |
| **Google Gemini** | 显式缓存（Context Caching） | 每百万token存储费$4.50/小时 | 无最低限制 |
| **DeepSeek** | 自动缓存 | 缓存命中输入**$0.07/1M**（原$0.27） | 自动检测 |

### 3.2 Anthropic缓存实战

```python
import anthropic

client = anthropic.Anthropic()

# 把system prompt标记为缓存
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "你是一个专业的代码审查助手。以下是项目的编码规范：...(很长的文档，比如5000 tokens)...",
            "cache_control": {"type": "ephemeral"}  # 关键：标记缓存
        }
    ],
    messages=[
        {"role": "user", "content": "Review this function: def hello(): pass"}
    ]
)
```

**效果**：第一次调用正常收费（$3/1M输入）。第二次起，system prompt部分按$0.30/1M收费（**省90%**）。如果你的system prompt有5000 tokens，每天调用1000次：

| 指标 | 无缓存 | 有缓存 |
|------|--------|--------|
| 每日输入token | 5000 × 1000 = 500万 | 首次5000 + 后续1000×用户输入 |
| 每日system prompt成本 | 500万 × $3/1M = **$15** | 首次$0.015 + 5000×$0.30/1M ≈ **$1.50** |
| **月成本差异** | **$450** | **$45** |

**光一个缓存参数，月省$405。** 这可能是你今天能学到的最值钱的一行代码。

## 四、核心策略三：批处理API（省50%，适合非实时场景）

### 4.1 各平台批处理支持

| 平台 | API | 折扣 | 延迟 | 适用场景 |
|------|-----|------|------|---------|
| **OpenAI** | Batch API | **50% off** | 24小时内返回 | 数据分析、批量翻译、内容生成 |
| **Anthropic** | Message Batches | **50% off** | 数小时内返回 | 批量评估、文档处理 |
| **Google Gemini** | 无原生批处理 | - | - | 可用异步队列自建 |

### 4.2 OpenAI Batch API实操

```python
from openai import OpenAI
import json

client = OpenAI()

# Step 1: 准备批量请求（JSONL格式）
requests = []
for i, text in enumerate(large_dataset):
    requests.append({
        "custom_id": f"task-{i}",
        "method": "POST",
        "url": "/v1/chat/completions",
        "body": {
            "model": "gpt-4o-mini",
            "messages": [{"role": "user", "content": f"Summarize: {text}"}],
            "max_tokens": 200
        }
    })

# Step 2: 上传文件
with open("batch_requests.jsonl", "w") as f:
    for req in requests:
        f.write(json.dumps(req) + "\n")

batch_file = client.files.create(
    file=open("batch_requests.jsonl", "rb"),
    purpose="batch"
)

# Step 3: 创建批处理任务
batch = client.batches.create(
    input_file_id=batch_file.id,
    endpoint="/v1/chat/completions",
    completion_window="24h"
)

# Step 4: 稍后获取结果（50%折扣！）
# result = client.batches.retrieve(batch.id)
```

**省钱计算**：处理10万条文本摘要，每条约500输入+200输出token：

| 方案 | 成本 | 说明 |
|------|------|------|
| 实时API + GPT-4o | $2.50×50 + $10×20 = **$325** | 全价 |
| Batch API + GPT-4o | **$162.50** | 50%折扣 |
| Batch API + GPT-4o-mini | $0.15×50 + $0.60×20 = **$19.50** | 小模型+批处理 |
| Batch API + Gemini Flash | $0.10×50 + $0.40×20 = **$13.00** | 最省钱方案 |

**最省方案比最贵方案省96%。** 差了25倍。

## 五、隐藏省钱技巧：90%人不知道的五个方法

### 技巧1：`max_tokens`是你的钱包守护者

大多数人不设`max_tokens`，模型每次都输出几百token。如果你只需要"是/否"判断：

```python
# 浪费：模型可能输出100+token解释
response = completion(model="gpt-4o-mini", messages=[...])

# 省钱：强制5token输出
response = completion(
    model="gpt-4o-mini", 
    messages=[{"role": "user", "content": "Is this email spam? Reply ONLY yes or no."}],
    max_tokens=5
)
```

**效果**：输出token从平均80降到3，**输出成本降低96%。**

### 技巧2：DeepSeek的缓存命中——不用做任何事就省钱

DeepSeek API自动缓存重复的prompt前缀。如果你有固定的system prompt，**什么都不用改**，多次调用后输入成本自动从$0.27降到$0.07/1M token（**省74%**）。这在所有主流API中是唯一完全自动的。

### 技巧3：OpenRouter的"免费模型"通道

OpenRouter上有大量**完全免费**的模型（输入$0 + 输出$0），适合开发测试和低流量生产：

| 免费模型 | 能力 | 适合场景 |
|---------|------|---------|
| `meta-llama/llama-3.3-70b-instruct:free` | 70B参数，推理能力强 | 通用对话、代码辅助 |
| `qwen/qwen3-14b:free` | 14B参数，中文优秀 | 中文处理 |
| `google/gemma-3-27b-it:free` | 27B参数，多模态 | 图像理解 |
| `mistralai/mistral-small-3.1-24b-instruct:free` | 24B参数 | 快速推理 |
| `deepseek/deepseek-r1-0528:free` | 推理模型 | 数学/逻辑推理 |

**使用方法**：注册OpenRouter（openrouter.ai），获取API key，调用时模型名加`:free`后缀即可。唯一限制是有速率限制（通常每分钟10-20请求）。

### 技巧4：Gemini的"免费层"——每天1500请求白嫖

Google Gemini API有一个**永久免费层**，不需要信用卡：

| 指标 | 免费层额度 |
|------|----------|
| Gemini 2.0 Flash | 15 RPM, 1500 RPD, 100万TPM |
| Gemini 2.5 Pro | 5 RPM, 25 RPD |
| 价格 | **完全免费** |
| 限制 | 仅非商业用途 |

对于个人项目、学习、原型验证，这等于**零成本的顶级AI**。国内很多开发者不知道这个免费层存在。

### 技巧5：OpenAI API的僵尸token——你可能在为空白付费

如果你的prompt末尾有大量空白字符、重复换行，或者JSON中有空字段，这些都会被计入token。一个简单的清理函数：

```python
import re

def clean_prompt(text):
    """清理prompt，去除多余空白和无效字段"""
    text = re.sub(r'\n{3,}', '\n\n', text)  # 多个换行变两个
    text = re.sub(r' {2,}', ' ', text)       # 多空格变一个
    text = text.strip()
    return text

# 使用前：5000 tokens
# 使用后：3800 tokens
# 省约24%输入成本
```

## 六、终极省钱方案：不同预算的推荐配置

```mermaid
flowchart LR
    subgraph 零预算
        A1[Gemini Flash免费层<br/>1500请求/天]
        A2[OpenRouter免费模型<br/>Llama 3.3 70B]
        A3[本地Ollama<br/>完全免费]
    end

    subgraph 月50美元以下
        B1[70% DeepSeek V3<br/>$0.27/$1.10]
        B2[20% Claude Haiku<br/>$0.25/$1.25]
        B3[10% GPT-4o<br/>$2.50/$10]
    end

    subgraph 月200美元以下
        C1[50% Claude Sonnet<br/>$3/$15]
        C2[30% DeepSeek R1<br/>$0.55/$2.19]
        C3[20% GPT-4o<br/>$2.50/$10]
    end

    style 零预算 fill:#90EE90
    style 月50美元以下 fill:#87CEEB
    style 月200美元以下 fill:#FFD700
```

### 方案A：零预算（完全免费）

| 组件 | 工具 | 成本 |
|------|------|------|
| 对话/文本 | Gemini 2.0 Flash 免费层 | $0 |
| 推理/代码 | OpenRouter免费Llama 3.3 70B | $0 |
| 本地离线 | Ollama + Qwen3 14B（Mac/PC） | $0 |
| 路由管理 | LiteLLM统一网关 | $0 |

**总成本：$0/月**。覆盖日常开发90%需求。

### 方案B：月$50以下（独立开发者最优）

| 场景 | 模型 | 占比 | 月成本估算 |
|------|------|------|----------|
| 简单任务（分类/提取/格式化） | DeepSeek V3 | 70% | ~$8 |
| 中等任务（推理/翻译/总结） | Claude Haiku | 20% | ~$5 |
| 复杂任务（创作/架构/代码） | GPT-4o | 10% | ~$10 |
| **路由管理** | LiteLLM自建 | - | $0 |
| **总计** | | | **~$23/月** |

### 方案C：月$200以下（团队最优）

| 场景 | 模型 | 占比 | 月成本估算 |
|------|------|------|----------|
| 通用开发 | Claude Sonnet | 50% | ~$60 |
| 推理任务 | DeepSeek R1 | 30% | ~$15 |
| 复杂任务 | GPT-4o | 15% | ~$20 |
| 批处理 | GPT-4o-mini Batch | 5% | ~$3 |
| **路由+缓存** | LiteLLM + Anthropic缓存 | - | $0 |
| **总计** | | | **~$98/月** |

## 信息差总结

| 维度 | 你知道的 | 你不知道的（信息差） |
|------|---------|-------------------|
| **单价思维** | GPT-4o $2.50/1M | 70%任务用$0.10-0.27的模型就够了 |
| **缓存** | 不知道有缓存机制 | Anthropic一行代码省90%输入成本 |
| **批处理** | 所有请求都实时调用 | Batch API打五折，非实时场景必用 |
| **免费层** | 以为API都要付费 | Gemini每天1500请求完全免费 |
| **免费模型** | 不知道OpenRouter有免费通道 | Llama 3.3 70B等模型零成本可用 |
| **路由** | 手动选模型 | LiteLLM自动路由+成本追踪 |
| **token浪费** | prompt越长越好 | 清理空白字符就能省24% |

## 行动指南（今天就能做）

1. **5分钟**：去 [openrouter.ai](https://openrouter.ai) 注册，试用免费模型（Llama 3.3 70B），感受零成本AI
2. **10分钟**：在现有代码中给所有简单任务加上`max_tokens`限制，立刻减少输出token消耗
3. **30分钟**：安装LiteLLM（`pip install litellm[proxy]`），配置模型路由规则，开始分流
4. **1小时**：把重复性system prompt加上Anthropic的`cache_control`参数，月省数百美元
5. **本周内**：梳理所有AI调用，把非实时任务迁移到Batch API（OpenAI或Anthropic），自动省50%

## 参考来源

- [OpenRouter Models & Pricing](https://openrouter.ai/models) — 实时模型价格对比，含免费模型列表
- [LiteLLM Documentation](https://docs.litellm.ai/) — 开源AI模型路由网关
- [Anthropic Prompt Caching](https://docs.anthropic.com/en/docs/build-with-claude/prompt-caching) — 官方缓存文档
- [OpenAI Batch API](https://platform.openai.com/docs/guides/batch) — 批处理API官方指南
- [Google Gemini Pricing](https://ai.google.dev/pricing) — 含免费层详细说明
- [DeepSeek API Pricing](https://api-docs.deepseek.com/quick_start/pricing) — 自动缓存命中价格

---

> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
