第4章 · Advanced Claude API

Batch API で大量処理

Batch API
→ で次のスライド · F でフルスクリーン · N で講師ノート · Esc で終了

重要キーワード

Batch API
バッチAPI
大量リクエストを非同期で安く処理するエンドポイント
custom_id
カスタムID
リクエストと結果を紐づけるユーザー定義の ID
Async
非同期
応答を即座に待たず、後で取りに行く処理形態

Batch API

大量のリクエストを 非同期で安く 処理する API です。

メリット

  • 50% オフ の料金。
  • 1 ジョブで 10,000 件 まで投入可能。
  • 24 時間以内に処理完了 (通常はもっと早い)。

使い方

wzxhzdk:1

結果の取得

wzxhzdk:2

ユースケース

  • データセットのラベル付け
  • 大量ドキュメントの要約
  • A/B テスト用の生成
  • Eval (評価) スイート実行
  • バルクのデータ抽出

注意

  • リアルタイム応答には向かない (非同期前提)。
  • 失敗したリクエストは個別に確認可能。
  • レスポンス順は保証されない (custom_id で紐づける)。
  • Prompt Caching と併用すれば追加で 30-50% コスト削減も可能。

Batch + Cache のシナジー

例: 「1 万件のレビューを同じ system プロンプトで分類」 - Batch: 50% オフ - Cache: 残り料金の 90% オフ (システム部分) - 合計: 元の 5-10% に圧縮

失敗時の挙動

for r in client.messages.batches.results(batch.id):
    if r.result.type == "succeeded":
        ...
    elif r.result.type == "errored":
        print("error:", r.result.error)
Hands-on Exercise

演習: 100 件のレビューを Batch で分類

100 件のダミーレビュー (positive/negative/neutral にランダムに偏らせる) を生成し、 Batch API で一括分類してください。 結果を CSV id,label で書き出すこと。

▶ Playground を開いて実行

理解度チェック

3 問のクイズで理解度を確認しましょう。

クイズを開く
🎉

まとめ

お疲れ様でした!