<!-- title: 活不急就对半砍：被忽视的Batch五折 -->
<!-- domain: cost-hacks -->

# 活不急就对半砍：被忽视的Batch五折

> **一句话信息差**：OpenAI、Anthropic、Google 给你留了一扇"五折门"——同样的模型、同样的 prompt、同样的输出质量，只要你愿意把结果等一晚上，账单直接砍一半。问题是，绝大多数团队压根没用。

## 导语：五折就摆在门口，没人推

你每天用 `chat.completions` 实时调用 GPT 或 Claude，付的是全价。但你可能不知道，同一个 API key、同一套 SDK，换一个 endpoint、把请求攒成一批扔进去，**所有 token 价格直接打五折**——输入、输出都打。

这不是什么灰色技巧，是官方正大光明写在定价页上的：OpenAI Batch API、Anthropic Message Batches API、Google Gemini Batch API，三家的政策几乎一模一样——**异步、24 小时内出结果、统一 50% off**。

海外一篇 2026 年的对比文章原话是："这不是四舍五入的误差，这是对半。"但紧接着它点出最扎心的认知差：**"大多数团队根本没用它。"** 原因只有一个——他们以为 Batch 只配给超大公司跑百万级任务。错了。**你夜里跑的打标签、做分类、翻译、批量 embedding、跑 eval、处理文档，全都能进。**

这篇文章就拆给你看：三家到底多少钱、哪些活该进队列、怎么叠加到 75% off、给你能直接抄的代码。Round 4，成本优化，咱们把"五折"这个被忽视的开关彻底说透。
## 一、认知差：五折门到底是什么

先讲清楚它"是"什么、"不是"什么，因为误解挡住了 90% 的人。

**Batch API 是什么**：你把一批请求写成一个 `.jsonl` 文件（每行一个完整请求），上传，系统给你一个 batch id。请求进入**异步队列**，在 **24 小时内**处理完，你再去拉结果文件。中间你可以关电脑、睡觉、干别的。

**Batch API 不是什么**：
- ❌ 不是只能给大企业用的——一个人、一批 100 条也能投。
- ❌ 不是质量打折——**同一个模型、同样的输出**，只是慢。
- ❌ 不是要你重写 prompt——请求格式和实时接口几乎一样。
- ✅ 唯一的代价：**不能立刻拿到结果**。

所以问题就变成一句灵魂拷问：**这个请求，真的需要 1 秒内返回吗？**

如果你诚实地盘点一下自己 API 账单里的调用，会发现一个惊人的事实——**有 40%~50% 的请求根本不急**。海外那篇对比文章直接给了判断：情感分析、分类、批量打标、文档摘要、翻译、批量 embedding、跑评测集……这些"批处理型"的活，全都是 Batch 的完美客户。它们被困在实时通道里，纯粹是因为**写代码的时候顺手就调了同步接口**。

这一顺手，就是一倍的钱。

## 二、价格差：三家五折的真实数字

别信"五折"两个字就完了，咱们看 2026 年的实际单价（每 100 万 token，美元）。

### OpenAI Batch API（统一五折，2026 已覆盖 GPT-5.4 全系列）

| 模型 | 实时输入价 | **Batch 输入价** | 实时输出价 | **Batch 输出价** |
|---|---|---|---|---|
| GPT-4o | $2.50/M | **$1.25/M** | $10.00/M | **$5.00/M** |
| GPT-4o mini | $0.15/M | **$0.075/M** | $0.60/M | **$0.30/M** |
| GPT-5.4（2026） | $2.50/M | **$1.25/M** | $15.00/M | **$7.50/M** |
| GPT-5.4-nano | $0.20/M | **$0.10/M** | $1.25/M | **$0.625/M** |

### Anthropic Message Batches API（统一五折，单批最多 1 万请求）

| 模型 | 实时输入价 | **Batch 输入价** | 实时输出价 | **Batch 输出价** |
|---|---|---|---|---|
| Claude Sonnet 4 | $3.00/M | **$1.50/M** | $15.00/M | **$7.50/M** |
| Claude Haiku 4 | $0.80/M | **$0.40/M** | $4.00/M | **$2.00/M** |

### Google Gemini Batch API

- 同样 **50% off**，覆盖 Gemini 全系列，逻辑与上两家一致。

