Batch API 还是实时调用:如何为不同工作负载选对通道

Anthropic 与 OpenAI 都提供 batch 处理通道,用更低的单价换取更长的返回时间。本文给出一个可落地的判断框架:哪些任务该走 batch、哪些必须走实时、以及如何用同一个网关同时管理两类流量。

先分清楚两种时间尺度

LLM 调用对时间的敏感度差异极大。一个用户在聊天框里等回复,容忍度是秒级;一个团队的日报生成任务,容忍度可能是小时级。Batch 通道正是为后者设计的:它把请求排队、集中处理,用更长的完成时间换更低的单 Token 价格。

Anthropic 的 [batch processing 文档](https://platform.claude.com/docs/en/build-with-claude/batch-processing)与 [pricing 页](https://claude.com/pricing)都单独列出了 batch 档价格;OpenAI 侧也有对应的 batch 与批处理折扣。两者的共性是在标准价基础上打折,差异在提交方式与完成窗口。

判断框架:四个问题

  1. 有人在同步等待这个结果吗? 是 → 实时。否 → 继续。
  2. 结果可以晚几小时吗? 可以 → batch 候选。必须分钟级 → 实时。
  3. 请求是可以离线枚举的集合吗? 是(一批文档、一批工单、一批评测样本)→ batch 非常合适。
  4. 失败重跑的成本高吗? 高 → 实时拿即时反馈;低 → batch 批量重试更划算。

典型的 batch 场景清单

  • 内容分类与打标:几十万条商品、评论、工单的统一标签体系。
  • 离线数据清洗:把非结构化文本批量抽成结构化字段。
  • 回归评测:改提示词前,跑一遍固定评测集做对比。
  • 批量摘要 / 翻译:文档库、客服记录、会议纪要的离线整理。
  • 合成数据生成:为训练或评测批量生成样本。

Batch 的坑:部分成功与重试

Batch 作业不是「要么全成要么全败」。一个几百条请求的作业里,通常会有几条因为参数错误、超长输入、内容策略等原因失败。工程上必须做到:

  • 逐条记录结果,不要把整批的成败当成一个布尔值。
  • 区分可重试与不可重试:429 / 5xx 可重试,400 参数错误重试也没用。
  • 幂等键:同一条业务数据重复提交不能造成重复计费或重复写入。
  • 成本预演:提交前按 Token 估算上限,避免一次作业打出意外账单。

用一个网关同时管两条通道

把实时与 batch 拆成两套独立的账号、Key 和账单,是最常见的架构债:价格一变就要对两处,失败排查要翻两个后台。

Admesh 的做法是一个 Base URL、一套 Key、一本账单:你在业务侧用任务类型决定走哪条通道,而模型目录与单价始终来自同一份后台配置,毛利与用量在同一个地方可查。

Admesh 实时费率(节选)

以下价格来自 Admesh 后台实时配置,单位为美元 / 每百万 Token。完整清单见模型目录。

Admesh.ai 模型价目表:8 个已启用模型的价格与上下文窗口
模型名称与 ID上下文窗口输入价格 / 1M输出价格 / 1M缓存命中 / 1M
Claude Opusanthropic/claude-opus200K$1.00 / 1M$3.00 / 1M$0.1 / 1M
Claude Sonnetanthropic/claude-sonnet200K$1.00 / 1M$3.00 / 1M$0.1 / 1M
DeepSeek Chatdeepseek/deepseek-chat64K$1.00 / 1M$3.00 / 1M$0.1 / 1M
DeepSeek Reasonerdeepseek/deepseek-reasoner64K$1.00 / 1M$3.00 / 1M$0.1 / 1M
Gemini 1.5 Flashgoogle/gemini-1.5-flash1M$1.00 / 1M$3.00 / 1M$0.1 / 1M
Gemini 1.5 Progoogle/gemini-1.5-pro1M$1.00 / 1M$3.00 / 1M$0.1 / 1M
MiniMax ababminimax/abab25K$1.00 / 1M$3.00 / 1M$0.1 / 1M
MiniMax Textminimax/minimax-text25K$1.00 / 1M$3.00 / 1M$0.1 / 1M

以上为标准公有通道单价,按 Token 实际用量结算。 查看完整模型目录

常见问题

Batch 能省钱多少?
各厂商、各模型的 batch 折扣不同,且会随代际调整,因此不建议在文章里写死百分比。正确做法是到当前价格页确认,或者直接在网关的价目表里对比实时价与 batch 价。
Batch 作业一般多久完成?
取决于厂商的排队策略与作业体量,可能是几十分钟到十几小时。业务侧不要依赖「必定在 N 小时内完成」的假设,应该做成异步任务 + 回调/轮询 + 超时兜底。
同一个业务能混用 batch 和实时吗?
不仅能,而且推荐。典型结构是:用户在界面上的即时操作走实时通道,后台的批量整理、评测、归档走 batch 通道,两者共用同一份模型目录与价格配置。

参考来源