TodayAI

用 Message Batches 批量处理离线请求

把大量非实时 Claude 请求提交到 Message Batches,稍后再取回结果。

基于 Claude Docs 整理 · Batches · 官方资料

评测、翻译、分类这类不需要立刻返回的任务,适合 Message Batches。

这篇完成:创建批次、轮询状态、下载结果。

创建批次请求

batches.create

python
import anthropic

client = anthropic.Anthropic()

batch = client.messages.batches.create(
    requests=[
        {
            "custom_id": "task-1",
            "params": {
                "model": "claude-sonnet-4-6",
                "max_tokens": 200,
                "messages": [
                    {"role": "user", "content": "把这句话翻译成英文:缓存命中。"}
                ],
            },
        }
    ]
)
print(batch.id, batch.processing_status)

等待完成并取结果

用 batches.retrieve 查看状态;完成后按官方方式流式读取结果行,用 custom_id 对齐原始任务。

最容易踩的坑

把批次当成实时聊天

Batches 有处理延迟;交互式 UI 仍用普通 Messages / Streaming。

官方资料

Claude DocsBatch processing