**核心算账**（用原文最直白的话）：如果你现在每月在 GPT-4o 上花 **$5,000**，把其中能异步的活切到 Batch，**prompt 不用改一个字、模型不用换一个**，账单直接掉到 **$2,500**。海外一家做成本归因的公司 PerUnit 在自己的 case study 里写得更具体——靠把异步负载切到 Batch，他们**一次省下了 $1,800+**。

注意那个字眼：**"prompt 不用改、模型不用换"**。这是五折门最香的地方——它不动你的业务逻辑，只动你的钱包。

## 三、方法差：哪些活该进队列，哪些不能

不是所有活都能进。判断标准只有一条：**结果能不能等到明天**。

```mermaid
flowchart TD
    A[一次 API 请求] --> B{用户在等这 1 秒吗?}
    B -->|是, 实时| C[走实时通道<br/>全价, 保留原样]
    B -->|否, 后台| D{明天看到结果<br/>可以接受吗?}
    D -->|不行| C
    D -->|可以| E[✅ 进 Batch 队列<br/>五折]
    E --> F[投递时间: 当晚定时任务]
    F --> G[队列处理: 24h 内]
    G --> H[拉取结果入库]
    H --> I[账单: 砍半]

    style C fill:#ffd6d6
    style E fill:#d6ffe0
    style I fill:#fff3b3
```

**绝对不能进 Batch 的场景**（红线）：
- 用户正在对话里等回复的实时 chat
- 流式输出（streaming）场景
- Agent 多轮决策中需要立刻拿到下一步的环节
- 任何 SLA 要求秒级响应的接口

**完美适配 Batch 的场景**（金矿）：
- **批量分类 / 情感分析**：几万条评论、工单、社媒帖子打标签
- **批量 embedding**：给知识库切片生成向量（这是 RAG 最贵的隐性成本之一）
- **文档处理**：合同抽取、财报解析、发票识别、批量 OCR 后理解
- **翻译**：整站本地化、文档批量翻译
- **跑评测 / eval**：换模型时跑测试集（这活本来就过夜跑）
- **内容生成**：SEO 长尾页、产品描述批量生成
- **数据清洗**：地址归一化、实体抽取、去重判断

对照前面那条信息差——你账单里 40%~50% 的调用，大概率落在这堆里。

## 四、操作差：直接抄的代码

**OpenAI Batch 最小可用流程**（Python）：

```python
# Step 1: 把请求写成 jsonl，每行一个，带 custom_id
# batch_requests.jsonl
# {"custom_id":"req-001","method":"POST","url":"/v1/chat/completions",
#  "body":{"model":"gpt-4o","messages":[{"role":"user","content":"总结: ..."}],"max_tokens":200}}
# {"custom_id":"req-002","method":"POST","url":"/v1/chat/completions",
#  "body":{"model":"gpt-4o","messages":[{"role":"user","content":"情感分类: ..."}],"max_tokens":10}}

# Step 2: 上传文件 + 创建 batch
with open("batch_requests.jsonl", "rb") as f:
    batch_file = client.files.create(file=f, purpose="batch")

batch = client.batches.create(
    input_file_id=batch_file.id,
    endpoint="/v1/chat/completions",
    completion_window="24h",          # ← 就这行, 五折的钥匙
)
print(f"Batch ID: {batch.id}")        # 存好它

# Step 3: 明天来取结果
batch = client.batches.retrieve(batch.id)
if batch.status == "completed":
    output = client.files.content(batch.output_file_id)
    # output 里就是按 custom_id 对应的结果
```

**Anthropic Message Batches** 类似，单批最多塞 **10,000 个请求**、单个文件最多 **100,000 个请求**。逻辑一致：攒文件 → 创建 batch → 24h 内取结果。

**国内对应提醒**：智谱 GLM、通义、DeepSeek 目前对 Batch 异步通道的官方支持力度不及海外三家统一。所以如果你的负载天然异步（比如夜里跑批），用海外 Batch 是当下最稳的省钱姿势；如果必须走国产实时通道，就转向之前几轮讲过的路由层、语义缓存那几把刀。

## 五、叠加砍法：五折只是起点，能叠到 75% off

Batch 五折，是**第一层**。真正会省钱的人，会把它和 prompt caching 叠起来。

**Prompt caching 的账**（以 Anthropic 为例）：
- 缓存写入：基准价的 **1.25 倍**（一次性，把长前缀存进去）
- 缓存命中读取：基准价的 **0.1 倍**（也就是打一折）

