Skill · Claude Blog - Message Batches API
Claude Batch APIで1万件のタスクを半額で処理
写真: Antonio Vivace Unsplashより
緊急性のないAIワークロードに正規料金を払うのはもう終わりにしよう。ClaudeのBatch APIは最大10万件のリクエストを標準料金の半額で非同期処理し、24時間以内に完了する。文書分類、大量データの拡充、大規模分析を予算の見通しを立てやすい形で行うのに最適だ。
Claude Message Batches APIは、リアルタイムの応答を必要としない業務ワークロード向けに設計されている。例えば文書分類、コンテンツ分析、データ抽出、大量のリサーチ統合などだ。標準API料金で個別にリクエストを送る代わりに、最大10万件のクエリを1つのバッチとしてまとめて提出すれば、Claudeがトークンあたりのコストちょうど50%で非同期に処理する。
実装方法は次のとおりだ。Anthropic Python SDKを使い、それぞれにcustom_idを付けたメッセージリクエストのリストでバッチを作成する。各リクエストは標準のMessages API形式(model、max_tokens、システムプロンプト、messages)に従う。client.beta.messages.batches.create()で送信すると、APIがバッチIDを割り当てて処理を開始する。結果は通常1時間以内に利用可能になる(ただしプラットフォームは24時間以内の完了を保証している)。ステータスはclient.beta.messages.batches.retrieve(batch_id)でポーリングできる。結果は29日間保持される。
実用例:あるコンプライアンスチームが5,000件のベンダー契約をリスク区分ごとに分類する必要があるとする。標準のAPI呼び出しでは500ドルかかるところ、同じ処理をバッチで行えば250ドルで済む。「支払条件、責任条項、解除条件に基づいて、この契約をHIGH、MEDIUM、LOWのいずれかのリスクに分類せよ」といった指示でリクエストを設定し、各契約をcustom_idとして添付してバッチを提出し、一晩で結果を取得する。リアルタイムの待機も、トークンの無駄もない。
重要な制約:バッチではストリーミングと高速モードはサポートされないため、この手法はあらかじめ入力の集合があり、非同期処理を許容できるタスクに最適だ。バッチ処理をClaudeのプロンプトキャッシュと組み合わせれば、繰り返し使うコンテキストではさらに節約できる。企業からは両方の手法を重ねて大規模運用で75%のコスト削減を実現したとの報告も上がっている。
情報源とクレジット