<!-- title: 批处理直降五成：账单上没人领的折扣档 -->
<!-- domain: cost-hacks -->

## API 账单上有一整排折扣档，九成的人从来没点过

如果你做过任何正经体量的 LLM 调用，账单大概率是按"实时、按 token、用多少付多少"的默认档结的。这个默认档是各家最贵的那一档。问题是——OpenAI、Anthropic、Google、AWS Bedrock 在它旁边，悄悄摆了一排折扣档：批处理 50% off、承诺量 30–60% off、蒸馏后换小模型再砍 90%。这些折扣不是促销活动，是常驻的定价结构，注册即享、不需要申请、不影响质量。可大多数团队从第一天起就走默认档，从来没抬头看一眼菜单。

这一篇拆四把刀：**批处理 API、模型级联路由、承诺吞吐量、蒸馏微调**。它们共同的特点是——不是"省着用"，而是"换一个计费入口用"。同样的活儿，账单可以直接砍掉一半到九成，且输出质量分毫不差。

---

## 一、批处理 API：直降五成，质量一分不少

这是四把刀里最干净的一把，也是信息差最大的一把。

**原理**：把一批请求一次性打包提交，平台在 24 小时内异步跑完，价格直接打五折。延迟从秒级变成小时级，换来的是 50% 的硬折扣。

三家主流厂商都常驻开放：

| 平台 | 接口 | 折扣 | 单批上限 | 完成窗口 |
|------|------|------|----------|----------|
| OpenAI | Batch API | 50% off | 50,000 请求 / 100MB | 24h 内 |
| Anthropic | Message Batches | 50% off | 100,000 请求 / 批 | 24h 内 |
| Google Vertex AI | Batch Prediction | 按模型有批处理价 | 大规模 | 数小时级 |
| AWS Bedrock | Batch Inference | 50% off | 大规模 | 24h 内 |

**关键点：打折的是"排队时间"，不是模型本身。** 你跑的还是 GPT-4o、Claude Sonnet 4.x、Gemini 2.5 Pro 同款权重，输出 token 分布、推理深度、工具调用能力完全一致。这一点很多人有误解，以为"批处理=阉割版模型"，于是白白放弃五折。

**算笔账**（单价为示意，以官网 Pricing 为准）：

| 模型（实时档） | 输入/输出 每 1M token | 批处理档（五折） |
|----------------|----------------------|------------------|
| GPT-4o 类 | $2.5 / $10 | $1.25 / $5 |
| GPT-4o-mini 类 | $0.15 / $0.60 | $0.075 / $0.30 |
| Claude Sonnet 4.x 类 | $3 / $15 | $1.50 / $7.50 |
| Claude Haiku 3.5 类 | $0.80 / $4 | $0.40 / $2 |

一个跑评估集、数据标注、批量翻译、文档摘要的活儿，实时档烧 $2000，批处理档 $1000，**省下的 $1000 是纯利润**。

**哪些活儿适合丢进批处理**：

- 评测集（eval）批量打分——本来就不是在线任务
- 数据标注、分类、抽取——离线任务，延迟无所谓
- 批量翻译、摘要、改写——内容生产管线
- Embedding 生成——向量库重建
- RAG 离线索引构建
- 历史数据回填、批量改写旧文档

**哪些活儿不能进批处理**：

- 面向用户的实时对话（聊天框、客服）
- 延迟敏感的 agent 决策环
- 任何要求秒级返回的交互

**OpenAI Batch 的最小操作链**（伪代码）：

```python
# 1. 生成 JSONL，每行一个请求
lines = [json.dumps({
    "custom_id": f"req-{i}",
    "method": "POST",
    "url": "/v1/chat/completions",
    "body": {"model": "gpt-4o", "messages": [...]}
}) for i, sample in enumerate(dataset)]

# 2. 上传文件 → 创建批任务 → 24h 内取回
file = openai.files.create(file=io.BytesIO("\n".join(lines).encode()), purpose="batch")
job = openai.batches.create(input_file_id=file.id, endpoint="/v1/chat/completions", completion_window="24h")
# 状态变化：validating → in_progress → completed → 拉结果文件
```