**叠加之后**：当你的批量请求共享一个长前缀（system prompt、长文档、few-shot 示例），缓存命中那部分先打一折，**再**走 Batch 整体打五折。tokenmix 的 2026 指南给的结论是：**Batch + prompt caching 叠加，最高可省 75%+**。

```mermaid
flowchart LR
    A[原价 token] --> B[缓存命中前缀<br/>读 0.1x]
    A --> C[未命中/输出 token]
    B --> D[再走 Batch<br/>x0.5]
    C --> D
    D --> E["最终: 比原价省<br/>50%~75%+"]

    style D fill:#d6ffe0
    style E fill:#fff3b3
```

三层叠加才是终极形态（参考前面几轮"九成请求不用请大模型"的思路）：

1. **路由层**：简单问题先甩给 nano/haiku 小模型
2. **Batch 层**：剩下的异步活统一五折
3. **缓存层**：共享前缀再砍一折

三层叠下来，**同样一笔活，账单从 100% 压到个位数百分比**完全可能。Batch 就是这块拼图里最容易被忽略、却最省事的一块——它不改业务、不改 prompt，只改 endpoint 和一个 `completion_window="24h"`。

## 六、信息差总结

| 维度 | 你以为的 | 实际上的（信息差） |
|---|---|---|
| **价格** | 实时调用是唯一价，全价付费 | 异步活可走 Batch，**统一五折** |
| **门槛** | Batch 只配大公司百万级任务 | 一批 100 条也能投，一个人就能用 |
| **质量** | 五折肯定降智 | **同模型同输出**，只是慢 |
| **适用面** | 只有少数场景能用 | **40%~50% 的调用**根本不急 |
| **省幅** | 五折到顶 | 叠 prompt caching 可达 **75% off** |
| **改动** | 要重写业务逻辑 | 只改 endpoint + 一个 window 参数 |
| **到账时间** | 真要等满 24 小时 | 队列空时常**远早于** 24h 返回 |

## 七、行动指南（今晚就能做）

1. **盘点账单**：拉最近 7 天 API 调用日志，给每类请求标"是否需要 <1 秒返回"。
2. **切出异步活**：把分类、打标、embedding、翻译、eval、文档处理这类剥离出来——它们就是金矿。
3. **写个过夜定时任务**：晚上自动把白天攒下的异步请求打包成 jsonl，投 Batch。
4. **叠加缓存 + 小模型**：长前缀开 prompt caching，简单活先路由给 nano/haiku。
5. **监控实际返回时间**：你会发现大多数 batch 远不需要等满 24h，业务体感几乎无感。
6. **算一笔**：按你账单里异步活的占比 × 50%，就是这一步的月省额度。

一句话收尾：**会调 API 是入门，知道同一个 API 有个五折的"晚上班次"才是信息差。** 你的账单里，有近一半的钱，本来可以等到明天再付。
## 参考来源

- **OpenAI Batch API 官方文档**：<https://platform.openai.com/docs/guides/batch>
- **Anthropic Message Batches API 官方文档**：<https://docs.anthropic.com/en/api/batch>
- **LLM Batch API Pricing 对比（含 2026 per-token 真实数字）**：<https://simplifai.tools/blog/llm-batch-api-pricing>
- **PerUnit 实战：五折省下 $1,800+ 的账单拆解**：<https://perunit.ai/blog/batch-api-50-percent-discount>
- **TokenMix：2026 GPT-5.4 Batch 五折 + 缓存叠加指南**：<https://tokenmix.ai/blog/openai-batch-api-pricing>
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
### 完成摘要

### 下一步计划

1. **Round 5（trending）**：可挖"海外社区本周吵翻的某场 AI 经济/工具辩论"，与本文的"五折"形成话题呼应。
2. **如需深化**：可单独拆一篇"Batch + prompt caching + 路由三层叠加实操真账本"（use-cases 方向），用一个真实后台跑批的账单数据落地。
3. **优先级**：先确认本轮 Batch 主题未被近 3 天覆盖（已核对历史列表，方向独立）；如采纳，建议连续 2-3 轮围绕"API 账单优化"成系列，形成复利阅读。

### 注意事项

- WebSearch/web_reader（Z.ai 后端）本周限额已耗尽，本轮以 ducksearch + curl 替代，数据均为 2026 年实际页面内容；如需更实时的官方价目，建议 7/18 限额重置后再核对一次 OpenAI/Anthropic 官方页。
- 文中价格数字取自第三方 2026 对比文章，**真实生产前请以官方定价页为准**（API 厂商调价频繁）。

> [!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)
