操作速览
- 检查任务资格:是否允许异步完成。
- 跟踪每项状态:成功、失败与超时分开。
- 计算成功成本:加入必要重试与失败处理。
把一个离线任务改成可核算批处理
1. 先确认任务允许等待,再检查模型是否支持 Batch、输入格式、结果保存期与截止窗口。
2. 给每条输入保存独立标识,完成后逐项检查成功和失败;只重试需要重试的记录。
3. 总成本除以合格结果数,并加入失败重试;不要直接把实时单价乘一个统一折扣当成所有厂商的规则。
先判断任务是否能用时延换成本
Batch 适合评测、离线标注、批量摘要、数据增强等不要求即时响应的 AI 任务。三家文档都把它定义为异步路径,但处理窗口、到期状态和结果保留不同;SLA 不满足时,折扣本身没有决策意义。
成本评估应把实时基线与 Batch 方案放在同一任务样本上,保留相同模型、输入和输出上限。比较式使用每成功结果成本 =(已计费 token + 存储/工具 + 有效重放)÷ 成功结果数,而不是只看 Batch 单价。
本节参考:OpenAI Batch APIClaude Batch processing
输入格式与身份字段决定可追踪性
OpenAI 和 Gemini 文件路径使用 JSONL 思路,Claude Message Batches 以逐项 request 组成批次;每一项都需要稳定的业务标识。custom_id 或自定义 key 应能回连原始任务、费率版本和重试代次,且不能把返回顺序当作输入顺序。
Gemini 的创建操作文档明确提示非幂等,因此网络超时后盲目重提可能生成重复作业。统一调度器要先查询作业登记表,再决定补交;批次级幂等键与逐项业务键应分开设计。
本节参考:Claude Batch processingGemini Batch API
独立队列不等于容量没有上限
OpenAI 的排队限制关注 pending input tokens,Claude 同时约束批次请求数和文件规模,Gemini 区分 Inline 与文件方式并有独立 Batch 限额。容量计划要将请求数、输入 token、文件字节和并发作业四类约束都放入入队检查。
将任务按模型和估计 token 分片,可减少一个超大文件阻塞整个队列。估计值只用于调度,完成后仍要以逐项 usage 回填真实成本,并观察估算误差是否让分片越过厂商限制。
本节参考:Gemini Batch APIOpenAI Batch API
逐项失败重放,避免折扣被重复调用吞掉
批次完成不代表每项成功。解析结果时应把成功、可重试暂时错误、永久参数错误和过期未处理分开;只重放可重试项,并把原 custom_id、attempt 和 parent_batch_id 一起记录。
规则核验于 2026-08-29:OpenAI 与 Claude 官方资料写明折扣和 24 小时窗口,Gemini 写明成本折扣与 24 小时目标。百分比和限制均应在提交前从相应官方页刷新,文章不保存动态货币单价。
本节参考:OpenAI Batch APIClaude Batch processing
参考来源
价格、规则和产品状态可能变化,可通过这些原始页面确认当前信息。
常见问题
AI Batch API 一定比实时 API 便宜吗?
单位 token 通常有官方折扣,但若任务超时、重复创建、输出失控或失败项被整批重放,每个成功结果的总成本仍可能升高。
OpenAI、Claude、Gemini Batch 可以共用一个提交器吗?
可以共用任务、幂等和账本抽象,但输入封装、文件限制、状态机、结果顺序与错误格式必须用厂商适配器处理。
