2026年のLLM本番運用において、429 Too Many Requests は最も頻繁に遭遇するHTTPステータスコードの一つです。私は以前、GPT-5.5 を本番環境に組み込んだ際、毎秒300リクエストを超えるバースト流入で完全にコケた経験があります。当時のログには次のような例外が連発していました。
openai.error.RateLimitError: Rate limit reached for gpt-5.5 in organization org-xxx
on requests per min (RPM): Limit 300, Requested 412.
Please try again in 18s. (HTTP status code: 429)
RequestID: req_8a92f1c4de3b7e
Retry-After: 18
X-RateLimit-Reset-Requests: 1734567890
X-RateLimit-Remaining-Requests: 0
一見すると単純なエラーに見えますが、これを放置するとSLO違反・カスケード障害・トークン請求の急増に直結します。本記事では HolySheep AI の公式エンドポイント https://api.holysheep.ai/v1 を前提に、指数バックオフ + ジッタ + Retry-After ヘッダ尊重を軸とした堅牢な再試行戦略を、私の実運用経験と数値で整理します。
1. なぜ本番環境で429が頻発するのか
LLMの推論エンドポイントはGPUメモリ・KVキャッシュ・トークンバジェットを共有するため、規約上のRPM/TPM(Requests/Tokens Per Minute)は公式ドキュメント通りに出ません。私は以下のパターンで実際に観測しました。
- バースト流入:クローラ・ETLジョブ・ユーザー行動の同時実行で一斉到達
- ストリーム切断後の再接続:SSE(Server-Sent Events)が途切