你每个月在AI API上花多少钱?如果超过50美元,这篇文章可能帮你砍掉90%的账单。不是换便宜模型——是用你现在的模型,通过Token压缩和折扣叠加两招,把同一笔钱花出10倍效果。这不是理论,是数学:Anthropic的Prompt Cache命中后输入成本降90%,再叠加Batch API的5折,一笔 = 省95%。DeepSeek更夸张,Cache命中后每百万Token只要$0.0028——不到一杯咖啡钱跑完百万Token。今天拆解这套省钱公式的每一个齿轮。
大多数人对"每百万Token $3"没有直觉。我们来算一笔账。
中文字符的Token消耗:一个汉字约1.5-2个Token(比英文单词贵!)。一篇3000字的中文文章大约消耗5000-6000个Token。
以 Claude Sonnet 4.6 为例($3/MTok输入,$15/MTok输出):
| 操作 | Token消耗 | 成本 |
|---|---|---|
| 发送一篇3000字文章 | ~5,500 input | $0.0165 |
| 让模型写1500字回复 | ~3,000 output | $0.045 |
| 一次完整对话 | 8,500 total | $0.062 |
| 每天50次这样的对话 | 425,000 total | $3.08/天 |
| 一个月(22个工作日) | — | $67.8/月 |
看起来不多?但如果你的System Prompt有5000字(包含代码规范、项目上下文),每次请求都会重复发送:
| 场景 | 每次Input Token | 月成本 |
|---|---|---|
| 不用Cache,50次/天 | 5,500 + 10,000 = 15,500 | $102.3 |
| 用Cache命中 | 5,500 + 10,000×10% = 6,500 | $42.9 |
| 用Cache+Batch | 同上×50% | $21.5 |
差距:$102 → $21.5,省79%。这就是叠加的力量。
在叠加折扣之前,先减少Token基数。基数越小,省的绝对值越大。
Before(420 Token):
You are a helpful, professional, and experienced software engineer who specializes in Python development. You always write clean, well-documented code that follows best practices. When asked to implement a feature, you should first think about the design, then write the code with appropriate comments...
After(68 Token):
Expert Python dev. Clean code, type hints, docstrings. Show design before code.
省钱效果:每次请求省352 Token,按Sonnet价格 = 每次省$0.001。50次/天 = 月省$1.1。看着不多?如果你有100个并发请求,就是月省$110。
Before(280 Token):
Please analyze the following data and create a summary. The summary should include: 1) the total number of records, 2) the average value, 3) any outliers that are more than 2 standard deviations from the mean, 4) a brief recommendation...
After(95 Token):
task: data_summary
fields: [count, avg, outliers_2σ, recommendation]
format: bullet points
压缩率:66%。所有结构化指令都应该用YAML或JSON Schema表达。
很多人用Few-shot(给3-5个示例)来引导输出格式。每个示例可能消耗200-500 Token。
替代方案:用response_format参数(OpenAI)或structured output(Anthropic tool use)直接定义输出Schema,零示例。
# 用Schema替代Few-shot,省掉1000+ Token
response = client.messages.create(
model="claude-sonnet-4-6",
tools=[{
"name": "extract_info",
"description": "Extract structured info",
"input_schema": { # JSON Schema 定义输出格式
"type": "object",
"properties": {
"summary": {"type": "string"},
"sentiment": {"enum": ["positive", "negative", "neutral"]},
"key_points": {"type": "array", "items": {"type": "string"}}
}
}
}]
)
模型默认可能会写2000字来回答一个简单问题。用max_tokens和明确指令控制:
# 明确限制输出
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=200, # 硬上限
messages=[{"role": "user", "content": "一句话回答:Python的GIL是什么?"}]
)
输出Token比输入贵5倍(Sonnet: $15 vs $3),所以限制输出长度比压缩输入更有效。
长对话的Token消耗呈线性增长。第20轮对话时,你可能发送了前19轮的所有内容。
策略:
- 保留最近5轮 + 系统prompt
- 对更早的内容做摘要压缩(用便宜模型如Haiku来压缩)
- 或者直接用max_tokens限制上下文窗口
如果你发送截图给模型做分析,一张1080p截图约消耗1600-2000 Token。
优化: - 缩小分辨率到512px宽度:Token降到~400 - 裁剪只保留关键区域 - 用文本描述替代截图("这个按钮在页面右上角,显示为红色")
不要逐条发送50个独立问题,合并成一个:
# 差:50次API调用
for question in questions:
response = call_api(question) # 50次 × $0.05 = $2.5
# 好:1次API调用
combined = "\n".join(f"Q{i+1}: {q}" for i, q in enumerate(questions))
response = call_api(f"Answer each question briefly:\n{combined}") # 1次 × $0.15 = $0.15
省94%,而且还减少了50倍的请求次数。
不同模型的Tokenizer不同。同一个中文段落:
| 模型 | Token数(同一中文段落) | 相对成本 |
|---|---|---|
| Claude (Sonnet) | 100% (基准) | 1.0x |
| GPT-4.1 | ~110% | 1.1x |
| Gemini | ~95% | 0.95x |
| DeepSeek | ~90% | 0.9x |
DeepSeek的Tokenizer对中文更友好,同样是"每百万Token $0.14",实际处理中文字数更多。
Token压缩解决了"基数"问题,现在解决"单价"问题。
原理很简单:如果多个请求的前缀相同(比如System Prompt),API只计算一次,后续请求直接复用。
Anthropic Cache定价(每百万Token):
| 模型 | 原价输入 | Cache写入(5min) | Cache写入(1h) | Cache命中 | 命中折扣 |
|---|---|---|---|---|---|
| Opus 4.8 | $5.00 | $6.25 | $10.00 | $0.50 | 90% off |
| Sonnet 4.6 | $3.00 | $3.75 | $6.00 | $0.30 | 90% off |
| Haiku 4.5 | $1.00 | $1.25 | $2.00 | $0.10 | 90% off |
注意:Cache写入比原价贵25%(5分钟TTL)或100%(1小时TTL)。但只要命中一次就回本,命中两次就开始赚。
Anthropic和OpenAI都提供Batch API——把请求打包异步处理,24小时内返回结果,价格减半。
Anthropic Batch定价(每百万Token):
| 模型 | 标准输入 | Batch输入 | 标准输出 | Batch输出 |
|---|---|---|---|---|
| Opus 4.8 | $5.00 | $2.50 | $25.00 | $12.50 |
| Sonnet 4.6 | $3.00 | $1.50 | $15.00 | $7.50 |
| Haiku 4.5 | $1.00 | $0.50 | $5.00 | $2.50 |
flowchart TD
A[原始API调用] --> B{有重复上下文?}
B -->|是| C[启用Prompt Cache]
B -->|否| D[跳过Cache]
C --> E[输入成本 × 10%]
D --> F[输入成本 × 100%]
E --> G{能接受24h延迟?}
F --> G
G -->|是| H[启用Batch API]
G -->|否| I[保持实时API]
H --> J[总成本 × 50%]
I --> K[总成本 × 100%]
J --> L[最终成本]
K --> L
style A fill:#ff6b6b,color:#fff
style L fill:#51cf66,color:#fff
style J fill:#ffd43b,color:#333
style E fill:#ffd43b,color:#333
实测计算:处理10万条客户反馈(每条500 Token上下文 + 200 Token输出)
以Claude Sonnet 4.6为例:
| 方案 | 输入成本 | 输出成本 | 总成本 | 省钱比例 |
|---|---|---|---|---|
| ❌ 裸调用 | $150 | $300 | $450 | 基准 |
| ✅ Cache命中 | $15 | $300 | $315 | 30% |
| ✅ Batch | $75 | $150 | $225 | 50% |
| ✅ Cache+Batch | $7.5 | $150 | $157.5 | 65% |
| ✅ 压缩+Cache+Batch | $4.5 | $90 | $94.5 | 79% |
加上Token压缩(第2、4招把输出从200 Token压到120 Token,上下文从500压到300):
$450 → $94.5,省79%,每月省$355.5。
DeepSeek的Cache命中价是$0.0028/MTok(输入),比原价$0.14低了98%。
| DeepSeek模型 | 原价输入 | Cache命中 | 降幅 |
|---|---|---|---|
| deepseek-v4-flash | $0.14/MTok | $0.0028 | 98% |
| deepseek-reasoner | $0.435/MTok | $0.0036 | 99.2% |
一个处理100万Token的任务,DeepSeek Cache命中只要$2.8——这已经不是省钱了,这是白嫖。
除了Cache和Batch,还有一些你可能不知道的低价通道。
| 平台 | 价格 | 亮点 | 限制 |
|---|---|---|---|
| Google Gemini免费层 | $0 | Gemini 2.5 Flash免费 | RPM限制,数据用于改进 |
| OpenRouter免费模型 | $0 | 25个模型免费用 | 速率限制,部分模型上下文小 |
| Groq | $0.05/MTok | ~450-500 tps超快推理 | 仅开源模型 |
| Cerebras | $0.10/MTok | 极速推理,$0.1输入输出同价 | 模型选择少 |
| DeepSeek | $0.14/MTok | 中英文最优性价比 | 国内API可能需代理 |
| 硅基流动(SiliconFlow) | ¥0.42/MTok | 国内直连,RMB结算 | 部分模型需排队 |
| Cloudflare Workers AI | 免费额度 | 每天10,000次推理免费 | 模型有限 |
OpenRouter上有25个完全免费的模型,不需要信用卡,不需要注册付费计划:
| 排名 | 模型 | 上下文窗口 | 适合场景 |
|---|---|---|---|
| 1 | qwen/qwen3-coder:free |
100万 Token | 代码生成/理解 |
| 2 | nvidia/nemotron-3-super-120b-a12b:free |
100万 Token | 通用推理 |
| 3 | moonshotai/kimi-k2.6:free |
26万 Token | 长文理解 |
| 4 | openai/gpt-oss-120b:free |
13万 Token | OpenAI开源模型 |
| 5 | meta-llama/llama-3.3-70b-instruct:free |
13万 Token | Meta最强开源 |
使用方式超简单——OpenRouter API兼容OpenAI格式:
import openai
client = openai.OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="你的OpenRouter密钥" # 免费注册即可
)
response = client.chat.completions.create(
model="qwen/qwen3-coder:free", # 完全免费
messages=[{"role": "user", "content": "用Python写一个快速排序"}]
)
flowchart LR
subgraph 零预算
A1[Gemini免费层] --> A2[OpenRouter免费模型]
A2 --> A3[本地Ollama]
end
subgraph 低预算_月50美元以内
B1[DeepSeek API] --> B2[Groq推理]
B2 --> B3[Cache命中优化]
end
subgraph 中预算_月50至500美元
C1[Claude Batch+Cache] --> C2[模型路由]
C2 --> C3[Token压缩]
end
零预算 -->|升级| 低预算_月50美元以内
低预算_月50美元以内 -->|升级| 中预算_月50至500美元
目标:月花费$0,获得80%的生产力
| 任务 | 用什么 | 怎么用 |
|---|---|---|
| 代码补全 | OpenRouter qwen3-coder:free |
VS Code + Continue.dev插件 |
| 通用问答 | Google Gemini 2.5 Flash免费层 | AI Studio或API |
| 快速推理 | Groq Llama 3.1 8B | API或La Plateforme |
| 本地私密 | Ollama + Qwen3 8B | ollama run qwen3:8b |
实际效果:日常开发中80%的AI辅助需求都能满足,零成本。
目标:获得95%的生产力,月费控制在$50以内
| 任务 | 用什么 | 月成本 |
|---|---|---|
| 主力编码 | DeepSeek V4 Flash | ~$5-10 |
| 复杂推理 | DeepSeek Reasoner | ~$10-15 |
| 快速补全 | Groq Llama 3.3 70B | ~$3-5 |
| 长文分析 | Gemini 2.5 Flash免费层 | $0 |
| 总计 | — | $18-30/月 |
关键技巧:用DeepSeek的Cache($0.0028/MTok命中价),把重复上下文的开销降到几乎为零。
目标:用最少的钱获得顶级模型体验
| 任务 | 用什么 | 月成本 |
|---|---|---|
| 核心编码 | Claude Sonnet 4.6 + Cache | ~$30-80 |
| 批量处理 | Claude Batch API | ~$15-40 |
| 快速任务 | GPT-4.1-mini ($0.40/MTok) | ~$5-15 |
| 中文优化 | DeepSeek V4 Flash | ~$5-10 |
| 总计 | — | $55-145/月 |
关键技巧:用模型路由——简单任务发Haiku/mini,复杂任务发Sonnet/Opus,加上Cache和Batch叠加,把$500的体验压到$150以内。
| 你以为的 | 实际上的 |
|---|---|
| Claude很贵,个人用不起 | Cache+Batch叠加后,Sonnet实际$0.15/MTok |
| 免费模型都是玩具 | OpenRouter上25个免费模型,含Qwen3 Coder百万上下文 |
| DeepSeek只是便宜 | Cache命中价$0.0028/MTok,比Claude便宜1800倍 |
| Batch API没用(太慢) | 大多数Batch在1小时内完成,适合批量分析/数据处理 |
| Cache只对长对话有用 | 任何重复的System Prompt都能Cache,哪怕只有500 Token |
| Token不能压缩 | YAML替代自然语言可省66%,Schema替代Few-shot省1000+Token |
| 中文和英文一样贵 | 不同Tokenizer差异达20%,DeepSeek对中文最友好 |
| 省钱就要用烂模型 | 好模型+折扣叠加 = 好效果+低成本 |
今天就能做(5分钟):
1. 注册 OpenRouter 免费账号,试试 qwen/qwen3-coder:free
2. 注册 Google AI Studio,开始用Gemini免费层
3. 在你的API调用中加上max_tokens参数,限制输出长度
本周可以做的:
1. 审计你的System Prompt,用YAML重写,省60%+ Token
2. 开启Anthropic的自动Cache(加一行cache_control)
3. 把批量处理任务迁移到Batch API,立省50%
本月目标: 1. 建立模型路由逻辑:简单任务→Haiku/mini,复杂→Sonnet 2. 测量你的Cache命中率,目标>70% 3. 对比账单,计算实际省钱比例
本文由「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 等场景全覆盖。
