Tools

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ợpKhông phù hợp
Phân loại / gắn nhãn dữ liệu hàng loạtChatbot trả lời người dùng real-time
Tóm tắt, dịch kho tài liệuAgent nhiều bước cần kết quả bước trước
Chạy eval, so sánh promptViệ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_progress

Lư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.