Message Batches API: giảm 50% chi phí Claude cho việc không cần trả lời ngay
Tóm tắt
Batch API cho phép gửi tới 100.000 request (hoặc 256 MB) trong một lô, tính phí 50% giá chuẩn. Phần lớn lô xong trong dưới 1 giờ, tối đa 24 giờ; kết quả giữ 29 ngày. Có thể kết hợp prompt caching để giảm thêm.
Khi nào dùng?
| Phù hợp | Không phù hợp |
|---|---|
| Phân loại / gắn nhãn dữ liệu hàng loạt | Chatbot trả lời người dùng real-time |
| Tóm tắt, dịch kho tài liệu | Agent nhiều bước cần kết quả bước trước |
| Chạy eval, so sánh prompt | Việc có deadline vài giây |
Ví dụ Python
import anthropic
client = anthropic.Anthropic()
batch = client.messages.batches.create(requests=[
{"custom_id": f"ticket-{i}",
"params": {"model": "claude-haiku-5-5", "max_tokens": 200,
"messages": [{"role": "user", "content": t}]}}
for i, t in enumerate(tickets)
])
print(batch.id, batch.processing_status) # in_progressLưu ý vận hành
- Kết quả trả về không theo thứ tự — luôn ghép bằng
custom_id. - Lô quá 24 giờ chưa xong sẽ hết hạn; request lỗi cần retry ở lô sau.
- Prompt caching cộng dồn với giảm giá batch, nhưng cache hit chỉ là “best-effort” vì request chạy song song.
- Tải kết quả trong 29 ngày; sau đó chỉ còn xem được trạng thái.
Tài liệu: Batch processing — Claude Docs