你以为用最便宜的API就是省钱?错。真正的省钱高手不是挑最便宜的模型,而是让90%的请求根本不打到贵的模型上。
中国开发者在AI成本上普遍存在一个认知盲区:只盯单价,不看用量分布。一个人月消耗500万token,GPT-4o单价$2.50/百万输入token,月账单$50+。但如果其中80%的请求只是简单的文本分类、格式转换、摘要提取——这些任务用$0.15/百万token的模型就能搞定。本文拆解一套经过海外团队验证的"模型分级路由+批处理+缓存"三位一体省钱框架,让你的AI月账单从$200降到$40以下。不是理论推演,每一步都有具体操作和真实数字。
大多数开发者的token消耗分布长这样:
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%。
模型路由的思路很简单:在请求到达LLM之前,先判断这个请求的复杂度,然后分配给合适的模型。
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
| 工具 | 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 | 手动配置 | 聚合平台,自动路由+价格对比 |
Step 1:安装
pip install litellm[proxy]
Step 2:配置路由规则(config.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:在代码中使用
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% |
这是最被低估的省钱技巧。如果你的应用有大量重复的system prompt(比如客服机器人、代码review),缓存机制可以把输入成本砍掉90%。
| 平台 | 缓存方式 | 缓存折扣 | 最低缓存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) | 自动检测 |
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 | 折扣 | 延迟 | 适用场景 |
|---|---|---|---|---|
| OpenAI | Batch API | 50% off | 24小时内返回 | 数据分析、批量翻译、内容生成 |
| Anthropic | Message Batches | 50% off | 数小时内返回 | 批量评估、文档处理 |
| Google Gemini | 无原生批处理 | - | - | 可用异步队列自建 |
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倍。
max_tokens是你的钱包守护者大多数人不设max_tokens,模型每次都输出几百token。如果你只需要"是/否"判断:
# 浪费:模型可能输出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%。
DeepSeek API自动缓存重复的prompt前缀。如果你有固定的system prompt,什么都不用改,多次调用后输入成本自动从$0.27降到$0.07/1M token(省74%)。这在所有主流API中是唯一完全自动的。
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请求)。
Google Gemini API有一个永久免费层,不需要信用卡:
| 指标 | 免费层额度 |
|---|---|
| Gemini 2.0 Flash | 15 RPM, 1500 RPD, 100万TPM |
| Gemini 2.5 Pro | 5 RPM, 25 RPD |
| 价格 | 完全免费 |
| 限制 | 仅非商业用途 |
对于个人项目、学习、原型验证,这等于零成本的顶级AI。国内很多开发者不知道这个免费层存在。
如果你的prompt末尾有大量空白字符、重复换行,或者JSON中有空字段,这些都会被计入token。一个简单的清理函数:
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%输入成本
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
| 组件 | 工具 | 成本 |
|---|---|---|
| 对话/文本 | Gemini 2.0 Flash 免费层 | $0 |
| 推理/代码 | OpenRouter免费Llama 3.3 70B | $0 |
| 本地离线 | Ollama + Qwen3 14B(Mac/PC) | $0 |
| 路由管理 | LiteLLM统一网关 | $0 |
总成本:$0/月。覆盖日常开发90%需求。
| 场景 | 模型 | 占比 | 月成本估算 |
|---|---|---|---|
| 简单任务(分类/提取/格式化) | DeepSeek V3 | 70% | ~$8 |
| 中等任务(推理/翻译/总结) | Claude Haiku | 20% | ~$5 |
| 复杂任务(创作/架构/代码) | GPT-4o | 10% | ~$10 |
| 路由管理 | LiteLLM自建 | - | $0 |
| 总计 | ~$23/月 |
| 场景 | 模型 | 占比 | 月成本估算 |
|---|---|---|---|
| 通用开发 | 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% |
max_tokens限制,立刻减少输出token消耗pip install litellm[proxy]),配置模型路由规则,开始分流cache_control参数,月省数百美元本文由「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 等场景全覆盖。