Anthropic Message Batches 的链路几乎一样：`batches.create()` 提交，轮询状态，最后拉结果。一夜之间把上万条请求跑完，账单只认五折价。

> 一个隐藏认知：很多人觉得"批处理不就是等一天嘛，谁受得了"。但实际上，一个团队里**至少有 30–50% 的 token 消耗是离线任务产生的**（eval、标注、回填、索引）。这半壁江山天然属于批处理，只是默认接到了实时 endpoint 上。

---

## 二、模型级联路由：八成请求根本用不着贵模型

第二把刀针对的是"杀鸡用牛刀"——所有请求都打到最贵的旗舰模型，而其中八成其实是个便宜小模型就能搞定的。

**原理**：在请求和模型之间加一层路由器。简单的请求（分类、抽取、FAQ）丢给 Haiku / 4o-mini / Gemini Flash 这类百倍便宜的小模型；只有路由器判定"搞不定"的硬骨头，才上发给 Sonnet / Opus / GPT-4o / Gemini Pro。

```
请求进来
  ↓
[路由判断] 难度评估
  ├─ 简单(约80%) → Haiku/4o-mini/Flash   单价 $0.25–0.8/1M
  └─ 困难(约20%) → Sonnet/Opus/Pro       单价 $3–15/1M
```

**核心工具**：

- **RouteLLM**（lm-sys 开源，带论文）：用一个轻量评分模型判断每条请求该走便宜还是贵的模型，论文报告**在不掉质量前提下把成本砍到约一半**，可接受小幅质量下降时能砍到 1/3。
- **LiteLLM Router**：开源统一网关，支持按成本/延迟/回退策略路由到任意 provider。
- **Portkey / OpenRouter**：托管路由层，带 fallback、负载均衡、成本追踪。

**算笔账**：假设日均 100 万次请求，全部打 Sonnet（$3/$15）：

- 全量 Sonnet：输入假设 1k token、输出 200 token → 单次约 $0.006，日均 **$6000**
- 级联（80% 走 Haiku $0.8/$4，20% 走 Sonnet）：
  - 80万次 × Haiku(1k+200t) ≈ 80万 × $0.0016 = $1280
  - 20万次 × Sonnet ≈ 20万 × $0.006 = $1200
  - 日均 **$2480**，省 **58%**

质量上，只要路由器阈值调好，整体准确率基本贴着全 Sonnet 跑。**这是一笔几乎免费的 58% 折扣**——成本花在"加一层路由"，收益是模型账单直接腰斩。

**进阶玩法：加一层语义缓存**。请求先过 embedding 相似度检索，命中过的直接返回缓存结果，连小模型都不调用。三者叠加——缓存命中 + 级联 + 批处理——能把账单压到原价的 5–10%。

```mermaid
flowchart TD
    A[请求进入] --> B{语义缓存命中?}
    B -- 是 --> C[直接返回, 零 token 费]
    B -- 否 --> D{延迟敏感?}
    D -- 否 --> E[丢进 Batch API, 五折]
    D -- 是 --> F{路由器判定难度}
    F -- 简单, 约80% --> G[便宜小模型<br/>Haiku/4o-mini/Flash]
    F -- 困难, 约20% --> H[旗舰模型<br/>Sonnet/Opus/Pro]
    E --> I[24h 内取回结果]
    G --> I
    H --> I
    C --> I
    style C fill:#d4edda
    style E fill:#cce5ff
    style G fill:#fff3cd
    style H fill:#f8d7da
```

---

## 三、承诺吞吐量：稳定负载锁价三到六成

