쉬운·기술사전비유로 이해하는 AI·개발 용어
더 알아보기

레이트 리밋

Rate Limit

AI가 429 Too Many Requests를 돌려보낼 때가 있어요. 뭔가 잘못한 게 아니에요. 그냥 너무 빨리 두드린 거예요.

레이트 리밋 개념 다이어그램

언젠가 AI가 429 Too Many Requests를 돌려보내는 순간이 와요. 뭔가 비싼 걸 망가뜨린 것 같은 기분이 들지만, 그렇지 않아요. 그냥 너무 빨리 두드린 거예요.

API는 AI가 주문을 넣는 드라이브스루 창구예요. 레이트 리밋은 그 창구에서 고개를 내밀며 이렇게 말하는 거죠: "몇 초에 한 번씩 주문해 주세요. 줄 막히잖아요."

코스트코 시식 코너를 생각해 보세요. 시식 담당자는 기꺼이 하나를 줘요. 조금 있다가 다시 오면 또 줍니다. 그런데 한 움큼 집으려 하면 잘려요. "한 분에 하나씩, 잠깐 후에 다시 오세요." 개인 감정이 아니에요. 그 트레이는 지나가는 모든 사람을 위한 거라서, 누구도 혼자 다 가져갈 수 없는 거예요.

레이트 리밋이 바로 그거예요: 정해진 시간 안에 서비스에 보낼 수 있는 요청 수에 상한을 두는 것. 모든 API에 있어요. 의욕 넘치는 사용자 한 명이나 제멋대로 돌아가는 스크립트 하나가 주방 전체를 독차지해서 다른 사람을 굶기지 못하도록 막는 방법이에요.

에이전트가 자꾸 걸리는 이유요? 사람은 1분에 몇 번 클릭하지만, 에이전트는 루프 안에서 눈 깜짝할 사이에 수백 건의 요청을 쏟아낼 수 있어요. 주문 전체, 고객 전체, 상품 전체를 사람이라면 엄두도 못 낼 속도로 끌어가는 거예요. 창구는 손을 들고, 429는 "속도를 줄여 주세요"라는 표준적이고 예의 바른 코드예요. 로직의 결함이 아니에요. 빠르게 움직이다가 만나는 속도 제한이에요.

해결책은 거의 항상 인내심이고, 두 가지 방식이 있어요:

  1. 물러났다가 재시도. 잠깐 기다렸다가 다시 요청하면 돼요. 좋은 도구는 이걸 자동으로 처리해 줘서, 에이전트가 잠시 멈췄다 재개해도 거의 알아채지 못하는 수준이에요.

  2. 더 스마트하게 묶기. 100번 따로 주문하는 대신 한 번에 100개를 요청하는 방식이에요. 창구를 백 번 두드리는 것보다 한 번이 낫죠.

한 가지 더 있어요. 청구서와도 연결됩니다. 레이트 리밋은 보통 요금제에 따라 달라요. 무료 티어는 시식 트레이가 작아요. 유료 티어는 더 크고요. 그래서 "레이트 리밋에 걸렸다"는 말이 버그가 아닐 수 있어요. 요금제를 졸업했다는 뜻이고, 해결책은 코드가 아니라 체크박스 하나예요.

429는 버그가 아니에요. 시식 코너에서 하나씩만 가져가라는 신호예요.