ある深夜、監視ダッシュボードに赤いアラートが点灯しました。本番環境のAI APIゲートウェイが、大量の429エラー(Too Many Requests)を返し始めたのです。私が保守を担当しているSaaSプロダクトでは、ピーク時に毎秒200リクエストを超えるLLM呼び出しが発生しており、想定外のバーストトラフィックでレート制限に引っかかっていました。

このような障害を未然に防ぎ、仮に発生してもユーザー体験を損なわないようにするため、本記事ではトークンバケットアルゴリズムによるレート制限設計と、今すぐ登録して利用できるHolySheep AIをフォールバック先として活用する実践的なパターンを、私が実戦で培ってきた知見と共に解説します。

実際に遭遇したエラーシナリオ

まずは、私が本番環境で実際に観測した代表的なエラーを見てみましょう。

エラー1:429 Too Many Requests

Error code: 429 - Rate limit reached for requests
Headers:
  x-ratelimit-limit-requests: 30000
  x-ratelimit-remaining-requests: 0
  x-ratelimit-reset-requests: 4m12s
  retry-after: 252

You exceeded your current quota, please check your plan and billing details.

エラー2:401 Unauthorized

openai.error.AuthenticationError: Incorrect API key provided.
Status: 401 Unauthorized
Body: {
  "error": {
    "message": "Incorrect API key provided: sk-XXXX",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

私がこれらのエラーを体系的に解決するために設計した「トークンバケット + フォールバック」アーキテクチャを、順を追って説明します。

トークンバケットアルゴリズムの基礎

トークンバケットは、リクエストのレート制御に広く使われているアルゴリズムです。バケットには毎秒一定数のトークンが補充され、リクエスト1回につきトークンを1つ消費します。バケットが空の場合、リクエストは拒否(またはキューイング)されます。LLM