前两把刀适合"间歇性、可延迟"的负载。如果你的生产负载是**高且稳定**的——比如一个每天稳定跑量的客服 agent、一个恒定吞吐的文档处理管线——第三把刀专门给你：承诺吞吐量（Provisioned Throughput / Committed Use）。

**原理**：跟云厂商签一个承诺期（按月或按年），锁定一定的吞吐量配额，换取显著折扣（常见 30–60% off）。本质是你用"承诺一定用量"换"单价下调 + 容量保障"。

| 平台 | 机制 | 形态 |
|------|------|------|
| AWS Bedrock | Provisioned Throughput | 按 Model Unit，小时/月级承诺 |
| Azure OpenAI | Provisioned (PTU) | 预留单位，按小时计 |
| Google Vertex AI | Committed Use Discount (CUD) | 承诺期折扣 |
| Anthropic | Reserved Capacity | 承诺 token/spend，换折扣 |

**经验法则**：如果你的预留容量**稳定利用率能超过 60–70%**，承诺档稳赢按量档。低于这个利用率，说明负载太抖，老老实实按量付费更划算——因为承诺档"用不满也得付"。

**适合谁**：

- 日活稳定的 To B SaaS，请求量可预测
- 已经上线跑稳、知道日均 token 量的生产 agent
- 有 SLA 要求、需要容量保障（高峰不被限流）的在线服务

**不适合谁**：

- 流量剧烈波动的早期产品
- 还在验证 PMF、用量看不清的阶段

**算笔账**：一个日均稳定 5 亿 token 输入的文档处理 SaaS，按量档月烧约 $15000。签一年承诺档（假设 45% off），月成本约 **$8250**，一年省 **$81000**。代价是绑定承诺期——但如果负载真稳定，这笔绑定几乎零风险。

> 提醒：承诺档是把"单价"锁下来，不是把"总账"锁下来。签之前先拿历史 30 天的 token 曲线算清楚利用率，别被销售一忽悠就签长约。

---

## 四、蒸馏微调：把 $15 的模型变成 $0.5 的小模型

第四把刀针对的是**重复性强的窄任务**——比如固定格式的字段抽取、特定领域的分类、标准化的格式转换。这类任务，你其实不需要旗舰模型的通用智能，你需要的是一个"在窄领域里被旗舰模型教过的小模型"。

**原理**（蒸馏，distillation）：

1. 用贵模型（Sonnet / Opus / GPT-4o）跑一批你的真实任务，收集高质量的"输入→输出"样本。
2. 用这批样本微调一个便宜小模型（4o-mini / Haiku / 开源小模型）。
3. 生产环境把这条窄任务全部切到微调后的小模型。

**结果**：窄任务上，微调小模型的准确率往往能**逼近甚至追平**未微调的旗舰模型，而推理单价只有旗舰的 1/30 到 1/50。

**工具支撑**：

- **OpenAI Distillation**：平台原生支持，用旗舰模型输出自动建数据集、微调小模型，还经常送免费训练额度。
- **Anthropic / Bedrock / Vertex 的微调**：支持在 Haiku / Flash 这类小底座上做任务专属微调。
- **自建蒸馏**：旗舰模型当老师（teacher），用 LoRA 微调开源小底座（如 Qwen、Llama 小尺寸），完全可控。

**算笔账**：一个发票字段抽取任务，日均 50 万次，原本走 Sonnet：

- 原方案：50万 × $0.006 = **$3000/天**
- 蒸馏到 4o-mini（$0.15/$0.60）：50万 × 约 $0.0003 = **$150/天**
- **省 95%**，一次微调成本（几万样本、几十到几百美元）摊到半年可忽略不计

**适合的窄任务**（这类任务的共性是"重复、格式固定、判断范围小"）：

- 票据/合同/表单字段抽取
- 工单/评论情感与意图分类
- 固定格式的结构化转换（JSON 标准化、地址清洗）
- 代码库的 lint/补全类局部任务

