批量层上线却没有批量价:5 万条一批的 Perplexity Batch,省下的只有 token
批量模式上了,批量价没上
10 月 22 日,Perplexity 在 Agent API 里加了一层 Batch API:把要跑的请求写进一个 JSONL 文件,单文件最多 5 万条、200MB,单行不超过 4MB,上传后创建批次、轮询、下载结果。关键细节是每条请求在批里跑的仍是完整 agent loop,web_search 与 fetch_url 照样能用——这跟"批量等于纯推理、顺手砍掉工具"的常见做法不一样。
但价格表值得多看一眼:官方明确写了"没有单独的批量价格"。OpenAI 系模型在支持 flex 的型号上按 flex 计费,规则是 0.5 倍 token 价(例如 gpt-6-luna 输入 0.10 美元/百万 token 降到 0.05),其他模型一律标准价。更要注意 flex 只砍模型 token 价,工具调用仍按原价收。所以批量能省多少,天花板由工具费占比决定。
把官方实测数字摊开算
官方 cookbook 给了一个 12 行的公司信息补全样例:整批 API 报告成本 0.38162 美元,其中工具调用 0.06 美元,占 15.7%;加上两行重试的 0.06094 美元,合计 0.44256 美元,折算单行约 0.0318 美元。按这个比例线性外推,5 万行约 1590 美元,其中工具费约 250 美元。同样一批若全按标准层跑,模型部分翻倍,总额约 2930 美元——flex 大约省下 45.7%。
这组数字的正确用法不是"批量便宜一半",而是:工具费越重,批量越不值。若某类任务工具费占到一半,整批实际只省 25% 上下;纯抽取、纯分类这类不打网的活,flex 省得最干净。反过来,越依赖联网检索补数据的任务,越应该先算清每行工具费,再决定批量化。
时间也是计价参数
批次目标 24 小时内跑完,死线是创建后 48 小时。文档里有一句容易被跳过的话:创建后 20 到 24 小时起,才开始或恢复的请求会切回标准层,以保证在死线前收尾。也就是说,同一份文件里的请求可能按两种价格结算,每条结果的 service_tier 字段会标明它走的是哪一层。便宜不等于可预期,预算表必须把这个尾巴算进去,否则月底对账会出现"跑同样的量、账单差三成"的怪现象。
配套口径还有几条:未开始或到死线过期的请求不计费(错误码 batch_expired);跑到一半被取消的请求,已执行的步骤照收;输入与输出文件保留 30 天,不支持自定义过期;零数据留存(ZDR)组织直接被拒(403);未完成批次有并发上限,Tier 0 是 5 万条请求、Tier 6 起 100 万条,超了返回 429。
接入侧的三条硬约束
一是同一文件必须同一个模型,混模型上传直接 400,这逼着把批量任务按模型拆文件,也意味着跨模型比价只能分批做;二是 function、connector、advisor 三类自定义工具在批内被拒,mcp 工具必须不设审批;三是不计入 Agent API 的请求速率限制,但 token 限制仍然生效,撞限由批内自动重试。换句话说,批量层把"请求配额"和"token 配额"拆成了两件事,这正是它对企业最实用的地方:5 万条实时请求不必再从业务服务器上打出去,排队、重试、结果落盘都由平台接管。
顺手给一条选型建议:如果任务本质是打标签、路由、判分,先用 Decisions API(pplx-decider-v1.1-27b 输入 0.02 美元/百万 token、输出不计费)筛一遍,只把真正要吃网页的那部分丢进批量 agent loop,比整批直上批量便宜得多,账单也更好解释。批量层不是降价工具,它是把异步、配额和账单口径重新分层的一层基础设施。
来源:Perplexity 官方 Batch API 文档、Agent API 定价与模型页、官方 cookbook 实测记录(Batch API 于 2026-10-22 上线)。