Rate Limit(速率限制)
又稱:速率限制 · 頻率限制 · too many requests · rate limit · quota
服務在一定時間內允許你送多少請求、消耗多少 token 的上限;超過就被擋下來,收到 429。
你會在什麼時候遇到它
你自己手動測很難撞到,但一個會自動迴圈、並行呼叫的 Agent 幾下就把額度用光。理解速率限制,你才明白為什麼 Agent 要內建退避、排隊和「不要一次全送」這些設計。
打個比方
像高速公路的匝道儀控:車太多時紅燈一檔一檔放行,不是不讓你上,而是控制流量讓大家都能動。你硬闖就被攔下來(429),等下一個綠燈(Retry-After)。
最小範例
送第 1 次 → 200 OK
送第 2 次 → 200 OK
⋮
送第 61 次 → 429 Too Many Requests
Retry-After: 30 ← 30 秒後再試
正確重試(指數退避):等 30 秒 → 若仍失敗等 60 秒 → 120 秒 ⋯
錯誤重試:立刻瘋狂重送 → 一直 429,甚至可能被暫時封鎖有兩個數字要看:一個是「每分鐘請求數」(RPM),一個是「每分鐘 token 數」(TPM)。長 prompt 會讓你還沒送幾次就撞到 TPM。Retry-After 是伺服器明說的等待秒數,照它做比亂猜準。
最常搞錯的地方
- 撞到 429 就立刻重送、而且越送越快。這只會讓你一直被擋,有些服務還會因此暫時封鎖你。正確做法是等待與退避,不是加速。
- 以為速率限制就是「總用量」上限。它通常是「每單位時間」的速率;月配額沒超,但這一分鐘送得太密,一樣會 429。