**不适合**：开放式创作、长链推理、需要泛化到新领域的任务——这些蒸馏压不住，还是得上旗舰。

> 认知差：很多人把"微调"理解成"让模型变聪明"，于是拿通用 benchmark 去衡量微调小模型，得出"不如旗舰"的结论。蒸馏的正确心智是——**微调不是为了通用变强，是为了在窄任务上把旗舰的局部能力"搬"到便宜底座上**。评判标准应该用你自己的窄任务 eval，不是 MMLU。

---

## 信息差总结：你知道的 vs 别人不知道的

| 维度 | 默认认知（贵） | 信息差认知（省） | 差距 |
|------|----------------|------------------|------|
| 计费入口 | 全部走实时按量 endpoint | 离线任务走 Batch API | 省 50% |
| 模型选择 | 所有请求打旗舰模型 | 级联路由，80% 打小模型 | 省 50–60% |
| 长期负载 | 按量付费 | 承诺吞吐量锁价 | 省 30–60% |
| 重复窄任务 | 永远调旗舰 | 蒸馏成微调小模型 | 省 90–95% |
| 命中过的请求 | 每次重新算 | 语义缓存直接返回 | 省 100% |
| 整体策略 | 单点抠 token | 按"任务画像"分流到不同折扣档 | 综合 50–90% |

**核心心智**：省钱不是"少用"，是"换计费入口"。同样一个请求，丢进批处理队列就五折，过个路由器就走小模型，签个承诺量就锁价，蒸馏一下就换成便宜底座。token 数没变，账单砍半。

---

## 行动指南：48 小时内能落地的四步

1. **审计你的调用，按"延迟敏感度"分流**。拉最近 7 天的调用日志，给每类请求打标签：在线交互 / 离线任务。把所有离线任务（eval、标注、回填、索引）的 endpoint 换成 Batch API。这一步通常立刻省掉 30–50%。

2. **加一层路由器**。用 LiteLLM 或 RouteLLM 在请求前加一层，简单请求走 Haiku/4o-mini/Flash，难请求才上旗舰。先用 10% 流量灰度，盯住质量指标，逐步放大。目标：80% 流量压到小模型。

3. **算稳定负载的利用率**。拿历史 30 天 token 曲线，算日均/峰值比。如果稳定利用率 > 60%，找你的 provider 销售谈承诺档报价，对比按量价算回本周期。

4. **找你的热路径窄任务做蒸馏**。挑一个重复性最强、格式最固定的任务（通常是抽取/分类），用旗舰模型跑 1–5 万样本，蒸馏到小模型，A/B 验证质量不掉后全量切换。这一个动作往往省掉单任务 90% 成本。

**一句话优先级**：先 Batch（零风险、当天上线）→ 再路由（一周灰度）→ 再蒸馏（针对最大窄任务）→ 负载跑稳后谈承诺量。

---

## 参考来源

- OpenAI Batch API 官方文档：https://platform.openai.com/docs/guides/batch
- OpenAI Distillation 官方文档：https://platform.openai.com/docs/guides/distillation
- Anthropic Message Batches 官方文档：https://docs.anthropic.com/en/docs/build-with-claude/batch-processing
- AWS Bedrock Provisioned Throughput：https://docs.aws.amazon.com/bedrock/
- RouteLLM（lm-sys，开源模型路由）：https://github.com/lm-sys/RouteLLM
- LiteLLM（开源统一路由网关）：https://github.com/BerriAI/litellm
- Google Vertex AI 批处理与承诺折扣：https://cloud.google.com/vertex-ai

> 说明：本轮检索触发了平台月度配额上限（限流至 2026-07-18 重置），以上单价为基于历史文档的示意值，各平台 2026 年现行价格请以官方 Pricing 页为准。机制（50% 批处理折扣、路由级联、承诺量折扣、蒸馏）均为各家常驻定价结构，非促销。

---
> 本文由「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)
