一句话信息差: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,美元)。
| 模型 | 实时输入价 | 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 |
| 模型 | 实时输入价 | 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 |
核心算账(用原文最直白的话):如果你现在每月在 GPT-4o 上花 $5,000,把其中能异步的活切到 Batch,prompt 不用改一个字、模型不用换一个,账单直接掉到 $2,500。海外一家做成本归因的公司 PerUnit 在自己的 case study 里写得更具体——靠把异步负载切到 Batch,他们一次省下了 $1,800+。
注意那个字眼:"prompt 不用改、模型不用换"。这是五折门最香的地方——它不动你的业务逻辑,只动你的钱包。
不是所有活都能进。判断标准只有一条:结果能不能等到明天。
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):
# 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 是当下最稳的省钱姿势;如果必须走国产实时通道,就转向之前几轮讲过的路由层、语义缓存那几把刀。
Batch 五折,是第一层。真正会省钱的人,会把它和 prompt caching 叠起来。
Prompt caching 的账(以 Anthropic 为例): - 缓存写入:基准价的 1.25 倍(一次性,把长前缀存进去) - 缓存命中读取:基准价的 0.1 倍(也就是打一折)
叠加之后:当你的批量请求共享一个长前缀(system prompt、长文档、few-shot 示例),缓存命中那部分先打一折,再走 Batch 整体打五折。tokenmix 的 2026 指南给的结论是:Batch + prompt caching 叠加,最高可省 75%+。
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
三层叠加才是终极形态(参考前面几轮"九成请求不用请大模型"的思路):
三层叠下来,同样一笔活,账单从 100% 压到个位数百分比完全可能。Batch 就是这块拼图里最容易被忽略、却最省事的一块——它不改业务、不改 prompt,只改 endpoint 和一个 completion_window="24h"。
| 维度 | 你以为的 | 实际上的(信息差) |
|---|---|---|
| 价格 | 实时调用是唯一价,全价付费 | 异步活可走 Batch,统一五折 |
| 门槛 | Batch 只配大公司百万级任务 | 一批 100 条也能投,一个人就能用 |
| 质量 | 五折肯定降智 | 同模型同输出,只是慢 |
| 适用面 | 只有少数场景能用 | 40%~50% 的调用根本不急 |
| 省幅 | 五折到顶 | 叠 prompt caching 可达 75% off |
| 改动 | 要重写业务逻辑 | 只改 endpoint + 一个 window 参数 |
| 到账时间 | 真要等满 24 小时 | 队列空时常远早于 24h 返回 |
一句话收尾:会调 API 是入门,知道同一个 API 有个五折的"晚上班次"才是信息差。 你的账单里,有近一半的钱,本来可以等到明天再付。
本文由「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 等场景全覆盖。
